#battle-flash{position:fixed;inset:0;pointer-events:none;z-index:4;opacity:0;background:radial-gradient(ellipse at 50% 58%,transparent 22%,#fdba493b 72%,#e0a73566);transition:opacity .14s}#battle-flash.on{opacity:1}
#skill-title{position:fixed;left:50%;top:23%;transform:translate(-50%,-10px);z-index:5;pointer-events:none;opacity:0;text-align:center;color:#fff1cb;font-family:serif;font-weight:900;font-size:clamp(22px,4vw,46px);letter-spacing:.25em;text-shadow:0 2px 3px #2d120c,0 0 22px #ffac40;transition:opacity .16s,transform .16s;white-space:nowrap}#skill-title.visible{opacity:1;transform:translate(-50%,0)}
#cinematic{position:fixed;inset:0;z-index:20;pointer-events:none;display:none;background:radial-gradient(ellipse,transparent 35%,#180e2080)}#cinematic.active{display:block}#cinematic::before,#cinematic::after{content:"";position:absolute;left:0;right:0;height:10%;background:#100e15e8;border-bottom:1px solid #e8c87655}#cinematic::before{top:0}#cinematic::after{bottom:0;border-top:1px solid #e8c87655}
#cinema-copy{position:absolute;left:0;right:0;bottom:14%;text-align:center;color:#fff1c4;text-shadow:0 2px 5px #170e0c,0 0 26px #da9a48}#cinema-copy small{display:block;letter-spacing:.65em;font-size:12px;color:#dfc394}#cinema-title{display:block;font:900 clamp(32px,7vw,86px)/1.15 serif;letter-spacing:.2em;margin:12px 0}#cinema-subtitle{font-size:clamp(12px,2vw,18px);letter-spacing:.25em}#cinematic.impact #cinema-copy{animation:seal-in .45s ease-out both}#cinematic.impact{background:radial-gradient(ellipse,transparent 15%,#683c074d 65%,#150c18b0)}
#cinema-skip,#cinema-pause{pointer-events:auto;position:absolute;right:max(18px,env(safe-area-inset-right));top:18px;border:1px solid #e8c77c80;border-radius:6px;padding:10px 16px;min-height:44px;background:#1b1825cc;color:#f8e5b9;font-size:13px}#cinema-pause{right:125px}body.in-cinema #hud,body.in-cinema #touch,body.in-cinema #maze-panel,body.in-cinema #objective,body.in-cinema #party,body.in-cinema #notice,body.in-cinema #desktop-help,body.in-cinema #talk{visibility:hidden}
@keyframes seal-in{from{opacity:0;transform:scale(1.8);filter:blur(6px)}to{opacity:1;transform:scale(1);filter:blur(0)}}
@media(max-height:450px){#cinema-copy{bottom:13%}#cinema-title{font-size:42px;margin:5px 0}#cinema-copy small{font-size:10px}#skill-title{top:28%;font-size:25px}#cinema-skip,#cinema-pause{top:8px}}
@media(prefers-reduced-motion:reduce){#cinematic.impact #cinema-copy{animation:none}#skill-title,#battle-flash{transition:none}}
