/* The film fills the viewport; typography enters only after the scene. */
#reveal-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;inset:0;margin:0;border:0;border-radius:0;background:#050509}
#reveal-dialog.cinema-playing #custom-scene{width:100%;height:100%;object-fit:contain;background:#000;animation:sceneArrive .45s ease-out both}
.cinema-playing .cinema-status{font-size:10px;bottom:5%;text-shadow:0 2px 8px #000}
.prestige-stage{perspective:1200px}
#reveal-dialog[data-grade=SR] .prestige-card{animation:cardBurst 1.15s cubic-bezier(.16,.8,.25,1) both}
#reveal-dialog[data-grade=SSR] .prestige-card{animation:cardBurstUR 1.5s cubic-bezier(.12,.7,.2,1) both}
.premium-card.rarity-SR{animation:liveSSR 6s ease-in-out infinite;transform-origin:50% 55%}
.premium-card.rarity-SSR{animation:liveUR 5s ease-in-out infinite;transform-origin:50% 55%}
.premium-card .card-loop{object-fit:cover;animation:none!important}
#reveal-dialog.high-rarity.scene-finished:not(.batch-summary)::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:20;background:radial-gradient(ellipse,#fff5dcaa,var(--fx),transparent 68%);animation:impactBloom .85s ease-out both}
#reveal-dialog.high-rarity .stage-orbit{animation:shockRing 1.4s ease-out both,orbitBreath 5s 1.4s ease-in-out infinite}
#reveal-dialog[data-grade=SSR] .stage-orbit.second{animation:shockRing 1.8s .15s ease-out both;box-shadow:0 0 60px #ffd48540}
.scene-finished.high-rarity .prestige-heading,.scene-finished.high-rarity .prestige-caption{animation:captionArrive .65s .55s ease-out both}
@keyframes sceneArrive{from{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}
@keyframes cardBurst{0%{opacity:0;transform:translateZ(-700px) scale(.25) rotateY(-200deg) rotateZ(-14deg)}35%{opacity:1}75%{transform:translateZ(55px) rotateY(14deg) rotateZ(2deg)}100%{opacity:1;transform:none}}
@keyframes cardBurstUR{0%{opacity:0;transform:translateZ(-900px) scale(.15) rotateY(-360deg) rotateZ(-20deg)}25%{opacity:1}72%{transform:translateZ(85px) rotateY(20deg) rotateZ(3deg)}100%{opacity:1;transform:none}}
@keyframes liveSSR{0%,100%{transform:perspective(1000px) rotateY(-5deg) rotateX(2deg) translateY(0)}50%{transform:perspective(1000px) rotateY(5deg) rotateX(-2deg) translateY(-6px)}}
@keyframes liveUR{0%,100%{transform:perspective(1000px) rotateY(-9deg) rotateX(3deg) translateY(0);filter:drop-shadow(0 0 12px #ffd27925)}50%{transform:perspective(1000px) rotateY(9deg) rotateX(-3deg) translateY(-10px);filter:drop-shadow(0 0 24px #ffd27955)}}
@keyframes impactBloom{0%{opacity:.75;transform:scale(.3)}100%{opacity:0;transform:scale(1.8)}}
@keyframes shockRing{from{opacity:1;scale:.2}to{opacity:.35;scale:1}}
@keyframes captionArrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.premium-card.rarity-SR,.premium-card.rarity-SSR,#reveal-dialog .prestige-card,#reveal-dialog .stage-orbit,.prestige-heading,.prestige-caption{animation:none!important}#reveal-dialog.high-rarity::after{display:none}}

.video-recovery{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);width:min(85vw,400px);padding:24px;background:#12121eee;border:1px solid #aa96cf;border-radius:14px;text-align:center}.video-recovery.hidden{display:none}.video-recovery p{color:#eee;line-height:1.7}.cinema-playing #custom-scene{z-index:1}.cinema-playing .reveal-header{z-index:20}.cinema-playing .cinema-status{pointer-events:none}

/* Keep source framing intact and put rarity badges above the portrait. */
.premium-card .card-art{inset:48px 7px 78px;background:radial-gradient(ellipse at center,#282532,#101016);border-radius:5px}
.premium-card .card-image{object-fit:contain;object-position:50% 50%;filter:none}
.premium-card .card-top{top:15px}
.premium-card .motion-label{display:none}
.premium-card .art-shade{background:linear-gradient(0deg,#080b1618,transparent 12%)}
.premium-card .card-art .card-dust{opacity:.22}
.prestige-card .card-art{inset:62px 9px 95px}
.prestige-card .card-top{top:22px}
@media(max-width:480px){.prestige-card .card-art{inset:49px 7px 79px}.prestige-card .card-top{top:15px}.batch-summary .reveal-grid .card-art{top:44px}}

.grade-comparison{grid-template-columns:repeat(3,1fr)}

.premium-card .card-backdrop{position:absolute;inset:-10%;width:120%;height:120%;object-fit:cover;filter:blur(18px) brightness(.35);opacity:.55;pointer-events:none}.premium-card .card-image{position:relative;z-index:1}.premium-card .art-shade{z-index:2}
