:root{--obsidian: #0a0c0f;--basalt: #101318;--marble: #171a20;--marble-raised: #1e222a;--marble-hover: #262b34;--hairline: #252a32;--hairline-strong: #39404b;--text: #eceae5;--muted: #9aa1ab;--faint: #666d78;--gold: #c9a227;--gold-soft: #e0c063;--gold-dim: rgba(201, 162, 39, .16);--on-gold: #14110a;--porphyry: #8f4b6e;--verdigris: #57a583;--cinnabar: #c8503f;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--ease: cubic-bezier(.32, .72, 0, 1);--fast: .12s var(--ease);--base: .18s var(--ease);--font-display: "Trajan Pro", Optima, "Palatino Linotype", Palatino, "URW Palladio L", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Segoe UI", Roboto, system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", "IBM Plex Mono", Menlo, Consolas, monospace;--scheme: dark;--sheen: rgba(201, 162, 39, .05);--plate-top: rgba(255, 255, 255, .045);--plate-bottom: rgba(255, 255, 255, 0);--plate-top-hover: rgba(255, 255, 255, .07);--hairline-hover: #4a5260;--field: rgba(0, 0, 0, .26);--field-off: rgba(0, 0, 0, .14);--placeholder: #5a616c;--groove: #333a45;--groove-hover: #454e5c;--quiet-hover: rgba(255, 255, 255, .05);--cinnabar-text: #e2705f;--wire: #4a525f;--map-bg: rgba(23, 26, 32, .85);--map-mask: rgba(10, 12, 15, .72);--map-node: #39414d;--controls-shadow: 0 8px 24px rgba(0, 0, 0, .5);--attribution: #2a303a}:root[data-theme=light]{--obsidian: #e9e3d7;--basalt: #f1ece2;--marble: #faf7f0;--marble-raised: #ffffff;--marble-hover: #eee8db;--hairline: #ded5c4;--hairline-strong: #bfb4a0;--text: #1c1a16;--muted: #585247;--faint: #8a8274;--gold: #96731a;--gold-soft: #c9a227;--gold-dim: rgba(150, 115, 26, .14);--on-gold: #1c1608;--porphyry: #87446a;--verdigris: #3d7b60;--cinnabar: #b03e2d;--scheme: light;--sheen: rgba(201, 162, 39, .08);--plate-top: rgba(255, 255, 255, .9);--plate-bottom: rgba(74, 62, 40, .04);--plate-top-hover: rgba(255, 255, 255, .95);--hairline-hover: #a2957c;--field: rgba(255, 255, 255, .75);--field-off: rgba(74, 62, 40, .06);--placeholder: #a49b8a;--groove: #cdc3b0;--groove-hover: #b6ab95;--quiet-hover: rgba(74, 62, 40, .07);--cinnabar-text: #a83a2a;--wire: #b0a794;--map-bg: rgba(250, 247, 240, .85);--map-mask: rgba(74, 62, 40, .14);--map-node: #b3a894;--controls-shadow: 0 8px 24px rgba(74, 62, 40, .18);--attribution: #cdc3b0}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:var(--font-sans);font-size:14px;background:radial-gradient(120% 80% at 50% -20%,var(--sheen),transparent 60%),var(--basalt);color:var(--text);color-scheme:var(--scheme);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:.01em}code,pre{font-family:var(--font-mono);font-size:.94em}::selection{background:var(--gold-dim);color:var(--text)}button{white-space:nowrap;padding:6px 13px;border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--plate-top),var(--plate-bottom) 60%),var(--marble-raised);color:var(--text);cursor:pointer;font-size:12px;font-family:inherit;letter-spacing:.01em;transition:background var(--fast),border-color var(--fast),transform var(--fast),box-shadow var(--fast)}button:hover:not(:disabled){background:linear-gradient(180deg,var(--plate-top-hover),var(--plate-bottom) 60%),var(--marble-hover);border-color:var(--hairline-hover)}button:active:not(:disabled){transform:translateY(.5px) scale(.994)}button:disabled{opacity:.4;cursor:default}button.primary:not(:disabled){background:linear-gradient(180deg,var(--gold-soft),var(--gold));border-color:#c9a227bf;color:var(--on-gold);font-weight:600;box-shadow:0 1px 10px #c9a22738}button.primary:hover:not(:disabled){background:linear-gradient(180deg,#eccd76,#d5ad2e);border-color:var(--gold-soft)}button.danger:not(:disabled){border-color:#c8503f8c;color:var(--cinnabar-text)}button.danger:hover:not(:disabled){background:#c8503f1f;border-color:var(--cinnabar)}button.quiet.danger:not(:disabled){color:var(--muted);border-color:transparent;background:transparent}button.quiet.danger:hover:not(:disabled){color:var(--cinnabar-text);background:#c8503f1f;border-color:#c8503f73}button.quiet{background:transparent;border-color:transparent;color:var(--muted);padding:4px 8px}button.quiet:hover:not(:disabled){background:var(--quiet-hover);border-color:transparent;color:var(--text)}button.quiet.slim{font-size:11.5px;padding:4px 7px;letter-spacing:.005em}input,textarea,select{background:var(--field);border:1px solid var(--hairline-strong);border-radius:var(--radius-md);color:var(--text);font-family:inherit;font-size:12px;padding:7px 9px;width:100%;transition:border-color var(--fast),box-shadow var(--fast),background var(--fast)}input[type=checkbox],input[type=radio]{width:auto;flex:none}input:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--hairline-hover)}input:focus,textarea:focus,select:focus,button:focus-visible,[tabindex]:focus-visible{outline:none;border-color:#c9a227bf;box-shadow:0 0 0 3px var(--gold-dim)}input::placeholder,textarea::placeholder{color:var(--placeholder)}input:disabled,textarea:disabled{background:var(--field-off);color:var(--muted)}textarea{line-height:1.55;resize:vertical}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--groove);border-radius:6px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--groove-hover);background-clip:content-box}.react-flow__attribution{background:transparent;color:var(--attribution)}.react-flow .react-flow__controls{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--controls-shadow);border:1px solid var(--hairline)}.react-flow .react-flow__controls-button{background:var(--marble-raised);border-bottom:1px solid var(--hairline);fill:var(--text);transition:background var(--fast)}.react-flow .react-flow__controls-button:hover{background:var(--marble-hover)}.react-flow .react-flow__minimap{background:var(--map-bg);border:1px solid var(--hairline);border-radius:var(--radius-md)}.react-flow .react-flow__controls-button svg{fill:var(--muted)}.react-flow .react-flow__controls-button:hover svg{fill:var(--text)}.react-flow .react-flow__minimap-mask{fill:var(--map-mask)}.react-flow .react-flow__minimap-node{fill:var(--map-node);stroke:none}.react-flow__edge-path{stroke:var(--wire);stroke-width:1.6;transition:stroke var(--fast)}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:hover .react-flow__edge-path{stroke:var(--gold)}.react-flow__connection-path{stroke:var(--gold);stroke-width:1.8}.react-flow__handle{width:20px;height:20px;background:transparent;border:none;border-radius:50%}.react-flow__handle:hover>span{transform:scale(1.3)}.react-flow__node.selected{outline:none}@keyframes rise{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
