.ns-hub-map{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:100%;aspect-ratio:1024/1536;z-index:1}@media (min-aspect-ratio:2/3){.ns-hub-map{width:100%;height:auto}}.ns-hub-node{border-radius:8px;transition:filter .18s ease,transform .12s ease}.ns-hub-node:active{transform:translate(-50%,-50%) scale(.94)}.ns-hub-pick{position:absolute;inset:-5px;pointer-events:none;background:linear-gradient(#39ff9a,#39ff9a) 0 0 /13px 2px no-repeat,linear-gradient(#39ff9a,#39ff9a) 0 0 /2px 13px no-repeat,linear-gradient(#39ff9a,#39ff9a) 100% 0 /13px 2px no-repeat,linear-gradient(#39ff9a,#39ff9a) 100% 0 /2px 13px no-repeat,linear-gradient(#39ff9a,#39ff9a) 0 100% /13px 2px no-repeat,linear-gradient(#39ff9a,#39ff9a) 0 100% /2px 13px no-repeat,linear-gradient(#39ff9a,#39ff9a) 100% 100% /13px 2px no-repeat,linear-gradient(#39ff9a,#39ff9a) 100% 100% /2px 13px no-repeat;filter:drop-shadow(0 0 5px rgba(57,255,154,.95));animation:nsPickIn .16s ease-out}@keyframes nsPickIn{0%{transform:scale(1.35);opacity:0}to{transform:scale(1);opacity:1}}.ns-hub-node.is-sel{filter:drop-shadow(0 0 12px rgba(57,255,154,.55))}.ns-hub-fog{position:absolute;left:50%;top:52%;width:74px;height:52px;transform:translate(-50%,-50%);pointer-events:none;border-radius:50%;background:radial-gradient(closest-side,#d6e4e09e,#aabeba57 55%,#0000 78%);filter:blur(3px);animation:nsHubFogA 11s ease-in-out infinite}.ns-hub-fog-b{width:58px;height:40px;top:60%;background:radial-gradient(closest-side,#c4d6d27a,#0000 72%);filter:blur(4px);animation:nsHubFogB 15s ease-in-out infinite}@keyframes nsHubFogA{0%,to{transform:translate(-62%,-50%) scale(1);opacity:.85}50%{transform:translate(-38%,-54%) scale(1.16);opacity:1}}@keyframes nsHubFogB{0%,to{transform:translate(-38%,-50%) scale(1.08);opacity:.7}50%{transform:translate(-64%,-46%) scale(.92);opacity:.95}}.ns-hub-lock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;pointer-events:none;display:flex;align-items:center;justify-content:center;background:radial-gradient(closest-side,#040907b8,#0000 78%)}.ns-hub-lock img{width:30px;height:30px;image-rendering:pixelated;opacity:.95;filter:grayscale(.3) brightness(.98) drop-shadow(0 2px 3px rgba(0,0,0,.85))}.ns-hub-done{left:50%;top:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;font-family:Courier New,ui-monospace,monospace;font-weight:800;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;color:#04140c;background:#39ff9a;opacity:.92;box-shadow:0 0 9px #39ff9a80,0 1px 3px #000000d9}.ns-hub-done,.ns-hub-ground{position:absolute;pointer-events:none}.ns-hub-ground{width:0;height:0;z-index:3}.ns-hub-ring{position:absolute;left:0;top:0;width:44px;height:16px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;border:2px solid #39ff9aeb;box-shadow:0 0 12px #39ff9a80,inset 0 0 8px #39ff9a4d;animation:nsHubRing 2s ease-in-out infinite}@keyframes nsHubRing{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.95}50%{transform:translate(-50%,-50%) scale(1.14);opacity:.55}}.ns-hub-chev{position:absolute;left:50%;top:6%;transform:translateX(-50%);font-size:11px;line-height:1;color:#39ff9a;pointer-events:none;text-shadow:0 0 8px #39ff9ae6,0 1px 2px #000;animation:nsHubChev 1.6s ease-in-out infinite}@keyframes nsHubChev{0%,to{transform:translateX(-50%) translateY(0);opacity:1}50%{transform:translateX(-50%) translateY(3px);opacity:.6}}.ns-hub-plate{display:flex;align-items:center;gap:8px;padding:7px 13px 7px 7px;background:linear-gradient(180deg,#39ff9a,#14b869);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);filter:drop-shadow(0 3px 6px rgba(0,0,0,.65));border:0;text-align:left;cursor:pointer;min-height:44px}.ns-hub-plate:active{filter:drop-shadow(0 1px 3px rgba(0,0,0,.65)) brightness(1.12)}.ns-hub-plate:before{content:"";position:absolute;inset:2px;background:linear-gradient(180deg,#1a2b47,#101a2e);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}.ns-hub-plate>*{position:relative;z-index:1}.ns-hub-plate.is-pass{background:linear-gradient(180deg,#d6ae57,#8a6820)}.ns-hub-plate.is-pass:before{inset:3px;z-index:1;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.ns-hub-plate.is-pass:after{content:"";position:absolute;z-index:0;pointer-events:none;left:50%;top:50%;width:240%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(0deg);background:conic-gradient(from 0deg,#0000 0deg,#fff1be4d 12deg,#fff6d2 24deg,#fff1be4d 36deg,#0000 50deg);animation:nsPassEdge 3.4s linear infinite}@keyframes nsPassEdge{to{transform:translate(-50%,-50%) rotate(1turn)}}.ns-hub-plate.is-pass .ns-hub-lv{color:#f4d68d}.ns-hub-plate.is-pass .ns-hub-avatar{box-shadow:inset 0 0 0 2px #e4ba60b3}.ns-hub-avatar{width:34px;height:34px;display:block;flex-shrink:0;background-color:#0b1220;background-image:url(/sprites/player/portraits/default_skin.png);background-size:52px 52px;background-position:-9px -6px;background-repeat:no-repeat;image-rendering:pixelated;box-shadow:inset 0 0 0 2px #39ff9a8c;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.ns-hub-name{display:block;font-size:11.5px;color:#fff;font-weight:700;letter-spacing:.6px}.ns-hub-lv{display:block;font-size:9px;color:#39ff9a;letter-spacing:1.4px;margin-top:3px}.ns-hub-help{position:relative;width:34px;height:34px;padding:0;font-size:16px;font-weight:700;line-height:1;color:#39ff9a;background:#14213a;border:none;box-shadow:inset 0 0 0 2px #39ff9ad9,inset 2px 2px 0 #ffffff14;filter:drop-shadow(0 3px 5px rgba(0,0,0,.7))}.ns-hub-help,.ns-hub-help.is-new:after{clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.ns-hub-help.is-new:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 2px #39ff9ae6,0 0 16px #39ff9ad9;animation:nsHubHelp 1.7s ease-in-out infinite;will-change:transform,opacity}@keyframes nsHubHelp{0%,to{transform:scale(1);opacity:.35}50%{transform:scale(1.13);opacity:1}}.ns-hub-help-tip{position:absolute;top:38px;right:0;white-space:nowrap;pointer-events:none;font-size:7.5px;letter-spacing:1px;font-weight:700;color:#04140c;background:#39ff9a;padding:3px 6px;border-radius:2px;box-shadow:0 2px 6px #000000b3;animation:nsHubHelpTip 1.7s ease-in-out infinite}@keyframes nsHubHelpTip{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.ns-hub-chev,.ns-hub-fog,.ns-hub-help-tip,.ns-hub-help.is-new:after,.ns-hub-ring{animation:none}.ns-hub-plate.is-pass:after{animation:none;background:none}.ns-hub-plate.is-pass{background:linear-gradient(180deg,#ffe9a8,#c9992c)}}.ns-hub-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;mix-blend-mode:screen;filter:drop-shadow(0 0 4px rgba(96,255,168,.6));opacity:.24;animation:nsPathPulse 3.6s ease-in-out infinite;will-change:opacity}@keyframes nsPathPulse{0%,to{opacity:.08}50%{opacity:.62}}.ns-hub-flow{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;mix-blend-mode:screen;-webkit-mask-image:url(/worldmap/map-path.webp);mask-image:url(/worldmap/map-path.webp);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.ns-hub-flow-band{position:absolute;left:0;right:0;top:0;height:22%;background:linear-gradient(180deg,#e6fff400 38%,#f0fff8 50%,#e6fff400 62%),linear-gradient(180deg,#8cffc600 0,#a8ffd26b 32%,#c4ffe29e 50%,#a8ffd26b 68%,#8cffc600);animation:nsPathFlow 5s linear infinite;will-change:transform}@keyframes nsPathFlow{0%{transform:translateY(-100%)}to{transform:translateY(460%)}}.ns-hub-mist{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen}.ns-hub-mist:after,.ns-hub-mist:before{content:"";position:absolute;inset:-16% -26%;will-change:transform}.ns-hub-mist:before{background:radial-gradient(54% 24% at 24% 26%,#b2d8e633,#0000 70%),radial-gradient(62% 27% at 46% 76%,#bcdeea2b,#0000 70%);animation:nsMistA 24s ease-in-out infinite alternate}.ns-hub-mist:after{background:radial-gradient(50% 21% at 70% 50%,#a4d0e02e,#0000 70%),radial-gradient(44% 19% at 30% 58%,#acd4e226,#0000 70%);animation:nsMistB 31s ease-in-out infinite alternate}@keyframes nsMistA{0%{transform:translate3d(-7%,1.5%,0) scale(1)}to{transform:translate3d(7%,-2%,0) scale(1.1)}}@keyframes nsMistB{0%{transform:translate3d(6%,-1.5%,0) scale(1.08)}to{transform:translate3d(-6%,2%,0) scale(1)}}.ns-hub-motes{position:absolute;left:0;right:0;top:0;height:200%;pointer-events:none;z-index:3;opacity:.8;background-image:radial-gradient(3px 3px at 18% 12%,#aaffd0f2,#0000 100%),radial-gradient(2.4px 2.4px at 72% 26%,#96f5c4d9,#0000 100%),radial-gradient(3.4px 3.4px at 41% 44%,#b9ffdce6,#0000 100%),radial-gradient(2.4px 2.4px at 84% 58%,#8ceebccc,#0000 100%),radial-gradient(2.8px 2.8px at 28% 71%,#afffd4eb,#0000 100%),radial-gradient(2.6px 2.6px at 62% 88%,#a0fac8d9,#0000 100%);background-repeat:repeat-y;background-size:100% 50%;animation:nsMotesRise 26s linear infinite}@keyframes nsMotesRise{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.ns-hub-rail{transition:transform .1s ease,filter .15s ease}.ns-hub-rail:active{transform:scale(.9);filter:brightness(1.3) drop-shadow(0 3px 5px rgba(0,0,0,.7))}@media (prefers-reduced-motion:reduce){.ns-hub-flow{display:none}.ns-hub-motes{animation:none}.ns-hub-path{animation-duration:6s;opacity:.42}@keyframes nsPathPulse{0%,to{opacity:.3}50%{opacity:.58}}.ns-hub-pick{animation:none}.ns-hub-node:active,.ns-hub-rail:active{transform:none}}:root{--green:#0f8;--green-dim:#0a3;--amber:#ffb347;--red:#ff3b5c;--blue:#4ad7ff}.ns-confirm-overlay{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#04080ce0,#020406f7);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:24px}.ns-confirm-box{max-width:380px;width:100%;background:#080e12eb;border:1px solid #00ff8840;border-radius:12px;padding:26px 24px;text-align:center;animation:ns-fadeUp .25s ease;box-shadow:0 20px 50px #00000080}.ns-confirm-title{font-family:var(--font-cinzel),serif;font-size:22px;color:#eafff5;letter-spacing:2px;margin-bottom:10px}.ns-confirm-text{font-family:var(--font-mono),monospace;font-size:12.5px;line-height:1.6;color:#9fc3b4;margin-bottom:20px}.ns-confirm-btns{display:flex;flex-direction:column;gap:9px}.ns-confirm-btn{font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:11px 16px;border-radius:8px;cursor:pointer;border:1px solid #00ff8859;background:#00ff880d;color:#cfeede;transition:.15s}.ns-confirm-btn:hover{border-color:var(--green);background:#00ff881f;color:#eafff5}.ns-confirm-btn.primary{background:var(--green);color:#02120a;border-color:var(--green);font-weight:700}.ns-confirm-btn.primary:hover{background:#5cffb0;box-shadow:0 0 24px #0f86}.ns-confirm-btn.ghost{background:#0000;border-color:#ffffff26;color:#7d9c8f}.ns-confirm-btn.ghost:hover{border-color:#ffffff4d;color:#cfeede;background:#0000}.ns-confirm-btn:disabled{opacity:.5;cursor:not-allowed}