:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#04060d;--bg-2:#0a1020;--glass:#0a1224bd;--glass-2:#101c36db;--glass-hi:#1e346099;--line:#8cc8ff24;--line-2:#8cc8ff4d;--ink:#e8f0ff;--ink-2:#a9b8d6;--ink-3:#6c7ca0;--accent:#5fd3ff;--accent-ink:#03141f;--accent-2:#a78bff;--hot:#ff5fa8;--good:#5fffb0;--warn:#ffb347;--bad:#ff5f6d;--credits:#ffd36b;--shards:#c79bff;--xp:#7cf2d0;--hull:#ff8a5c;--shield:#5fb8ff;--heat:#ffb347;--boost:#7cf2d0;--r:14px;--r-s:10px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--tap:44px;--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--pt:max(10px, var(--sat));--pr:max(12px, var(--sar));--pb:max(10px, var(--sab));--pl:max(12px, var(--sal));--font:system-ui, -apple-system, "SF Pro Text", "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--glow:0 0 18px #5fd3ff59}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;margin:0;font-size:14px;line-height:1.35;overflow:hidden}html[lang=ja] body{font-family:var(--font), "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif}html[lang=zh-Hans] body{font-family:var(--font), "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif}#app{position:fixed;inset:0}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}#ui .live,#ui button,#ui input,#ui select{pointer-events:auto}*{box-sizing:border-box}button,input,select{font:inherit;color:inherit}input[type=text],input[type=number],select{-webkit-user-select:text;user-select:text;border:1px solid var(--line-2);border-radius:var(--r-s);min-height:var(--tap);padding:0 var(--s3);background:#00000059;outline:none;width:100%}input:focus,select:focus{border-color:var(--accent);box-shadow:var(--glow)}input[type=range]{width:100%;accent-color:var(--accent);min-height:32px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.dim{color:var(--ink-3)}.cr{color:var(--credits);font-variant-numeric:tabular-nums}.sh{color:var(--shards);font-variant-numeric:tabular-nums}.xpc{color:var(--xp)}.good{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}.cr:before{content:"◈ "}.sh:before{content:"◆ "}.label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}html[lang=ja] .label,html[lang=zh-Hans] .label{letter-spacing:.04em}h2,h3{letter-spacing:.01em;margin:0;font-weight:750}h2{font-size:18px}h3{font-size:15px}p{margin:0}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:var(--tap);min-width:var(--tap);padding:0 var(--s4);border:1px solid var(--line-2);color:var(--ink);letter-spacing:.01em;cursor:pointer;white-space:nowrap;touch-action:manipulation;background:linear-gradient(#28406e99,#101c36cc);border-radius:12px;font-weight:650;transition:transform 80ms,background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{color:var(--accent-ink);background:linear-gradient(#8ae4ff,#2fb2e8);border-color:#bef0ffcc;box-shadow:0 0 22px #5fd3ff4d,inset 0 1px #ffffff80}.btn.gold{color:#2a1a00;background:linear-gradient(#ffe39a,#f0b44a);border-color:#ffe9b0;box-shadow:0 0 20px #ffc85a40}.btn.violet{color:#12063a;background:linear-gradient(#c8b4ff,#8a68ff);border-color:#d9ccff;box-shadow:0 0 20px #a078ff4d}.btn.ghost{border-color:var(--line);background:#ffffff05}.btn.danger{background:linear-gradient(#82222ebf,#460e18e6);border-color:#ff6e7880}.btn.small{min-height:38px;padding:0 var(--s3);font-size:13px}.btn.icon{width:var(--tap);padding:0;font-size:18px}.btn.wide{width:100%}.btn.on{border-color:var(--accent);color:var(--accent);background:#5fd3ff1f}.badge{background:var(--hot);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;line-height:18px}.panel{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);-webkit-backdrop-filter:blur(14px)saturate(1.3);backdrop-filter:blur(14px)saturate(1.3);box-shadow:0 10px 40px #00000059,inset 0 1px #ffffff0d}.bar{background:#ffffff14;border-radius:4px;height:8px;position:relative;overflow:hidden}.bar>i{transform-origin:0;border-radius:inherit;background:var(--accent);transition:transform .12s linear;position:absolute;inset:0}.chip{border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;background:#ffffff0f;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.chip.story{color:var(--credits);border-color:#ffd36b66}.chip.side{color:var(--accent)}.chip.loyalty{color:var(--hot);border-color:#ff5fa866}.chip.contract,.chip.daily,.chip.weekly,.chip.event{color:var(--xp)}.chip.ready{color:var(--accent-ink);background:var(--good);border-color:var(--good)}.rar-common{--rar:#b9c3d6}.rar-uncommon{--rar:#5fffb0}.rar-rare{--rar:#5fb8ff}.rar-epic{--rar:#c79bff}.icon-art{border:1px solid color-mix(in srgb, var(--rar,#8aa) 45%, transparent);width:40px;height:40px;color:var(--rar,var(--ink-2));background:radial-gradient(circle at 35% 30%,#ffffff24,#ffffff05);border-radius:10px;flex:none;place-items:center;font-size:19px;display:grid;overflow:hidden}.icon-art img,.portrait img,.emblem img{object-fit:cover;width:100%;height:100%;display:block}.portrait{color:#fff;border:1px solid var(--line-2);background:linear-gradient(135deg,#2a3f72,#6a3f9a);border-radius:14px;flex:none;place-items:center;width:56px;height:56px;font-size:20px;font-weight:800;display:grid;overflow:hidden}.portrait.sm{border-radius:9px;width:32px;height:32px;font-size:13px}.emblem{border:2px solid;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-weight:900;display:grid;overflow:hidden}.err-line{color:var(--bad);min-height:16px;font-size:12px;font-weight:650}.err-line:empty{visibility:hidden}.scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8cc8ff40 transparent;overflow-y:auto}.scroll::-webkit-scrollbar{width:4px;height:4px}.scroll::-webkit-scrollbar-thumb{background:#8cc8ff40;border-radius:2px}.row{align-items:center;gap:var(--s2);display:flex}.col{gap:var(--s2);flex-direction:column;display:flex}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.ellip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty{color:var(--ink-3);text-align:center;padding:var(--s5) var(--s4);font-size:13px}.sep{background:var(--line);height:1px;margin:var(--s2) 0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.85)}70%{opacity:1;transform:scale(1.03)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.hud{font-variant-numeric:tabular-nums;display:none;position:absolute;inset:0}.hud.show{display:block}.hidden{display:none!important}.hud-status{top:var(--pt);left:var(--pl);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#060c1a9e,#060c1a5c);border-radius:12px;flex-direction:column;gap:5px;width:min(220px,30vw);padding:8px 10px;display:flex;position:absolute}.hud-row{grid-template-columns:48px 1fr auto;align-items:center;gap:6px;display:grid}.hud-row .bar{height:6px}.hud-k{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:800}.hud-num{color:var(--ink-2);text-align:right;min-width:26px;font-size:11px}.hud-readout{color:var(--ink-2);padding-top:2px;font-size:11px}.hud-readout.full{color:var(--warn)}.bar.low>i{animation:.8s infinite pulse}.bar.hot>i{animation:.5s infinite pulse;background:var(--bad)!important}.hud.k-surface .hud-row:nth-child(3),.hud.k-surface .hud-row:nth-child(4){display:none}.hud-objective{left:var(--pl);top:calc(var(--pt) + 128px);text-align:left;border:1px solid var(--line);border-left:3px solid var(--credits);max-width:min(260px,32vw);color:var(--ink);cursor:pointer;min-height:var(--tap);background:#060c1a73;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:6px 10px;display:flex;position:absolute}.hud.k-surface .hud-objective{top:calc(var(--pt) + 92px)}.hud-objective .obj-kind{text-overflow:ellipsis;max-width:100%;overflow:hidden}.hud-objective .obj-text{font-size:12px;font-weight:600;line-height:1.25}.hud-objective .obj-text b{color:var(--accent);margin-left:4px}.hud-boss{top:calc(var(--pt) + 50px);text-shadow:0 1px 6px #000;flex-direction:column;gap:4px;width:min(440px,40vw);display:none;position:absolute;left:50%;transform:translate(-50%)}.hud-boss.show{animation:.4s rise;display:flex}.boss-name{letter-spacing:.08em;text-transform:uppercase;color:#ffd0d8;font-size:12px;font-weight:800}.boss-phase{color:var(--ink-2);font-size:11px}.b-boss{border:1px solid #ff5a7880;height:9px;box-shadow:0 0 16px #ff3c6459}.hud-right{top:var(--pt);right:var(--pr);flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute}.hud-buttons{gap:6px;display:flex}.hud-btn{border-color:var(--line);background:#060c1a8c;font-size:16px}.hud-btn-wrap{display:inline-flex;position:relative}.hud-btn-wrap .badge{pointer-events:none;position:absolute;top:-4px;right:-4px}.hud-target{border-color:#ff5f6d59;flex-direction:column;gap:4px;width:min(210px,28vw);padding:8px 10px;display:none}.hud-target.show{display:flex}.t-name{color:#ffd0d4;font-size:13px;font-weight:750}.t-meta{color:var(--ink-2);font-size:11px}.hud-target .bar{height:5px}.hud-bottom{left:50%;bottom:var(--pb);flex-direction:column;align-items:center;gap:6px;width:min(380px,42vw);display:flex;position:absolute;transform:translate(-50%)}.hud-hint{color:var(--accent-ink);box-shadow:var(--glow);background:linear-gradient(#8ae4ff,#2fb2e8);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:750;animation:.25s rise;display:none}.hud-hint.show{display:block}.hud-hint{border:0;pointer-events:none!important}.hud-hint.tap{cursor:pointer;min-height:var(--tap);padding:0 22px;pointer-events:auto!important}.hud-err{color:#ffd0d4;background:#500a14b3;border:1px solid #ff5f6d80;border-radius:10px;padding:5px 12px;font-size:12px;font-weight:650;display:none}.hud-err.show{animation:.2s rise;display:block}.hud-comms{text-align:left;cursor:pointer;background:linear-gradient(#060c1a33,#060c1a99);border:1px solid #0000;border-radius:12px;flex-direction:column;gap:3px;width:100%;padding:4px 8px;display:flex}.hud-comms.empty{display:none}.hud-comms .comms-line{gap:6px}.hud-comms .comms-line .portrait.sm{border-radius:7px;width:22px;height:22px;font-size:10px}.hud-comms .comms-who{margin-right:6px;display:inline}.hud-comms .comms-text{font-size:12px;display:inline}.hud-comms .comms-line>.grow{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hud-comms .comms-line:first-child:not(:last-child){opacity:.6}.hud-markers{position:absolute;inset:0;overflow:hidden}.mk{will-change:transform;--c:var(--accent);display:none;position:absolute;top:0;left:0}.mk.show{display:block}.mk[data-kind=enemy],.mk.hostile{--c:var(--bad)}.mk[data-kind=boss]{--c:#ff3d6e}.mk[data-kind=station]{--c:var(--good)}.mk[data-kind=gate]{--c:var(--accent-2)}.mk[data-kind=objective]{--c:var(--credits)}.mk[data-kind=anomaly],.mk[data-kind=ruin]{--c:#c79bff}.mk[data-kind=node],.mk[data-kind=pickup]{--c:var(--xp)}.mk-box{width:30px;height:30px;color:var(--c);background:linear-gradient(var(--c), var(--c)) top left / 8px 2px no-repeat, linear-gradient(var(--c), var(--c)) top left / 2px 8px no-repeat, linear-gradient(var(--c), var(--c)) top right / 8px 2px no-repeat, linear-gradient(var(--c), var(--c)) top right / 2px 8px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 8px 2px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 2px 8px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 8px 2px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 2px 8px no-repeat;filter:drop-shadow(0 0 4px var(--c));place-items:center;font-size:12px;display:grid;position:absolute;top:-15px;left:-15px}.mk[data-kind=boss] .mk-box{width:46px;height:46px;top:-23px;left:-23px}.mk-glyph{opacity:.85;text-shadow:0 0 6px var(--c)}.mk-text{white-space:nowrap;text-shadow:0 1px 3px #000;flex-direction:column;font-size:10px;line-height:1.2;display:flex;position:absolute;top:-9px;left:20px}.mk-label{color:var(--c);font-weight:700}.mk-label:empty{display:none}.mk-dist{color:var(--ink-2)}.mk-hp{width:30px;height:3px;position:absolute;top:18px;left:-15px}.mk-arrow,.mk.off .mk-box{display:none}.mk.off .mk-arrow{width:22px;height:22px;transform:rotate(var(--rot));background:radial-gradient(circle at 30% 50%, var(--c) 0 3px, transparent 4px);display:block;position:absolute;top:-11px;left:-11px}.mk.off .mk-arrow:after{content:"";border-left:12px solid var(--c);filter:drop-shadow(0 0 4px var(--c));border-top:7px solid #0000;border-bottom:7px solid #0000;position:absolute;top:4px;right:-2px}.mk.off .mk-text{align-items:center;width:60px;top:14px;left:-30px}.mk.off .mk-hp{display:none}@media (max-height:420px){.hud-status{gap:3px;width:min(200px,28vw);padding:6px 8px}.hud-objective{top:calc(var(--pt) + 112px)}.hud.k-surface .hud-objective{top:calc(var(--pt) + 80px)}}.mk.off.stacked .mk-text{display:none}.screens{position:absolute;inset:0}.screen{pointer-events:auto;position:absolute;inset:0}.screen.under{visibility:hidden}.notice{top:var(--pt);z-index:50;text-align:center;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;background:#0a1224e0;border-radius:14px;max-width:min(560px,70vw);padding:9px 16px;font-size:13px;transition:transform .28s cubic-bezier(.2,.9,.3,1.2),opacity .2s;position:absolute;left:50%;transform:translate(-50%,-140%);box-shadow:0 8px 30px #00000073}.notice.show{opacity:1;transform:translate(-50%)}.notice.tappable{cursor:pointer}.notice.tappable:after{content:" ›";color:var(--ink-3)}.notice b{color:var(--accent)}.notice.tone-good{border-color:#5fffb073}.notice.tone-good b{color:var(--good)}.notice.tone-bad{border-color:#ff5f6d8c}.notice.tone-bad b{color:var(--bad)}.notice.tone-reward{border-color:#ffd36b8c;box-shadow:0 0 24px #ffd36b33}.notice.tone-reward b{color:var(--credits)}.notice.tone-boss{background:#320612e0;border-color:#ff3d6eb3}.notice.tone-boss b{color:#ff9ab0}.notice.tone-update{border-color:var(--accent)}.veil{z-index:60;opacity:0;visibility:hidden;pointer-events:none;background:radial-gradient(#0c1a36 0%,#04060d 70%);align-content:center;place-items:center;gap:14px;transition:opacity .32s,visibility 0s .32s;display:grid;position:absolute;inset:0}.veil.show{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s}.veil-logo{letter-spacing:.5em;color:#dff6ff;text-shadow:0 0 24px #5fd3ff99;padding-left:.5em;font-size:28px;font-weight:900}.veil-label{color:var(--ink-2);letter-spacing:.12em;text-transform:uppercase;font-size:13px}.veil-spin{border:2px solid #5fd3ff33;border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.9s linear infinite spin}.veil:not(.k-boot) .veil-logo,.veil:not(.k-boot) .veil-spin{display:none}.veil-streaks{display:none;position:absolute;inset:0;overflow:hidden}.veil.k-warp .veil-streaks,.veil.k-launch .veil-streaks{display:block}.veil-streaks i{transform-origin:0;width:40vmax;height:2px;transform:rotate(var(--a)) translateX(calc(var(--d) * .3vmax)) scaleX(.1);opacity:0;background:linear-gradient(90deg,#0000,#96e6ffe6);position:absolute;top:50%;left:50%}.veil.show.k-warp .veil-streaks i,.veil.show.k-launch .veil-streaks i{animation:.7s ease-in infinite streak;animation-delay:calc(var(--d) * 7ms)}@keyframes streak{0%{opacity:0;transform:rotate(var(--a)) translateX(2vmax) scaleX(.05)}30%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateX(30vmax) scaleX(1)}}.veil.k-dock{background:radial-gradient(circle,#12304a 0%,#04060d 60%)}.veil.k-land{background:radial-gradient(at 50% 120%,#ff8a4c55 0%,#1a0d10 45%,#04060d 80%)}.title{background:radial-gradient(at 70% 30%,#1d2c5a 0%,#0a1024 45%,#04060d 100%);overflow:hidden}.title-art{position:absolute;inset:0}.title-art img{object-fit:cover;width:100%;height:100%;animation:40s ease-in-out infinite alternate drift;display:block}.title-art.missing{display:none}@keyframes drift{0%{transform:scale(1.04)translate(0)}to{transform:scale(1.1)translate(-1.5%,-1%)}}.title-stars{opacity:.8;background-image:radial-gradient(1px 1px at 12% 22%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 72% 12%,#cfe 50%,#0000 51%),radial-gradient(1.5px 1.5px at 42% 68%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 88% 58%,#fde 50%,#0000 51%),radial-gradient(1px 1px at 26% 84%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 64% 38%,#aef 50%,#0000 51%),radial-gradient(1px 1px at 8% 64%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 54% 8%,#fff 50%,#0000 51%),radial-gradient(50% 30% at 75% 35%,#965aff40,#0000),radial-gradient(40% 30% at 20% 75%,#28c8ff29,#0000);position:absolute;inset:0}.title-art:not(.missing)~.title-stars{display:none}.title-shade{background:linear-gradient(90deg,#04060dbf 0%,#04060d33 50%,#0000 70%),linear-gradient(#0000 60%,#04060db3);position:absolute;inset:0}.title-logo{left:calc(var(--pl) + 4vw);top:calc(var(--pt) + 9vh);position:absolute}.title-logo h1{letter-spacing:.22em;background:linear-gradient(#fff 10%,#9fe6ff 60%,#5f8cff);color:#0000;filter:drop-shadow(0 0 24px #5fd3ff73);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(40px,9vw,104px);font-weight:900;line-height:1}.title-sub{color:var(--ink-2);letter-spacing:.3em;text-transform:uppercase;margin-top:10px;font-size:clamp(12px,1.6vw,16px)}.title-actions{left:calc(var(--pl) + 4vw);bottom:calc(var(--pb) + 7vh);flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:absolute}.title-pilot{color:var(--ink-2);letter-spacing:.06em;min-height:18px;font-size:13px}.btn.fly{letter-spacing:.12em;text-transform:uppercase;border-radius:16px;min-width:220px;min-height:56px;font-size:18px}.conn-row .btn{min-height:38px}.conn{color:var(--warn);font-weight:650}.conn.spin:before{content:"";border:2px solid var(--line-2);border-top-color:var(--accent);vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:6px;animation:.8s linear infinite spin;display:inline-block}.title.offline .btn.fly{opacity:.35}.title-gear{top:var(--pt);right:var(--pr);position:absolute}.title-build{right:var(--pr);bottom:var(--pb);font-size:10px;font-family:var(--mono);position:absolute}@media (orientation:portrait){.title-logo{text-align:center;left:50%;top:calc(var(--pt) + 12vh);transform:translate(-50%)}.title-actions{align-items:center;left:50%;transform:translate(-50%)}.title-shade{background:linear-gradient(#0000 50%,#04060dcc)}}.galaxy{padding:var(--pt) var(--pr) var(--pb) var(--pl);background:#04060d;flex-direction:column;gap:8px;display:flex}.galaxy-bg{background:radial-gradient(ellipse at 20% 60%, #2878dc2e, transparent 50%), radial-gradient(ellipse at 45% 25%, #ff783c24, transparent 45%), radial-gradient(ellipse at 65% 65%, #3cffa01a, transparent 45%), radial-gradient(ellipse at 88% 30%, #aa78ff29, transparent 45%), linear-gradient(#04060d8c, #04060d8c), var(--art,none) center / cover no-repeat;position:absolute;inset:0}.galaxy-head{align-items:center;gap:12px;display:flex;position:relative}.legend{gap:12px;font-size:11px;display:flex}.legend .ev{color:var(--hot)}.galaxy-body{flex:1;gap:10px;min-height:0;display:flex;position:relative}.gmap{border-radius:var(--r);border:1px solid var(--line);background:#060a1666;flex:1;min-width:0;position:relative;overflow:hidden}.glinks{width:100%;height:100%;position:absolute;inset:0}.glinks line{stroke:#8cc8ff40;stroke-width:1.5px;stroke-dasharray:4 4}.glinks line.live{stroke:var(--accent);stroke-width:2px;stroke-dasharray:none;filter:drop-shadow(0 0 3px var(--accent))}.glinks line.locked{stroke:#8cc8ff14}.glinks line.cross{stroke-dasharray:1 5}.gsector{text-align:center;pointer-events:none;color:var(--acc);flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-100%)}.gs-name{letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 10px var(--acc);white-space:nowrap;font-size:11px;font-weight:800}.gs-tier{color:var(--ink-3);font-size:9px}.gs-lock{color:var(--ink-2);white-space:nowrap;font-size:10px}.gsector.locked{opacity:.45}.gsys{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid;position:absolute;transform:translate(-50%,-50%)}.gs-star{background:var(--star);width:12px;height:12px;box-shadow:0 0 10px var(--star), 0 0 2px #fff;border-radius:50%;transition:transform .15s}.gsys.visited .gs-star{box-shadow:0 0 14px var(--star), 0 0 3px #fff}.gsys:not(.visited) .gs-star{opacity:.55}.gsys.locked{opacity:.35}.gsys.reach .gs-star{outline-offset:4px;outline:1px solid #5fd3ff99}.gsys.sel .gs-star{transform:scale(1.5)}.gsys.sel:before{content:"";border:1px solid var(--accent);border-radius:50%;position:absolute;inset:6px}.gsys.here:after{content:"";border:2px solid var(--good);border-radius:50%;animation:1.8s ease-out infinite ping;position:absolute;inset:2px}@keyframes ping{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}.gsys.event .gs-star{box-shadow:0 0 16px var(--hot), 0 0 4px #fff}.gs-label{white-space:nowrap;color:var(--ink-2);text-shadow:0 1px 3px #000;font-size:10px;position:absolute;top:36px}.gsys.here .gs-label{color:var(--good);font-weight:700}.gs-mission{color:var(--credits);text-shadow:0 0 6px var(--credits);font-size:12px;position:absolute;top:-2px;right:-2px}.gs-dock{color:var(--good);font-size:9px;position:absolute;bottom:2px;left:0}.gcard{flex-direction:column;gap:6px;width:min(260px,32vw);padding:12px;display:flex}.gcard-meta{gap:4px}.gline{font-size:12px}.event-line{color:var(--hot)}.mission-line{color:var(--credits)}.gwhy{font-size:12px}@media (orientation:portrait){.galaxy-body{flex-direction:column}.gcard{width:100%}}.station{padding:var(--pt) var(--pr) var(--pb) var(--pl);background:#050913;flex-direction:column;gap:8px;display:flex}.st-bg{background:radial-gradient(ellipse at 15% 0%, #5fd3ff1f, transparent 50%), radial-gradient(ellipse at 100% 100%, #a78bff1f, transparent 50%), repeating-linear-gradient(90deg, #8cc8ff06 0 1px, transparent 1px 48px), repeating-linear-gradient(0deg, #8cc8ff06 0 1px, transparent 1px 48px), linear-gradient(#050913d1, #050913d1), var(--art,none) center / cover no-repeat;position:absolute;inset:0}.st-head{align-items:center;gap:10px;min-height:48px;display:flex;position:relative}.st-name{flex:0 auto;min-width:0;max-width:26%}.st-name h2{font-size:16px}.st-name .dim{font-size:11px}.st-wallet{flex-direction:column;gap:3px;padding:0 6px;font-size:13px;font-weight:700;display:flex}.st-wallet .row{gap:10px}.st-lvl{color:var(--xp);font-size:11px}.st-xp{width:80px;height:4px}.st-comms{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffff08;border-radius:12px;flex:1;align-items:center;min-width:0;height:44px;padding:4px 10px;display:flex;overflow:hidden}.st-comms.unread{border-color:#5fd3ff80;box-shadow:inset 0 0 12px #5fd3ff1f}.st-comms .comms-line{width:100%}.st-comms .comms-line>.grow{align-items:baseline;gap:6px;min-width:0;display:flex}.st-comms .comms-text{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.st-comms .portrait.sm{width:28px;height:28px}.st-actions{align-items:center;gap:6px;display:flex}.btn.violet-ghost{color:var(--shards);border-color:#c79bff66}.btn.undock{min-width:96px}.st-body{flex:1;gap:8px;min-height:0;display:flex;position:relative}.st-rail{flex-direction:column;flex:none;gap:4px;width:88px;padding-bottom:20px;padding-right:2px;display:flex;-webkit-mask-image:linear-gradient(#000 85%,#0000);mask-image:linear-gradient(#000 85%,#0000)}.st-tab{min-height:52px;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;padding:4px 2px;display:flex;position:relative}.st-tab.on{color:var(--ink);background:linear-gradient(#5fd3ff2e,#5fd3ff0f);border-color:#5fd3ff73}.st-ico{font-size:18px;line-height:1}.st-tab.on .st-ico{color:var(--accent);text-shadow:0 0 10px var(--accent)}.st-lbl{text-align:center;font-size:10px;font-weight:700;line-height:1.1}.st-tab .badge{position:absolute;top:3px;right:6px}.st-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.tab-wrap{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.sub-tabs,.seg{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.split{flex:1;grid-template-columns:minmax(220px,1fr) minmax(260px,1.15fr);gap:8px;min-height:0;display:grid}.split-list{flex-direction:column;gap:4px;padding-right:2px;display:flex}.split-list>.col{gap:4px}.split-detail{flex-direction:column;padding:14px;display:flex}.split-detail>.col{flex:1;gap:8px}.split-detail{padding-bottom:0}.split-detail>.col>:last-child{z-index:2;margin-top:4px;position:sticky;bottom:0}.split-detail>.col>.btn:last-child{box-shadow:0 -10px 16px 2px #0a1224eb,0 10px 0 6px #0a1224eb}.split-detail>.col>.btn.primary:last-child{box-shadow:0 -10px 16px 2px #0a1224eb,0 10px 0 6px #0a1224eb,0 0 22px #5fd3ff4d}.split-detail>.col>:last-child:not(.btn){background:#0a1224eb;box-shadow:0 -10px 14px 2px #0a1224eb,0 10px 0 6px #0a1224eb}.split-detail>.col{padding-bottom:12px}.sec-head{align-items:center;gap:6px;padding:8px 4px 2px;display:flex}.li{text-align:left;border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);cursor:default;background:#101c3673;border-radius:12px;align-items:center;gap:10px;padding:6px 10px;display:flex}button.li{cursor:pointer}button.li:active{transform:scale(.99)}.li.sel{border-color:var(--accent);background:linear-gradient(90deg,#5fd3ff29,#101c3680)}.li.dim-row{opacity:.55}.li-main{flex:1;min-width:0}.li-title{font-size:14px;font-weight:650}.li-sub{color:var(--ink-2);margin-top:1px;font-size:12px}.li-sub .row{gap:6px}.li-right{flex:none;font-weight:700}.actions{gap:8px}.rewards{flex-wrap:wrap;gap:6px;display:flex}.reward{border:1px solid var(--line);background:#ffffff0d;border-radius:10px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:12px;font-weight:650;display:inline-flex}.reward .icon-art{border-radius:7px;width:24px;height:24px;font-size:12px}.reward:not(:has(.icon-art)){padding-left:10px}.rw-xp{color:var(--xp)}.rw-credits{color:var(--credits)}.rw-shards{color:var(--shards)}.rw-rep{color:var(--accent)}.objectives{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.objectives li{align-items:baseline;gap:8px;padding:4px 0;font-size:13px;display:flex}.objectives li.done{color:var(--ink-3);text-decoration:line-through}.objectives li.done .obj-check{color:var(--good);text-decoration:none}.objectives li.now{color:var(--ink);font-weight:650}.objectives li.now .obj-check{color:var(--accent)}.objectives li.later{color:var(--ink-3)}.obj-check{text-align:center;flex:none;width:14px}.dialogue{background:#0003;border-radius:12px;flex-direction:column;gap:6px;padding:8px;display:flex}.mdetail h2{font-size:20px}.stats{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:4px 12px;display:grid}.stat{border-bottom:1px dashed #8cc8ff14;align-items:baseline;gap:6px;padding:3px 0;font-size:12px;display:flex}.stat .num:first-of-type{margin-left:auto;font-weight:700}.stepper{align-items:center;gap:4px;display:inline-flex}.step-val{text-align:center;min-width:34px;font-size:16px;font-weight:800}.ship-pills{gap:4px}.empty-slot{color:var(--ink-3);border-style:dashed}.hull-ico{color:var(--accent);font-weight:900}.slot-line{letter-spacing:.06em}.pick{border:1px solid var(--line);text-align:left;cursor:pointer;background:#101c3680;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 10px;display:flex}.pick.sel{border-color:var(--accent)}.pick-diff{flex-direction:column;flex:none;align-items:flex-end;gap:2px;font-size:11px;font-weight:700;display:flex}.looks{flex:1;grid-template-columns:1fr 1fr;gap:10px;min-height:0;display:grid;overflow-y:auto}.input-row{min-height:44px}.seats{gap:6px;display:flex}.seat{border:1px dashed var(--line-2);min-height:48px;color:var(--ink-3);border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;padding:4px 8px;font-size:12px;display:flex}.seat.filled{color:var(--ink);cursor:pointer;background:#5fffb00f;border-style:solid;border-color:#5fffb066}.seat.locked{border-style:dashed}.crew-detail .portrait{width:72px;height:72px}.bio{color:var(--ink-2);font-style:italic}.ability{flex-direction:column;gap:2px;font-size:13px;display:flex}.ability b{color:var(--accent)}.tech-head{gap:10px}.tbranches{flex:1;grid-template-columns:repeat(3,1fr);gap:8px;min-height:0;display:grid}.tbranch{border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--acc) 10%, transparent), #0a122466);flex-direction:column;gap:6px;min-height:0;padding:8px;display:flex}.tb-head{color:var(--acc);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;font-size:12px;font-weight:800;display:flex}.tgrid{min-height:0;height:min(100%, calc(var(--rows) * 76px));grid-template-rows:repeat(var(--rows), 1fr);grid-template-columns:repeat(var(--cols), 1fr);flex:0 auto;gap:6px;display:grid;position:relative}.tlinks{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tlinks line{stroke:#8cc8ff33;stroke-width:2px}.tlinks line.on{stroke:var(--acc)}.tnode{z-index:1;border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;background:#0a1224e6;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:40px;padding:2px 4px;font-size:10px;line-height:1.1;display:flex;position:relative}.tn-cost{color:var(--ink-3);font-size:11px;font-weight:800}.tnode.s-learned{border-color:var(--acc);background:color-mix(in srgb, var(--acc) 22%, #0a1224);color:var(--ink)}.tnode.s-learned .tn-cost{color:var(--acc)}.tnode.s-available{border-color:var(--acc);color:var(--ink);box-shadow:0 0 12px color-mix(in srgb, var(--acc) 40%, transparent);animation:2s infinite pulse}.tnode.s-locked{opacity:.4}.tnode.sel{outline-offset:1px;outline:2px solid #fff;animation:none}.tn-name{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:650;display:-webkit-box;overflow:hidden}.tinfo{align-items:center;gap:10px;min-height:56px;padding:8px 12px;display:flex}.escrow{padding:0 4px;font-size:11px}.price-in{width:120px}.member .role{text-align:center;width:18px;color:var(--ink-3)}.member .role.leader{color:var(--credits)}.member .role.officer{color:var(--accent)}.pname{color:var(--ink);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;min-height:0;padding:0;font-weight:650;-webkit-text-decoration:underline dotted #8cc8ff66;text-decoration:underline dotted #8cc8ff66}.pname.self{color:var(--good);cursor:default;text-decoration:none}.al-head .emblem{color:var(--accent);font-size:20px}.goal{background:#7cf2d00f;border:1px solid #7cf2d040;border-radius:12px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.goal .bar{flex:1}.pings{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ping-line{align-items:center;gap:8px;padding:3px 0;font-size:12px;display:flex}.tag-in{width:90px}.emblems{gap:4px}.lb{flex-direction:column;gap:3px;display:flex}.lb-row{background:#101c3666;border-radius:10px;align-items:center;gap:10px;min-height:40px;padding:4px 10px;display:flex}.lb-row.me{border:1px solid var(--good);background:#5fffb014}.lb-rank{width:38px;color:var(--ink-3);font-weight:800}.lb-row.top1 .lb-rank{color:#ffd36b;font-size:18px}.lb-row.top2 .lb-rank{color:#d6e2f0;font-size:18px}.lb-row.top3 .lb-rank{color:#e0a070;font-size:18px}.lb-score{font-weight:800}.lb-sep{text-align:center;color:var(--ink-3)}.factions{flex:1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-content:start;gap:8px;min-height:0;display:grid}.faction{border-color:color-mix(in srgb, var(--acc) 35%, transparent);flex-direction:column;gap:6px;padding:12px;display:flex}.faction .bar{flex:1}.emblem.big{width:52px;height:52px;font-size:22px}.event-hero{background:linear-gradient(120deg, #a78bff2e, #ff5fa814 60%, var(--glass));border-color:#c79bff59;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.event-hero h2{font-size:22px}.ev-points{gap:10px}.ev-points .bar{flex:1;height:10px}.tab-wrap.scroll>*{flex:none}.milestones{gap:8px;padding-bottom:4px;display:flex;overflow:auto hidden}.milestone{flex-direction:column;flex:0 0 180px;gap:6px;padding:10px;display:flex}.milestone.ready{border-color:var(--credits);box-shadow:0 0 18px #ffd36b33}.milestone.got{opacity:.6}.ms-pts{color:var(--shards);font-size:18px;font-weight:900}.lore-text{color:#dbe6fa;font-family:Georgia,Times New Roman,serif;font-size:15px;font-style:italic;line-height:1.55}.discs{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.disc{flex-direction:column;gap:2px;padding:14px;display:flex}.disc-n{color:var(--accent);font-size:24px;font-weight:900}.offline-empty{flex-direction:column;align-items:center;gap:6px;padding:40px 16px;display:flex}.big-glyph{color:var(--ink-3);font-size:36px}.spinner{border:2px solid var(--line-2);border-top-color:var(--accent);vertical-align:-2px;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}@media (max-height:460px){.station{gap:6px}.st-head{gap:8px;min-height:44px}.st-name{max-width:22%}.st-name h2{font-size:14px}.st-rail{width:68px}.st-tab{min-height:46px}.st-lbl{font-size:9px}.st-ico{font-size:16px}.split{grid-template-columns:minmax(200px,1fr) minmax(240px,1.1fr)}.split-detail{padding:10px 12px}.li{min-height:46px;padding:4px 8px}.icon-art{width:34px;height:34px}.mdetail h2{font-size:17px}.st-xp{width:56px}.btn.undock{min-width:80px;padding:0 12px}.event-hero h2{font-size:18px}.tgrid{gap:4px;height:100%}.tnode{min-height:30px;font-size:9px}}.st-comms-icon{display:none!important}@media (max-width:900px) and (max-height:460px){.st-comms{display:none}.st-actions{margin-left:auto}.st-comms-icon{display:inline-flex!important}}@media (orientation:portrait){.st-body{flex-direction:column}.st-rail{flex-direction:row;width:auto;padding:0 0 4px;overflow:auto hidden;-webkit-mask-image:none;mask-image:none}.st-tab{min-width:76px}.split{grid-template-rows:minmax(0,1fr) minmax(0,1.1fr);grid-template-columns:1fr}.st-head{flex-wrap:wrap}.st-name{flex:1;max-width:none}.st-comms{flex-basis:100%;order:5}.tbranches{grid-template-columns:1fr;overflow-y:auto}}.btn.gold .cr,.btn.primary .cr,.btn.violet .cr{color:inherit}.split-detail>.col>.btn.ghost:last-child{background:#0e182e}.st-tab.fresh:after{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent);border-radius:50%;position:absolute;top:6px;right:8px}.sheets{z-index:40;position:absolute;inset:0}.sheet-wrap{padding:var(--pt) var(--pr) var(--pb) var(--pl);background:#02040a8c;justify-content:center;align-items:center;animation:.16s fadeIn;display:flex;position:absolute;inset:0}.sheet-wrap.out{opacity:0;transition:opacity .15s}@keyframes fadeIn{0%{opacity:0}}.sheet{flex-direction:column;max-height:100%;animation:.22s pop;display:flex;position:relative}.k-card .sheet{width:min(460px,100%);padding:18px}.k-card.narrow .sheet{width:min(400px,100%)}.k-panel .sheet{width:min(520px,100%);height:100%}.k-panel.side{justify-content:flex-end}.k-panel.side .sheet{width:min(440px,100%);animation:.22s cubic-bezier(.2,.9,.3,1) slideIn}@keyframes slideIn{0%{opacity:0;transform:translate(40px)}}.k-full{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#04040ef2;padding:0}.k-full .sheet{width:100%;height:100%}.frame{flex-direction:column;flex:1;min-height:0;display:flex}.k-card .frame{max-height:calc(100vh - 80px)}.frame-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 10px 8px 16px;display:flex}.k-card .frame-head{padding:0 0 10px}.frame-body{flex:1;min-height:0;padding:12px 16px}.k-card .frame-body{padding:12px 0}.frame-foot{border-top:1px solid var(--line);padding:10px 16px}.k-card .frame-foot{padding:10px 0 0}.confirm-body{color:var(--ink-2)}.callsign input{letter-spacing:.04em;font-size:18px;font-weight:700}.comms-line{align-items:flex-start;gap:10px;display:flex}.comms-who{color:var(--accent);letter-spacing:.04em;font-size:11px;font-weight:800}.comms-text{color:var(--ink);font-size:13px}.comms-line.k-chatter .comms-who{color:var(--xp)}.comms-line.k-system .comms-who{color:var(--warn)}.portrait.sys{color:var(--warn);background:#ffb34726!important}.comms-full{flex-direction:column;gap:12px;display:flex}.comms-full .portrait{border-radius:11px;width:40px;height:40px;font-size:14px}.mlog{gap:8px}.mlog-item{flex-direction:column;gap:6px;padding:10px 12px;display:flex}.mlog-item.tracked{border-color:#ffd36b80}.settings{flex-direction:column;gap:14px;display:flex}.set-section{flex-direction:column;gap:6px;display:flex}.set-row{min-height:var(--tap);align-items:center;gap:12px;display:flex}.set-label{flex:none;width:110px}.set-sub{font-size:11px}.set-build{font-size:11px;font-family:var(--mono);text-align:center;padding:6px 0 2px}.set-play{gap:8px}.switch{border:1px solid var(--line-2);cursor:pointer;background:#ffffff14;border-radius:16px;flex:none;width:52px;height:32px;padding:0;transition:background .15s;position:relative}.switch i{background:var(--ink-2);border-radius:50%;width:24px;height:24px;transition:transform .18s,background .18s;position:absolute;top:3px;left:3px}.switch.on{border-color:var(--accent);background:#5fd3ff59}.switch.on i{background:#fff;transform:translate(20px)}.btn.apple{color:#000;background:#fff;border-color:#fff;font-weight:700}.btn.apple:before{content:"";font-size:18px}a.btn{text-decoration:none}.celebrate .sheet{border-color:#ffd36b73;overflow:hidden;box-shadow:0 0 60px #ffd36b26,0 20px 60px #00000080}.mcard{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex;position:relative}.mcard-burst{background:repeating-conic-gradient(from 0deg, #ffd36b1f 0 8deg, transparent 8deg 20deg);pointer-events:none;border-radius:50%;width:360px;height:360px;animation:18s linear infinite spin;position:absolute;top:-120px;left:50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 70%);mask-image:radial-gradient(circle,#000 30%,#0000 70%)}.mcard .label{color:var(--credits)}.mcard-title{font-size:24px;position:relative}.card-rewards .rewards{justify-content:center}.card-rewards .reward{font-size:14px;animation:.3s backwards pop}.card-rewards .reward:nth-child(2){animation-delay:80ms}.card-rewards .reward:nth-child(3){animation-delay:.16s}.card-rewards .reward:nth-child(4){animation-delay:.24s}.mcard-actions{justify-content:center;gap:10px}.pass-link{color:var(--shards);border-color:#0000}.death-card .sheet{border-color:#ff5f6d80}.death{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex;position:relative}.death h2{letter-spacing:.04em;font-size:26px}.death-flash{pointer-events:none;background:radial-gradient(circle,#ff3c3c59,#0000 70%);animation:1.2s ease-out forwards flash;position:fixed;inset:0}@keyframes flash{0%{opacity:1}to{opacity:0}}.death-actions{width:100%;max-width:300px}.death-actions .btn{width:100%}@media (max-height:460px){.k-card .sheet{padding:14px 16px}.mcard-title{font-size:20px}.mcard,.death{gap:7px}}@media (min-width:1100px) and (min-height:760px){.screen.station,.screen.galaxy,.sheets,.ruin{zoom:1.22}.hud-status,.hud-objective,.hud-right,.hud-bottom,.hud-boss{zoom:1.2}}@media (min-width:760px) and (min-height:1000px) and (orientation:portrait){.screen.station,.screen.galaxy,.sheets{zoom:1.15}}.ruin{height:100%;padding:var(--pt) var(--pr) var(--pb) var(--pl);background:radial-gradient(#7850dc2e,#0000 60%);flex-direction:column;gap:8px;display:flex;position:relative}.ruin-head{align-items:center;gap:12px;display:flex}.ruin-head .label{color:#c79bff}.ruin-stage{flex:1;place-items:center;min-height:0;display:grid}.ruin-status{text-align:center;color:var(--ink-2);min-height:22px;font-weight:650}.ruin.solved .ruin-status{color:var(--good);text-shadow:0 0 12px var(--good);font-size:18px;animation:.4s pop}.ruin.solved .ruin-stage{animation:1.2s ease-out solvedFlare}@keyframes solvedFlare{0%{filter:brightness()}25%{filter:brightness(2.2)saturate(1.5)}to{filter:brightness()}}.pgrid{--cell:min(calc((100vh - 150px) / var(--h)), calc((100vw - 80px) / var(--w)), 92px);grid-template-columns:repeat(var(--w), var(--cell));grid-template-rows:repeat(var(--h), var(--cell));gap:4px;display:grid}.pcell{cursor:pointer;background:#140e28bf;border:1px solid #c79bff33;border-radius:12px;padding:0;position:relative;overflow:hidden}.pcell.k-empty{cursor:default;background:0 0;border-color:#0000}.p-arms{transition:transform .18s cubic-bezier(.3,1.4,.5,1);position:absolute;inset:0}.p-arms i{background:#5b4a86;border-radius:3px;transition:background .2s,box-shadow .2s;position:absolute}.p-arms .n,.p-arms .s{width:8px;height:52%;left:calc(50% - 4px)}.p-arms .n{top:-2%}.p-arms .s{bottom:-2%}.p-arms .e,.p-arms .w{width:52%;height:8px;top:calc(50% - 4px)}.p-arms .e{right:-2%}.p-arms .w{left:-2%}.pcell.on .p-arms i{background:#8ef0ff;box-shadow:0 0 10px #5fd3ff}.p-core{z-index:1;background:#1b1430;border:3px solid #7a64b0;border-radius:50%;width:40%;height:40%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pcell.k-source .p-core{background:radial-gradient(circle,#fff,#ffd36b 50%,#ff8a4c);border-color:#ffd36b;box-shadow:0 0 18px #ffb347}.pcell.k-node.on .p-core{background:radial-gradient(circle,#fff,#8ef0ff 55%,#2fb2e8);border-color:#8ef0ff;animation:.3s pop;box-shadow:0 0 18px #5fd3ff}.pgrid.done .pcell.on{border-color:#8ef0ff99}.ggrid{--g:min(calc((100vh - 170px) / 2), calc((100vw - 120px) / var(--cols)), 120px);grid-template-columns:repeat(var(--cols), var(--g));gap:12px;display:grid}.gglyph{width:var(--g);height:calc(var(--g) * .85);color:#b9a6e8;font-size:calc(var(--g) * .42);cursor:pointer;background:radial-gradient(circle at 50% 40%,#503c8c99,#140e28e6);border:1px solid #c79bff4d;border-radius:18px;transition:transform .1s}.gglyph:active{transform:scale(.95)}.gglyph.lit{color:#fff;text-shadow:0 0 12px #fff;background:radial-gradient(circle,#c8b4ff,#6a48d8 70%);box-shadow:0 0 30px #a78bff,inset 0 0 18px #fff}.ggrid.watch .gglyph{cursor:default}.ggrid.shake{animation:.35s shake}@keyframes shake{0%,to{transform:none}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.ggrid.done .gglyph{color:#8ef0ff;border-color:#8ef0ff}.bgrid{--cell:min(calc((100vh - 150px) / var(--h)), calc((100vw - 80px) / var(--w)), 84px);grid-template-columns:repeat(var(--w), var(--cell));grid-template-rows:repeat(var(--h), var(--cell));border:1px solid #c79bff40;border-radius:12px;gap:0;display:grid;position:relative;overflow:hidden}.bcell{cursor:pointer;background:#140e28b3;border:1px solid #c79bff14;place-items:center;padding:0;display:grid;position:relative}.bcell.k-wall{cursor:default;background:repeating-linear-gradient(45deg,#2a2240 0 6px,#1a1430 6px 12px)}.bcell.k-emit,.bcell.k-recv,.bcell.k-fixed{cursor:default}.b-emit{color:#ff8a4c;font-size:calc(var(--cell) * .4);text-shadow:0 0 10px #ff8a4c}.b-recv{background:#120c22;border:3px solid #7a64b0;border-radius:50%;width:46%;height:46%}.bcell.lit .b-recv{background:radial-gradient(circle,#fff,#5fd3ff);border-color:#8ef0ff;animation:.3s pop;box-shadow:0 0 20px #5fd3ff}.b-mirror{background:linear-gradient(90deg,#c8d2de,#fff,#c8d2de);border-radius:3px;width:80%;height:6px;box-shadow:0 0 8px #ffffff80}.b-mirror.slash{transform:rotate(-45deg)}.b-mirror.back{transform:rotate(45deg)}.k-fixed .b-mirror{box-shadow:none;background:#8a7fb0}.b-mirror.placed{animation:.2s pop}.b-emit,.b-recv,.b-mirror{z-index:2;position:relative}.beam-svg{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.beam-svg polyline{fill:none;stroke:#ff9a5c;stroke-width:.12px;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 .15px #ffb347)}.bgrid.done .beam-svg polyline{stroke:#8ef0ff}.coach{top:calc(var(--pt) + 54px);z-index:30;text-align:center;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#081428db;border:1px solid #5fd3ff8c;border-radius:14px;flex-direction:column;align-items:center;gap:4px;width:max-content;max-width:min(360px,42vw);padding:8px 14px 6px;animation:.3s ease-out coach-in;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 18px #5fd3ff40}.coach.at-bottom{top:auto;bottom:calc(var(--pb) + 10px);left:calc(var(--pl) + 84px);max-width:min(300px,34vw);animation:none;transform:none}.coach-text{color:var(--ink);font-size:13px;font-weight:600;line-height:1.35}.coach-skip{color:var(--ink-3);cursor:pointer;background:0 0;border:0;min-height:28px;padding:4px 8px;font-size:11px}.coach-ring{z-index:29;pointer-events:none;border:2px solid var(--accent);border-radius:16px;animation:1.4s ease-in-out infinite coach-pulse;position:absolute;top:0;left:0;box-shadow:0 0 0 4px #5fd3ff2e,0 0 18px #5fd3ff99}@keyframes coach-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@keyframes coach-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (max-height:420px){.coach{top:calc(var(--pt) + 48px);max-width:min(330px,40vw)}}@media (orientation:portrait){.coach{top:calc(var(--pt) + 150px);max-width:min(420px,80vw)}}
