/* Shared by every video surface. Controls occupy their own space, never the film. */
.video-player { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; position:relative; isolation:isolate; overflow:hidden; background:#101b30; color:#fff; }
.video-player-stage { flex:1 1 0; min-height:0; position:relative; overflow:hidden; display:flex; justify-content:center; }
.video-player-stage > video { display:block; width:100%; height:100%; max-height:none; min-height:0; object-fit:contain; background:#101b30; }
.video-player .video-player-tools { position:static; flex:0 0 auto; display:flex; justify-content:space-between; align-items:center; gap:8px; padding:6px 9px; pointer-events:auto; background:#101b30; }
.video-player .video-player-tools > * { min-height:40px; border:1px solid #ffffff50; border-radius:7px; background:#ffffff0c; color:#fff; font:inherit; font-size:.8rem; padding:7px 10px; cursor:pointer; }
.video-player-tools select { max-width:82px; }.video-player-tools option { background:#101b30; color:#fff; }
.video-player-tools :focus-visible { outline:2px solid #e3c57b; outline-offset:2px; }
.video-hold-zone { position:absolute; z-index:4; top:23%; bottom:28%; width:23%; border:0; background:transparent; touch-action:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.video-hold-left { left:0; }.video-hold-right { right:0; }
.video-hold-cue { position:absolute; top:42%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; width:48px; min-height:52px; border:1px solid #ffffffb3; border-radius:12px; overflow:hidden; color:#fff; background:#0d1930e6; box-shadow:0 2px 8px #0003; font:500 11px/1.2 'Inter',sans-serif; pointer-events:none; transition:background .18s,transform .18s; }
.video-hold-cue::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:#e3c57b; transform:scaleX(0); transform-origin:left; }
.is-hold-pending .video-hold-cue::after { animation:hold-confirm 320ms linear forwards; }
@keyframes hold-confirm { to {transform:scaleX(1);} }
.video-hold-cue b { font-size:15px; font-weight:650; }.video-hold-left .video-hold-cue { left:5px; }.video-hold-right .video-hold-cue { right:5px; }
.video-hold-zone:hover .video-hold-cue,.video-hold-zone:focus-visible .video-hold-cue { background:#0d1930ee; transform:scale(1.04); }
.video-hold-zone:focus-visible { outline:2px solid #e3c57b; outline-offset:-3px; background:#ffffff12; }
/* Keep the live status for assistive technology; visual feedback stays at the edge. */
.video-speed-badge { position:absolute; top:0; left:0; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); transform:none; white-space:nowrap; pointer-events:none; }
.video-speed-badge[hidden] { display:none; }
.is-fast-forwarding .video-hold-cue { color:#ead7a3; background:#17243b; border-color:#d6b568; }
.is-fast-forwarding .video-hold-cue::after { transform:scaleX(1); }
.video-player:fullscreen,.video-player.video-fullscreen-fallback { width:100vw!important; height:100dvh!important; max-width:none!important; max-height:none!important; border:0; border-radius:0; padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); box-sizing:border-box; background:#05080c; }
.video-fullscreen-fallback { position:fixed!important; inset:0!important; z-index:2147483000!important; }
.video-fallback-open { overflow:hidden; }
.video-fullscreen-shell { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#05080c; overflow:hidden; }
.video-fullscreen-shell::backdrop { background:#05080c; }
.coaching-video-screen:has(.video-player) { height:min(690px,calc(100dvh - 200px)); }
.coaching-video-screen .video-player-stage > video { aspect-ratio:auto; max-height:none; width:100%; height:100%; }
.reader-tv-screen:has(.video-player) { display:block; }
.reader-stack-page[data-tv-open="true"] .reader-chapter-nav { display:none; }
.reader-stack-page[data-tv-open="true"] .reader-stack-answer,.reader-stack-page[data-tv-open="true"] .reader-context-actions { display:none; }
.reader-stack-page[data-tv-open="true"] .chat-reader-scroll { flex:1 1 72px; min-height:64px; padding:8px 18px!important; }
.reader-stack-page[data-tv-open="true"] .reader-tv-context { margin:0 0 4px; font-size:.7rem; }
.reader-stack-page[data-tv-open="true"] .reader-chapter-heading { margin:0; }
.reader-stack-page[data-tv-open="true"] .reader-chapter-heading h2 { font-size:.95rem; margin:0; }
.reader-tv-stage { padding:12px 9px 8px; }
.reader-tv-set { padding:6px; gap:5px; grid-template-columns:minmax(0,1fr) 15px; }
.reader-tv-aerial { top:0; }
.about-intro-screen:has(.video-player) { aspect-ratio:auto; height:auto; }
.about-intro-screen:has(.video-player) .about-intro-mount { position:relative; height:auto; }
.about-intro-mount .video-player:not(.is-fullscreen) { height:auto; }
.about-intro-mount .video-player:not(.is-fullscreen) .video-player-stage { flex:none; aspect-ratio:9/16; }
@keyframes hold-edge-cue { 0%,100% {opacity:.45;transform:scaleY(1);} 50% {opacity:1;transform:scaleY(1.3);} }
@media(max-width:600px) { .coaching-video-screen:has(.video-player) { height:min(610px,calc(100dvh - 175px)); } }
@media(prefers-reduced-motion:reduce) { .video-hold-zone::after,.is-hold-pending .video-hold-cue::after { animation:none; } .is-hold-pending .video-hold-cue::after { transform:scaleX(1); } .video-hold-cue { transition:none; } }
