:root,[data-theme=dark]{--bg:#0a0d13;--bg-soft:#0e1219;--panel:#131926;--panel-2:#1a2233;--panel-3:#212b40;--border:#242f47;--border-soft:#1b2334;--text:#e9eff9;--muted:#8b98b0;--faint:#5b6a85;--accent:#5ea8ff;--accent-dim:#1d3a5f;--accent-soft:#5ea8ff1f;--green:#3fd669;--green-soft:#3fd6691f;--red:#ff5d5d;--red-soft:#ff5d5d1f;--amber:#e0a63c;--amber-soft:#e0a63c1f;--violet:#a78bfa;--cyan:#39d5e8;--field-bg:#0a0f18;--field-grid:#182134;--field-grid-bold:#2a3a58;--field-text:#5b6a85;--radius:12px;--radius-s:8px;--shadow:0 10px 28px #0006;--font:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--mono:ui-monospace, "Cascadia Code", "JetBrains Mono", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#eef1f6;--bg-soft:#f7f9fc;--panel:#fff;--panel-2:#eef2f8;--panel-3:#e2e9f4;--border:#d3dbe9;--border-soft:#e4eaf4;--text:#17202f;--muted:#5b6a84;--faint:#8b99b0;--accent:#0b5fd0;--accent-dim:#bcd6f7;--accent-soft:#0b5fd014;--green:#178a3d;--green-soft:#178a3d1a;--red:#cf222e;--red-soft:#cf222e14;--amber:#96690a;--amber-soft:#96690a1a;--violet:#6d4fc2;--cyan:#0a7d8f;--field-bg:#f2f6ec;--field-grid:#d9e2cb;--field-grid-bold:#aebd97;--field-text:#7a8a66;--radius:12px;--radius-s:8px;--shadow:0 6px 20px #1b2a4b1a;--font:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--mono:ui-monospace, "Cascadia Code", "JetBrains Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=contrast]{--bg:#000;--bg-soft:#050505;--panel:#0a0a0a;--panel-2:#161616;--panel-3:#222;--border:#e8e8e8;--border-soft:#666;--text:#fff;--muted:#d5d5d5;--faint:#a0a0a0;--accent:#ff0;--accent-dim:#550;--accent-soft:#ffff001a;--green:#0f0;--green-soft:#00ff001a;--red:#f44;--red-soft:#ff44441f;--amber:orange;--amber-soft:#ffa5001f;--violet:#f8f;--cyan:#0ff;--field-bg:#000;--field-grid:#333;--field-grid-bold:#888;--field-text:#d5d5d5;--radius:6px;--radius-s:4px;--shadow:none;--font:"Inter", "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{grid-template-columns:228px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--bg-soft);border-right:1px solid var(--border-soft);flex-direction:column;gap:4px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;margin-bottom:10px;padding:2px 8px 14px;display:flex}.brand svg{flex:none}.brand-name{letter-spacing:-.02em;font-size:16px;font-weight:800}.brand-sub{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.nav{flex-direction:column;gap:2px;display:flex}.nav a{border-radius:var(--radius-s);color:var(--muted);align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;font-weight:500;display:flex}.nav a:hover{color:var(--text);background:var(--panel-2);text-decoration:none}.nav a.active{color:var(--text);background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.nav .ico{text-align:center;flex:none;width:18px;font-size:15px}.nav .count{font-variant-numeric:tabular-nums;background:var(--panel-3);color:var(--muted);border-radius:10px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:700}.nav .count.alert{background:var(--red-soft);color:var(--red)}.side-foot{border-top:1px solid var(--border-soft);color:var(--faint);flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;font-size:12px;display:flex}.side-foot label{align-items:center;gap:8px;display:flex}.content{min-width:0;max-width:1500px;padding:22px 28px 64px}.page-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:18px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:800}.page-head .sub{color:var(--muted);font-size:13px}.page-head .spacer{flex:1}.status-strip{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:18px;display:grid}.node-chip{background:linear-gradient(180deg, var(--panel), var(--bg-soft));border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:12px 14px;display:block}.node-chip:hover{border-color:var(--accent);text-decoration:none}.node-chip .top{align-items:center;gap:8px;font-weight:700;display:flex}.phase{grid-template-columns:52px 1fr 56px;align-items:center;gap:10px;margin:7px 0;font-size:13px;display:grid}.phase span{color:var(--muted)}.phase b{text-align:right;font-variant-numeric:tabular-nums}.back{border:1px solid var(--border);border-radius:var(--radius-s);justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:inline-flex}.back:hover{background:var(--panel-2);text-decoration:none}.chart-card{margin:4px 0 0}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:6px;font-size:12px;display:flex}.legend i{vertical-align:middle;border-radius:2px;width:14px;height:3px;margin-right:6px;display:inline-block}.node-chip .ver{font-family:var(--mono);color:var(--faint);margin-left:auto;font-size:11px}.node-chip .metrics{font-variant-numeric:tabular-nums;gap:14px;margin-top:8px;display:flex}.node-chip .metrics b{letter-spacing:-.01em;font-size:17px;display:block}.node-chip .metrics span{color:var(--muted);font-size:11px}.pulse{background:var(--green);width:9px;height:9px;box-shadow:0 0 8px var(--green);border-radius:50%;flex:none}.pulse.stale{background:var(--amber);box-shadow:0 0 8px var(--amber)}.pulse.dead{background:var(--red);box-shadow:0 0 8px var(--red)}.grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-bottom:8px;display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.card{background:linear-gradient(180deg, var(--panel), var(--bg-soft));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:16px 18px}.card>h2,.card>h3{justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 10px;font-size:15px;display:flex}.card h2 small,.card h3 small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.kv{grid-template-columns:auto 1fr;gap:5px 14px;margin:10px 0 0;display:grid}.kv dt{color:var(--muted)}.kv dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.meter{background:var(--panel-3);border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.meter>i{background:var(--accent);border-radius:3px;height:100%;transition:width .4s;display:block}.meter>i.warn{background:var(--amber)}.meter>i.bad{background:var(--red)}table.data{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;margin:12px 0;font-size:13px;overflow:hidden}table.data th,table.data td{border-bottom:1px solid var(--border-soft);text-align:right;white-space:nowrap;padding:8px 12px}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover td{background:var(--panel-2)}table.data th:first-child,table.data td:first-child{text-align:left}table.data th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:var(--panel-2);font-size:11.5px;font-weight:600}table.data tr.selected td{background:var(--accent-soft)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.toolbar input[type=search]{min-width:220px}.pill{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill.on{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.ok{color:var(--green);font-weight:600}.warn{color:var(--amber);font-weight:600}.bad{color:var(--red);font-weight:600}.mono{font-family:var(--mono);font-size:12.5px}.muted{color:var(--muted)}p.muted{max-width:78ch}.scenario-name{font-family:var(--mono);min-width:200px;font-size:13px;font-weight:600}form.row{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;display:flex}input,select,button,textarea{font:inherit;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:8px 13px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{cursor:pointer;color:#fff;background:#1f6feb;border-color:#1f6feb;font-weight:600;transition:background .15s,transform 50ms}[data-theme=light] button{background:#0b5fd0;border-color:#0b5fd0}button:hover{background:#388bfd}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:default;transform:none}button.ghost{border-color:var(--border);color:var(--text);background:0 0}button.ghost:hover{background:var(--panel-2)}button.link{color:var(--accent);background:0 0;border:none;padding:0;font-weight:500}button.link:hover{background:0 0;text-decoration:underline}label{align-items:center;gap:6px;display:inline-flex}pre.log{border:1px solid var(--border);border-radius:var(--radius);max-height:320px;font-size:12.5px;line-height:1.6;font-family:var(--mono);color:#c9d4e3;background:#05080e;margin:10px 0 0;padding:14px 16px;overflow:auto}[data-theme=light] pre.log{background:#0d1117}canvas.field{border:1px solid var(--border);border-radius:var(--radius);background:var(--field-bg);width:100%;box-shadow:var(--shadow);cursor:grab;touch-action:none}.token-form{gap:6px;display:flex}.token-form input{min-width:0;font-family:var(--mono);flex:1;padding:6px 10px;font-size:12px}.token-form button{flex:none;padding:6px 12px}.token-on{align-items:center;gap:8px;display:flex}.small{font-size:12px}button.ghost.danger{color:var(--red);border-color:var(--red)}button.ghost.danger:hover{background:var(--red-soft)}.failure{border:1px solid var(--border-soft);border-radius:var(--radius-s);margin:8px 0;overflow:hidden}button.failure-head{background:var(--red-soft);width:100%;color:var(--text);text-align:left;border:none;border-radius:0;align-items:center;gap:10px;padding:9px 12px;font-weight:500;display:flex}button.failure-head:hover{background:var(--red-soft);filter:brightness(1.15)}.failure-time{color:var(--muted);flex:none}.failure-kind{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.failure-caret{color:var(--muted);flex:none;margin-left:auto}.failure-body{padding:0 12px 12px}.failure-body .log{white-space:pre-wrap;overflow-wrap:anywhere}.spawn-head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);grid-template-columns:1.2fr 1fr 1fr 40px;gap:8px;margin:8px 0 4px;font-size:11.5px;display:grid}.spawn-grid{grid-template-columns:1.2fr 1fr 1fr 40px;align-items:center;gap:8px;margin:6px 0;display:grid}.spawn-grid input,.spawn-grid select{width:100%;min-width:0}details.macro{margin:8px 0}.macro-step{grid-template-columns:1.4fr 1fr 40px;align-items:center;gap:8px;margin:6px 0;display:grid}.macro-step input,.macro-step select{width:100%;min-width:0;font-family:var(--mono);font-size:12.5px}canvas.chart{width:100%;display:block}.chart-card canvas.chart{height:180px}details{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin:8px 0;padding:10px 14px}details summary{cursor:pointer;font-weight:600}textarea{width:100%;max-width:900px;font-family:var(--mono);font-size:13px}ul.failures{margin:8px 0 0;padding-left:20px;font-size:13px}ul.failures li{overflow-wrap:anywhere;margin:4px 0}.badge{background:var(--panel-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600}.badge.bad{color:var(--red);border-color:var(--red)}.builder{grid-template-columns:minmax(340px,440px) 1fr;align-items:start;gap:14px;display:grid}@media (width<=1100px){.shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border-soft);flex-flow:wrap;align-items:center;height:auto;position:static}.brand{border-bottom:none;margin-bottom:0;padding-bottom:0}.nav{flex-flow:wrap}.side-foot{border-top:none;flex-direction:row;align-items:center;margin-top:0;padding-top:0}.builder{grid-template-columns:1fr}.content{padding:16px 14px 48px}}.builder h3{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:16px 0 8px;font-size:13px}.tuning-row{justify-content:space-between;align-items:center;gap:8px;margin:6px 0;display:flex}.tuning-row input{text-align:right;font-variant-numeric:tabular-nums;width:110px}.builder .row{align-items:center}.builder .row input,.builder .row select{flex:1;min-width:0}.json-pane{position:sticky;top:16px}pre.builder-json{max-height:70vh}.empty{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);margin:12px 0;padding:28px}
