body{background:#d9e3c8;min-height:100vh;margin:0;font-family:Manrope,system-ui,sans-serif}.stage{justify-content:center;align-items:center;min-height:100vh;display:flex}.stage>div{border-radius:28px;box-shadow:0 30px 60px -30px #15302f80}@media (width<=420px){.stage{display:block}.stage>div{box-shadow:none;border-radius:0;width:100vw!important;height:100dvh!important}}.stage>div{overflow:clip!important}html,body{overscroll-behavior:none}.boot{text-align:center;color:#15302f;justify-content:center;align-items:center;min-height:100vh;padding:16px;line-height:1.6;display:flex}@media (width>=900px){.stage{display:block}.stage>div{width:100vw!important;height:100vh!important;box-shadow:none!important;border-radius:0!important}.stage main{max-width:1180px;margin:0 auto}.ns-mapview{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) min(420px,38%);display:grid}.ns-mapview>.ns-maplayer{zoom:1.1;grid-area:1/1;place-self:center;position:relative!important;transform:none!important}.ns-mapview>div[aria-hidden=true],.ns-mapview>[role=status]{right:calc(min(420px,38%) + 16px)!important}.ns-mapview:has(>[role=status])>.ns-maplayer{margin-top:56px}.ns-mapview>.ns-sheet{box-sizing:border-box;grid-area:1/2;margin:12px 12px 12px 0;overflow-y:auto;border-radius:24px!important;padding-top:14px!important;position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;transform:none!important}.ns-mapview>.ns-sheet>.ns-grab{display:none!important}.ns-onb>*{width:100%;max-width:620px;margin-left:auto;margin-right:auto}.ns-scan-overlay{align-items:center;justify-content:center!important}.ns-scan-sheet{width:min(620px,92vw);border-radius:28px!important;max-height:88vh!important}}@media (width>=900px) and (height>=760px){.ns-mapview>.ns-maplayer{zoom:1.35}}@media (width>=900px) and (height>=880px){.ns-mapview>.ns-maplayer{zoom:1.6}}@media (width>=900px) and (height>=1050px){.ns-mapview>.ns-maplayer{zoom:1.9}}body{margin:0}.ns-th-turtle{--bg:#e5efc1;--panel:#f5f9e6;--panel2:#d6eacb;--line:#caddb2;--line2:#9fc2a6;--tx:#15302f;--tx2:#3e5e66;--acc:#39aea9;--accTx:#0c2524;--ok:#25774f;--watch:#9c6508;--crit:#bf3f33;--tagTx:#fff;--map:#edf4d5;--room:#f7faea;--wall:#557b83;--eq:#d6eacb;--route:#2b8f8a;--mint:#a2d5ab;--slate:#557b83;--shadow:0 14px 34px -18px #15302f73;--hair:#15302f}.ns-th-harbor{--bg:#edf1f5;--panel:#fff;--panel2:#e1e8f0;--line:#d5dde7;--line2:#a9b8c9;--tx:#12213a;--tx2:#4e5e76;--acc:#2b5aa6;--accTx:#fff;--ok:#237452;--watch:#935f05;--crit:#b3352d;--tagTx:#fff;--map:#f4f7fa;--room:#fff;--wall:#7c8da3;--eq:#e3eaf2;--route:#2b5aa6;--mint:#c9d8ec;--slate:#4e5e76;--shadow:0 14px 34px -18px #12213a59;--hair:#12213a}.ns-th-dusk{--bg:#1b1e24;--panel:#242830;--panel2:#2e333d;--line:#363b46;--line2:#4b5261;--tx:#ece8df;--tx2:#a7acb7;--acc:#a9c8b4;--accTx:#16191e;--ok:#8cc7a0;--watch:#e2b863;--crit:#e88478;--tagTx:#16191e;--map:#1f2329;--room:#262b33;--wall:#646c7a;--eq:#2e333d;--route:#a9c8b4;--mint:#56705f;--slate:#8c94a3;--shadow:0 16px 36px -18px #000000a6;--hair:#111418}.ns-num{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:Manrope,system-ui,sans-serif}.ns-serif{font-optical-sizing:auto;letter-spacing:-.015em;font-family:Fraunces,Georgia,serif}.ns-ic{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.ns-btn{font:inherit;color:inherit;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0}.ns-btn:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.ns-row{background-color:var(--panel);transition:background-color .18s,transform .26s cubic-bezier(.3,1.3,.5,1);position:relative}.ns-row:before{content:"";background:var(--acc);z-index:1;border-radius:0 4px 4px 0;width:4px;transition:transform .24s cubic-bezier(.3,1.3,.5,1);position:absolute;top:14px;bottom:14px;left:0;transform:scaleY(0)}.ns-row:hover{background-color:var(--panel2);transform:translate(3px)}.ns-row:hover:before{transform:scaleY(1)}.ns-row:active{transform:translate(3px)scale(.99)}.ns-flat{background-color:#0000}.ns-flat:hover{transform:none}.ns-nudge{transition:transform .24s cubic-bezier(.3,1.3,.5,1)}.ns-row:hover .ns-nudge,.ns-pri:hover .ns-nudge,.ns-gh:hover .ns-nudge{transform:translate(5px)}.ns-pri{background:var(--acc);color:var(--accTx);transition:filter .18s,transform .18s cubic-bezier(.3,1.4,.5,1),box-shadow .2s}.ns-pri:hover{filter:brightness(1.07);box-shadow:var(--shadow);transform:translateY(-1px)}.ns-pri:active{transform:translateY(1px)scale(.97)}.ns-gh{border:1.5px solid var(--line2);color:var(--tx);transition:background-color .18s,border-color .18s,transform .18s cubic-bezier(.3,1.4,.5,1)}.ns-gh:hover{background:var(--panel2);border-color:var(--tx2)}.ns-gh:active{transform:scale(.96)}.ns-loc{color:var(--tx);background:var(--panel2);border-radius:50%;transition:background-color .18s,color .18s,transform .26s cubic-bezier(.3,1.5,.5,1)}.ns-loc:hover{background:var(--acc);color:var(--accTx);transform:scale(1.08)rotate(-8deg)}.ns-loc:active{transform:scale(.92)}.ns-rail{z-index:1;color:var(--tx2);transition:color .22s;position:relative}.ns-rail:hover{color:var(--tx)}.ns-rail svg{transition:transform .26s cubic-bezier(.3,1.5,.5,1)}.ns-rail:hover svg{transform:translateY(-2px)scale(1.06)}.ns-blob{transition:top .52s cubic-bezier(.34,1.45,.5,1),height .3s}.ns-seg{z-index:1;color:var(--tx2);transition:color .2s;position:relative}.ns-seg:hover{color:var(--tx)}.ns-thumb{transition:transform .42s cubic-bezier(.34,1.35,.5,1)}.ns-lvl{transition:background-color .18s,transform .2s cubic-bezier(.3,1.4,.5,1)}.ns-lvl:hover{background:var(--panel2);transform:translateY(-2px)}.ns-lvl:active{transform:scale(.97)}.ns-eq{box-sizing:border-box;border:1.5px solid var(--line2);background:var(--eq);border-radius:10px;justify-content:center;align-items:center;transition:border-color .18s,background-color .18s,transform .24s cubic-bezier(.3,1.5,.5,1);display:flex;position:absolute}.ns-eq:hover{border-color:var(--acc);background:var(--panel);z-index:5;transform:scale(1.1)}.ns-eq:hover .ns-tip{opacity:1;transform:translate(-50%)}.ns-eq-sel{border-color:var(--acc);z-index:4;border-width:2px}.ns-eq-sel:after{content:"";border:2px solid var(--acc);pointer-events:none;border-radius:16px;animation:.64s cubic-bezier(.2,.8,.2,1) both ns-ripple;position:absolute;inset:-7px}@keyframes ns-ripple{0%{opacity:1;transform:scale(1.7)}to{opacity:.55;transform:scale(1)}}.ns-tip{opacity:0;pointer-events:none;white-space:nowrap;background:var(--tx);color:var(--bg);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600;transition:opacity .16s,transform .24s cubic-bezier(.3,1.4,.5,1);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,5px)}.ns-sdot{box-sizing:border-box;border:2px solid var(--map);border-radius:50%;width:11px;height:11px;position:absolute;top:-5px;right:-5px}.ns-ping:after{content:"";border:2px solid var(--crit);border-radius:50%;animation:1.9s cubic-bezier(.2,.6,.3,1) infinite ns-ping;position:absolute;inset:-2px}@keyframes ns-ping{0%{opacity:.9;transform:scale(1)}80%,to{opacity:0;transform:scale(3)}}.ns-blink{animation:.5s step-end 8 ns-blink}@keyframes ns-blink{0%{background:var(--tx);transform:scale(1.5)}50%{background:var(--acc);transform:scale(1)}}.ns-flag:after{content:"";border:2px solid var(--crit);border-radius:50%;animation:1.4s cubic-bezier(.2,.6,.3,1) forwards ns-ping;position:absolute;inset:0}.ns-you{background:var(--acc);border:3px solid var(--map);box-sizing:border-box;z-index:6;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute}.ns-you:after{content:"";border:2px solid var(--acc);border-radius:50%;animation:2.2s ease-out infinite ns-ping;position:absolute;inset:-7px}.ns-route{stroke-dasharray:6 6;animation:.8s linear infinite ns-march}@keyframes ns-march{to{stroke-dashoffset:-12px}}.ns-sw:hover{filter:brightness(1.07)}.ns-sw:active{transform:scale(.94)}.ns-codepill{background:var(--panel2);transition:background-color .18s,transform .22s cubic-bezier(.3,1.4,.5,1)}.ns-codepill:hover{background:var(--line);transform:translateY(-1px)}.ns-ring{animation:1.4s cubic-bezier(.2,.6,.4,1) infinite ns-ringk}@keyframes ns-ringk{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}.ns-live{animation:1.8s ease-in-out infinite ns-livek}@keyframes ns-livek{0%,to{box-shadow:0 0 0 0 var(--ok)}60%{box-shadow:0 0 0 6px #0000}}.ns-enter,.ns-enterA{animation:.34s cubic-bezier(.2,.85,.25,1) both ns-enter}.ns-enterB{animation:.34s cubic-bezier(.2,.85,.25,1) both ns-enter2}@keyframes ns-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes ns-enter2{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.ns-in-r{animation:.42s cubic-bezier(.2,.9,.25,1) both ns-in-r}.ns-in-l{animation:.42s cubic-bezier(.2,.9,.25,1) both ns-in-l}@keyframes ns-in-r{0%{opacity:0;transform:translate(36px)}to{opacity:1;transform:none}}@keyframes ns-in-l{0%{opacity:0;transform:translate(-36px)}to{opacity:1;transform:none}}.ns-rise{animation:.52s cubic-bezier(.2,.9,.25,1) both ns-rise}@keyframes ns-rise{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:none}}.ns-pop{animation:.42s cubic-bezier(.3,1.5,.5,1) both ns-pop}@keyframes ns-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.ns-draw{stroke-dasharray:700;stroke-dashoffset:700px;animation:1.1s cubic-bezier(.3,.7,.3,1) .2s forwards ns-draw}@keyframes ns-draw{to{stroke-dashoffset:0}}.ns-scroll{scrollbar-width:none;overflow-y:auto}.ns-scroll::-webkit-scrollbar{display:none}.ns-snap{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;padding:6px 16px 14px 8px;scroll-padding-left:8px;display:flex;overflow-x:auto}.ns-snap::-webkit-scrollbar{display:none}.ns-snap>*{scroll-snap-align:start;flex-shrink:0}.ns-ucard{transition:transform .32s cubic-bezier(.3,1.4,.5,1)}.ns-ucard:hover{transform:translateY(-4px)rotate(-.6deg)}.ns-arrow{transition:transform .42s cubic-bezier(.34,1.4,.5,1)}.ns-pan{transition:transform .64s cubic-bezier(.2,.85,.25,1)}.ns-sheet{transition:transform .52s cubic-bezier(.2,1.1,.3,1)}.ns-toast{transition:transform .46s cubic-bezier(.3,1.45,.45,1),opacity .22s}.ns-gauge{transition:left .12s linear}.ns-chip{border:1.5px solid var(--line2);color:var(--tx2);background:0 0;transition:background-color .18s,border-color .18s,color .18s,transform .22s cubic-bezier(.3,1.5,.5,1)}.ns-chip:hover{border-color:var(--tx2);color:var(--tx);transform:translateY(-2px)}.ns-chip:active{transform:scale(.94)}.ns-sec{transition:background-color .18s}.ns-sec:hover{background:var(--panel2)}.ns-launch{transition:transform .28s cubic-bezier(.3,1.6,.5,1),filter .18s}.ns-launch:hover{filter:brightness(1.06);transform:scale(1.1)rotate(-6deg)}.ns-launch:active{transform:scale(.92)}.ns-dot{animation:1s ease-in-out infinite ns-dotp}@keyframes ns-dotp{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.ns-pdot{transition:width .32s cubic-bezier(.34,1.4,.5,1),background-color .2s}.ns-grab{cursor:grab;touch-action:none}.ns-ii{fill:none;stroke:var(--tx);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.ns-is{stroke:var(--tx);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.ns-il-float{animation:3.6s ease-in-out infinite nsIlFloat}@keyframes nsIlFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.ns-il-pulse{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite nsIlPulse}@keyframes nsIlPulse{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(3.2)}}.ns-il-drip{animation:1.8s cubic-bezier(.55,0,.85,.6) infinite nsIlDrip}@keyframes nsIlDrip{0%{opacity:0;transform:translateY(-4px)}15%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(84px)}}.ns-il-march{stroke-dasharray:9 9;animation:.9s linear infinite nsIlMarch}@keyframes nsIlMarch{to{stroke-dashoffset:-18px}}.ns-il-legA{animation:.9s ease-in-out infinite nsIlSwing}.ns-il-legB{animation:.9s ease-in-out infinite reverse nsIlSwing}@keyframes nsIlSwing{0%,to{transform:rotate(16deg)}50%{transform:rotate(-16deg)}}.ns-il-bob{animation:.45s ease-in-out infinite alternate nsIlBob}@keyframes nsIlBob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.ns-il-wave{animation:1.5s ease-in-out infinite nsIlWave}@keyframes nsIlWave{0%,to{opacity:.12}40%{opacity:1}}.ns-il-blinkdot{animation:1s steps(2,jump-none) infinite nsIlBlink}@keyframes nsIlBlink{0%{opacity:1}to{opacity:.2}}.ns-il-pop{transform-box:fill-box;transform-origin:0 100%;animation:6s cubic-bezier(.3,1.4,.5,1) infinite both nsIlPop}@keyframes nsIlPop{0%{opacity:0;transform:scale(.6)}10%,84%{opacity:1;transform:scale(1)}94%,to{opacity:0;transform:scale(.92)}}.ns-il-twinkle{transform-box:fill-box;transform-origin:50%;animation:2.2s ease-in-out infinite nsIlTw}@keyframes nsIlTw{0%,to{opacity:.5;transform:scale(.6)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(20deg)}}.ns-il-hand{animation:1.4s ease-in-out infinite nsIlHand}@keyframes nsIlHand{0%,to{transform:rotate(0)}25%{transform:rotate(-14deg)}75%{transform:rotate(10deg)}}.ns-slide{transition:transform .72s cubic-bezier(.2,.85,.25,1)}.ns-slideart{transition:transform .82s cubic-bezier(.3,1.25,.45,1)}.ns-slidetxt>*{animation:.62s cubic-bezier(.2,.9,.25,1) both ns-rise}.ns-slidetxt>:nth-child(2){animation-delay:90ms}.ns-slidetxt>:nth-child(3){animation-delay:.18s}.ns-in-r2{animation:.42s cubic-bezier(.2,.9,.25,1) both ns-in-r2}.ns-in-l2{animation:.42s cubic-bezier(.2,.9,.25,1) both ns-in-l2}@keyframes ns-in-r2{0%{opacity:0;transform:translate(36px)}to{opacity:1;transform:none}}@keyframes ns-in-l2{0%{opacity:0;transform:translate(-36px)}to{opacity:1;transform:none}}.ns-tile{transition:border-color .2s,transform .26s cubic-bezier(.3,1.5,.5,1),box-shadow .22s}.ns-tile:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.ns-tile:active{transform:scale(.96)}.ns-check{transition:transform .36s cubic-bezier(.3,1.7,.5,1)}
