diff --git a/DeepDrftPublic.Client/Controls/PlayStateIcon.razor.css b/DeepDrftPublic.Client/Controls/PlayStateIcon.razor.css index af69c89..9d996ec 100644 --- a/DeepDrftPublic.Client/Controls/PlayStateIcon.razor.css +++ b/DeepDrftPublic.Client/Controls/PlayStateIcon.razor.css @@ -13,11 +13,13 @@ 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 { +/* In dark mode the chip is moss-green and MudIconButton's Color.Primary/Secondary green + glyph would vanish against it, so pin the glyph to --deepdrft-play-glyph (navy) in dark + only. In light mode the token also resolves to navy, but applying it there overrides + Color.Secondary (green-accent) on hero/row mounts — a visible regression. Scoping to + .deepdrft-theme-dark preserves the MudBlazor Color prop in light and fixes only dark. + ::deep reaches the portaled-in-scope MudIconButton icon, which doesn't carry this + component's scope attribute. */ +.deepdrft-theme-dark .icon-container ::deep .mud-icon-button { color: var(--deepdrft-play-glyph); } \ No newline at end of file diff --git a/DeepDrftPublic.Client/Pages/About.razor.css b/DeepDrftPublic.Client/Pages/About.razor.css index 9619063..ef69432 100644 --- a/DeepDrftPublic.Client/Pages/About.razor.css +++ b/DeepDrftPublic.Client/Pages/About.razor.css @@ -279,14 +279,15 @@ } /* Graceful-degrade slot shown until a portrait file lands. A flat tonal panel in - the navy family, matching the circular portrait frame. */ + the navy family, matching the circular portrait frame. Mixes a touch of navy into + --deepdrft-page-surface so the gradient inverts with the section in dark mode. */ .bio-portrait-placeholder { width: 100%; aspect-ratio: 1 / 1; background: linear-gradient(160deg, - color-mix(in srgb, var(--deepdrft-navy) 8%, var(--deepdrft-white)) 0%, - color-mix(in srgb, var(--deepdrft-navy) 16%, var(--deepdrft-white)) 100%); + color-mix(in srgb, var(--deepdrft-navy) 8%, var(--deepdrft-page-surface)) 0%, + color-mix(in srgb, var(--deepdrft-navy) 16%, var(--deepdrft-page-surface)) 100%); } /* The marginalia caption — mono, sits directly under the framed portrait. */ diff --git a/DeepDrftPublic.Client/Pages/Home.razor.css b/DeepDrftPublic.Client/Pages/Home.razor.css index fa16963..9944e61 100644 --- a/DeepDrftPublic.Client/Pages/Home.razor.css +++ b/DeepDrftPublic.Client/Pages/Home.razor.css @@ -417,7 +417,7 @@ .connect-option:hover { border-color: var(--deepdrft-green-accent); - background: #f3f6f4; + background: color-mix(in srgb, var(--deepdrft-page-surface), var(--deepdrft-green-accent) 8%); } .option-icon { diff --git a/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css b/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css index 8dfcf9d..c6e12a1 100644 --- a/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css +++ b/DeepDrftPublic/wwwroot/styles/deepdrft-styles.css @@ -358,16 +358,17 @@ h2, h3, h4, h5, h6, font-family: var(--deepdrft-font-mono) !important; } -/* Default MudBlazor popover surface (Phase 18, T4 — symptom #1). Selects, menus, tooltips, and - the share-popover body render inside .mud-popover. Their visible surface is the inner .mud-paper, - which paints background-color: var(--mud-palette-surface). Inspection settled the root cause: the - "too dark" is NOT --deepdrft-panel-ground leakage (the bespoke dark-glass panels are MudOverlay - .mud-overlay-content surfaces and never match .mud-popover) — it is simply that the popover surface - tracks --mud-palette-surface with no desaturated-navy treatment. So re-point --mud-palette-surface - to the theme-aware --deepdrft-popover-surface *within the popover scope only*: a soft desaturated-navy - wash in light, the existing panel-ground charcoal in dark. Scoping the variable (not a flat - background) means any inner .mud-paper, .mud-list, or menu picks it up for free, while the global - surface used elsewhere on the page is unaffected. */ +/* Default MudBlazor popover surface (Phase 18, T4 — symptom #1). Selects, menus, and the + share-popover body render inside .mud-popover. (Tooltips are NOT covered here — MudBlazor + tooltips paint from --mud-palette-text, not the popover surface.) Their visible surface is the + inner .mud-paper, which paints background-color: var(--mud-palette-surface). Inspection settled + the root cause: the "too dark" is NOT --deepdrft-panel-ground leakage (the bespoke dark-glass + panels are MudOverlay .mud-overlay-content surfaces and never match .mud-popover) — it is simply + that the popover surface tracks --mud-palette-surface with no desaturated-navy treatment. So + re-point --mud-palette-surface to the theme-aware --deepdrft-popover-surface *within the popover + scope only*: a soft desaturated-navy wash in light, the existing panel-ground charcoal in dark. + Scoping the variable (not a flat background) means any inner .mud-paper, .mud-list, or menu picks + it up for free, while the global surface used elsewhere on the page is unaffected. */ .mud-popover { --mud-palette-surface: var(--deepdrft-popover-surface); background-color: var(--deepdrft-popover-surface);