@keyframes pulse-ring{0%{box-shadow:0 0 0 0 hsl(var(--connector-default)/.7)}70%{box-shadow:0 0 0 15px hsl(var(--connector-default)/0)}to{box-shadow:0 0 0 0 hsl(var(--connector-default)/0)}}.onboarding-connection-target,.react-flow__node.onboarding-connection-target,[data-id].onboarding-connection-target{animation:pulse-ring 1.5s cubic-bezier(.4,0,.6,1) infinite!important;position:relative!important;z-index:100!important;overflow:visible!important}.onboarding-connection-target:before,.react-flow__node.onboarding-connection-target:before,[data-id].onboarding-connection-target:before{content:""!important;position:absolute!important;top:-8px!important;left:-8px!important;right:-8px!important;bottom:-8px!important;border:5px solid hsl(var(--connector-default))!important;border-radius:16px!important;pointer-events:none!important;z-index:999999!important;box-shadow:0 0 0 8px hsl(var(--connector-default)/.5),0 0 30px hsl(var(--connector-default)/.9),inset 0 0 20px hsl(var(--connector-default)/.3)!important;animation:pulse-ring 1.5s cubic-bezier(.4,0,.6,1) infinite!important}.onboarding-connection-target:after,.react-flow__node.onboarding-connection-target:after,[data-id].onboarding-connection-target:after{content:""!important;position:absolute!important;top:-12px!important;left:-12px!important;right:-12px!important;bottom:-12px!important;border:3px solid hsl(var(--connector-default)/.6)!important;border-radius:18px!important;pointer-events:none!important;z-index:999998!important;animation:pulse-ring 1.5s cubic-bezier(.4,0,.6,1) infinite!important}.onboarding-connection-source,.react-flow__node.onboarding-connection-source,[data-id].onboarding-connection-source{animation:pulse-ring 1.5s cubic-bezier(.4,0,.6,1) infinite!important;position:relative!important;z-index:100!important;overflow:visible!important}.onboarding-connection-source:before,.react-flow__node.onboarding-connection-source:before,[data-id].onboarding-connection-source:before{content:""!important;position:absolute!important;top:-8px!important;left:-8px!important;right:-8px!important;bottom:-8px!important;border:5px solid hsl(var(--connector-hover))!important;border-radius:16px!important;pointer-events:none!important;z-index:999999!important;box-shadow:0 0 0 8px hsl(var(--connector-hover)/.5),0 0 30px hsl(var(--connector-hover)/.9),inset 0 0 20px hsl(var(--connector-hover)/.3)!important;animation:pulse-ring 1.5s cubic-bezier(.4,0,.6,1) infinite!important}.onboarding-connection-source:after,.react-flow__node.onboarding-connection-source:after,[data-id].onboarding-connection-source:after{content:""!important;position:absolute!important;top:-12px!important;left:-12px!important;right:-12px!important;bottom:-12px!important;border:3px solid hsl(var(--connector-hover)/.6)!important;border-radius:18px!important;pointer-events:none!important;z-index:999998!important;animation:pulse-ring 1.5s cubic-bezier(.4,0,.6,1) infinite!important}@keyframes handle-pulse{0%,to{transform:scale(1)!important;box-shadow:0 0 0 0 hsl(var(--connector-default)/.9),0 0 25px hsl(var(--connector-default)/.8),0 0 50px hsl(var(--connector-default)/.6),0 10px 50px hsl(var(--connector-default)/.6)!important}50%{transform:scale(1.15)!important;box-shadow:0 0 0 25px hsl(var(--connector-default)/0),0 0 40px hsl(var(--connector-default)/1),0 0 80px hsl(var(--connector-default)/.8),0 15px 60px hsl(var(--connector-default)/.8)!important}}.onboarding-handle-highlight,.onboarding-handle-highlight.handle,[class*=handle].onboarding-handle-highlight,button.onboarding-handle-highlight{animation:handle-pulse 1.5s ease-in-out infinite!important;z-index:9999!important;filter:brightness(1.2)!important;background:hsl(var(--connector-hover))!important;background-color:hsl(var(--connector-hover))!important;border-color:hsl(var(--connector-default))!important;border-width:3px!important}.onboarding-handle-wrapper-highlight{z-index:9999!important;opacity:1!important;pointer-events:all!important}.onboarding-handle-wrapper-highlight *{animation:handle-pulse 1.5s ease-in-out infinite!important}.react-flow__connection-line{z-index:1000!important;pointer-events:none!important}.react-flow__connection-line,.react-flow__connection-line path{stroke:hsl(var(--connector-default))!important;stroke-width:2.5px!important;fill:none!important}.resize-handle{background:hsl(var(--connector-default));border:2px solid hsl(var(--bg-card-default));border-radius:50%;width:8px;height:8px;transition:all .2s ease;box-shadow:0 2px 4px hsl(var(--text-default)/.1)}.resize-handle:hover{background:hsl(var(--connector-hover));transform:scale(1.2);box-shadow:0 4px 8px hsl(var(--text-default)/.15)}.resize-handle:active{background:hsl(var(--connector-pressed));transform:scale(.95)}.resize-line{border:1px solid hsl(var(--connector-default));opacity:.6;transition:opacity .2s ease}.resize-line:hover{opacity:1}.react-flow__node.selected .view-block{outline:2px solid hsl(var(--primary));outline-offset:0;border-radius:.75rem}.react-flow.agent-arrow-mode,.react-flow.agent-arrow-mode .react-flow__node,.react-flow.agent-arrow-mode .react-flow__node *,.react-flow.agent-arrow-mode .react-flow__nodes,.react-flow.agent-arrow-mode .react-flow__pane,.react-flow.agent-arrow-mode .react-flow__pane.draggable,.react-flow.agent-arrow-mode .react-flow__pane.selection,.react-flow.agent-arrow-mode .react-flow__renderer,.react-flow.agent-arrow-mode [data-id],.react-flow.agent-arrow-mode [data-id] :not(button):not([role=button]):not(a):not(select){cursor:default!important}.canvas-node{transition:all .2s ease}.canvas-node:hover{box-shadow:0 4px 12px hsl(var(--text-default)/.1)}.canvas-node.selected{box-shadow:0 0 0 2px hsl(var(--connector-default)),0 4px 12px hsl(var(--connector-default)/.2)}.canvas-handle{width:12px;height:12px;background:hsl(var(--text-placeholder));border:2px solid hsl(var(--bg-card-default));border-radius:50%;transition:all .2s ease}.canvas-handle:hover{background:hsl(var(--text-default));transform:scale(1.1)}.canvas-handle:active{background:hsl(var(--text-default)/.8);transform:scale(.95)}.canvas-background-dots{background-image:radial-gradient(circle,hsl(var(--text-placeholder)) 1px,transparent 1px);background-size:40px 40px}.canvas-panel{background:hsl(var(--bg-card-default));border-radius:8px;box-shadow:0 4px 6px -1px hsl(var(--text-default)/.1),0 2px 4px -1px hsl(var(--text-default)/.06);border:1px solid hsl(var(--border-default))}.canvas-panel:hover{box-shadow:0 10px 15px -3px hsl(var(--text-default)/.1),0 4px 6px -2px hsl(var(--text-default)/.05)}.canvas-controls{background:hsl(var(--bg-card-default));border:1px solid hsl(var(--border-default));border-radius:6px}.canvas-controls button{transition:all .2s ease}.canvas-controls button:hover{background-color:hsl(var(--bg-card-hover));border-color:hsl(var(--border-hover))}.canvas-minimap{background:hsl(var(--bg-card-default));border:1px solid hsl(var(--border-default));border-radius:6px}.canvas-status-synced{background-color:hsl(var(--text-success))}.canvas-status-pending{background-color:hsl(var(--text-warning));animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.canvas-status-error{background-color:hsl(var(--text-danger))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.canvas-node-selected{border-color:hsl(var(--connector-default))!important;box-shadow:0 0 0 2px hsl(var(--connector-default)),0 4px 12px hsl(var(--connector-default)/.2)}.canvas-node-editing{box-shadow:0 0 0 2px hsl(var(--connector-default)),0 0 0 4px hsl(var(--connector-default)/.2)}.canvas-toolbar{display:flex;gap:8px;background:hsl(var(--bg-card-default));border-radius:8px;box-shadow:0 4px 6px -1px hsl(var(--text-default)/.1);padding:8px;border:1px solid hsl(var(--border-default))}.canvas-toolbar-divider{width:1px;background-color:hsl(var(--border-default));margin:0 4px}.canvas-status-panel{padding:12px}.canvas-debug-panel,.canvas-status-panel{background:hsl(var(--bg-card-default));border-radius:8px;box-shadow:0 4px 6px -1px hsl(var(--text-default)/.1);border:1px solid hsl(var(--border-default))}.canvas-debug-panel{padding:16px;max-width:300px;max-height:500px;overflow-y:auto}.canvas-debug-panel h4{margin:0;font-size:14px;font-weight:500;color:hsl(var(--text-title))}.canvas-debug-panel .bg-gray-50{background-color:hsl(var(--bg-elevation))}.canvas-debug-panel .bg-blue-50{background-color:hsl(var(--text-primary)/.1)}.canvas-debug-panel .bg-green-50{background-color:hsl(var(--text-success)/.1)}.canvas-debug-panel .bg-yellow-50{background-color:hsl(var(--text-warning)/.1)}.canvas-debug-panel .bg-red-50{background-color:hsl(var(--text-danger)/.1)}.canvas-debug-panel .font-mono{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px}.prevent-zoom{touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.prevent-zoom:focus{outline:none}.nowheel,.prevent-zoom .nowheel{touch-action:pan-x pan-y!important;-ms-touch-action:pan-x pan-y!important}.prevent-zoom [contenteditable],.prevent-zoom input,.prevent-zoom textarea{touch-action:manipulation!important;-webkit-user-select:text!important;-moz-user-select:text!important;user-select:text!important;cursor:text!important}.ProseMirror[contenteditable=true],.ProseMirror[contenteditable=true] *,.scrollable-textarea,.tiptap-editor[contenteditable=true],.tiptap-editor[contenteditable=true] *,[contenteditable=true],[contenteditable=true] *,input,textarea{cursor:text!important}body.canvas-hand-tool .react-flow__node,body.canvas-hand-tool .react-flow__node :not(input):not(textarea):not([contenteditable=true]):not([contenteditable=true] *):not(button):not(a):not([role=button]):not(select):not([style*=col-resize]):not([style*=ew-resize]):not([style*=ns-resize]):not([style*=nwse-resize]):not([style*=nesw-resize]),body.canvas-hand-tool .react-flow__pane,body.canvas-hand-tool [data-id] .bg-white :not(input):not(textarea):not([contenteditable=true]):not([contenteditable=true] *):not(button):not(a):not([role=button]):not(select){cursor:grab!important}body.canvas-move-tool .react-flow__node,body.canvas-move-tool .react-flow__node :not(input):not(textarea):not([contenteditable=true]):not([contenteditable=true] *):not(button):not(a):not([role=button]):not(select):not([style*=col-resize]):not([style*=ew-resize]):not([style*=ns-resize]):not([style*=nwse-resize]):not([style*=nesw-resize]),body.canvas-move-tool .react-flow__pane,body.canvas-move-tool [data-id] .bg-white :not(input):not(textarea):not([contenteditable=true]):not([contenteditable=true] *):not(button):not(a):not([role=button]):not(select){cursor:default!important}.react-flow__node .btn,.react-flow__node .button,.react-flow__node [class*=btn],.react-flow__node [class*=button],.react-flow__node [data-radix-collection-item],.react-flow__node [onclick],.react-flow__node [role=button],.react-flow__node [role=combobox],.react-flow__node [role=listbox],.react-flow__node a,.react-flow__node button,.react-flow__node select,[data-id] .btn,[data-id] .button,[data-id] [class*=btn],[data-id] [class*=button],[data-id] [data-radix-collection-item],[data-id] [onclick],[data-id] [role=button],[data-id] [role=combobox],[data-id] [role=listbox],[data-id] a,[data-id] button,[data-id] select{cursor:pointer!important}.react-flow__node.draggable.dragging .canvas-preview-iframe,.react-flow__node.dragging .canvas-preview-iframe{pointer-events:none!important}@media (max-width:768px){.canvas-toolbar{flex-wrap:wrap;gap:4px}.resize-handle{width:10px;height:10px}}.react-flow__devtools{--border-radius:8px;--highlight-color:#ee3a73;--font:"SF Mono","Monaco","Inconsolata","Fira Code",monospace;border-radius:var(--border-radius);font-size:11px;font-family:var(--font)}.react-flow__devtools-controls{display:flex;gap:0;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.15);background:hsl(var(--bg-card-default));border:1px solid hsl(var(--border-default));backdrop-filter:blur(12px)}.react-flow__devtools-button{background:hsl(var(--bg-card-default));border:none;border-right:1px solid hsl(var(--border-default));padding:10px 20px;color:hsl(var(--text-default));font-weight:600;font-size:11px;cursor:pointer;font-family:var(--font);transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;letter-spacing:.3px;text-transform:uppercase}.react-flow__devtools-button:first-child{border-radius:var(--border-radius) 0 0 var(--border-radius)}.react-flow__devtools-button:last-child{border-radius:0 var(--border-radius) var(--border-radius) 0;border-right:none}.react-flow__devtools-button:hover{opacity:.9}.react-flow__devtools-button.active,.react-flow__devtools-button:hover{background:var(--highlight-color);color:#fff}.react-flow__devtools-title{font-weight:700;font-size:11px;margin-bottom:8px;color:hsl(var(--text-default));border-bottom:1px solid hsl(var(--border-default));padding-bottom:6px;font-family:var(--font)}.react-flow__devtools-changelogger{background:hsl(var(--bg-card-default));border:1px solid hsl(var(--border-default));border-radius:var(--border-radius);box-shadow:0 2px 12px rgba(0,0,0,.15);padding:12px;min-width:280px;max-width:350px;max-height:500px;display:flex;flex-direction:column;backdrop-filter:blur(12px);font-family:var(--font)}.react-flow__devtools-content{overflow-y:auto;overflow-x:hidden;flex:1;padding-right:4px;margin-top:4px}.react-flow__devtools-content::-webkit-scrollbar{width:6px}.react-flow__devtools-content::-webkit-scrollbar-track{background:transparent}.react-flow__devtools-content::-webkit-scrollbar-thumb{background:hsl(var(--border-default));border-radius:3px}.react-flow__devtools-content::-webkit-scrollbar-thumb:hover{background:var(--highlight-color)}.react-flow__devtools-change-item{margin-bottom:8px;padding:8px 10px;background:hsl(var(--bg-elevation));border-radius:6px;border-left:3px solid var(--highlight-color);font-size:10px;line-height:1.5;font-family:var(--font);transition:all .2s ease}.react-flow__devtools-change-item:hover{background:hsl(var(--bg-card-hover));transform:translateX(-2px)}.react-flow__devtools-change-id{color:hsl(var(--text-default));font-weight:600;margin-bottom:4px;font-size:9px;text-transform:uppercase;letter-spacing:.3px}.react-flow__devtools-change-detail{color:hsl(var(--text-placeholder));font-size:10px;word-break:break-word}.react-flow__devtools-empty{color:hsl(var(--text-placeholder));font-style:italic;text-align:center;padding:24px 16px;font-size:11px}.react-flow__devtools-viewport{background:hsl(var(--bg-card-default));border:1px solid hsl(var(--border-default));border-radius:var(--border-radius);box-shadow:0 2px 12px rgba(0,0,0,.15);padding:10px 16px;min-width:240px;backdrop-filter:blur(12px);font-family:var(--font)}.react-flow__devtools-viewport .react-flow__devtools-title{margin-bottom:6px;font-size:10px}.react-flow__devtools-viewport-content{font-size:13px;font-weight:600;color:hsl(var(--text-default));text-align:center;font-family:var(--font);letter-spacing:.5px}.react-flow__devtools-nodeinspector{pointer-events:none;font-family:var(--font);font-size:10px}.react-flow__devtools-nodeinfo{pointer-events:none}.react-flow__devtools-nodeinfo-content{background:hsl(var(--bg-card-default));border:1px solid hsl(var(--border-default));border-radius:var(--border-radius);box-shadow:0 2px 12px rgba(0,0,0,.15);padding:10px 12px;min-width:200px;font-size:10px;backdrop-filter:blur(12px);font-family:var(--font)}.react-flow__devtools-nodeinfo-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px;line-height:1.4}.react-flow__devtools-nodeinfo-row:last-child{margin-bottom:0}.react-flow__devtools-label{font-weight:700;color:hsl(var(--text-placeholder));text-transform:uppercase;font-size:9px;letter-spacing:.5px;flex-shrink:0}.react-flow__devtools-value{font-weight:600;color:hsl(var(--text-default));text-align:right;word-break:break-all;font-family:var(--font);font-size:10px}