/* One isolated film stage owns both native fullscreen and the in-page fallback.
   No site identity, definition, navigation or copyright enters this stage. */
.screen { --paper:#111a1d; --leaf:#f7f5ec; --ink:#f7f5ec; --accent:#f7f5ec; --line:#f7f5ec66; --soft:#ffffff1a; position:fixed; inset:var(--visible-top) 0 auto; width:100%; height:var(--visible-height); max-width:none; max-height:none; margin:0; border:0; padding:0; overflow:hidden; overscroll-behavior:contain; scroll-padding-block:1rem; background:var(--paper); }
.screen[open] { display:block; }
.screen::backdrop { background:#111a1d; backdrop-filter:none; }
#screen-slot { --stage-height:var(--visible-height); position:relative; flex:none; display:block; width:100%; height:100%; padding:0; background:#111a1d; color:#f7f5ec; }
#screen-slot:fullscreen { --stage-height:100dvh; position:fixed!important; inset:0!important; width:100vw!important; height:100dvh!important; max-width:none; max-height:none; margin:0; padding:0; }
.screen .player { position:relative; height:100%; width:100%; padding:0; margin:0; background:transparent; box-shadow:none; }
.screen .picture { position:absolute; width:min(100%,calc(var(--stage-height) * 16 / 9)); left:50%; top:50%; transform:translate(-50%,-50%); margin:0; }
.screen .screen-top { position:absolute; inset:max(.6rem,var(--safe-top)) max(.9rem,var(--safe-right)) auto auto; z-index:5; display:flex; justify-content:flex-end; background:none; min-height:44px; }
.screen-top > span { display:none; }
.screen-actions { display:flex; align-items:center; gap:.6rem; padding:0 .7rem; background:#111a1dda; border-radius:2px; color:#f7f5ec; }
.screen-actions .text-action { gap:.6rem; font:.6875rem/1.4 var(--mono); }
.screen-reveal { position:absolute; inset:0; z-index:3; width:100%; height:100%; background:transparent; }
.screen .player-dock { position:absolute; z-index:4; width:min(720px,calc(100% - max(1.5rem,var(--safe-left) + var(--safe-right) + 1rem))); bottom:max(.65rem,var(--safe-bottom)); left:50%; transform:translateX(-50%); margin:0; background:#111a1de8; border-radius:2px; color:#f7f5ec; }
.screen .player-rail { color:inherit; padding:0 .7rem .25rem; grid-template-columns:auto 44px minmax(60px,1fr) auto; }
.screen #expand-button { display:none; }
.screen .duration { display:inline; }
.screen .play-button .icon { color:inherit; }
.screen .time-button,.screen .rail-action { color:inherit; }
.screen .expand-label { display:none; }
.screen .track::after { display:none; }
.screen #seek-preview { color:#111a1d; background:#f7f5ec; }
.screen #seek::-webkit-slider-thumb { width:7px; height:7px; margin-top:-3px; border-radius:50%; box-shadow:0 0 0 2px #111a1d; }
.screen #seek::-moz-range-thumb { width:7px; height:7px; border-radius:50%; box-shadow:0 0 0 2px #111a1d; }
.screen[data-controls-hidden] .screen-top,.screen[data-controls-hidden] .player-dock { opacity:0; pointer-events:none; }
.screen[data-controls-hidden] .screen-top * { pointer-events:none; }
.screen .sound-notice { color:inherit; }
@media (min-width:600px) {
  body:not([data-large-type]) .screen .player-rail { grid-template-columns:auto 44px auto minmax(90px,1fr) auto; column-gap:.7rem; padding:.15rem .85rem; }
  body:not([data-large-type]) .screen .timeline { grid-column:4; grid-row:1; }
  body:not([data-large-type]) .screen .play-button { grid-column:1; grid-row:1; }
  body:not([data-large-type]) .screen .replay-button { grid-column:2; grid-row:1; }
  body:not([data-large-type]) .screen .time-button { grid-column:3; grid-row:1; }
  body:not([data-large-type]) .screen .sound-button { grid-column:5; grid-row:1; }
}
/* Enlarge text without trapping any control in a fixed overlay. */
body[data-large-type] .screen { overflow:auto; padding:0; }
body[data-large-type] #screen-slot { height:auto; min-height:100%; padding:max(.5rem,var(--safe-top)) max(.75rem,var(--safe-right)) max(.75rem,var(--safe-bottom)) max(.75rem,var(--safe-left)); }
body[data-large-type] #screen-slot:fullscreen { overflow:auto; }
body[data-large-type] .screen .screen-top { position:static; min-height:44px; }
body[data-large-type] .screen .player { height:auto; margin-top:.6rem; }
body[data-large-type] .screen .picture { position:relative; inset:auto; transform:none; width:100%; }
body[data-large-type] .screen .player-dock { position:relative; inset:auto; width:100%; transform:none; margin-top:.5rem; }
body[data-large-type] .screen-actions { flex-wrap:wrap; }
body[data-large-type] .screen .player-rail { grid-template-columns:auto 44px minmax(44px,1fr); }
body[data-large-type] .screen .time-button { min-width:0; }
body[data-large-type] .screen .duration { display:none; }
@media (max-width:349px) { .screen .duration { display:none; } .screen .player-rail { grid-template-columns:auto 44px minmax(44px,1fr) auto; padding-inline:.4rem; } }
@media (forced-colors:active) { .screen-actions,.screen .player-dock { color:CanvasText; background:Canvas; } }
