Stop menus being windows

--popover sat at card alpha, but a card and a menu are not the same kind
of surface: a card rests on the page background, while a menu floats over
whatever happens to be underneath it. In dark mode, over the aurora field
at its most saturated, the text behind a dropdown read straight through
the list of items — the two most-used menus in Canvas (the chat switcher
and the account menu) looked broken every time they opened.

Raised to 0.94/0.95. The backdrop blur still carries the depth, so the
glass reads as glass; it just stops being transparent. Every app that
defines --popover for a surface variant already used a fully opaque
value, so this only aligns the default with what each of them had
already decided independently.
This commit is contained in:
jules
2026-08-08 08:34:00 +08:00
parent 10455e5df7
commit c2a414589b

View File

@@ -45,7 +45,12 @@
--card: oklch(1 0 0 / 0.58);
--card-foreground: oklch(0.16 0.025 285);
--popover: oklch(1 0 0 / 0.74);
/* Near-opaque on purpose, unlike --card. A popover is the one glass
* surface with nothing behind it: a card sits on the page background,
* but a menu floats over arbitrary content, and at card alpha the text
* underneath reads straight through a list of menu items. The backdrop
* blur below still gives it depth — the tint just stops being a window. */
--popover: oklch(1 0 0 / 0.94);
--popover-foreground: oklch(0.16 0.025 285);
--primary: oklch(0.55 0.22 295);
@@ -193,7 +198,9 @@
--card: oklch(0.22 0.04 290 / 0.55);
--card-foreground: oklch(0.97 0.005 280);
--popover: oklch(0.22 0.04 290 / 0.78);
/* See the light-mode note: dark is the worse case, because the aurora
* field behind a menu is at its most saturated here. */
--popover: oklch(0.22 0.04 290 / 0.95);
--popover-foreground: oklch(0.97 0.005 280);
--primary: oklch(0.7 0.2 295);