Aero: nested tiles in the real-blur chrome drop the baked backdrop
Chrome cannot anchor a background-attachment: fixed layer inside a backdrop-filter ancestor, so the composer's attach button baked the blurred wallpaper against its own box and read as a solid, mismatched tile (often a dark crop of grass) next to the pale field. Inside .glass-panel / .study-chrome / .glass / .tabbar the nesting chrome (surface tokens, white/xx fills, chips, cards) now drops the bake and keeps its flat token fill - the panel's own blur is the glass - mirroring the existing .glass-sheet carve-out. The composer's textarea keeps its brighter field recipe (exempted via :not()), and .aero .btn-ghost gains the same carve-out so the study pager's arrows sit flat in the pill. Probe: the attach tile samples the band glass (115,137,118) instead of a dark mis-crop (73,102,77). All 15 suites green, contrast scan clean. Version 0.6.6, SW v88.
This commit is contained in:
parent
98537cee64
commit
b5c4f237cd
4 changed files with 80 additions and 2 deletions
|
|
@ -753,6 +753,17 @@
|
|||
border: 1px solid rgb(255 255 255 / 0.6);
|
||||
color: var(--text);
|
||||
}
|
||||
/* Inside the real-blur chrome (study pager), the ghost buttons drop the bake
|
||||
too — same anchoring bug as every other nested tile, and the pill's own
|
||||
blur is the glass they should match. */
|
||||
.aero .glass-panel .btn-ghost,
|
||||
.aero .glass .btn-ghost,
|
||||
.aero .study-chrome .btn-ghost,
|
||||
.aero .tabbar .btn-ghost {
|
||||
background-image: none;
|
||||
border-color: var(--glass-border);
|
||||
background-color: rgb(255 255 255 / 0.23);
|
||||
}
|
||||
|
||||
/* Page headings that sit straight on the wallpaper. */
|
||||
.aero .page-heading {
|
||||
|
|
@ -797,6 +808,59 @@
|
|||
background-image: none;
|
||||
}
|
||||
|
||||
/* The same principle extends to the floating chrome that carries a real
|
||||
backdrop blur — the chat header, the composer band, the desktop pickers,
|
||||
the study pill and the phone tab bar (the `.glass` header bar too).
|
||||
Chrome cannot anchor a `background-attachment: fixed` layer inside a
|
||||
backdrop-filter ancestor: the bake is laid out against the element itself,
|
||||
so a small tile samples a tiny random detail of the wallpaper and reads as
|
||||
a solid, mismatched button — the composer's attach button rendered as a
|
||||
dark patch of grass next to the pale glass field. The panel's own blur is
|
||||
the glass here, exactly like inside sheets, so nested chrome drops the
|
||||
bake and keeps its flat token fill. The composer's field is deliberately
|
||||
exempt (`:not()` on the bake selectors): its brighter glass tile is its
|
||||
own thin recipe, and it is the wide element that still anchors correctly. */
|
||||
.aero .glass-panel .card,
|
||||
.aero .glass-panel .glass-solid,
|
||||
.aero .glass-panel .sidebar-surface,
|
||||
.aero .glass-panel .gate-card,
|
||||
.aero .glass-panel .list-group,
|
||||
.aero .glass-panel .nav-action,
|
||||
.aero .glass-panel .nav-row[aria-current="page"],
|
||||
.aero .glass-panel .nav-row[aria-pressed="true"],
|
||||
.aero .glass-panel .nav-row[data-active="true"],
|
||||
.aero .glass-panel .glass-chip,
|
||||
.aero .glass-panel .glass-pill,
|
||||
.aero .glass-panel .btn-secondary,
|
||||
.aero .glass-panel .chat-empty,
|
||||
.aero .glass-panel .segmented,
|
||||
.aero .glass-panel [class*="bg-white/35"],
|
||||
.aero .glass-panel [class*="bg-white/40"],
|
||||
.aero .glass-panel [class*="bg-white/45"],
|
||||
.aero .glass-panel [class*="bg-white/50"],
|
||||
.aero .glass-panel [class*="bg-white/55"],
|
||||
.aero .glass-panel [class*="bg-white/60"],
|
||||
.aero .glass-panel [class*="bg-white/70"],
|
||||
.aero .glass-panel [class*="bg-[var(--surface)]"],
|
||||
.aero .glass-panel [class*="bg-[var(--surface-strong)]"]:not(textarea):not(input[type="search"]),
|
||||
.aero .glass-panel [class*="bg-[var(--surface-sunken)]"],
|
||||
.aero .glass-panel [class*="bg-frost-50"] {
|
||||
background-image: none;
|
||||
}
|
||||
.aero .study-chrome [class*="bg-white/35"],
|
||||
.aero .study-chrome [class*="bg-white/40"],
|
||||
.aero .study-chrome [class*="bg-white/45"],
|
||||
.aero .study-chrome [class*="bg-white/50"],
|
||||
.aero .study-chrome [class*="bg-white/55"],
|
||||
.aero .study-chrome [class*="bg-white/60"],
|
||||
.aero .study-chrome [class*="bg-white/70"],
|
||||
.aero .study-chrome [class*="bg-[var(--surface)]"],
|
||||
.aero .study-chrome [class*="bg-[var(--surface-strong)]"],
|
||||
.aero .study-chrome [class*="bg-[var(--surface-sunken)]"],
|
||||
.aero .study-chrome [class*="bg-frost-50"] {
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue