:root{--color-primary:#0071e3;--color-primary-hover:#0077ed;--color-primary-light:#0071e314;--color-primary-lighter:#0071e30a;--color-success:#008439;--color-success-light:#00843914;--color-warning:#ff9500;--color-warning-light:#ff950014;--color-danger:#ff3b30;--color-danger-light:#ff3b3014;--color-information:#0071e3;--color-information-light:#0071e314;--color-gray-50:#fafafa;--color-gray-100:#f5f5f7;--color-gray-200:#e8e8ed;--color-gray-300:#d2d2d7;--color-gray-400:#86868b;--color-gray-500:#6e6e73;--color-gray-600:#424245;--color-gray-700:#313132;--color-gray-800:#1d1d1f;--color-gray-900:#000;--background:#fff;--background-secondary:#f5f5f7;--background-tertiary:#fafafa;--foreground:#1d1d1f;--foreground-secondary:#6e6e73;--foreground-tertiary:#86868b;--card:#fff;--card-border:#00000014;--card-shadow:0 2px 8px #0000000a;--card-shadow-hover:0 4px 16px #00000014;--muted:#86868b;--accent:#f5f5f7;--primary-foreground:#fff;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"SF Mono", SFMono-Regular, ui-monospace, Menlo, Monaco, Consolas, monospace;--edge-color:#d2d2d7;--edge-active:#0071e3;--background-color:#f5f5f7;--panel-bg:#fffc;--node-bg:#fff;--node-border:#00000014;--node-selected-ring:#0071e333;--hover-overlay:#00000005}[data-theme=dark]{--color-primary:#0a84ff;--color-primary-hover:#409cff;--color-primary-light:#0a84ff26;--color-primary-lighter:#0a84ff14;--color-success:#30d158;--color-success-light:#30d15826;--color-warning:#ffd60a;--color-warning-light:#ffd60a26;--color-danger:#ff453a;--color-danger-light:#ff453a26;--color-information:#0a84ff;--color-information-light:#0a84ff26;--color-gray-50:#1c1c1e;--color-gray-100:#2c2c2e;--color-gray-200:#3a3a3c;--color-gray-300:#48484a;--color-gray-400:#6d6d70;--color-gray-500:#8e8e93;--color-gray-600:#aeaeb2;--color-gray-700:#d1d1d6;--color-gray-800:#ebebf0;--color-gray-900:#f5f5f7;--background:#000;--background-secondary:#1c1c1e;--background-tertiary:#2c2c2e;--foreground:#f5f5f7;--foreground-secondary:#aeaeb2;--foreground-tertiary:#8e8e93;--card:#1c1c1e;--card-border:#ffffff14;--card-shadow:0 2px 8px #0000004d;--card-shadow-hover:0 4px 16px #0006;--muted:#8e8e93;--accent:#1c1c1e;--primary-foreground:#fff;--edge-color:#48484a;--edge-active:#0a84ff;--background-color:#1c1c1e;--panel-bg:#1c1c1ecc;--node-bg:#1c1c1e;--node-border:#ffffff14;--node-selected-ring:#0a84ff4d;--hover-overlay:#ffffff08}
.react-flow__edge-path{stroke:var(--edge-color);stroke-width:1.5px;fill:none;transition:stroke var(--transition-base), stroke-width var(--transition-base)}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--edge-active);stroke-width:2.5px}.react-flow__edge:hover .react-flow__edge-path{stroke:var(--edge-active);stroke-width:2px}.react-flow__node{transition:transform var(--transition-fast)}.react-flow__node:hover{z-index:10}.react-flow__node-selected{z-index:11}.react-flow__controls{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--card-shadow);display:flex;overflow:hidden}.react-flow__controls-button{border:none;border-right:1px solid var(--card-border);width:32px;height:32px;color:var(--foreground-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.react-flow__controls-button:hover{background:var(--accent);color:var(--foreground)}.react-flow__controls-button:last-child{border-right:none}.react-flow__attribution{background:0 0}.react-flow__attribution a{color:var(--foreground-tertiary);padding:2px 4px;font-size:10px}.react-flow__attribution a:hover{color:var(--color-primary)}.react-flow__pane{cursor:grab}.react-flow__pane:active{cursor:grabbing}.react-flow__background{transition:all var(--transition-base)}.react-flow__connectionline{stroke:var(--edge-color);stroke-width:1.5px}.react-flow__panel{opacity:.8}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{transition:background-color var(--transition-base);background-color:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background-color:#00000040}[data-theme=dark] ::-webkit-scrollbar-thumb{background-color:#ffffff26}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background-color:#ffffff40}*{scrollbar-width:thin;scrollbar-color:#00000026 transparent}[data-theme=dark] *{scrollbar-color:#ffffff26 transparent}.scrollable{overflow:hidden auto}.scrollable::-webkit-scrollbar{width:4px}.scrollable::-webkit-scrollbar-track{background:0 0}.scrollable::-webkit-scrollbar-thumb{background-color:#0000001a;border-radius:2px}.scrollable::-webkit-scrollbar-thumb:hover{background-color:#0003}[data-theme=dark] .scrollable::-webkit-scrollbar-thumb{background-color:#ffffff1a}[data-theme=dark] .scrollable::-webkit-scrollbar-thumb:hover{background-color:#fff3}
body{transition:background-color var(--transition-base), color var(--transition-base)}.transition-shadow-fast{transition:box-shadow var(--transition-fast)}.theme-toggle{transition:all var(--transition-base)}.node-action-btn{opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast)}.custom-node-wrapper:hover .node-action-btn,.node-action-btn.node-selected{opacity:1}.container{width:100%;max-width:1200px;padding:0 var(--space-lg);margin:0 auto}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.text-center{text-align:center}.text-muted{color:var(--foreground-tertiary)}.text-primary{color:var(--color-primary)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.card{background-color:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:box-shadow var(--transition-base), border-color var(--transition-base)}.card:hover{box-shadow:var(--card-shadow-hover)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:500;line-height:1;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--accent);color:var(--foreground)}.btn-secondary:hover{background-color:var(--card-border)}.btn-ghost{color:var(--foreground-secondary);background-color:#0000}.btn-ghost:hover{background-color:var(--accent);color:var(--foreground)}.btn-sm{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);font-size:13px}.btn-lg{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-size:15px}.badge{align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);border-radius:var(--radius-full);white-space:nowrap;font-size:11px;font-weight:500;line-height:1.4;display:inline-flex}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.badge-success{background-color:var(--color-success-light);color:var(--color-success)}.badge-warning{background-color:var(--color-warning-light);color:var(--color-warning)}.badge-danger{background-color:var(--color-danger-light);color:var(--color-danger)}.badge-muted{background-color:var(--accent);color:var(--muted)}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-sans);letter-spacing:-.022em;margin:0;padding:0;font-size:14px;line-height:1.47059}h1,h2,h3,h4,h5,h6{letter-spacing:-.021em;margin:0;font-weight:600}h1{font-size:28px;line-height:1.14286}h2{font-size:22px;line-height:1.18182}h3{font-size:19px;line-height:1.21053}h4{font-size:17px;line-height:1.23529}h5{font-size:15px;line-height:1.33333}h6{font-size:13px;line-height:1.53846}p{margin:0;line-height:1.5}a{color:var(--color-primary);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1)}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}::selection{background-color:#0071e333}:focus-visible{outline:none}
