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
@@ -68,6 +68,28 @@
--gradient-warm: var(--deepdrft-green);
--gradient-light: var(--deepdrft-green-accent);
/* Theme-aware page-surface family (Phase 18). The "neutral page surface" concept:
sections that were hardcoded to --deepdrft-white because the site was light-only.
Light values reproduce today's look exactly; the .deepdrft-theme-dark block below
inverts them onto the navy ground so neutral sections dissolve into one dark field. */
--deepdrft-page-surface: var(--deepdrft-white);
--deepdrft-page-text: var(--deepdrft-navy);
--deepdrft-page-text-muted: var(--deepdrft-muted);
/* Play-chip family (Phase 18). PlayStateIcon's chip is shared across release heroes,
Cut track rows, and the player bar. Light keeps the current soft-grey chip + glyph;
dark turns the chip moss-green with a navy glyph. The -soft variant is the player-bar
override (same green, much less opaque). */
--deepdrft-play-chip: var(--deepdrft-soft);
--deepdrft-play-glyph: var(--deepdrft-navy);
--deepdrft-play-chip-soft: var(--deepdrft-soft);
/* Popover surface (Phase 18). Default MudBlazor popovers (selects/menus/tooltips/share
body) bind this. Light is a soft desaturated-navy wash so they read as a calm light
surface; dark uses the existing panel-ground charcoal. Bespoke dark-glass panels
(visualizer/queue/privacy) do NOT bind this — they keep --deepdrft-panel-ground directly. */
--deepdrft-popover-surface: color-mix(in srgb, var(--deepdrft-navy) 8%, var(--deepdrft-white));
/* Legacy font aliases retired in Phase 0.1 — all consumers now use --deepdrft-font-*.
Palette aliases (--deepdrft-primary, --theme-*, etc.) remain; they still have
consumers and are scheduled for retirement in Phase 0.3/0.4. */
@@ -108,4 +130,25 @@
--gradient-accent: var(--deepdrft-green-accent);
--gradient-warm: var(--deepdrft-green);
--gradient-light: var(--deepdrft-green-light);
/* Theme-aware page-surface family (Phase 18) — inverted onto the navy ground.
OQ#1 resolved: GROUND (--deepdrft-navy), so neutral sections (Home hero-left,
medium grid, footer, About light sections) dissolve into the site background as
one continuous dark field rather than reading as raised panels. */
--deepdrft-page-surface: var(--deepdrft-navy);
--deepdrft-page-text: var(--deepdrft-white);
/* Lift muted text toward white so eyebrows/sub-text stay legible on the dark ground. */
--deepdrft-page-text-muted: color-mix(in srgb, var(--deepdrft-muted) 70%, var(--deepdrft-white));
/* Play-chip family (Phase 18) — moss-green chip, navy glyph. The -soft variant is the
player-bar override: same green, much less opaque (translucent wash over the navy dock). */
--deepdrft-play-chip: var(--deepdrft-green-accent);
--deepdrft-play-glyph: var(--deepdrft-navy);
--deepdrft-play-chip-soft: color-mix(in srgb, var(--deepdrft-green-accent) 30%, transparent);
/* Popover surface (Phase 18). Symptom #1 is a LIGHT-mode complaint and the acceptance bar
requires dark popovers to stay unchanged, so dark binds the exact current MudBlazor dark
Surface (#162437, DeepDrftPalettes.Dark.Surface) — NOT §3's suggested panel-ground (#1a1c22),
which would have shifted dark popovers a shade. Pixel-identical dark; only light is retoned. */
--deepdrft-popover-surface: #162437;
}