:root{--bg0:#0e1116;--bg1:#161b22;--bg2:#1f2630;--bg3:#28303c;--border:#2a3340;--border-strong:#3a4554;--text:#e6e9ee;--text-muted:#8b95a3;--text-faint:#5c6573;--accent:#4d9fff;--accent-dim:#2c5a91;--ok:#3fb950;--warn:#d29922;--err:#f85149;--ov-corner:#e61e1e;--ov-edge:#64b4ff;--ov-origin:#ffdc1e;--ov-far:#1ec83c;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--radius:6px;--radius-sm:4px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg0);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.45}code,.mono{font-family:var(--font-mono);font-size:12px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--bg3);border:2px solid var(--bg0);border-radius:5px}::-webkit-scrollbar-track{background:0 0}.btn{align-items:center;gap:var(--s2);background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;padding:5px 12px;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--bg3);border-color:var(--border-strong)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent-dim);border-color:var(--accent)}.btn.primary:hover:not(:disabled){background:var(--accent);color:#0b1521}.input,.select{background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:5px 8px}.input:focus,.select:focus{border-color:var(--accent);outline:none}.panel{background:var(--bg1);border:1px solid var(--border);border-radius:var(--radius)}.chip{font-size:11px;font-family:var(--font-mono);border:1px solid var(--border);background:var(--bg2);color:var(--text-muted);border-radius:999px;align-items:center;padding:1px 8px;display:inline-flex}.chip.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.chip.err{color:var(--err);border-color:color-mix(in srgb, var(--err) 40%, transparent)}.chip.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:600}
