feat(playback): give the fullscreen side panel the settings panel's glass look

The fullscreen channel/episode panel was a full-height graphite strip while
the controls' settings panel is an inset, rounded glass card. The side panel
now wears the same surface: 16px inset (8px under 560px), 20px corners, the
controls' glass fill, hairline border, blur and shadow, the same open motion
and a 32px square close button. The edge hint uses the same glass, and the
episode list marks the playing row with the settings panel's selected cyan.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
4grayandClaude Opus 5.5 committed 2026-09-30 20:06:43 +02:00
1 parent 388fa9e29d
commit 07d3f48bc2
4 files changed
+92 -41

No files matched your search

@@ -767,9 +767,16 @@ ends. The panel carries the `dark-theme` context class, so app and Material
tokens inside it resolve to the dark palette whatever the app theme is — and
because the app's global `.dark-theme { background: … !important }` rule
(`apps/web/src/styles.scss`) claims the background of every element wearing
that class, the panel's translucent gradient is declared on the compound
that class, the panel's glass fill is declared on the compound
`.fullscreen-channel-panel.dark-theme` selector with `!important`; without
that the panel painted no background at all.
that the panel painted no background at all. The panel wears the same surface
as the controls' settings panel — a card inset 16px from the player's top,
bottom and left edges (8px in a player narrower than 560px), 20px corners,
the `--pc-glass-bg` fill, hairline `--pc-glass-border`, the same blur and
shadow, and a 32px square close button — with the values written literally,
because the panel is a sibling of the controls host, outside the scope that
declares the `--pc-*` palette. Its episode list marks the playing row with the
settings panel's selected-option cyan tint.
Keyboard: `C` is ignored while any editable element has focus and while the
player sits inside an `inert` region; the search field is an ordinary input,
so the controls' Space/K/F/M shortcuts stay out of it. That is also why `C` is