/* Captions are timed text, with shadow for contrast and no opaque caption stripe. */
.clean-captions{position:absolute;left:7%;right:7%;bottom:134px;z-index:4;text-align:center;pointer-events:none;color:#fff;font:650 clamp(15px,4vw,19px)/1.35 system-ui,sans-serif;letter-spacing:0;background:transparent;padding:0;margin:0;border:0;box-shadow:none;text-shadow:-1px -1px 2px #000b,1px -1px 2px #000b,-1px 1px 2px #000b,1px 1px 2px #000b,0 2px 5px #0009;text-wrap:balance;overflow-wrap:anywhere}
.clean-captions[hidden]{display:none!important}
body.reel-home video::cue,video::cue{background:transparent;color:#fff;text-shadow:0 1px 3px #000,0 0 2px #000}
/* Keep the native scrolling surface alive, visible and interactive. */
body.reel-home #cards{position:relative}
body.reel-home.clean-viewing{--reel-bottom-nav:0px;--reel-height:100dvh}
body.reel-home.clean-viewing .sidebar,body.reel-home.clean-viewing .studio-top,body.reel-home.clean-viewing .tabs,body.reel-home.clean-viewing .preview-notice,
body.reel-home.clean-viewing #cards .post-header,body.reel-home.clean-viewing #cards h3,body.reel-home.clean-viewing #cards .desc,body.reel-home.clean-viewing #cards .foot,body.reel-home.clean-viewing #cards .creation-context,body.reel-home.clean-viewing #cards .creation-tag{visibility:hidden;pointer-events:none}
body.reel-home.clean-viewing #cards .cardbody:after{opacity:0}
body.reel-home.clean-viewing #cards{overflow-y:auto;touch-action:pan-y;scroll-snap-type:y mandatory}
body.reel-home.clean-viewing #cards video{touch-action:pan-y}
body.reel-home.clean-viewing .clean-captions{left:7%;right:7%;bottom:calc(30px + env(safe-area-inset-bottom,0px));max-width:540px;margin-inline:auto;font-size:clamp(16px,4.2vw,21px)}
.clean-viewer{position:fixed;inset:0 0 auto;z-index:1000;height:calc(44px + env(safe-area-inset-top,0px));pointer-events:none;background:linear-gradient(#0003,transparent);animation:clean-video-entry .2s ease-out both}
.clean-viewer button{pointer-events:auto}
.clean-viewer-brand,.clean-viewer-close{position:absolute;z-index:5;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:8px;border:0;color:#fff;background:transparent;filter:drop-shadow(0 1px 3px #0009);cursor:pointer;touch-action:manipulation;transition:transform .15s ease}
.clean-viewer-brand{top:env(safe-area-inset-top,0px);left:8px;color:#b6ff63}
.clean-viewer-close{top:env(safe-area-inset-top,0px);right:8px}
.clean-viewer-brand svg{width:27px;height:27px}.clean-viewer-close svg{width:24px;height:24px}
.clean-viewer button:active{transform:scale(.91)}.clean-viewer button:focus-visible{outline:2px solid #b6ff63;outline-offset:1px;border-radius:50%}
@keyframes clean-video-entry{from{transform:translateY(6px) scale(.99)}to{transform:none}}
@media(min-width:701px){.clean-viewer{left:235px;width:min(calc(100% - 235px),480px);margin-inline:auto}}
@media(prefers-reduced-motion:reduce){.clean-viewer{animation:none}}

/* The video surface is the playback control; feedback never stays on screen. */
body.reel-home .native-controls{display:none!important}
.playback-feedback{position:absolute;inset:0;display:grid;place-items:center;z-index:6;color:#ffffffa6;pointer-events:none;filter:drop-shadow(0 2px 5px #0004)}
.playback-feedback svg{width:64px;height:64px}.playback-feedback[hidden]{display:none!important}

/* Preserve every pixel of the native 9:16 teaching catalog. */
body.reel-home .card.editorial-complete{container-type:inline-size}
body.reel-home .card.editorial-complete video.post-media,
body.reel-home .card.editorial-complete .localized-video video.post-media{object-fit:contain!important}
