/* The entrance is a film layer; the artwork is never cropped. */
#intro-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:clip;background:#09050f;color:#fff;opacity:1;transition:opacity .55s ease;isolation:isolate}
#intro-dialog::backdrop{background:#09050f}
#intro-dialog.is-leaving{opacity:0}
.intro-ambient{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 20% 35%,#3a1758,transparent 65%),radial-gradient(ellipse at 80% 70%,#171b4b,transparent 65%),#09050f;filter:blur(40px);opacity:.65}
.intro-video{width:100%;height:100%;object-fit:contain;display:block;background:transparent;opacity:0;transition:opacity .8s ease}
#intro-dialog.is-ready .intro-video{opacity:1}
.intro-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#08040e9c,transparent 18%,transparent 75%,#08040ed9)}
.intro-topline{position:absolute;top:max(24px,env(safe-area-inset-top));right:4%;font-size:10px;font-weight:700;letter-spacing:.18em;color:#eee8f8}
.intro-title{position:absolute;top:max(24px,env(safe-area-inset-top));left:4%;text-align:left;pointer-events:none;opacity:0;transform:translateY(6px) scale(.98);filter:blur(6px);transition:opacity 1s ease,transform 1.8s ease,filter 1.2s ease}
.intro-title.is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.intro-title p{font-size:7px;font-weight:600;letter-spacing:.22em;text-shadow:0 2px 12px #000;margin:9px 0 0}
.intro-title h2{font-family:var(--heading);font-size:clamp(36px,4vw,52px);font-weight:900;line-height:.94;letter-spacing:-.025em;white-space:nowrap;margin:0;transform:skew(-8deg);color:#fff}
.intro-title h2 span{display:inline-block;position:relative;background:linear-gradient(174deg,#fff 10%,#ebedff 33%,#bb9dff 49%,#fff 51%,#fff 60%,#c9ff64 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(3px 3px 0 #ba2fff) drop-shadow(-2px -1px 0 #c9ff64) drop-shadow(0 5px 18px #130824)}
.intro-title h2 i{font-style:normal;font-size:.56em;color:#d1ff6c;-webkit-text-fill-color:#d1ff6c;vertical-align:top;display:inline-block;margin-left:.06em}
.intro-bottom{position:absolute;inset:auto 4% max(24px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:end;gap:20px}
.intro-caption{font-size:10px;letter-spacing:.18em;line-height:1.8;font-weight:600;text-shadow:0 2px 8px #000}
.intro-caption span{display:block;font-size:9px;letter-spacing:.11em;color:#ceff43}
.intro-controls{display:flex;align-items:center;gap:12px}
.intro-controls button,.intro-play{min-height:44px;border:1px solid #ffffff80;color:#fff;background:#160e2280;backdrop-filter:blur(12px);padding:12px 22px;border-radius:99px;font-size:10px;font-weight:700;letter-spacing:.1em;cursor:pointer}
.intro-controls button:hover,.intro-play:hover{background:#ceff43;color:#120d1e;border-color:#ceff43}
.intro-controls button:focus-visible,.intro-play:focus-visible{outline:3px solid #ceff43;outline-offset:4px}
.intro-controls button:disabled{opacity:.35;cursor:default}
.intro-time{font-variant-numeric:tabular-nums;font-size:10px;color:#e6ddef;margin-right:4px}
.intro-progress{position:absolute;bottom:0;left:0;height:3px;width:100%;background:#ffffff20}
.intro-progress span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#f351b9,#b87aff,#ceff43);transform:scaleX(0);transform-origin:left}
.intro-play{position:absolute;left:50%;top:72%;transform:translate(-50%,-50%);border-color:#ceff43;background:#ceff43;color:#120d1e}
.intro-play[hidden]{display:none}
.intro-status{position:absolute;top:calc(72% + 38px);width:100%;text-align:center;font-size:11px;color:#fff;margin:0;text-shadow:0 2px 8px #000}
.intro-status:empty{display:none}
.intro-replay{display:inline-flex;gap:9px;align-items:center}
@media(max-width:760px){
 .intro-topline{font-size:8px;top:max(22px,env(safe-area-inset-top));right:6%;letter-spacing:.12em}
 .intro-title{top:max(22px,env(safe-area-inset-top));left:6%}
 .intro-title h2{font-size:32px}
 .intro-title p{font-size:6px;letter-spacing:.15em;margin-top:7px}
 .intro-title h2 i{display:none}
 .intro-bottom{left:6%;right:6%;bottom:max(27px,env(safe-area-inset-bottom));display:block}
 .intro-caption{margin-bottom:18px;font-size:9px}
 .intro-caption span{font-size:8px}
 .intro-controls{justify-content:space-between;gap:10px}
 .intro-controls button{padding:12px 17px;font-size:9px}
 .intro-time{margin-right:auto;font-size:9px}
 .intro-play{top:73%}
 .intro-status{top:calc(73% + 34px);padding:0 7%}
}
@media(max-height:500px) and (min-width:761px){.intro-title{top:16px}.intro-title h2{font-size:36px}.intro-bottom{bottom:16px}.intro-topline{top:16px}}
@media(prefers-reduced-motion:reduce){#intro-dialog,.intro-title{transition:none}.intro-title{filter:none;transform:none}}

