.polished-stage{--shot-accent:#c5d3ae;isolation:isolate;background:#263f39}.polished-stage .cutout-world{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain}.polished-stage .shot-world{transform-origin:50% 44%;animation:establish-shot 1.8s cubic-bezier(.2,.6,.2,1) both;transition:filter .7s}.polished-stage .stage-cinema-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#132d2e75,transparent 25%,transparent 64%,#112b2bf2)}.polished-stage .stage-topline{top:15px;left:20px;right:20px;font-size:10px;letter-spacing:.04em}.polished-stage .stage-topline span{background:#18322cba;border:1px solid #dae4c32b;border-radius:5px;padding:7px 9px}.polished-stage .shot-chapter{display:flex;gap:10px;align-items:center}.shot-chapter i{height:9px;width:1px;background:#cdd6b84d}.polished-stage .actor-arm,.polished-stage .actor-body,.polished-stage .actor-head{animation:none}.polished-stage .actor-eyes{animation:actor-blink 6s infinite}.polished-stage .actor-1 .actor-eyes{animation-delay:2s}.polished-stage .actor-mouth{animation:none!important}.polished-stage.npc-speaking .actor-1 .actor-mouth{transform-origin:0 -10px;animation:subtle-talk .23s steps(2) infinite!important}.polished-stage.npc-speaking .actor-1 .actor-arm{transform-origin:40px 16px;animation:explain-once 2.4s ease-out both}.polished-stage.npc-speaking .actor-1 .actor-head{transform-origin:0 5px;animation:thoughtful-nod 4s ease-in-out infinite}.polished-stage .hero-entrance{animation:hero-step-in 1.1s ease-out both}.polished-stage .partner-entrance{opacity:0;transform:translate(65px,10px) scale(.93);transition:opacity .8s,transform 1s cubic-bezier(.2,.7,.2,1)}.polished-stage.partner-visible .partner-entrance{opacity:1;transform:translate(0) scale(1)}.polished-stage .hero-position{filter:brightness(.93);transition:filter .8s}.polished-stage.dialogue-shot .hero-position{filter:brightness(.65)}.polished-stage .partner-position{filter:brightness(.83);transition:filter .8s}.polished-stage.dialogue-shot .partner-position{filter:brightness(1.12)}.polished-stage .scene-establishing{position:absolute;inset:100px 15% auto;text-align:center;color:#fff6de;text-shadow:0 3px 14px #17382b;pointer-events:none;animation:chapter-card 4s both}.scene-establishing small{display:block;letter-spacing:.16em;font-size:11px;margin-bottom:12px}.scene-establishing strong{font:500 31px var(--serif);letter-spacing:.1em}.polished-stage .actor-name{position:absolute;top:71%;font-size:10px;letter-spacing:.06em;padding:5px 9px;border-radius:4px;color:#e8edda;background:#17362ecc}.actor-name small{font-size:8px;opacity:.6;margin-left:5px}.polished-stage .hero-name{left:21%}.polished-stage .partner-name{right:20%;opacity:0;transition:opacity .8s}.polished-stage.partner-visible .partner-name{opacity:1}.polished-stage .stage-subtitles{left:7%;right:7%;bottom:21px;text-align:left;color:#edf0de;text-shadow:none;font-size:17px;line-height:1.6;background:#152f2ef2;border:1px solid #c4d2ad40;border-radius:10px;padding:11px 17px;min-height:95px;box-shadow:0 8px 28px #0c25272b;transition:border-color .5s,background .5s}.polished-stage .stage-subtitles.character-caption{border-color:#e1c89087;background:#243c32f2}.polished-stage .subtitle-byline{display:flex;align-items:center;gap:8px}.polished-stage .caption-dot{width:5px;height:5px;border-radius:50%;background:var(--shot-accent)}.polished-stage .stage-subtitles b{font-size:11px;padding:0;background:none;border-radius:0;color:var(--shot-accent)}.polished-stage .subtitle-byline small{font-size:9px;color:#afc2b4;margin-left:auto}.polished-stage .stage-subtitles p{margin:5px 0 0;padding:0;min-height:40px;background:none;border:0;border-radius:0}.polished-stage .stage-watermark{font-size:8px;bottom:5px;right:7%;color:#cbd6be78}.polished-stage[data-mood=hurt] .actor-1 .actor-head{transform:rotate(5deg)}.polished-stage[data-mood=hurt] .actor-1 .actor-eyes{opacity:.72}.polished-stage.is-paused *{animation-play-state:paused!important}.polished-stage.is-paused .partner-entrance{transition:none}@keyframes establish-shot{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes hero-step-in{0%{opacity:0;transform:translate(-50px,18px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes chapter-card{0%,9%{opacity:0;transform:translateY(6px)}25%,65%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes subtle-talk{50%{transform:scaleY(1.8)}}@keyframes explain-once{25%,65%{transform:rotate(-15deg)}}@keyframes thoughtful-nod{50%{transform:rotate(-2deg)}}@media(max-width:700px){.scene-visual.animation-visual:has(.polished-stage){aspect-ratio:1.04}.polished-stage .cutout-world{inset:36px 0 auto;height:72%;left:0;width:100%;object-fit:contain}.polished-stage .stage-topline{top:9px;left:10px;right:10px;flex-wrap:wrap;gap:5px}.polished-stage .stage-topline span{font-size:8px;padding:4px 6px}.polished-stage .stage-topline span:last-child{margin-left:auto}.polished-stage .scene-establishing{top:23%;left:6%;right:6%}.scene-establishing strong{font-size:23px}.scene-establishing small{font-size:9px}.polished-stage .actor-name{top:65%;font-size:9px;padding:3px 6px}.polished-stage .actor-name small{display:none}.polished-stage .hero-name{left:22%}.polished-stage .partner-name{right:22%}.polished-stage .stage-subtitles{left:4%;right:4%;bottom:17px;min-height:91px;padding:10px 12px;font-size:14px;line-height:1.65}.polished-stage .subtitle-byline small{font-size:8px}.polished-stage .stage-subtitles p{min-height:46px}.polished-stage .stage-watermark{bottom:3px;right:4%}}@media(prefers-reduced-motion:reduce){.polished-stage *{animation:none!important;transition:none!important}.polished-stage .scene-establishing{display:none}.polished-stage .hero-entrance,.polished-stage.partner-visible .partner-entrance{opacity:1;transform:none}}.polished-stage.is-paused.npc-speaking .actor-1 .actor-mouth{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.polished-stage .actor-eyes,.polished-stage.npc-speaking .actor-1 .actor-arm,.polished-stage.npc-speaking .actor-1 .actor-head,.polished-stage.npc-speaking .actor-1 .actor-mouth{animation:none!important}}