/* Season 3 cinematics: silver astrolabe / aurora coronation, no S2 media. */
.opening-dialog[data-phase=basic],.opening-dialog[data-phase=rare]{overflow:hidden}
.opening-cinema,.rare-stage{touch-action:manipulation;user-select:none;-webkit-user-select:none}
.rare-stage{--rare-light:#bfeaff;--rare-shadow:#59aef855;position:relative;isolation:isolate;height:min(760px,88dvh);min-height:520px;background:#070e1e;overflow:hidden;color:#ebf8ff;display:flex;align-items:center;flex-direction:column;justify-content:center}
.rare-stage[data-rarity=SSS]{--rare-light:#ffe5a3;--rare-shadow:#f7c46566;color:#fff2cf}
#rare-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.rare-heading{text-align:center;position:absolute;top:6%;left:10%;right:10%;pointer-events:none}
.rare-heading h2{font-size:clamp(23px,3vw,36px);margin:9px 0;color:var(--rare-light);letter-spacing:.08em;font-weight:600;text-shadow:0 0 30px var(--rare-shadow)}
.rare-heading .eyebrow{font-size:9px;color:var(--rare-light);letter-spacing:.32em}
.rare-card{position:relative;width:clamp(155px,23vw,235px);aspect-ratio:3/4;margin-top:-20px;border:1px solid var(--rare-light);padding:6px;box-shadow:0 0 0 5px #050c1988,0 0 0 6px #b9eaff44,0 0 45px var(--rare-shadow);background:linear-gradient(140deg,#f1fdff,#9bd6ff33 20%,#0b1a31 55%,#c1eaff);transform:perspective(900px) rotateY(-5deg);animation:rare-card-arrive .95s cubic-bezier(.16,1,.3,1) both}
.rare-card:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#d2f4ff55 44%,#fff9 48%,transparent 57%);background-size:300% 100%;animation:rare-sheen 2.4s ease-out both;pointer-events:none}
.rare-card img{display:block;width:100%;height:100%;object-fit:cover}
#rare-grade{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);font:700 43px/1 Georgia,serif;letter-spacing:.03em;color:var(--rare-light);text-shadow:0 2px 2px #000,0 0 18px var(--rare-shadow);background:#091629e8;padding:4px 22px;border:1px solid var(--rare-light);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%)}
.rare-corner{position:absolute;width:36px;height:36px;border:2px solid var(--rare-light);pointer-events:none}.corner-a{top:-8px;left:-8px;border-right:0;border-bottom:0}.corner-b{right:-8px;bottom:-8px;border-left:0;border-top:0}
.rare-identity{text-align:center;position:absolute;bottom:9%;left:10%;right:10%;animation:rare-name-arrive .8s .2s both;pointer-events:none}
.rare-identity h3{font-size:clamp(22px,3vw,34px);margin:0 0 3px;letter-spacing:.08em}.rare-identity p{color:var(--rare-light);font-size:13px}.rare-identity small{display:block;color:#b3c5d9;font-size:10px;margin-top:7px}
.rare-hint{position:absolute;bottom:2.5%;left:0;right:0;text-align:center;font-size:11px;color:#c0cfe2;pointer-events:none}
.rare-stage[data-rarity=SSS] .rare-card{border-width:2px;background:linear-gradient(140deg,#fff2cf,#d7a85b55 24%,#b2d9ff66 50%,#130e24 65%,#ffdfa0);box-shadow:0 0 0 5px #070a1ce8,0 0 0 7px #f4d29a88,0 0 60px #ffce7077,0 0 120px #91caff44;animation:rare-card-arrive 1.1s cubic-bezier(.16,1,.3,1) both,rare-crown-glow 3s 1.1s ease-in-out infinite}
.rare-stage[data-rarity=SSS] .rare-card:before{content:'';position:absolute;inset:-15px;border:1px solid #ffdfa077;clip-path:polygon(0 0,28% 0,28% 1px,72% 1px,72% 0,100% 0,100% 100%,72% 100%,72% calc(100% - 1px),28% calc(100% - 1px),28% 100%,0 100%);pointer-events:none}
.rare-stage[data-rarity=SSS] #rare-grade{font-size:47px;background:#1e1824ed}
@keyframes rare-card-arrive{from{opacity:0;transform:perspective(900px) translateY(28px) rotateY(24deg) scale(.75);filter:brightness(1.8)}to{opacity:1;transform:perspective(900px) rotateY(-5deg) scale(1);filter:brightness(1)}}
@keyframes rare-sheen{from{background-position:150% 0}to{background-position:-100% 0}}
@keyframes rare-name-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes rare-crown-glow{50%{box-shadow:0 0 0 5px #070a1ce8,0 0 0 7px #fff0b8aa,0 0 80px #ffce7099,0 0 145px #91caff55}}
@media(max-width:600px){.rare-stage{height:min(760px,88dvh);min-height:480px}.rare-heading{top:7%;left:4%;right:4%}.rare-heading .eyebrow{font-size:7px;letter-spacing:.2em}.rare-card{width:min(48vw,210px);margin-top:-25px}.rare-heading h2{font-size:24px}.rare-identity{bottom:12%}.rare-identity h3{font-size:26px}#rare-grade{font-size:32px;bottom:-20px}.rare-stage[data-rarity=SSS] #rare-grade{font-size:36px}.rare-hint{font-size:9px;bottom:3%}.rare-stage .skip-opening{font-size:10px;padding:7px;top:8px;right:8px}}
@media(max-height:550px) and (min-width:601px){.rare-stage{min-height:0;height:88dvh}.rare-heading{top:4%;left:0;width:32%;right:auto;bottom:0;display:flex;flex-direction:column;justify-content:center}.rare-heading h2{font-size:22px}.rare-heading .eyebrow{font-size:7px;letter-spacing:.1em}.rare-card{height:66%;width:auto;aspect-ratio:3/4;margin-top:-15px}.rare-identity{left:auto;right:2%;width:28%;bottom:33%}.rare-identity h3{font-size:23px}.rare-hint{bottom:3%}#rare-grade{font-size:28px!important;bottom:-19px}}
@media(prefers-reduced-motion:reduce){.rare-stage *{animation:none!important}.rare-card{transform:none}.rare-card:after{display:none}}
