/* Film remains unscaled. Geometry belongs to the mask, never the image. */
[data-movie-art="true"]:not([data-stage="closing"]){animation:none!important;opacity:1!important}
[data-movie-art="true"]:not([data-stage="closing"])::backdrop{animation:none!important}
[data-movie-art="true"]::backdrop{background:#030304}
/* Once the picture is dark, the whole dialog dissolves into the game. */
@media(prefers-reduced-motion:no-preference){[data-movie-art="true"][data-stage="closing"],[data-movie-art="true"][data-stage="closing"]::backdrop{animation:nq-movie-dissolve 240ms ease 340ms both!important}}
@keyframes nq-movie-dissolve{from{opacity:1}to{opacity:0}}
[data-movie-art="true"] :is(.nq-entry-cinema__story,.nq-battle-intro__card,.nq-victory-cinema__card){display:none!important}
[data-movie-art="true"] :is(.nq-entry-cinema__stage,.nq-battle-intro__film,.nq-victory-cinema__aperture){animation:none!important;opacity:1!important;clip-path:none!important;transform:none!important;transition:none!important}
[data-movie-art="true"] :is(.nq-entry-cinema__aperture,.nq-battle-intro__film,.nq-victory-cinema__aperture){isolation:isolate;overflow:hidden;container-type:inline-size}
[data-movie-art="true"] video{object-fit:contain!important;transform:none!important;clip-path:none!important;opacity:1!important}
.nq-movie-veil{position:absolute;inset:-1px;z-index:8;pointer-events:none;overflow:hidden;background:#030304;opacity:1;transition:opacity 760ms cubic-bezier(.33,0,.2,1)}
[data-movie-phase="playing"] .nq-movie-veil{opacity:0}
[data-movie-phase="tail"] .nq-movie-veil{opacity:1;transition:opacity 540ms cubic-bezier(.4,0,.8,.6)}
[data-movie-phase="closing"] .nq-movie-veil{opacity:1;transition:opacity 340ms cubic-bezier(.4,0,.8,.6)}
/* Hero films rise from under the prologue's dark layer instead of a black veil. */
.nq-entry-cinema[data-kind="hero"]:not([data-movie-phase="closing"],[data-movie-phase="tail"]) .nq-movie-veil{opacity:0;transition:none}
.nq-movie-caption{position:absolute;z-index:6;left:0;right:0;bottom:0;width:100%;max-width:none;margin:0!important;padding:64px 6% 26px!important;color:#fff2d8!important;font:600 clamp(24px,2.5cqw,30px)/1.25 "Cinzel",Georgia,serif!important;letter-spacing:.02em!important;text-shadow:0 1px 4px #000;text-wrap:balance;background:linear-gradient(to top,#030304e6 0%,#030304a8 45%,#03030400 100%);pointer-events:none}
[data-movie-key="nephros"] .nq-movie-caption,[data-movie-key="glomerulus"] .nq-movie-caption{text-align:right}
[data-movie-key="chamber"] .nq-movie-caption{text-align:center}
[data-movie-phase="closing"] :is(.nq-battle-intro__reliquary,.nq-victory-cinema__reliquary){opacity:0;transition:opacity 340ms ease}
@media(prefers-reduced-motion:reduce){[data-movie-art="true"] .nq-movie-veil{clip-path:none!important;transition:opacity 80ms ease;opacity:1}[data-movie-phase="playing"] .nq-movie-veil{opacity:0}[data-movie-phase="closing"] .nq-movie-veil{opacity:1}}
@media(min-width:769px) and (hover:hover) and (pointer:fine){#charIntroOverlay.nq-movie-confirm #nqIntroStory{display:none}#charIntroOverlay.nq-movie-confirm .nqnarr-body{max-height:none}#charIntroOverlay.nq-movie-confirm .nqinicio-card{max-width:720px}.nq-entry-full-lore{margin-top:20px;color:var(--txt);line-height:1.6}.nq-entry-full-lore summary{cursor:pointer;min-height:44px;padding:10px 0}}

#charIntroOverlay.nq-movie-confirm details[open] #nqIntroStory{display:block}
@media(prefers-reduced-motion:reduce){[data-movie-art="true"] .nq-movie-veil{background:#030304}}
[data-movie-phase="closing"] .nq-movie-caption{transition:opacity 180ms ease}
[data-movie-phase="closing"] :is(.nq-entry-cinema__top,.nq-entry-cinema__footer,.nq-battle-intro__top,.nq-battle-intro__footer,.nq-victory-cinema__top,.nq-victory-cinema__footer){opacity:0;transition:opacity 340ms ease;pointer-events:none}
.nq-movie-lore-trigger{min-height:36px;margin:3px 0 0;padding:7px 10px;border:1px solid #9d8aaf69;border-radius:5px;background:#111018;color:#ddcde9;font:.76rem/1.25 var(--nql-font-body,sans-serif);cursor:pointer}
.nq-movie-lore-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.nq-movie-lore{width:min(720px,calc(100vw - 64px));max-height:85dvh;padding:28px;background:#0b090f;color:#eee4d2;border:1px solid #7d653c;border-radius:5px;font:18px/1.6 Philosopher,Georgia,serif}
.nq-movie-lore::backdrop{background:#030304dd}.nq-movie-lore h2{font:400 28px Cinzel,Georgia,serif;color:#e6d0a1;margin:0 0 20px}.nq-movie-lore [role="region"]{max-height:55dvh;overflow:auto;padding-right:12px}.nq-movie-lore button{min-height:44px;margin-top:20px;padding:10px 18px;background:#17120b;color:#ecdbb5;border:1px solid #7d653c;font:600 16px Philosopher,Georgia,serif;cursor:pointer}.nq-movie-lore :focus-visible,.nq-movie-lore-trigger:focus-visible{outline:2px solid #f0cd83;outline-offset:3px}

.nq-movie-freeze{position:absolute;inset:0;z-index:3;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;background:#000}
.nq-movie-prologue{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:6%;background:rgba(3,3,4,.86);overflow:hidden;color:#fff2d8;text-align:center;transition:opacity 900ms cubic-bezier(.33,0,.2,1)}
.nq-movie-prologue[data-leaving="true"]{opacity:0;pointer-events:none}
.nq-movie-prologue .nq-prologue-name{margin:0;color:#bfa16a;font:400 clamp(13px,1.6cqw,18px)/1.3 Cinzel,Georgia,serif;letter-spacing:.08em}
.nq-movie-prologue .nq-prologue-copy{max-width:34ch;margin:0;font:400 clamp(22px,3cqw,34px)/1.35 Philosopher,Georgia,serif;text-wrap:balance}
/* Film and portrait share the 16:9 frame of every other film; the full portrait stays in the results. */
.nq-victory-epilogue__image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 12%;transform-origin:50% 26%;filter:saturate(.88) contrast(1.04) brightness(.94)}
.nq-victory-epilogue .nq-victory-epilogue__film{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover!important;background:#000;transition:opacity 900ms cubic-bezier(.33,0,.2,1)}
.nq-victory-epilogue[data-epilogue-phase="portrait"] .nq-victory-epilogue__film{opacity:0!important}
.nq-victory-epilogue[data-epilogue-phase="portrait"] .nq-victory-epilogue__image{animation:nqEpiloguePush 6.4s cubic-bezier(.2,0,.4,1) both}
.nq-victory-epilogue:not([data-epilogue-phase="portrait"]) :is(.nq-epilogue-light,.nq-epilogue-particles){animation:none;opacity:0}
@keyframes nqEpiloguePush{from{transform:scale(1)}to{transform:scale(1.05)}}
.nq-victory-epilogue .nq-victory-cinema__surround{width:min(1080px,calc(100vw - 88px),calc((100dvh - 194px)*16/9));gap:14px;padding:12px 0}
.nq-victory-epilogue .nq-victory-cinema__status{font-size:12px}
.nq-victory-epilogue.nq-victory-cinema button{font:600 14px/1.2 "Philosopher","Segoe UI",sans-serif}
.nq-victory-epilogue .nq-victory-cinema__controls button{padding-inline:12px}
.nq-epilogue-reading{position:absolute;inset:auto 0 0;z-index:6;pointer-events:none}
.nq-epilogue-caption{width:100%;margin:0;padding:56px 6% 24px;color:#fff2d8;font:600 clamp(24px,4cqw,32px)/1.25 Cinzel,Georgia,serif;letter-spacing:.02em;text-align:center;text-wrap:balance;text-shadow:0 1px 4px #000;background:linear-gradient(to top,#030304e6,#03030400)}
@media(max-height:640px){.nq-victory-epilogue .nq-victory-cinema__surround{width:min(1080px,calc(100vw - 88px),calc((100dvh - 168px)*16/9));gap:10px;padding:8px 0}.nq-victory-epilogue .nq-victory-cinema__controls button{font-size:12px;min-height:36px;padding:6px 9px}.nq-victory-epilogue .nq-victory-cinema__volume{min-height:36px}.nq-victory-epilogue .nq-victory-cinema__volume input{min-height:36px;width:68px}.nq-epilogue-reading{min-height:56px;padding:8px 12px}.nq-epilogue-caption{font-size:22px}}
.nq-epilogue-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 4%,#f5d69a3d,transparent 65%);animation:nqEpilogueLight 6.4s ease-out both}
.nq-epilogue-particles{position:absolute;inset:0;pointer-events:none;opacity:.75;background:radial-gradient(circle at 6% 84%,#ffe7ad 0 1.8px,transparent 3px),radial-gradient(circle at 11% 62%,#ffe7ad 0 1.2px,transparent 2.4px),radial-gradient(circle at 15% 38%,#ffe7ad 0 1.2px,transparent 2.4px),radial-gradient(circle at 21% 74%,#ffe7ad 0 1.8px,transparent 3px),radial-gradient(circle at 27% 22%,#ffe7ad 0 1.2px,transparent 2.4px),radial-gradient(circle at 33% 90%,#ffe7ad 0 1.2px,transparent 2.4px),radial-gradient(circle at 39% 52%,#ffe7ad 0 1.8px,transparent 3px),radial-gradient(circle at 46% 30%,#ffe7ad 0 1.2px,transparent 2.4px),radial-gradient(circle at 54% 80%,#ffe7ad 0 1.2px,transparent 2.4px),radial-gradient(circle at 60% 16%,#ffe7ad 0 1.8px,transparent 3px),radial-gradient(circle at 66% 66%,#ffe7ad 0 1.2px,transparent 2.4px),radial-gradient(circle at 72% 42%,#ffe7ad 0 1.2px,transparent 2.4px),radial-gradient(circle at 78% 86%,#ffe7ad 0 1.8px,transparent 3px),radial-gradient(circle at 84% 26%,#ffe7ad 0 1.2px,transparent 2.4px),radial-gradient(circle at 90% 58%,#ffe7ad 0 1.2px,transparent 2.4px),radial-gradient(circle at 94% 74%,#ffe7ad 0 1.8px,transparent 3px);animation:nqEpilogueParticles 6.4s ease-out both}
.nq-victory-epilogue[data-stage="paused"] :is(.nq-epilogue-light,.nq-epilogue-particles,.nq-victory-epilogue__image){animation-play-state:paused}
@keyframes nqEpilogueLight{from{opacity:0}25%{opacity:1}to{opacity:.5}}
@keyframes nqEpilogueParticles{from{opacity:0;translate:0 18px}35%{opacity:.75}to{opacity:.12;translate:0 -26px}}
@media(prefers-reduced-motion:reduce){.nq-epilogue-light,.nq-epilogue-particles,.nq-victory-epilogue__image{animation:none}.nq-epilogue-light{opacity:.5}.nq-epilogue-particles{display:none}}
/* Controls step back during the film; pointer, keyboard or focus bring them back. */
.nq-entry-cinema :is(.nq-entry-cinema__top,#nqEntryCinemaStatus,.nq-entry-cinema__play,.nq-entry-cinema__sound,.nq-entry-cinema__volume,.nq-entry-cinema__skip){transition:opacity 180ms ease,border-color 140ms ease,background-color 140ms ease}
.nq-entry-cinema[data-chrome="idle"] :is(.nq-entry-cinema__top,#nqEntryCinemaStatus,.nq-entry-cinema__play,.nq-entry-cinema__sound,.nq-entry-cinema__volume){opacity:.14;transition:opacity 600ms ease}
.nq-entry-cinema[data-chrome="idle"] .nq-entry-cinema__skip{opacity:.6;transition:opacity 600ms ease}
.nq-entry-cinema .nq-entry-cinema__sound[aria-pressed="false"]{border-color:#b99557;color:#f3d99e}
