/* Standalone entry scene. Every name is prefixed to avoid arena/style collisions. */
.ha-intro[hidden]{display:none!important}
html.ha-intro-active{overflow:hidden!important}
html.ha-intro-active body{overflow:hidden!important}
.ha-intro{position:fixed;inset:0;z-index:2147482000;background:#031f1a;overflow:hidden;isolation:isolate;opacity:1;transition:opacity .44s cubic-bezier(.25,.7,.35,1),visibility .44s;touch-action:none}
.ha-intro-scene{position:absolute;inset:0;pointer-events:none}
.ha-intro-halo{position:absolute;left:50%;top:50%;width:min(64vw,720px);height:min(64vw,720px);background:radial-gradient(ellipse,#0f5d4940 0,#07372b22 37%,#031f1a00 69%);transform:translate(-50%,-50%) scale(.72);opacity:0}
.ha-intro-field{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(1.08);overflow:visible}
.ha-intro-field circle{fill:#a7fbe0}
.ha-intro-trails{fill:none;stroke:#a7fbe0;stroke-width:.8;opacity:.23;stroke-dasharray:12 1840;stroke-dashoffset:700;stroke-linecap:round}
.ha-intro-trails path:nth-child(2){opacity:.45}
.ha-intro-trails path:nth-child(3){opacity:.65}
.ha-intro-symbol{position:absolute;left:50%;top:50%;width:clamp(112px,13vw,180px);aspect-ratio:1;transform:translate(-50%,-50%) translateY(12px) scale(.88);opacity:0;overflow:hidden;filter:drop-shadow(0 0 28px #86e4bf16)}
.ha-intro-symbol img{display:block;width:100%;height:100%;object-fit:contain}
.ha-intro-shine{position:absolute;inset:-35%;background:linear-gradient(115deg,transparent 30%,#ddfff022 47%,#f4fffd55 50%,transparent 58%);transform:translateX(-115%);mix-blend-mode:screen;pointer-events:none}
.ha-intro-horizon{position:absolute;left:50%;top:calc(50% + clamp(90px,10vw,138px));width:40px;height:1px;background:#a7fbe061;transform:translateX(-50%) scaleX(0);opacity:0}
.ha-intro-skip{position:absolute;right:max(26px,env(safe-area-inset-right));bottom:max(25px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:24px;border:1px solid #a7fbe040;border-radius:100px;background:#05241de6;color:#c9e9dc;font:500 11px var(--sans,'Manrope',sans-serif);line-height:1;padding:13px 17px;cursor:pointer;touch-action:manipulation;transition:background .2s,border-color .2s,color .2s}
.ha-intro-skip span{font-size:15px;color:#a7fbe0}
.ha-intro-skip:hover{background:#0a392b;border-color:#a7fbe080;color:#ecfff7}
.ha-intro-skip:focus-visible{outline:2px solid #a7fbe0;outline-offset:5px}
.ha-intro-is-entering .ha-intro-halo{animation:ha-intro-halo-enter 1.7s ease-out both}
.ha-intro-is-entering .ha-intro-field{animation:ha-intro-field-enter 2.4s cubic-bezier(.2,.7,.3,1) both}
.ha-intro-is-entering .ha-intro-trails{animation:ha-intro-trail-run 2.1s ease-out both}
.ha-intro-is-entering .ha-intro-symbol{animation:ha-intro-symbol-enter 1.1s .24s cubic-bezier(.2,.8,.25,1) both}
.ha-intro-is-entering .ha-intro-shine{animation:ha-intro-shine-pass 1.1s .75s ease-out both}
.ha-intro-is-entering .ha-intro-horizon{animation:ha-intro-horizon-enter .6s .7s ease-out both}
.ha-intro-is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.ha-intro-is-leaving .ha-intro-field{transition:transform .44s ease-out;transform:scale(1.035)}
@keyframes ha-intro-field-enter{0%{opacity:0;transform:scale(1.09) translateY(14px)}23%{opacity:.72}100%{opacity:.6;transform:scale(1) translateY(0)}}
@keyframes ha-intro-halo-enter{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes ha-intro-symbol-enter{0%{opacity:0;transform:translate(-50%,-50%) translateY(12px) scale(.88);clip-path:inset(100% 0 0)}45%{opacity:1}100%{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1);clip-path:inset(0 0 0)}}
@keyframes ha-intro-shine-pass{to{transform:translateX(115%)}}
@keyframes ha-intro-trail-run{to{stroke-dashoffset:-1150;opacity:.04}}
@keyframes ha-intro-horizon-enter{to{opacity:1;transform:translateX(-50%) scaleX(1)}}
@media(max-width:600px){.ha-intro-field{width:180%;left:-40%}.ha-intro-symbol{width:128px}.ha-intro-horizon{top:calc(50% + 108px)}.ha-intro-skip{right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));font-size:11px}}
@media(prefers-reduced-motion:reduce){.ha-intro{display:none!important}.ha-intro *{animation:none!important;transition:none!important}html.ha-intro-active,html.ha-intro-active body{overflow:initial!important}}
