fix(player): the YouTube player's full window filled only its card — a blurred ancestor trapped the fixed stage (E28)

E28 S3d1 moved the modal's card from `.glass-card` (no blur) to the `.glass` panel role, whose
`backdrop-filter` makes the card the containing block of the fixed "full window" stage: F showed a
894×161 strip inside the card with a scrolling, wrapped control bar. While the stage is maximised the
card now drops its blur (`html .glass:has(> .player-stage--max)`, outranking the dark theme's rule);
measured live: the stage 1268×861 = the viewport, the blur back on exit.
This commit is contained in:
2026-09-25 14:20:23 +02:00
parent cc8e0648db
commit e9ccd9bc98
2 changed files with 27 additions and 0 deletions
+8
View File
@@ -1071,6 +1071,14 @@ html[data-theme="light"] {
here escapes it — a higher level would claim an authority this layer neither has nor needs. */
z-index: var(--z-index-rail);
}
/* …and it only fills the viewport while no ancestor has a filter: a `backdrop-filter` makes that
ancestor the fixed stage's containing block. The modal's card is a blurred `.glass` panel (E28 S3d1),
so while the stage is maximised the card drops its blur — the stage covers the card anyway. `html `
outranks `html[data-theme="dark"] .glass`, which sets the blur again (lib/playerStage.contract.test.ts). */
html .glass:has(> .player-stage--max) {
backdrop-filter: none;
-webkit-backdrop-filter: none;
}
/* Thin, theme-aware scrollbars */
* {