html.intro,html.intro body{overflow:hidden}html.intro-seen #cintro{display:none}html.intro .hero-name .ch{animation-play-state:paused}#cintro{position:fixed;inset:0;z-index:100;overflow:hidden;font-family:var(--display);background:radial-gradient(ellipse at 50% 45%,#1f2b6e 0%,var(--sky-mid) 40%,var(--sky-top) 100%);transition:opacity .8s ease,visibility .8s}#cintro.done{visibility:hidden;pointer-events:none}#cintro{clip-path:inset(0 0 calc(var(--p,0) * 100%) 0)}.cintro-sun{position:fixed;left:0;right:0;z-index:101;height:70vh;pointer-events:none;bottom:calc(var(--p,0) * 100% - 35vh);opacity:var(--glow,0);mix-blend-mode:screen;filter:blur(6px);background:linear-gradient(0deg,rgba(255,140,70,0) 0%,rgba(255,150,80,.35) 18%,rgba(255,196,110,.75) 38%,rgba(255,244,214,.95) 50%,rgba(255,214,120,.7) 60%,rgba(255,170,90,.3) 78%,rgba(255,150,80,0) 100%)}.cintro-sun::before{content:"";position:absolute;left:50%;top:50%;width:46vmax;height:46vmax;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,240,.95) 0%,rgba(255,220,140,.6) 25%,rgba(255,170,90,.2) 50%,transparent 70%)}html.intro-seen .cintro-sun{display:none}#cintro-sky{position:absolute;inset:0;width:100%;height:100%}.cintro-map{position:absolute;inset:0;transition:filter 1.2s ease}#cintro.leave .cintro-map{filter:brightness(1.4)}.cintro-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.cintro-lines line{stroke:rgba(255,233,168,.6);stroke-width:1.6;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(255,216,107,.7));stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}.cintro-lines line.on{transition:stroke-dashoffset .45s ease;stroke-dashoffset:0}.cnode{position:absolute;left:var(--x);top:var(--y);width:0;height:0}.cnode .dot{position:absolute;left:-10px;top:-10px;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,#fff 0%,#fff3c4 35%,rgba(255,201,74,.6) 60%,transparent 72%);transform:scale(0)}.cnode .dot::before,.cnode .dot::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.cnode .dot::before{inset:-52px;background:radial-gradient(circle,rgba(255,255,245,.95) 0%,rgba(255,244,190,.7) 14%,rgba(255,224,120,.38) 32%,rgba(255,200,80,.14) 52%,transparent 70%);animation:cAura 2.8s ease-in-out infinite}.cnode .dot::after{inset:-16px;background:radial-gradient(circle,#fff 0%,rgba(255,250,225,.9) 30%,rgba(255,236,160,.45) 55%,transparent 75%);filter:blur(1px)}.cnode:nth-child(odd) .dot::before{animation-delay:-1.4s}@keyframes cAura{0%,100%{transform:scale(.9);opacity:.85}50%{transform:scale(1.15);opacity:1}}.cnode.on .dot{animation:cPop .55s cubic-bezier(.3,1.8,.5,1)forwards,cTwinkle 2.4s ease-in-out .6s infinite}@keyframes cPop{to{transform:scale(1)}}@keyframes cTwinkle{50%{opacity:.65;transform:scale(.85)}}.cnode .label{position:absolute;white-space:nowrap;text-align:center;translate:-50% 0;left:0;top:22px;opacity:0;transform:translateY(6px);transition:opacity .45s ease,transform .45s ease}.cnode.up .label{top:auto;bottom:22px;transform:translateY(-6px)}.cnode.on .label{opacity:1;transform:none}.cnode .label b{display:block;color:var(--ink);font-weight:600;font-size:clamp(.85rem,1.5vw,1.05rem);text-shadow:0 0 10px rgba(16,21,63,.9)}.cnode .label span{display:block;color:var(--teal);font-weight:500;font-size:clamp(.72rem,1.2vw,.85rem)}.cintro-title{position:absolute;left:0;right:0;bottom:10vh;margin:0;text-align:center;color:var(--ink);opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}.cintro-title.on{opacity:1;transform:none}.cintro-title small{display:block;color:var(--teal);letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;font-weight:600;margin-bottom:.3rem}.cintro-title strong{font-size:clamp(1.6rem,4vw,2.6rem);font-weight:700;text-shadow:0 0 24px rgba(140,160,255,.45)}.cintro-skip{position:absolute;right:16px;bottom:16px;z-index:2;padding:.45rem .9rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:0 0;color:var(--muted);font:500 .85rem var(--display);cursor:pointer;opacity:.75}.cintro-skip:hover,.cintro-skip:focus-visible{opacity:1;color:var(--ink)}