:root{--fs-caption: clamp(.5rem, 1.67vw, .625rem);--fs-label: clamp(.5625rem, 1.83vw, .6875rem);--fs-body-sm: clamp(.625rem, 2vw, .75rem);--fs-body: clamp(.6875rem, 2.17vw, .8125rem);--fs-body-lg: clamp(.6875rem, 2.33vw, .875rem);--fs-card-title: clamp(.8125rem, 2.5vw, .9375rem);--fs-section: clamp(.875rem, 2.67vw, 1rem);--fs-heading-sm: clamp(.9375rem, 3vw, 1.125rem);--fs-heading: clamp(1rem, 3.33vw, 1.25rem);--fs-heading-lg: clamp(1.0625rem, 3.67vw, 1.375rem)}.icon-btn{position:fixed;top:10px;z-index:200;background:#0a1020b3;border:1px solid #334466;color:#567;font-size:var(--fs-heading-sm);width:34px;height:34px;border-radius:6px;cursor:pointer;font-family:JetBrains Mono,monospace;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s;padding:0}.icon-btn:hover{color:#00e5ff;border-color:#00e5ff}.join-screen.svelte-140n61h{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0a1a;z-index:100;font-family:JetBrains Mono,monospace}.join-form.svelte-140n61h{display:flex;flex-direction:column;gap:16px;width:min(320px,calc(100vw - 32px))}.join-form.svelte-140n61h h1:where(.svelte-140n61h){color:#00e5ff;font-size:var(--fs-heading-lg);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.join-form.svelte-140n61h label:where(.svelte-140n61h){color:#679;font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:6px}.label-hint.svelte-140n61h{color:#456}.join-form.svelte-140n61h input:where(.svelte-140n61h){width:100%;background:#112;border:1px solid #334466;color:#ccd6f6;font-family:JetBrains Mono,monospace;font-size:var(--fs-body-lg);padding:10px 12px;outline:none;border-radius:3px}.join-form.svelte-140n61h input:where(.svelte-140n61h):focus{border-color:#00e5ff}.join-form.svelte-140n61h input:where(.svelte-140n61h)::placeholder{color:#456}.join-form.svelte-140n61h button:where(.svelte-140n61h){background:#00e5ff22;border:1px solid #00e5ff;color:#00e5ff;font-family:JetBrains Mono,monospace;font-size:var(--fs-body-lg);letter-spacing:.1em;text-transform:uppercase;padding:12px;cursor:pointer;border-radius:3px;margin-top:4px}.join-form.svelte-140n61h button:where(.svelte-140n61h):hover{background:#00e5ff44}.join-form.svelte-140n61h button:where(.svelte-140n61h):disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.join-error.svelte-140n61h{color:#f44;font-size:var(--fs-body-sm);min-height:16px}#class-select{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;background:#000000d1;overflow-y:auto}.cs-panel{background:#0d1224;border:1px solid #334466;border-radius:12px;padding:32px 40px;max-width:680px;width:100%;text-align:center;font-family:JetBrains Mono,monospace;color:#cdd6f0;margin:auto}.cs-panel h2{margin:0 0 24px;font-size:var(--fs-heading);color:#00e5ff;letter-spacing:2px}.cs-cards{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.cs-card{background:#131a2e;border:1px solid #334466;border-radius:8px;padding:20px 16px;width:min(180px,calc(50vw - 24px));cursor:pointer;transition:border-color .15s,background .15s;text-align:left}.cs-card:hover{border-color:#00e5ff;background:#182040}.cs-card.selected{border-color:#69ff47;background:#0d1f0d}.cs-card.selected:hover{border-color:#a0ffcc;background:#112a15}.cs-card h3{margin:0 0 6px;font-size:var(--fs-card-title);text-transform:uppercase;letter-spacing:1px;color:#fff}.cs-card .cs-desc{font-size:var(--fs-label);color:#89b;margin-bottom:12px;line-height:1.5}.cs-card .cs-stat{font-size:var(--fs-label);color:#abc;margin:2px 0}.cs-card .cs-stat span{color:#e0e8ff}.cs-portrait{width:100%;height:80px;background-size:400% auto;background-repeat:no-repeat;background-position:0 center;margin-bottom:10px;image-rendering:pixelated;overflow:hidden}.cs-portrait[data-class=ghost]{background-image:url(/classes/ghost/idle.png)}.cs-portrait[data-class=warden]{background-image:url(/classes/warden/idle.png)}.cs-portrait[data-class=breaker]{background-image:url(/classes/breaker/idle.png)}.cs-portrait[data-class=nexus]{background-image:url(/classes/nexus/idle.png)}.cs-clear-wrap{margin-top:16px}.cs-clear-btn{font-size:var(--fs-label);color:#89b;cursor:pointer;letter-spacing:1px;border:1px solid #334466;border-radius:4px;padding:6px 16px;background:none;font-family:inherit;transition:color .15s,border-color .15s;display:inline-block}.cs-clear-btn:hover{color:#f46;border-color:#f46}.cs-waiting{font-size:var(--fs-body);color:#89b;margin-top:20px}.cs-ai-section{margin-top:12px}.cs-ai-add-btn{background:none;border:1px dashed #334466;border-radius:6px;color:#89b;font-family:inherit;font-size:var(--fs-body-sm);letter-spacing:1px;padding:8px 20px;cursor:pointer;transition:border-color .15s,color .15s}.cs-ai-add-btn:hover{border-color:#00e5ff;color:#00e5ff}.cs-ai-form{text-align:left}.cs-ai-form-label{font-size:var(--fs-label);color:#89b;margin-bottom:6px;letter-spacing:1px;text-transform:uppercase}.cs-ai-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.cs-ai-pill{background:#131a2e;border:1px solid #334466;border-radius:4px;color:#89b;font-family:inherit;font-size:var(--fs-label);letter-spacing:1px;padding:4px 10px;cursor:pointer;transition:border-color .12s,color .12s,background .12s;text-transform:uppercase}.cs-ai-pill:hover{border-color:#00e5ff;color:#cdd6f0}.cs-ai-pill.active{border-color:#00e5ff;background:#0d2233;color:#00e5ff}.cs-ai-form-actions{display:flex;align-items:center;gap:16px;margin-top:4px}.cs-ai-confirm-btn{background:#0d2233;border:1px solid #00e5ff;border-radius:6px;color:#00e5ff;font-family:inherit;font-size:var(--fs-body-sm);letter-spacing:1px;padding:7px 18px;cursor:pointer;transition:background .15s;text-transform:uppercase}.cs-ai-confirm-btn:hover{background:#0a3050}.cs-ai-cancel{font-size:var(--fs-label);color:#568;cursor:pointer}.cs-ai-cancel:hover{color:#89b}.cs-players{margin-top:16px;font-size:var(--fs-body-sm);color:#89b}.cs-players .ready{color:#69ff47}.cs-start-btn{margin-top:20px;background:#0d2233;border:1px solid #69ff47;border-radius:8px;color:#69ff47;font-family:inherit;font-size:var(--fs-body-lg);letter-spacing:2px;padding:12px 32px;cursor:pointer;transition:background .15s,box-shadow .15s;text-transform:uppercase;display:block;margin-left:auto;margin-right:auto}.cs-start-btn:hover{background:#0a2a1a;box-shadow:0 0 8px #69ff4766}.cs-lobby-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:12px}.cs-lobby-title-block{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.cs-lobby-title{font-size:var(--fs-heading-sm);font-weight:700;color:#00e5ff;letter-spacing:3px;text-transform:uppercase}.cs-lobby-id{font-size:var(--fs-body-sm);color:#456;letter-spacing:.5px;word-break:break-all;text-align:left;max-width:380px}.cs-invite-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid #334466;border-radius:4px;color:#89b;font-family:inherit;font-size:var(--fs-label);letter-spacing:1px;padding:6px 12px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:border-color .15s,color .15s}.cs-invite-btn:hover{border-color:#00e5ff;color:#00e5ff}.cs-invite-btn.copied{border-color:#69ff47;color:#69ff47}.cs-section-label{font-size:var(--fs-section);color:#00e5ff;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}.cs-players-section{margin-top:24px;border:1px solid #222d44;border-radius:8px;padding:16px 18px;background:#0a0f1e}.cs-players-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cs-players-label{font-size:var(--fs-body-lg);color:#568;letter-spacing:2px;text-transform:uppercase}.cs-players-count{font-size:var(--fs-label);color:#89b}.cs-players-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.cs-player-row{display:flex;align-items:center;gap:8px;font-size:var(--fs-body-sm)}.cs-player-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cs-player-name{color:#cdd6f0;flex:1;text-align:left}.cs-ai-tag{color:#568}.cs-ai-difficulty{font-size:var(--fs-caption);letter-spacing:.05em;text-transform:uppercase}.cs-ai-difficulty--easy{color:#69ff47}.cs-ai-difficulty--medium{color:#fc0}.cs-ai-difficulty--hard{color:#f46}.cs-player-ready{color:#69ff47}.cs-player-waiting{color:#568}.cs-players-hint{font-size:var(--fs-label);color:#456;letter-spacing:.5px;margin-bottom:4px;margin-top:4px}.cs-player-remove{background:none;border:none;color:#456;font-family:inherit;font-size:var(--fs-heading-sm);cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0;transition:color .12s}.cs-player-remove:hover{color:#f46}@media(max-width:480px){.cs-panel{padding:20px 16px}.cs-cards{gap:10px}.cs-players-section{padding:12px}}#node-ctx-menu{position:fixed;z-index:200;background:#0d1224;border:1px solid #334466;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:var(--fs-body);color:#cdd6f0;min-width:160px;box-shadow:0 4px 16px #0009}.gr-ctx-item{padding:8px 14px;cursor:pointer;transition:background .1s}.gr-ctx-item:hover{background:#182040}.gr-ctx-item--disabled{cursor:not-allowed;opacity:.4}.gr-ctx-item--disabled:hover{background:transparent}.gr-tooltip{position:fixed;z-index:150;background:#0d1224;border:1px solid #334466;border-radius:6px;font-family:JetBrains Mono,monospace;color:#cdd6f0;padding:10px 12px;pointer-events:none;width:220px;box-shadow:0 4px 16px #000000b3;display:flex;gap:10px;align-items:flex-start}.gr-tooltip-img{width:32px;height:32px;image-rendering:pixelated;flex-shrink:0;margin-top:2px}.gr-tooltip-title{font-weight:700;margin-bottom:5px;font-size:var(--fs-body);letter-spacing:.04em}.gr-tooltip-desc{color:#89b;line-height:1.45;font-size:var(--fs-label)}.lp-passive-tooltip{position:fixed;z-index:300;background:#0d1224;border:1px solid #334466;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:var(--fs-label);color:#89b;padding:6px 10px;pointer-events:none;white-space:nowrap;box-shadow:0 4px 12px #000000b3}.game-view.svelte-6lze0m{position:fixed;inset:0;z-index:0}#help-overlay{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;background:#000000d1}.hm-panel{background:#0d1224;border:1px solid #334466;border-radius:10px;width:min(600px,95vw);max-height:86vh;display:flex;flex-direction:column;font-family:JetBrains Mono,monospace;color:#cdd6f0;overflow:hidden}.hm-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #1e2e44;font-size:var(--fs-body);letter-spacing:.12em;color:#00e5ff;flex-shrink:0}.hm-title{text-align:center;padding:18px 20px 0;font-size:var(--fs-heading-lg);letter-spacing:.12em;text-transform:uppercase;color:#00e5ff}.hm-close{background:none;border:none;color:#567;font-size:var(--fs-heading);cursor:pointer;line-height:1;padding:0 4px;font-family:JetBrains Mono,monospace}.hm-close:hover{color:#f46}.hm-tabs{display:flex;border-bottom:1px solid #1e2e44;flex-shrink:0}.hm-tab{flex:1;padding:11px 0;background:none;border:none;font-family:JetBrains Mono,monospace;font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:#567;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s}.hm-tab:hover{color:#89b}.hm-tab.active{color:#00e5ff;border-bottom-color:#00e5ff}.hm-pages{flex:1;overflow-y:auto}.hm-page{padding:20px 24px 28px;display:none}.hm-page.visible{display:block}.hm-section{font-size:var(--fs-label);letter-spacing:.14em;color:#ccd3e0;text-transform:uppercase;margin:22px 0 10px;padding-left:10px;border-left:2px solid #00e5ff}.hm-section:first-child{margin-top:0}.hm-p{font-size:var(--fs-body-sm);color:#89b;line-height:1.7;letter-spacing:.04em;margin-bottom:14px}.hm-highlight{color:#00e5ff}.hm-warn{color:#fc0}.hm-good{color:#69ff47}.hm-bad{color:#f46}.hm-img-wrap{margin:16px 0;border:1px solid #1e2e44;border-radius:6px;overflow:hidden;display:none}.hm-img-wrap.loaded{display:block}.hm-img{width:100%;display:block}.hm-img-cap{font-size:var(--fs-caption);letter-spacing:.08em;color:#456;padding:6px 10px;background:#080e1a;text-align:center}.hm-table{width:100%;border-collapse:collapse;font-size:var(--fs-label);margin-bottom:6px}.hm-table th{text-align:left;font-size:var(--fs-caption);letter-spacing:.12em;color:#456;text-transform:uppercase;border-bottom:1px solid #1e2e44;padding:0 10px 8px 0}.hm-table th:last-child{padding-right:0}.hm-table td{padding:8px 10px 8px 0;vertical-align:middle;border-bottom:1px solid #111825;color:#89b;letter-spacing:.04em;line-height:1.5}.hm-table td:last-child{padding-right:0}.hm-table tr:last-child td{border-bottom:none}.hm-table .hm-name{color:#cdd6f0;white-space:nowrap}.hm-table .hm-cyan{color:#00e5ff}.hm-action-row{padding:12px 0;border-bottom:1px solid #111825}.hm-action-row:last-child{border-bottom:none}.hm-action-title{display:flex;align-items:baseline;gap:10px;margin-bottom:5px}.hm-action-name{font-size:var(--fs-body-sm);letter-spacing:.1em;text-transform:uppercase;color:#00e5ff}.hm-action-cost{font-size:var(--fs-caption);letter-spacing:.08em;color:#567}.hm-action-desc{font-size:var(--fs-body-sm);color:#89b;line-height:1.65;letter-spacing:.04em}.hm-node-types{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.hm-node-type{background:#080e1a;border:1px solid #1e2e44;border-radius:6px;padding:10px 12px}.hm-node-type-name{font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.hm-node-type-desc{font-size:var(--fs-label);color:#67a;line-height:1.5;letter-spacing:.03em}.hm-passive-row{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid #111825}.hm-passive-row:last-child{border-bottom:none}.hm-passive-portrait{flex-shrink:0;width:80px;height:70px;background-size:400% auto;background-position:0 50%;image-rendering:pixelated;border:1px solid #1e2e44;border-radius:4px}.hm-passive-text{flex:1;min-width:0}.hm-perk-icon{width:40px;height:40px;image-rendering:pixelated;display:block}@media(max-width:420px){.hm-node-types{grid-template-columns:1fr}.hm-page{padding:16px 14px 20px}.hm-header{padding:12px 14px}}.hm-step-summary{font-size:var(--fs-body-sm);color:#89b;line-height:1.6;letter-spacing:.04em;margin-bottom:8px}.hm-expand-btn{background:none;border:none;font-family:JetBrains Mono,monospace;font-size:var(--fs-caption);letter-spacing:.1em;text-transform:uppercase;color:#00e5ff;cursor:pointer;padding:0;margin-bottom:14px;display:block}.hm-expand-btn:hover{color:#5ef}.hm-details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.hm-details.open{grid-template-rows:1fr}.hm-details-inner{overflow:hidden;min-height:0}#settings-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#000000bf}.sp-panel{background:#0d1224;border:1px solid #334466;border-radius:10px;width:min(460px,95vw);font-family:JetBrains Mono,monospace;color:#cdd6f0;overflow:hidden}.sp-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #1e2e44;font-size:var(--fs-body);letter-spacing:.12em;color:#00e5ff}.sp-close{background:none;border:none;color:#567;font-size:var(--fs-heading);cursor:pointer;line-height:1;padding:0 4px;font-family:JetBrains Mono,monospace}.sp-close:hover{color:#f46}.sp-tabs{display:flex;border-bottom:1px solid #1e2e44}.sp-tab{flex:1;padding:11px 0;background:none;border:none;font-family:JetBrains Mono,monospace;font-size:var(--fs-body-sm);letter-spacing:.1em;text-transform:uppercase;color:#567;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s}.sp-tab:hover{color:#89b}.sp-tab.active{color:#00e5ff;border-bottom-color:#00e5ff}.sp-page{padding:20px 24px 24px;display:none}.sp-page.visible{display:block}.sp-section-label{font-size:var(--fs-caption);letter-spacing:.14em;color:#456;text-transform:uppercase;margin-bottom:14px}.sp-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #111825}.sp-row:last-child{border-bottom:none}.sp-row-label{font-size:var(--fs-body-sm);color:#89b;letter-spacing:.06em}.sp-toggle{display:flex;gap:0;border:1px solid #334466;border-radius:4px;overflow:hidden}.sp-toggle-btn{padding:5px 14px;font-family:JetBrains Mono,monospace;font-size:var(--fs-label);letter-spacing:.08em;border:none;cursor:pointer;transition:background .12s,color .12s;background:#0a1020;color:#456}.sp-toggle-btn.on-btn.active{background:#031;color:#69ff47}.sp-toggle-btn.off-btn.active{background:#2a0010;color:#f46}.sp-toggle-btn:not(.active):hover{background:#141c2e;color:#89b}.sp-slider-wrap{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end}.sp-slider{-webkit-appearance:none;appearance:none;width:clamp(100px,40vw,180px);height:4px;background:#1e2e44;border-radius:2px;outline:none;cursor:pointer}.sp-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#00e5ff;border:2px solid #0a1020;cursor:pointer;box-shadow:0 0 6px #00e5ff88}.sp-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#00e5ff;border:2px solid #0a1020;cursor:pointer}.sp-slider-val{font-size:var(--fs-label);color:#00e5ff;width:36px;text-align:right;letter-spacing:.04em}.sp-kb-table{width:100%;border-collapse:collapse}.sp-kb-row{border-bottom:1px solid #111825}.sp-kb-row:last-child{border-bottom:none}.sp-kb-label{font-size:var(--fs-body-sm);color:#89b;letter-spacing:.06em;padding:8px 0;width:100%}.sp-kb-btn{font-family:JetBrains Mono,monospace;font-size:var(--fs-label);letter-spacing:.06em;padding:4px 10px;min-width:90px;background:#0a1020;border:1px solid #334466;border-radius:4px;color:#00e5ff;cursor:pointer;text-align:center;white-space:nowrap}.sp-kb-btn:hover{border-color:#00e5ff}.sp-kb-btn.unbound{color:#456;border-color:#234}.sp-kb-btn.listening{color:#fc0;border-color:#fc0;animation:kb-pulse .8s infinite}@keyframes kb-pulse{0%,to{opacity:1}50%{opacity:.45}}.sp-kb-reset-all{display:block;width:100%;margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:var(--fs-label);letter-spacing:.08em;padding:7px 0;background:none;border:1px solid #334466;border-radius:4px;color:#567;cursor:pointer}.sp-kb-reset-all:hover{border-color:#89b;color:#89b}.reconnecting-overlay.svelte-179ikzm{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;background:#000000bf;font-family:JetBrains Mono,monospace}.reconnecting-panel.svelte-179ikzm{border:1px solid #ff4444;border-radius:8px;padding:32px 48px;text-align:center;background:#0d0a0a}.reconnecting-title.svelte-179ikzm{color:#f44;font-size:var(--fs-body-lg);letter-spacing:.2em;margin-bottom:12px}.reconnecting-msg.svelte-179ikzm{color:#89b;font-size:var(--fs-body);letter-spacing:.1em;min-width:160px}div.svelte-1n46o8q{position:fixed;inset:0;z-index:200}
