style: theme-aware token pass for dark-mode surfaces (Phase 18)

Re-point neutral page surfaces, play-chip, and default popover from constant brand tokens to theme-aware aliases defined twice in deepdrft-tokens.css. Decorative navy/green sections and bespoke dark-glass panels untouched. Appbar-navy symptom deferred (palette C#, out of CSS scope).
This commit is contained in:
daniel-c-harvey
2026-06-19 18:12:35 -04:00
parent fd4fdd2624
commit 03fdcda054
7 changed files with 123 additions and 40 deletions
@@ -42,6 +42,20 @@
right: 0.5rem;
}
/* PLAYER-BAR play-chip override (Phase 18, T3). PlayStateIcon's chip defaults to the solid
--deepdrft-play-chip (moss-green in dark) used on release heroes and Cut track rows. On the
bright player dock that solid green reads too hot, so here — and only here — swap to the
translucent --deepdrft-play-chip-soft (same green, much less opaque). The glyph stays the
palette green/primary on this context (the navy default-glyph would vanish on the translucent
wash), so we let MudIconButton's own Color.Primary stand by neutralising the default override. */
::deep .player-surface .icon-container {
background-color: var(--deepdrft-play-chip-soft);
}
::deep .player-surface .icon-container .mud-icon-button {
color: var(--mud-palette-primary);
}
/* Minimized floating dock — positioning + hover only; colour from MudFab */
.minimized-dock {
position: fixed;
@@ -2,7 +2,7 @@
display: flex;
justify-content: center;
align-content: center;
background-color: var(--deepdrft-soft);
background-color: var(--deepdrft-play-chip);
border-radius: 50%;
height: 60px;
width: 60px;
@@ -10,5 +10,14 @@
}
.icon-container:hover {
background-color: color-mix(var(--deepdrft-soft), var(--deepdrft-navy-mid) 25%);
background-color: color-mix(in srgb, var(--deepdrft-play-chip), var(--deepdrft-navy-mid) 25%);
}
/* The glyph reads against the chip, not the page: in dark mode the chip is moss-green
and the MudIconButton's Color.Primary green glyph would vanish, so pin the glyph to the
theme-aware --deepdrft-play-glyph (navy on the green dark chip; unchanged in light, where
the token resolves to navy over the soft-grey chip). ::deep reaches the portaled-in-scope
MudIconButton icon, which doesn't carry this component's scope attribute. */
.icon-container ::deep .mud-icon-button {
color: var(--deepdrft-play-glyph);
}