Index: src/views/pages/home.ejs
===================================================================
--- src/views/pages/home.ejs	(revision c581e5ea25e6c08771f4a8cdc7b7f176aa383e18)
+++ src/views/pages/home.ejs	(revision 22d2dba5001b2e5d32c1cf3c5d9ab53a6427b70d)
@@ -70,4 +70,15 @@
       is als de module niet laadt -- dan doet hij niets, maar hij springt ook niet
       opeens in beeld. Verschijnt pas als je ver genoeg bent (mod/read.js). %>
+  <%# Een bericht omhoog of omlaag. Alleen in paginamodus zichtbaar (CSS). %>
+  <%# Twee echte balken over de volle breedte. Tikzones zonder zichtbaar element
+      werkten niet: de onderste strook ligt onder de mini-speler en de tabbalk,
+      en die vangen de tik voordat de leesstroom hem ziet. Een balk kan daar wel
+      bovenop. %>
+  <button type="button" class="read-bar read-bar--top" id="read-prev" aria-label="<%= t('read.prev') %>">
+    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="18 15 12 9 6 15"/></svg>
+  </button>
+  <button type="button" class="read-bar read-bar--bottom" id="read-next-nav" aria-label="<%= t('read.next') %>">
+    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
+  </button>
   <button type="button" id="read-top" class="read-top" aria-label="<%= t('read.to_top') %>" title="<%= t('read.to_top') %>">
     <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="12" y1="19" x2="12" y2="5"/><polyline points="5 12 12 5 19 12"/></svg>
Index: src/views/shell.ejs
===================================================================
--- src/views/shell.ejs	(revision c581e5ea25e6c08771f4a8cdc7b7f176aa383e18)
+++ src/views/shell.ejs	(revision 22d2dba5001b2e5d32c1cf3c5d9ab53a6427b70d)
@@ -222,5 +222,5 @@
 
 <!-- v9 stylesheet (full palette system) -->
-<link rel="stylesheet" href="/assets/css/style.css?v=84">
+<link rel="stylesheet" href="/assets/css/style.css?v=103">
 <script>
 /* iOS safe-area, built by hand. env(safe-area-inset-top) resolves to 0 on this iOS in
@@ -505,5 +505,5 @@
   // Eén nummer voor de hele map. Te vaak bumpen kost één download; te weinig
   // bumpen kost een bugfix die nooit aankomt.
-  var MOD_V = 29;
+  var MOD_V = 46;
 
   // name -> 1 (aan het laden) of de module-namespace (geladen). Een module
