:root{--bg-0:#0e1013;--bg-1:#15181d;--bg-2:#1c2027;--bg-3:#242932;--bg-hover:#2b313b;--line:#2e343f;--line-soft:#23282f;--ink-0:#e6e9ef;--ink-1:#a8b0be;--ink-2:#6f7887;--ink-3:#4d5563;--mask-top:#0f5132;--mask-bottom:#0a3a24;--copper:#b4762e;--copper-lit:#e09a3e;--silk:#eef2f6;--pad-tin:#cfd6de;--drill:#0b0d10;--sig-vcc:#ff6b57;--sig-gnd:#7d8797;--sig-high:#ffc94d;--sig-low:#4b5563;--sig-float:#8b5cf6;--sig-short:#ff3b30;--accent:#3fd07a;--accent-dim:#2a8f55;--select:#4da3ff;--warn:#f0a72a;--err:#ff5d52;--r-sm:4px;--r-md:7px;--r-lg:11px;--font-ui:"Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Cascadia Code", ui-monospace, "SF Mono", Consolas, monospace;--shadow-pop:0 10px 34px -8px #000000b3, 0 0 0 1px var(--line)}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--bg-0);color:var(--ink-0);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:13px;line-height:1.45}:focus-visible{outline:2px solid var(--select);outline-offset:1px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,select,textarea{font:inherit;font-family:var(--font-mono);color:var(--ink-0);background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;min-width:0;padding:4px 6px;font-size:12px}input:focus,select:focus,textarea:focus{border-color:var(--accent-dim);outline:none}input[type=checkbox]{width:auto;accent-color:var(--accent)}input[type=range]{accent-color:var(--accent);background:0 0;border:none;padding:0}.btn{border-radius:var(--r-sm);background:var(--bg-3);border:1px solid var(--line);color:var(--ink-1);white-space:nowrap;align-items:center;gap:5px;padding:5px 9px;font-size:12px;transition:background 90ms,color 90ms,border-color 90ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover);color:var(--ink-0)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--accent-dim);border-color:var(--accent);color:#04170c;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent)}.btn.on{background:color-mix(in oklab, var(--accent) 22%, var(--bg-3));border-color:var(--accent-dim);color:var(--accent)}.btn.icon{padding:5px 6px}.btn.danger:hover:not(:disabled){background:color-mix(in oklab, var(--err) 25%, var(--bg-3));border-color:var(--err);color:#fff}.chip{font-family:var(--font-mono);letter-spacing:.02em;background:var(--bg-3);color:var(--ink-1);border:1px solid var(--line);border-radius:999px;padding:1px 6px;font-size:10px;display:inline-block}.panel-title{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);background:var(--bg-1);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:7px;padding:7px 10px;font-size:10.5px;font-weight:650;display:flex}.scroll{scrollbar-width:thin;scrollbar-color:var(--bg-3) transparent;overflow:auto}.scroll::-webkit-scrollbar{width:9px;height:9px}.scroll::-webkit-scrollbar-thumb{background:var(--bg-3);border:2px solid var(--bg-1);border-radius:5px}.scroll::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}.mono{font-family:var(--font-mono)}.dim{color:var(--ink-2)}.empty-note{color:var(--ink-3);text-align:center;padding:18px 14px;font-size:12px;line-height:1.6}.svelte-flow{--xy-background-color:var(--bg-0);--xy-edge-stroke:var(--ink-3);--xy-edge-stroke-selected:var(--select);--xy-connectionline-stroke:var(--accent);--xy-attribution-background-color:transparent}.svelte-flow__handle{border:1px solid var(--bg-0);border-radius:2px;transition:transform 80ms,background 80ms}.svelte-flow__handle:hover{transform:scale(1.55)}.svelte-flow__handle.connectingto{background:var(--accent)!important}.svelte-flow__controls-button{background:var(--bg-2);border-bottom:1px solid var(--line);fill:var(--ink-1)}.svelte-flow__controls-button:hover{background:var(--bg-hover)}.svelte-flow__minimap{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-sm)}.svelte-flow__edge-path{stroke-width:1.6px}.svelte-flow__edge.selected .svelte-flow__edge-path{stroke-width:2.4px}.svelte-flow__attribution{opacity:.35;font-size:9px}
