diff --git a/frontend/packages/shared/src/badge/Badge.css b/frontend/packages/shared/src/badge/Badge.css index e4962545..d1fff96b 100644 --- a/frontend/packages/shared/src/badge/Badge.css +++ b/frontend/packages/shared/src/badge/Badge.css @@ -42,12 +42,21 @@ backdrop-filter: none; } } -:root[data-theme='light'] .ui-badge { +/* `:not(.ui-badge-quiet)` here, unlike the base rule/`@media` block + above — argus's review: both of these add `:root`+`[data-theme]` to + the selector, so specificity is 0-3-0 vs plain `.ui-badge-quiet`'s + 0-1-0. Without the exclusion these would beat quiet's `background: + none` (below) whenever a user has an *explicit* theme override set + (SettingsMenu's dropdown, not just the OS default), reintroducing + the settings/links "should not have the badge bg" bug on those + triggers. Verified against a real repro before landing, not just + the specificity arithmetic. */ +:root[data-theme='light'] .ui-badge:not(.ui-badge-quiet) { background: var(--purple-dim); -webkit-backdrop-filter: none; backdrop-filter: none; } -:root[data-theme='dark'] .ui-badge { +:root[data-theme='dark'] .ui-badge:not(.ui-badge-quiet) { background: color-mix(in srgb, var(--purple-dim) 65%, transparent); -webkit-backdrop-filter: blur(6px) saturate(140%); backdrop-filter: blur(6px) saturate(140%);