Index: src/assets/css/style.css
===================================================================
--- src/assets/css/style.css	(revision 703ead3f87558bd60d17257a6e14d995e2cee3e0)
+++ src/assets/css/style.css	(revision 2e454455019ba6a806a8509f142c2ac49a1bde70)
@@ -250,4 +250,8 @@
     -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent;
     overscroll-behavior-y: none;
+    /* Reserveer altijd de scrollbar-ruimte, ook op korte pagina's zonder scroll.
+       Anders verschuift gecentreerde content ~15px tussen wél/niet-scrollende
+       pagina's (bv. een lange post vs de korte downloads-pagina) → niet pixel-perfect. */
+    scrollbar-gutter: stable;
     /* Horizontaal clippen op ROOT-niveau: dit propageert naar de viewport (geen
        horizontale scroll) ZONDER position:fixed te breken — html is sowieso de
Index: src/views/shell.ejs
===================================================================
--- src/views/shell.ejs	(revision 703ead3f87558bd60d17257a6e14d995e2cee3e0)
+++ src/views/shell.ejs	(revision 2e454455019ba6a806a8509f142c2ac49a1bde70)
@@ -163,5 +163,5 @@
 
 <!-- v9 stylesheet (full palette system) -->
-<link rel="stylesheet" href="/assets/css/style.css?v=23">
+<link rel="stylesheet" href="/assets/css/style.css?v=24">
 
 <!-- Audio player styles: loaded on every page so the mini-player works
