html,body,#root{height:100%}:root{--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-input: #1e293b;--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-text-accent: #22d3ee;--color-text-code: #56b6c2;--color-border-primary: #334155;--color-accent-primary: #22d3ee;--color-accent-gradient-from: #22d3ee;--color-accent-gradient-to: #3b82f6;--color-highlight-primary: #22d3ee;--color-highlight-secondary: #facc15;--node-source-fill: rgba(34, 211, 238, .1);--node-source-border: #22d3ee;--node-intermediate-fill: rgba(168, 85, 247, .1);--node-intermediate-border: #a855f7;--node-target-fill: rgba(244, 63, 94, .1);--node-target-border: #f43f5e;--node-bg: #1e293b;--node-default-border: #334155;--node-text-header: #f8fafc;--node-text-light: #cbd5e1;--graph-link: #475569}[data-theme=light]{--color-bg-primary: #f8fafc;--color-bg-secondary: #ffffff;--color-bg-input: #f1f5f9;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-accent: #0891b2;--color-border-primary: #e2e8f0;--color-accent-primary: #0891b2;--color-accent-gradient-from: #0891b2;--color-accent-gradient-to: #2563eb;--color-highlight-primary: #0891b2;--color-highlight-secondary: #d97706;--node-bg: #ffffff;--node-default-border: #e2e8f0;--node-text-header: #0f172a;--node-text-light: #475569;--graph-link: #cbd5e1}body{margin:0;background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.react-flow__edge-path{stroke:var(--color-text-secondary)!important;stroke-width:2!important}.react-flow__handle{background:var(--color-accent-primary)!important;width:8px!important;height:8px!important;border:2px solid var(--color-bg-primary)}.react-flow__background{background-color:var(--color-bg-primary)!important}.react-flow__controls button{background:var(--color-bg-secondary)!important;border-bottom:1px solid var(--color-border-primary)!important;fill:var(--color-text-secondary)!important}.react-flow__controls button:hover{background:var(--color-border-primary)!important}.react-flow__attribution{display:none}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.animate-slide-in-right{animation:slide-in-right .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .2s ease-out}
