fix(ui): opacity-based frosted glass; drop full-page settings blur

Evidence (sharp video behind overlays) shows backdrop-filter is a no-op here, most
likely because browser hardware acceleration is off — so the glass relied on a blur
that never rendered. Lean on opacity instead (94% surface) so overlay menus/panels
read as frosted glass regardless of GPU; keep the blur as a bonus when available.
Revert the settings backdrop to a plain dim scrim (no whole-page blur) and make the
header a solid bar (no backdrop-filter ancestor).
This commit is contained in:
npeter83 2026-06-11 22:39:52 +02:00
parent a6a1052d30
commit 65f687c9cd
3 changed files with 10 additions and 8 deletions

View file

@ -32,12 +32,14 @@ body {
/* ===== Liquid-glass surface system (theme-aware, GPU-light) ===== */
.glass {
/* Frosted overlay surface: strong blur so background content is an unreadable
blur, plus enough opacity to stay legible over anything. */
background: color-mix(in srgb, var(--surface) 86%, transparent);
backdrop-filter: blur(32px) saturate(1.8);
-webkit-backdrop-filter: blur(32px) saturate(1.8);
border: 1px solid color-mix(in srgb, var(--border) 75%, transparent);
/* Frosted overlay surface. We lean on opacity (not blur) so it looks right even
when the browser has hardware acceleration off, where backdrop-filter is a no-op
and a sharp background would otherwise show through. The blur is a bonus that
kicks in when GPU compositing is available. */
background: color-mix(in srgb, var(--surface) 94%, transparent);
backdrop-filter: blur(30px) saturate(1.8);
-webkit-backdrop-filter: blur(30px) saturate(1.8);
border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
box-shadow:
inset 0 1px 0 color-mix(in srgb, #fff 15%, transparent),
0 18px 44px -16px rgba(0, 0, 0, 0.6);