diff --git a/src/lib/components/bench/FocusView.svelte b/src/lib/components/bench/FocusView.svelte
index c9e4d9f..745df66 100644
--- a/src/lib/components/bench/FocusView.svelte
+++ b/src/lib/components/bench/FocusView.svelte
@@ -67,6 +67,11 @@
{/key}
+
+
+
{/if}
@@ -195,6 +200,11 @@
container-name: detail;
}
+ /* Only a phone needs the pill clearance (desktop docks the controls in the sidebar). */
+ .pill-clearance {
+ display: none;
+ }
+
/*
The phone: no room for a side rail, so the whole focus becomes ONE vertically scrolling column -
the roster as a horizontal filmstrip on top, the workbench (itself fully stacked) beneath it.
@@ -202,15 +212,27 @@
screen that has no height to spare.
*/
@media (max-width: 768px) {
+ /* Block, not grid: the focus becomes a single scrolling column (filmstrip, workbench, then the
+ pill clearance). A grid scroll container did not count a trailing spacer row in its scroll
+ extent, so the last controls stayed pinned under the floating pill; block layout does. */
.focus {
- grid-template-columns: minmax(0, 1fr);
- grid-template-rows: auto auto;
+ display: block;
height: auto;
min-height: 100%;
overflow-y: auto;
overflow-x: hidden;
padding: var(--sp-4);
- gap: var(--sp-4);
+ }
+
+ .rail-wrap {
+ margin-bottom: var(--sp-4);
+ }
+
+ /* The clearance that lets the last workbench controls scroll clear of the floating transport
+ pill. It is a real grid row (an element with height), reliably counted in the scroll extent. */
+ .pill-clearance {
+ display: block;
+ height: calc(env(safe-area-inset-bottom, 0px) + 84px);
}
.rail {
diff --git a/src/lib/components/common/Segmented.svelte b/src/lib/components/common/Segmented.svelte
index a6f6173..19e9bbe 100644
--- a/src/lib/components/common/Segmented.svelte
+++ b/src/lib/components/common/Segmented.svelte
@@ -110,9 +110,13 @@
color: var(--ink);
}
- /* The chosen segment lifts off the track: it takes the panel colour and a small shadow. */
+ /* The chosen segment lifts OFF the track. The track is `--chip` (panel tinted TOWARD the ink - a
+ little lighter in dark, a little darker in light), so a plain `--panel` fill lifts in light but
+ SINKS in dark, where it comes out darker than the track (the selected segment read as a recessed
+ hole with a leaking shadow). Mixing a touch of white in makes the thumb sit ABOVE the track in
+ both themes - unchanged white in light, a genuinely lighter grey in dark. */
.checked {
- background: var(--panel);
+ background: color-mix(in srgb, var(--panel), #fff 15%);
color: var(--ink);
box-shadow: var(--shadow-segment);
}