.overlay[data-v-910e68c3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#06080eb3;display:flex;align-items:center;justify-content:center;z-index:40}.dialog[data-v-910e68c3]{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:18px 20px;width:min(480px,92vw);max-height:88vh;overflow-y:auto}h2[data-v-910e68c3]{font-size:15px;margin-bottom:12px}.form[data-v-910e68c3]{background:var(--surface);border-radius:6px;padding:10px 12px}.row[data-v-910e68c3]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;color:var(--text2);font-size:12px}.row input[type=number][data-v-910e68c3],.row input[type=text][data-v-910e68c3]{width:160px}.err[data-v-910e68c3]{color:var(--red);font-size:12px;margin:8px 2px 0}.btns[data-v-910e68c3]{display:flex;gap:8px;justify-content:center;margin-top:14px}.overlay[data-v-caaa210a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#06080eb3;display:flex;align-items:center;justify-content:center;z-index:40}.dialog[data-v-caaa210a]{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:18px 20px;max-width:min(920px,94vw);max-height:84vh;overflow:auto}h2[data-v-caaa210a]{font-size:15px;margin-bottom:12px}table[data-v-caaa210a]{border-collapse:collapse;width:100%;font-size:12px}th[data-v-caaa210a]{background:var(--surface2);color:var(--text2);text-align:left;padding:6px 8px;font-weight:600;position:sticky;top:0}td[data-v-caaa210a]{padding:6px 8px;color:var(--text2);border-top:1px solid var(--surface2)}tr.active td[data-v-caaa210a]{background:var(--blue-dim);color:var(--text)}.acts[data-v-caaa210a]{display:flex;gap:4px;align-items:center;white-space:nowrap}.active-tag[data-v-caaa210a]{color:var(--blue);font-size:11px;font-weight:700}button.sm[data-v-caaa210a]{padding:2px 7px;font-size:11px}.btns[data-v-caaa210a]{display:flex;justify-content:center;margin-top:12px}.overlay[data-v-6f6f9565]{position:fixed;top:0;right:0;bottom:0;left:0;background:#06080eb3;display:flex;align-items:center;justify-content:center;z-index:40}.dialog[data-v-6f6f9565]{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:18px 20px;width:min(560px,92vw);max-height:88vh;display:flex;flex-direction:column}h2[data-v-6f6f9565]{font-size:15px}.sub[data-v-6f6f9565]{color:var(--text3);font-size:12px;margin:6px 0 10px}textarea[data-v-6f6f9565]{flex:1;min-height:220px;resize:vertical}.err[data-v-6f6f9565]{color:var(--red);font-size:11.5px;white-space:pre-wrap;margin:8px 2px 0}.btns[data-v-6f6f9565]{display:flex;gap:8px;justify-content:center;margin-top:12px}.devicebar[data-v-6af65d2f]{display:flex;flex-direction:column;gap:5px}.row[data-v-6af65d2f]{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.row label[data-v-6af65d2f]{color:var(--text2);font-size:12px;width:72px}.row select[data-v-6af65d2f]{min-width:230px;max-width:300px}button.sm[data-v-6af65d2f]{padding:3px 8px;font-size:11.5px}.subtitle[data-v-6af65d2f]{color:var(--text3);font-size:11px;margin-left:8px}.rack[data-v-6af65d2f]{padding-top:2px}.dim-lbl[data-v-6af65d2f]{color:var(--text3);font-size:10.5px}.rack input[data-v-6af65d2f]{width:72px}.toolbar[data-v-4d6d8bfd]{display:flex;flex-wrap:wrap;gap:4px;align-items:center;background:var(--surface);border-radius:6px;padding:6px}.sep[data-v-4d6d8bfd]{width:1px;height:18px;background:var(--border);margin:0 4px}button[data-v-4d6d8bfd]:disabled{opacity:.4;cursor:default}.hint[data-v-4d6d8bfd]{color:var(--text3);font-size:11px;margin:4px 2px}.infobar[data-v-4d6d8bfd]{display:flex;gap:16px;align-items:baseline;background:var(--surface);border-radius:6px;padding:6px 10px;color:var(--text2);font-size:12px}.selcount[data-v-4d6d8bfd]{color:var(--amber);font-weight:600}.dim[data-v-4d6d8bfd]{color:var(--text3)}.modehint[data-v-4d6d8bfd]{margin-left:auto;color:var(--text3);font-style:italic}.canvas-wrap[data-v-34cfd9b5]{flex:1;min-height:0;border:1px solid var(--border);border-radius:6px;background:var(--rack-fill);overflow:hidden;display:flex}.rack-svg[data-v-34cfd9b5]{width:100%;height:100%;touch-action:none}.rack-svg.add[data-v-34cfd9b5]{cursor:crosshair}.rack-svg.select[data-v-34cfd9b5]{cursor:default}.overhang[data-v-34cfd9b5]{fill:#0b1020;stroke:#1e2540;stroke-dasharray:4 4}.rack[data-v-34cfd9b5]{fill:var(--rack-fill);stroke:var(--rack-stk);stroke-width:2px}.grid[data-v-34cfd9b5]{stroke:var(--border);stroke-width:.5px;stroke-dasharray:2 4}.ruler line[data-v-34cfd9b5]{stroke:var(--text3);stroke-width:1px}.ruler text[data-v-34cfd9b5]{fill:var(--text3);font-family:var(--font-mono);font-size:.75px}.ruler .axis-title[data-v-34cfd9b5]{font-size:.7px;letter-spacing:.12px}.panel .body[data-v-34cfd9b5]{fill:var(--panel-fill);stroke:var(--panel-stk);stroke-width:1px}.panel.selected .body[data-v-34cfd9b5]{stroke:var(--panel-sel);stroke-width:1.5px}.panel .sel-ring[data-v-34cfd9b5]{fill:none;stroke:var(--panel-sel);stroke-width:2px}.panel .cells[data-v-34cfd9b5]{stroke:#1e4a80;stroke-width:.6px}.panel .idx[data-v-34cfd9b5]{fill:#5090d0;font-family:var(--font-mono);font-size:.85px;pointer-events:none}.panel.selected .idx[data-v-34cfd9b5]{fill:var(--panel-sel)}.ghost[data-v-34cfd9b5]{stroke-dasharray:4 3;stroke-width:1.2px}.ghost.ok[data-v-34cfd9b5]{fill:#0d1f3c;stroke:#3b82f6}.ghost.bad[data-v-34cfd9b5]{fill:#3a1010;stroke:#ef4444}.lasso[data-v-34cfd9b5]{fill:#0d1f3c80;stroke:var(--blue);stroke-dasharray:4 2;stroke-width:1px}.slider-row[data-v-9af7bb81]{padding:4px 0}.labels[data-v-9af7bb81]{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}.lbl[data-v-9af7bb81]{color:var(--text2);font-size:12px}.note[data-v-9af7bb81]{color:var(--text3);font-size:10.5px}.tip[data-v-9af7bb81]{color:var(--text3);font-size:10px;cursor:help}.ctrl[data-v-9af7bb81]{display:flex;align-items:center;gap:8px}input[type=range][data-v-9af7bb81]{flex:1;min-width:0}.num[data-v-9af7bb81]{width:68px;font-size:12px}.unit[data-v-9af7bb81]{color:var(--text3);font-size:11px;width:44px}.grp[data-v-f98fac5b]{background:var(--surface);border-radius:6px;margin-bottom:8px;overflow:hidden}.grp h3[data-v-f98fac5b]{background:var(--surface2);font-size:12.5px;font-weight:700;padding:7px 12px;cursor:default}.body[data-v-f98fac5b]{padding:8px 12px 10px}.info[data-v-f98fac5b]{font-size:10.5px;color:var(--text3);margin:2px 0 4px}.info.blue[data-v-f98fac5b]{color:var(--blue);font-size:11.5px}.bif-toggle[data-v-f98fac5b]{display:flex;justify-content:space-between;align-items:center;color:var(--text2);font-size:12px;padding:6px 0 2px}.bif-toggle span[data-v-f98fac5b]{cursor:help}.bif-toggle input[data-v-f98fac5b]{margin-right:4px}.grp[data-v-32408578]{background:var(--surface);border-radius:6px;overflow:hidden}.grp h3[data-v-32408578]{background:var(--surface2);font-size:12.5px;font-weight:700;padding:7px 12px}.body[data-v-32408578]{padding:8px}.banner[data-v-32408578]{border-radius:5px;padding:8px 10px;font-weight:600;font-size:12.5px;margin-bottom:6px}.banner.ok[data-v-32408578]{background:var(--green-bg);color:var(--green)}.banner.bad[data-v-32408578]{background:var(--red-bg);color:var(--red)}.sec-label[data-v-32408578]{color:var(--text2);font-size:11.5px;font-weight:700;margin:8px 2px 3px;cursor:default}.cardgrid[data-v-32408578]{display:grid;grid-template-columns:1fr 1fr;gap:4px}.card[data-v-32408578]{background:var(--surface2);border-radius:5px;padding:7px 9px;display:flex;flex-direction:column;gap:2px}.card.good[data-v-32408578]{background:var(--green-bg)}.card.warn[data-v-32408578]{background:var(--amber-bg)}.card.bad[data-v-32408578]{background:var(--red-bg)}.card .k[data-v-32408578]{color:var(--text3);font-size:10px}.card .k i[data-v-32408578]{font-style:normal;cursor:help}.card .v[data-v-32408578]{font-size:17px;font-weight:600;color:var(--text)}.card.good .v[data-v-32408578]{color:var(--green)}.card.warn .v[data-v-32408578]{color:var(--amber)}.card.bad .v[data-v-32408578]{color:var(--red)}.card .v em[data-v-32408578]{font-style:normal;font-size:10.5px;color:var(--text3);margin-left:4px}.app[data-v-ea683c07]{height:100%;display:flex;flex-direction:column;padding:12px 16px;gap:8px}header[data-v-ea683c07]{display:flex;align-items:baseline;gap:14px}h1[data-v-ea683c07]{font-size:21px;letter-spacing:-.01em}.tag[data-v-ea683c07]{color:var(--text3);font-size:11px;letter-spacing:.06em;text-transform:uppercase}main[data-v-ea683c07]{flex:1;min-height:0;display:grid;grid-template-columns:1fr 580px;gap:10px}.left[data-v-ea683c07]{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:0}.right[data-v-ea683c07]{overflow-y:auto;min-height:0;padding-right:2px}@media (max-width: 980px){main[data-v-ea683c07]{grid-template-columns:1fr;overflow-y:auto}.left[data-v-ea683c07]{min-height:70vh}.right[data-v-ea683c07]{overflow-y:visible}}:root{--bg: #0f1117;--surface: #1a1d27;--surface2: #22263a;--border: #2e3250;--border2: #3d4270;--text: #e8eaf6;--text2: #9ea3c0;--text3: #5a5f80;--blue: #4f8ef7;--blue-dim: #1e3a6e;--blue-hover: #6ba3ff;--green: #34d399;--green-bg: #0d2e22;--green-dim: #1a4a35;--red: #f87171;--red-bg: #2e1010;--red-dim: #4a1a1a;--amber: #fbbf24;--amber-bg: #2e2200;--panel-fill: #0d2145;--panel-stk: #2a5fa8;--panel-sel: #fbbf24;--rack-fill: #0e1628;--rack-stk: #2e3a5c;--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "DejaVu Sans Mono", monospace}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:13px}h1,h2,h3{font-family:var(--font-display);margin:0}button{font-family:var(--font-body);font-size:12px;color:var(--text2);background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:5px 10px;cursor:pointer;transition:background .1s,color .1s,border-color .1s;white-space:nowrap}button:hover{background:var(--border2);color:var(--text)}button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}button.primary{background:var(--blue);border-color:var(--blue);color:#fff}button.primary:hover{background:var(--blue-hover)}button.danger{background:var(--red-dim);border-color:var(--red-dim);color:var(--red)}button.danger:hover{background:var(--red-bg)}button.success{color:var(--green)}button.success:hover{background:var(--green-dim)}button.active{background:var(--blue-dim);border-color:var(--blue);color:var(--blue)}input,select,textarea{font-family:var(--font-body);font-size:13px;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:5px;padding:4px 8px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue)}input[type=range]{accent-color:var(--blue);padding:0;border:none;background:none}input[type=checkbox]{accent-color:var(--green)}textarea{font-family:var(--font-mono);font-size:12px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
