.galaxy-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at center,rgba(64,39,137,.23),transparent 62%),#080d19;color:#fff;opacity:1;transition:opacity .55s ease,visibility .55s;isolation:isolate}
.galaxy-intro[hidden]{display:none}
html.intro-playing{overflow:hidden}
.intro-visual{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.intro-content{text-align:center;width:min(300px,62vw);position:absolute;bottom:max(40px,7vh);z-index:1;animation:introArrive 1.1s ease both}
.intro-content img{display:block;width:220px;max-width:100%;margin:auto;height:auto;max-height:15vh;object-fit:contain;filter:drop-shadow(0 0 28px rgba(105,54,238,.24))}
.intro-content p{font:500 clamp(8px,1.2vw,10px)/1.6 'DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#b5bfd5;margin:12px 0}
.intro-trace{width:140px;height:1px;margin:30px auto 0;background:rgba(255,255,255,.1);overflow:hidden}
.intro-trace span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#54c9ff,#a757ff,#b9ff66);transform-origin:left;animation:introTrace 2s ease-out both}
.intro-orbit{position:absolute;width:min(78vw,860px);aspect-ratio:1;border:1px solid rgba(97,113,255,.18);border-radius:50%;transform:rotateX(65deg) rotate(-25deg);box-shadow:0 0 60px rgba(77,46,181,.08);animation:introOrbit 2.7s ease-out both}
.orbit-two{width:min(100vw,1100px);border-color:rgba(81,196,255,.09);animation-delay:.12s}
.intro-skip{position:absolute;right:clamp(24px,4vw,60px);bottom:clamp(24px,4vw,50px);border:1px solid #3a4560;background:#10182b;color:#c8d1e3;padding:12px 18px;font:500 12px 'DM Sans',sans-serif;cursor:pointer;z-index:2}
.intro-skip span{margin-left:16px;color:#b9ff66}.intro-skip:hover{border-color:#b9ff66}.intro-skip:focus-visible{outline:2px solid #b9ff66;outline-offset:5px}
.galaxy-intro.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
@keyframes introArrive{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
@keyframes introTrace{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes introOrbit{from{opacity:0;transform:rotateX(65deg) rotate(-40deg) scale(.8)}to{opacity:1;transform:rotateX(65deg) rotate(-25deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.galaxy-intro{display:none!important}.intro-content,.intro-orbit,.intro-trace span{animation:none}html.intro-playing{overflow:auto}}
