diff --git a/zebra-report/zebra-spaces.html b/zebra-report/zebra-spaces.html
index 6787d04..53165dc 100644
--- a/zebra-report/zebra-spaces.html
+++ b/zebra-report/zebra-spaces.html
@@ -146,10 +146,14 @@
.page:has(> .cameras-col.hidden) > .timeline { grid-column: 1; }
.page:has(> .cameras-col.hidden) > .controls { grid-column: 2; }
- /* state: controls collapsed (right column gone) */
+ /* state: controls collapsed (right column gone). The cameras column
+ * grows from its 220px default up to ~35% of the viewport so the
+ * thumbnails actually use the freed horizontal space — combined with
+ * the auto-fill #tiles-thumbs grid below, wide columns flow into
+ * multiple thumb columns instead of leaving the row half-empty. */
.page.controls-collapsed > .controls { display: none; }
.page.controls-collapsed:not(:has(> .cameras-col.hidden)) {
- grid-template-columns: 220px minmax(0, 1fr);
+ grid-template-columns: minmax(220px, 35%) minmax(0, 1fr);
}
/* state: controls collapsed AND no cameras → timeline owns the viewport */
.page.controls-collapsed:has(> .cameras-col.hidden) {
@@ -162,7 +166,7 @@
/* pre-paint pref so a 'hidden' reload doesn't flash the panel */
html.controls-collapsed-pref .page > .controls { display: none; }
html.controls-collapsed-pref .page:not(:has(> .cameras-col.hidden)) {
- grid-template-columns: 220px minmax(0, 1fr);
+ grid-template-columns: minmax(220px, 35%) minmax(0, 1fr);
}
html.controls-collapsed-pref .page:has(> .cameras-col.hidden) {
grid-template-columns: minmax(0, 1fr); gap: 0;
@@ -248,8 +252,14 @@
* and demotes the current one back to the column. */
#spotlight { display: grid; grid-template-columns: 1fr; gap: 0; }
/* unified popularity-sorted thumb list — screens + cameras + game-shares
- * all flow through here, ordered by tileScore() */
- #tiles-thumbs { display: grid; grid-template-columns: 1fr; gap: 0.45rem; }
+ * all flow through here, ordered by tileScore(). auto-fill with a
+ * 180px floor means: narrow columns get 1 thumb per row, wide
+ * columns (e.g. panel hidden) flow into 2 / 3 / N columns naturally. */
+ #tiles-thumbs {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
+ gap: 0.45rem;
+ }
#tiles-h2 { margin-top: 0.5rem; }
#tiles-h2.hidden { display: none; }
/* a thumbnail tile is the same DOM as a spotlight tile but with a
@@ -3771,8 +3781,8 @@ logLine('', 'ready — pick a handle, type a rendezvous code, enter the space');