web: the mobile rail wears Android's pills

On a phone the studio's tabs are now the row the Android app draws: text
pills in uppercase mono, rounded full, amber and a step larger when open, no
glyph, scrolling sideways when the ten tabs outrun the screen.

Desktop keeps its icon-over-label column — the change lives in the <=860px
block, so nothing above that breakpoint moves.
This commit is contained in:
2026-09-20 06:24:27 +07:00
parent 15bacacafa
commit 6afb7d9fea
+25 -2
View File
@@ -752,16 +752,39 @@ input[type="range"] { width: 100%; accent-color: var(--accent); }
.header { position: relative; }
.menu-wrap { position: static; }
.popover { right: 8px; max-width: calc(100vw - 16px); }
/* The rail takes the shape the Android app gives it: one scrolling row of
text pills, no glyph, uppercase mono, the open tab amber and a step larger.
Android's own rail is exactly this (src/components/ToolRail.tsx). */
.rail {
order: 2;
width: auto;
flex-direction: row;
align-items: center;
gap: 8px;
border-right: none;
border-top: 1px solid var(--border-soft);
overflow-x: auto;
padding: 4px;
overflow-y: hidden;
padding: 6px 8px;
scrollbar-width: none;
}
.rail button { flex: 1 0 auto; min-width: 62px; }
.rail::-webkit-scrollbar { display: none; }
.rail button {
flex: 0 0 auto;
flex-direction: row;
align-items: center;
border: 1px solid var(--border);
border-radius: 999px;
background: var(--bg-sunken);
padding: 8px 12px;
font-family: var(--mono);
font-weight: 700;
letter-spacing: 0.1em;
font-size: 10px;
text-transform: uppercase;
}
.rail button .glyph { display: none; }
.rail button[aria-pressed="true"] { font-size: 13px; }
/* The cascade still runs left to right; the columns themselves scroll rather
than the page, so the stage keeps its width. */
.chips {