diff --git a/web/zebra-spaces.html b/web/zebra-spaces.html
index 6540a61..6afa1dd 100644
--- a/web/zebra-spaces.html
+++ b/web/zebra-spaces.html
@@ -530,7 +530,13 @@
.mic { width: 18px; height: 18px; }
.mic svg { width: 18px; height: 18px; display: block; }
.mod-actions {
- display: grid; grid-auto-flow: column; grid-auto-columns: max-content;
+ /* repeat(auto-fit, max-content) lets buttons wrap onto a second row
+ * when the panel is too narrow to hold them all on one line — was
+ * grid-auto-flow: column which forced a single non-wrapping line and
+ * the right edge of long button strips (stream + promote + demote +
+ * kick + ban) overflowed the side panel, triggering horizontal
+ * scroll. Grid still — no flex per the project rule. */
+ display: grid; grid-template-columns: repeat(auto-fit, max-content);
gap: 0.3rem;
justify-content: start;
margin-top: 0.2rem;
@@ -4549,8 +4555,8 @@ logLine('', 'ready — pick a handle, type a rendezvous code, enter the space');