feat(theme): light-glass panels in light theme
Queue, visualizer control deck, and privacy overlays now bind a theme-aware --deepdrft-panel-* family (surface/text/text-muted/border/row-hover): light translucent glass with dark text in light theme, unchanged dark-glass charcoal in dark. Tokens re-declared in body.deepdrft-theme-dark for the body-portaled overlays.
This commit is contained in:
@@ -28,9 +28,24 @@
|
||||
(Phase 15 §4/§10.5). Mild so the panel reads as modal without a blackout. Change here once. */
|
||||
--deepdrft-modal-scrim-alpha: 0.15;
|
||||
/* Panel ground — muted, desaturated charcoal beneath the controls panel.
|
||||
Tunable: increase blue channel (e.g. #1e2235) to recover warmth, lower (e.g. #191b20) to go darker. */
|
||||
Tunable: increase blue channel (e.g. #1e2235) to recover warmth, lower (e.g. #191b20) to go darker.
|
||||
Source token; consumed by the theme-aware --deepdrft-panel-surface dark value below. */
|
||||
--deepdrft-panel-ground: #1a1c22;
|
||||
|
||||
/* Glass-panel family — the bespoke overlay panels (queue / visualizer control deck / privacy).
|
||||
Light values here make these panels a light translucent glass with dark text so they read
|
||||
coherently against the light page; the .deepdrft-theme-dark block below reproduces today's
|
||||
dark-glass charcoal exactly so dark mode is visually unchanged. Surface keeps the glassmorphic
|
||||
translucency (paired with backdrop-blur in the consuming rules).
|
||||
Light surface: near-page-surface white at 82% so the backdrop blur still shows through;
|
||||
text/border are navy-based for legibility on the light glass. */
|
||||
--deepdrft-panel-surface: rgba(250, 250, 248, 0.82);
|
||||
--deepdrft-panel-text: var(--deepdrft-navy);
|
||||
--deepdrft-panel-text-muted: var(--deepdrft-muted);
|
||||
--deepdrft-panel-border: var(--deepdrft-border);
|
||||
/* Row/hover wash on the panel surface — a navy tint on light, a white tint on dark (below). */
|
||||
--deepdrft-panel-row-hover: color-mix(in srgb, var(--deepdrft-navy) 8%, transparent);
|
||||
|
||||
/* Wireframe font stack */
|
||||
--deepdrft-font-display: "Cormorant Garamond", Georgia, serif;
|
||||
--deepdrft-font-mono: "Geist Mono", monospace;
|
||||
@@ -90,8 +105,9 @@
|
||||
bluer navy (colour-mix of navy-mid + green-accent at 20%), defined once in
|
||||
--deepdrft-popover-surface-dark below and referenced by both the .deepdrft-theme-dark
|
||||
wrapper block and the body.deepdrft-theme-dark block so portaled popover content (which
|
||||
portals to <body>, outside the wrapper div) is also reached. Bespoke dark-glass panels
|
||||
(visualizer/queue/privacy) do NOT bind this — they keep --deepdrft-panel-ground. */
|
||||
portals to <body>, outside the wrapper div) is also reached. The bespoke glass panels
|
||||
(visualizer/queue/privacy) do NOT bind this — they have their own theme-aware
|
||||
--deepdrft-panel-* family (dark glass in dark theme, light glass in light). */
|
||||
--deepdrft-popover-surface-dark: color-mix(in srgb, var(--deepdrft-navy-mid) 80%, var(--deepdrft-green-accent) 20%);
|
||||
--deepdrft-popover-surface: color-mix(in srgb, var(--deepdrft-navy) 4%, var(--deepdrft-white));
|
||||
|
||||
@@ -172,6 +188,16 @@
|
||||
non-portaled elements only (drawers, inline menus). Portaled MudBlazor popovers live at
|
||||
<body> level; the body.deepdrft-theme-dark block below uses the same source token. */
|
||||
--deepdrft-popover-surface: var(--deepdrft-popover-surface-dark);
|
||||
|
||||
/* Glass-panel family (dark) — reproduces today's dark-glass chrome EXACTLY. Surface is the
|
||||
opaque charcoal ground the panels used directly before tokenisation; text is off-white;
|
||||
border is the thin light-on-dark hairline (NowPlayingCard spirit); row hover is the prior
|
||||
white 6% wash. Dark mode must look unchanged. */
|
||||
--deepdrft-panel-surface: var(--deepdrft-panel-ground);
|
||||
--deepdrft-panel-text: var(--deepdrft-white);
|
||||
--deepdrft-panel-text-muted: color-mix(in srgb, var(--deepdrft-white) 60%, transparent);
|
||||
--deepdrft-panel-border: var(--deepdrft-border-light);
|
||||
--deepdrft-panel-row-hover: color-mix(in srgb, var(--deepdrft-white) 6%, transparent);
|
||||
}
|
||||
|
||||
/* Portal-scope dark popover surface. MudBlazor popovers (selects, menus, share body) portal
|
||||
@@ -181,4 +207,14 @@
|
||||
(navy-mid + 20% green-accent tint) rather than the pure charcoal #162437. */
|
||||
body.deepdrft-theme-dark {
|
||||
--deepdrft-popover-surface: var(--deepdrft-popover-surface-dark);
|
||||
|
||||
/* The bespoke glass panels (queue / visualizer / privacy) are MudOverlay panels that portal to
|
||||
<body>, outside the .deepdrft-theme-dark wrapper div — same portal scope as popovers. Re-declare
|
||||
the dark glass-panel family here so the panels resolve the dark (charcoal) values; without this
|
||||
they would fall through to the light :root values while the page is in dark mode. */
|
||||
--deepdrft-panel-surface: var(--deepdrft-panel-ground);
|
||||
--deepdrft-panel-text: var(--deepdrft-white);
|
||||
--deepdrft-panel-text-muted: color-mix(in srgb, var(--deepdrft-white) 60%, transparent);
|
||||
--deepdrft-panel-border: var(--deepdrft-border-light);
|
||||
--deepdrft-panel-row-hover: color-mix(in srgb, var(--deepdrft-white) 6%, transparent);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user