diff --git a/static/index.html b/static/index.html
index c175558e9..a7d0389e5 100644
--- a/static/index.html
+++ b/static/index.html
@@ -219,8 +219,8 @@
}, { once: true });
})();
-
-
+
+
@@ -2512,7 +2512,7 @@
-
+
diff --git a/static/js/document.js b/static/js/document.js
index 65599bc71..b245ec852 100644
--- a/static/js/document.js
+++ b/static/js/document.js
@@ -2223,6 +2223,12 @@ import { bindMenuDismiss, dismissOrRemove } from './escMenuStack.js';
document.querySelectorAll('.md-toolbar-edit-only').forEach(el => {
el.style.display = (lang === 'markdown' && _mdActive) ? 'none' : '';
});
+ const fsBtn = document.getElementById('doc-fontsize-btn');
+ if (fsBtn) {
+ const doc = activeDocId && docs.get(activeDocId);
+ const isPdfDoc = !!(doc && _isFormBackedDoc(doc.content || ''));
+ fsBtn.style.display = (isPdfDoc || (lang === 'markdown' && _mdActive)) ? 'none' : '';
+ }
const mdToolbar = document.getElementById('doc-md-toolbar');
if (mdToolbar) {
mdToolbar.classList.toggle('md-preview-active', lang === 'markdown' && !!_mdActive);
diff --git a/static/sw.js b/static/sw.js
index 18beb4456..df2d3aeae 100644
--- a/static/sw.js
+++ b/static/sw.js
@@ -7,7 +7,7 @@
// - Other static assets (images/fonts/libs): cache-first with bg refresh.
// - API / non-GET: never cached.
// Bump CACHE_NAME whenever the precache list or SW logic changes.
-const CACHE_NAME = 'odysseus-v335';
+const CACHE_NAME = 'odysseus-v336';
// Core shell precached on install so repeat opens are instant without any
// network wait. Keep this list in sync with the