:root{--bg:#fbfbfa;--surface:#ffffff;--border:#e6e4e0;--text:#1c1b19;--muted:#6b6862;--accent:#2f5d50;--accent-soft:#eaf1ee;--danger:#a33a2c;--radius:6px}@media (prefers-color-scheme:dark){:root{--bg:#16171a;--surface:#1e2024;--border:#2e3238;--text:#e9e7e3;--muted:#97948e;--accent:#7fb3a2;--accent-soft:#22302b;--danger:#d98070}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.45rem .85rem;border-radius:var(--radius)}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .6rem;width:100%}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.react-flow{--xy-background-color:var(--bg);--xy-edge-stroke:var(--muted);--xy-edge-stroke-selected:var(--accent);--xy-handle-background-color:var(--surface);--xy-handle-border-color:var(--muted);--xy-minimap-background-color:var(--surface);--xy-minimap-mask-background-color:color-mix(in srgb,var(--bg) 70%,transparent);--xy-minimap-node-background-color:var(--border);--xy-controls-button-background-color:var(--surface);--xy-controls-button-background-color-hover:var(--accent-soft);--xy-controls-button-color:var(--text);--xy-controls-button-color-hover:var(--text);--xy-controls-button-border-color:var(--border);--xy-attribution-background-color:transparent}.react-flow__controls,.react-flow__minimap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.react-flow .react-flow__edge-text{fill:var(--muted);font-size:11px}.react-flow .react-flow__edge-textbg{fill:var(--surface)}.react-flow .react-flow__attribution{background:transparent}.react-flow .react-flow__attribution a{color:var(--muted)}