@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap);.base-node{backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);background:rgba(15,20,45,.65);border:1px solid hsla(0,0%,100%,.08);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.4),inset 0 0 0 .5px hsla(0,0%,100%,.04);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow:visible;position:relative;transition:box-shadow .4s cubic-bezier(.4,0,.2,1),border-color .3s ease,-webkit-transform .3s cubic-bezier(.34,1.56,.64,1);transition:box-shadow .4s cubic-bezier(.4,0,.2,1),border-color .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1);transition:box-shadow .4s cubic-bezier(.4,0,.2,1),border-color .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1),-webkit-transform .3s cubic-bezier(.34,1.56,.64,1)}.base-node:before{background:linear-gradient(160deg,hsla(0,0%,100%,.1),transparent 40%,transparent 60%,hsla(0,0%,100%,.03));border-radius:16px;content:"";inset:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;pointer-events:none;position:absolute}.base-node:hover{border-color:hsla(0,0%,100%,.14);box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 60px rgba(99,102,241,.06),inset 0 0 0 .5px hsla(0,0%,100%,.06);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.base-node__header{align-items:center;border-radius:16px 16px 0 0;display:flex;gap:8px;overflow:hidden;padding:10px 16px;position:relative;-webkit-user-select:none;user-select:none}.base-node__header:after{background:linear-gradient(180deg,hsla(0,0%,100%,.08),transparent);content:"";inset:0;pointer-events:none;position:absolute}.base-node__header-icon{align-items:center;display:flex;-webkit-filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));flex-shrink:0;font-size:14px;height:22px;justify-content:center;position:relative;width:22px;z-index:1}.base-node__header-title{color:hsla(0,0%,100%,.95);font-size:12.5px;font-weight:700;letter-spacing:.03em;overflow:hidden;position:relative;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.3);text-transform:uppercase;white-space:nowrap;z-index:1}.base-node__content{padding:14px 16px 16px}.base-node__header+.base-node__content{border-top:1px solid hsla(0,0%,100%,.04)}.node-field{margin-bottom:10px}.node-field:last-child{margin-bottom:0}.node-field__label{color:rgba(148,163,184,.8);display:block;font-size:10px;font-weight:600;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.node-field__input,.node-field__select,.node-field__textarea{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:10px;box-sizing:border-box;color:#e2e8f0;font-family:Inter,sans-serif;font-size:12.5px;outline:none;padding:8px 11px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.node-field__input:hover,.node-field__select:hover,.node-field__textarea:hover{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.12)}.node-field__input:focus,.node-field__select:focus,.node-field__textarea:focus{background:rgba(99,102,241,.06);border-color:rgba(129,140,248,.5);box-shadow:0 0 0 3px rgba(99,102,241,.1),0 0 12px rgba(99,102,241,.05)}.node-field__input::-webkit-input-placeholder,.node-field__textarea::-webkit-input-placeholder{color:rgba(148,163,184,.4)}.node-field__input::placeholder,.node-field__textarea::placeholder{color:rgba(148,163,184,.4)}.node-field__select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;cursor:pointer;padding-right:28px}.node-field__textarea{font-family:JetBrains Mono,monospace;font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:12px;line-height:1.55;min-height:36px;overflow:hidden;resize:none}.node-description{color:rgba(148,163,184,.7);font-size:11.5px;line-height:1.55;margin:0}.base-node .react-flow__handle{border:2px solid;border-radius:50%;height:12px;transition:box-shadow .2s ease,background .2s ease,-webkit-transform .2s cubic-bezier(.34,1.56,.64,1);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background .2s ease;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background .2s ease,-webkit-transform .2s cubic-bezier(.34,1.56,.64,1);width:12px}.base-node .react-flow__handle-left{background:rgba(99,102,241,.15);border-color:rgba(99,102,241,.7);box-shadow:0 0 6px rgba(99,102,241,.2)}.base-node .react-flow__handle-left:hover{background:rgba(99,102,241,.4);border-color:#818cf8;box-shadow:0 0 12px rgba(99,102,241,.5),0 0 24px rgba(99,102,241,.2);-webkit-transform:scale(1.4);transform:scale(1.4)}.base-node .react-flow__handle-right{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.7);box-shadow:0 0 6px rgba(34,197,94,.2)}.base-node .react-flow__handle-right:hover{background:rgba(34,197,94,.4);border-color:#22c55e;box-shadow:0 0 12px rgba(34,197,94,.5),0 0 24px rgba(34,197,94,.2);-webkit-transform:scale(1.4);transform:scale(1.4)}.variable-handle-wrapper{position:relative}.variable-handle-label{background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.15);border-radius:6px;color:rgba(129,140,248,.85);font-family:JetBrains Mono,SF Mono,monospace;font-size:10px;font-weight:500;left:20px;letter-spacing:.02em;padding:1px 8px;pointer-events:none;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);white-space:nowrap}.base-node__header--default{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.base-node__header--input{background:linear-gradient(135deg,#2563eb,#3b82f6 50%,#60a5fa)}.base-node__header--output{background:linear-gradient(135deg,#059669,#10b981 50%,#34d399)}.base-node__header--llm{background:linear-gradient(135deg,#7c3aed,#8b5cf6 50%,#a78bfa)}.base-node__header--text{background:linear-gradient(135deg,#d97706,#f59e0b 50%,#fbbf24)}.base-node__header--api{background:linear-gradient(135deg,#0891b2,#06b6d4 50%,#22d3ee)}.base-node__header--math{background:linear-gradient(135deg,#e11d48,#f43f5e 50%,#fb7185)}.base-node__header--filter{background:linear-gradient(135deg,#0d9488,#14b8a6 50%,#2dd4bf)}.base-node__header--logger{background:linear-gradient(135deg,#475569,#64748b 50%,#94a3b8)}.base-node__header--delay{background:linear-gradient(135deg,#4338ca,#6366f1 50%,#818cf8)}.base-node:has(.base-node__header--input):hover{box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 30px rgba(59,130,246,.08)}.base-node:has(.base-node__header--output):hover{box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 30px rgba(16,185,129,.08)}.base-node:has(.base-node__header--llm):hover{box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 30px rgba(139,92,246,.08)}.base-node:has(.base-node__header--text):hover{box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 30px rgba(245,158,11,.08)}.base-node:has(.base-node__header--api):hover{box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 30px rgba(6,182,212,.08)}.base-node:has(.base-node__header--math):hover{box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 30px rgba(244,63,94,.08)}.base-node:has(.base-node__header--filter):hover{box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 30px rgba(20,184,166,.08)}.base-node:has(.base-node__header--logger):hover{box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 30px rgba(100,116,139,.08)}.base-node:has(.base-node__header--delay):hover{box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 30px rgba(99,102,241,.08)}@-webkit-keyframes nodeAppear{0%{opacity:0;-webkit-transform:scale(.85) translateY(8px);transform:scale(.85) translateY(8px)}60%{-webkit-transform:scale(1.02) translateY(-2px);transform:scale(1.02) translateY(-2px)}to{opacity:1;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes nodeAppear{0%{opacity:0;-webkit-transform:scale(.85) translateY(8px);transform:scale(.85) translateY(8px)}60%{-webkit-transform:scale(1.02) translateY(-2px);transform:scale(1.02) translateY(-2px)}to{opacity:1;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}.base-node{-webkit-animation:nodeAppear .4s cubic-bezier(.34,1.56,.64,1) forwards;animation:nodeAppear .4s cubic-bezier(.34,1.56,.64,1) forwards}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;-webkit-transform-origin:0 0;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none}.react-flow__node,.react-flow__nodes{-webkit-transform-origin:0 0;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;-webkit-transform-origin:left top;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;top:auto}.react-flow__handle-bottom,.react-flow__handle-top{left:50%;-webkit-transform:translate(-50%);transform:translate(-50%)}.react-flow__handle-top{top:-4px}.react-flow__handle-left{left:-4px}.react-flow__handle-left,.react-flow__handle-right{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.react-flow__handle-right{right:-4px}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.react-flow__attribution{background:hsla(0,0%,100%,.5);font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px rgba(0,0,0,.08)}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:hsla(0,0%,94%,.25)}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px rgba(0,0,0,.08)}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;-webkit-transform:translate(-50%);transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.modal-overlay{align-items:center;-webkit-animation:overlayFadeIn .25s ease forwards;animation:overlayFadeIn .25s ease forwards;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(0,0,0,.6);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}@-webkit-keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-card{-webkit-animation:modalSlideIn .35s cubic-bezier(.34,1.56,.64,1) forwards;animation:modalSlideIn .35s cubic-bezier(.34,1.56,.64,1) forwards;backdrop-filter:blur(32px) saturate(1.5);-webkit-backdrop-filter:blur(32px) saturate(1.5);background:rgba(15,20,50,.85);border:1px solid hsla(0,0%,100%,.1);border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.5),0 0 80px rgba(99,102,241,.08),inset 0 0 0 .5px hsla(0,0%,100%,.06);max-width:440px;min-width:380px;overflow:hidden;padding:0;position:relative}.modal-card:before{background:linear-gradient(160deg,hsla(0,0%,100%,.12),transparent 40%,transparent 60%,hsla(0,0%,100%,.04));border-radius:20px;content:"";inset:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;pointer-events:none;position:absolute}@-webkit-keyframes modalSlideIn{0%{opacity:0;-webkit-transform:scale(.9) translateY(20px);transform:scale(.9) translateY(20px)}to{opacity:1;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes modalSlideIn{0%{opacity:0;-webkit-transform:scale(.9) translateY(20px);transform:scale(.9) translateY(20px)}to{opacity:1;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}.modal-header{background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);overflow:hidden;padding:20px 28px;position:relative}.modal-header:after{background:linear-gradient(180deg,hsla(0,0%,100%,.1),transparent);content:"";inset:0;pointer-events:none;position:absolute}.modal-header__title{align-items:center;color:#fff;display:flex;font-size:16px;font-weight:700;gap:10px;letter-spacing:-.01em;position:relative;z-index:1}.modal-header__icon{font-size:22px}.modal-body{padding:24px 28px}.modal-stat{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.06);display:flex;justify-content:space-between;padding:14px 0}.modal-stat:last-child{border-bottom:none}.modal-stat__label{align-items:center;color:rgba(148,163,184,.9);display:flex;font-size:13px;font-weight:500;gap:8px}.modal-stat__label-icon{font-size:16px}.modal-stat__value{color:#f1f5f9;font-family:JetBrains Mono,SF Mono,monospace;font-size:20px;font-weight:700}.modal-dag-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;letter-spacing:.02em;padding:5px 14px}.modal-dag-badge--true{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25);color:#4ade80}.modal-dag-badge--false{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);color:#f87171}.modal-dag-badge__dot{-webkit-animation:pulseDot 2s ease-in-out infinite;animation:pulseDot 2s ease-in-out infinite;border-radius:50%;height:8px;width:8px}.modal-dag-badge--true .modal-dag-badge__dot{background:#4ade80;box-shadow:0 0 8px rgba(74,222,128,.5)}.modal-dag-badge--false .modal-dag-badge__dot{background:#f87171;box-shadow:0 0 8px hsla(0,91%,71%,.5)}@-webkit-keyframes pulseDot{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.6;-webkit-transform:scale(.8);transform:scale(.8)}}@keyframes pulseDot{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.6;-webkit-transform:scale(.8);transform:scale(.8)}}.modal-footer{padding:0 28px 24px}.modal-close-btn{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:13.5px;font-weight:600;padding:12px;transition:background .2s ease,border-color .2s ease,-webkit-transform .15s ease;transition:background .2s ease,border-color .2s ease,transform .15s ease;transition:background .2s ease,border-color .2s ease,transform .15s ease,-webkit-transform .15s ease;width:100%}.modal-close-btn:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.18);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.modal-close-btn:active{-webkit-transform:translateY(0);transform:translateY(0)}.modal-error{padding:24px 28px;text-align:center}.modal-error__icon{font-size:36px;margin-bottom:12px}.modal-error__message{color:hsla(0,91%,71%,.9);font-size:13px;line-height:1.5;word-break:break-word}:root{--bg-deep:#06080f;--bg-surface:#0c1021;--bg-elevated:#121830;--bg-card:rgba(15,23,55,.6);--border-subtle:hsla(0,0%,100%,.06);--border-glow:rgba(99,102,241,.3);--accent-primary:#818cf8;--accent-secondary:#a78bfa;--accent-glow:rgba(129,140,248,.4);--text-bright:#f1f5f9;--text-normal:#cbd5e1;--text-muted:#64748b;--glass-bg:rgba(15,23,55,.5);--glass-border:hsla(0,0%,100%,.08);--glass-blur:20px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Fira Code",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#06080f;background:var(--bg-deep);color:#cbd5e1;color:var(--text-normal);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);overflow:hidden}.app-container{display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative}.app-container:before{-webkit-animation:meshShift 20s ease-in-out infinite alternate;animation:meshShift 20s ease-in-out infinite alternate;background:radial-gradient(ellipse 80% 50% at 20% 40%,rgba(99,102,241,.08) 0,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 20%,rgba(168,85,247,.06) 0,transparent 50%),radial-gradient(ellipse 50% 60% at 50% 80%,rgba(59,130,246,.05) 0,transparent 50%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}@-webkit-keyframes meshShift{0%{background:radial-gradient(ellipse 80% 50% at 20% 40%,rgba(99,102,241,.08) 0,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 20%,rgba(168,85,247,.06) 0,transparent 50%),radial-gradient(ellipse 50% 60% at 50% 80%,rgba(59,130,246,.05) 0,transparent 50%)}50%{background:radial-gradient(ellipse 70% 60% at 40% 30%,rgba(168,85,247,.08) 0,transparent 60%),radial-gradient(ellipse 50% 50% at 70% 60%,rgba(99,102,241,.06) 0,transparent 50%),radial-gradient(ellipse 60% 40% at 20% 70%,rgba(236,72,153,.05) 0,transparent 50%)}to{background:radial-gradient(ellipse 60% 50% at 60% 50%,rgba(59,130,246,.08) 0,transparent 60%),radial-gradient(ellipse 80% 40% at 30% 70%,rgba(99,102,241,.06) 0,transparent 50%),radial-gradient(ellipse 50% 60% at 70% 30%,rgba(168,85,247,.05) 0,transparent 50%)}}@keyframes meshShift{0%{background:radial-gradient(ellipse 80% 50% at 20% 40%,rgba(99,102,241,.08) 0,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 20%,rgba(168,85,247,.06) 0,transparent 50%),radial-gradient(ellipse 50% 60% at 50% 80%,rgba(59,130,246,.05) 0,transparent 50%)}50%{background:radial-gradient(ellipse 70% 60% at 40% 30%,rgba(168,85,247,.08) 0,transparent 60%),radial-gradient(ellipse 50% 50% at 70% 60%,rgba(99,102,241,.06) 0,transparent 50%),radial-gradient(ellipse 60% 40% at 20% 70%,rgba(236,72,153,.05) 0,transparent 50%)}to{background:radial-gradient(ellipse 60% 50% at 60% 50%,rgba(59,130,246,.08) 0,transparent 60%),radial-gradient(ellipse 80% 40% at 30% 70%,rgba(99,102,241,.06) 0,transparent 50%),radial-gradient(ellipse 50% 60% at 70% 30%,rgba(168,85,247,.05) 0,transparent 50%)}}.pipeline-toolbar{align-items:center;backdrop-filter:blur(20px);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(var(--glass-blur));background:rgba(15,23,55,.5);background:var(--glass-bg);border-bottom:1px solid hsla(0,0%,100%,.08);border-bottom:1px solid var(--glass-border);display:flex;flex-shrink:0;gap:16px;padding:10px 24px;position:relative;z-index:100}.pipeline-toolbar:after{background:linear-gradient(90deg,transparent,rgba(99,102,241,.4) 20%,rgba(168,85,247,.4) 50%,rgba(236,72,153,.3) 80%,transparent);bottom:-1px;content:"";height:1px;left:0;position:absolute;right:0}.pipeline-toolbar__title{align-items:center;color:#f1f5f9;color:var(--text-bright);display:flex;font-size:15px;font-weight:700;gap:10px;letter-spacing:-.02em;margin-right:8px;white-space:nowrap}.pipeline-toolbar__title-icon{-webkit-animation:pulse-icon 3s ease-in-out infinite;animation:pulse-icon 3s ease-in-out infinite;font-size:20px}@-webkit-keyframes pulse-icon{0%,to{-webkit-filter:brightness(1);filter:brightness(1);-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-filter:brightness(1.3);filter:brightness(1.3);-webkit-transform:scale(1.1);transform:scale(1.1)}}@keyframes pulse-icon{0%,to{-webkit-filter:brightness(1);filter:brightness(1);-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-filter:brightness(1.3);filter:brightness(1.3);-webkit-transform:scale(1.1);transform:scale(1.1)}}.pipeline-toolbar__divider{background:linear-gradient(180deg,transparent,hsla(0,0%,100%,.12),transparent);flex-shrink:0;height:24px;width:1px}.pipeline-toolbar__nodes{display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.draggable-node{align-items:center;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);border-radius:10px;color:#cbd5e1;color:var(--text-normal);cursor:grab;display:flex;font-size:12.5px;font-weight:500;gap:6px;overflow:hidden;padding:6px 14px;position:relative;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,-webkit-transform .2s cubic-bezier(.34,1.56,.64,1);transition:background .2s ease,border-color .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;transition:background .2s ease,border-color .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,-webkit-transform .2s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none}.draggable-node:before{background:linear-gradient(105deg,transparent 40%,hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.1) 50%,hsla(0,0%,100%,.06) 55%,transparent 60%);content:"";inset:0;position:absolute;-webkit-transform:translateX(-100%);transform:translateX(-100%);transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.draggable-node:hover:before{-webkit-transform:translateX(100%);transform:translateX(100%)}.draggable-node:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.15);box-shadow:0 4px 16px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.05);color:#f1f5f9;color:var(--text-bright);-webkit-transform:translateY(-2px) scale(1.02);transform:translateY(-2px) scale(1.02)}.draggable-node:active{cursor:grabbing;-webkit-transform:translateY(0) scale(.98);transform:translateY(0) scale(.98);transition-duration:80ms}.draggable-node__icon{flex-shrink:0;font-size:14px}.pipeline-canvas{flex:1 1;position:relative;z-index:1}.pipeline-canvas .react-flow__background{background:#06080f!important;background:var(--bg-deep)!important}.pipeline-canvas .react-flow__minimap{background:rgba(12,16,33,.85)!important;border:1px solid hsla(0,0%,100%,.06)}.pipeline-canvas .react-flow__controls,.pipeline-canvas .react-flow__minimap{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.4);overflow:hidden}.pipeline-canvas .react-flow__controls{border:1px solid hsla(0,0%,100%,.06)}.pipeline-canvas .react-flow__controls-button{fill:#64748b;fill:var(--text-muted);background:rgba(12,16,33,.85);border-bottom:1px solid hsla(0,0%,100%,.06);color:#64748b;color:var(--text-muted);height:32px;transition:all .15s ease;width:32px}.pipeline-canvas .react-flow__controls-button:hover{fill:#818cf8;fill:var(--accent-primary);background:rgba(99,102,241,.15);color:#818cf8;color:var(--accent-primary)}.pipeline-canvas .react-flow__edge-path{stroke:rgba(100,116,139,.5);stroke-width:2;transition:stroke .2s ease}.pipeline-canvas .react-flow__edge:hover .react-flow__edge-path{stroke:#818cf8;stroke:var(--accent-primary);-webkit-filter:drop-shadow(0 0 6px rgba(129,140,248,.4));filter:drop-shadow(0 0 6px rgba(129,140,248,.4));-webkit-filter:drop-shadow(0 0 6px var(--accent-glow));filter:drop-shadow(0 0 6px var(--accent-glow))}.pipeline-canvas .react-flow__edge.selected .react-flow__edge-path{stroke:#818cf8;stroke:var(--accent-primary);stroke-width:2.5;-webkit-filter:drop-shadow(0 0 8px rgba(129,140,248,.4));filter:drop-shadow(0 0 8px rgba(129,140,248,.4));-webkit-filter:drop-shadow(0 0 8px var(--accent-glow));filter:drop-shadow(0 0 8px var(--accent-glow))}.pipeline-canvas .react-flow__connection-line{stroke:#818cf8!important;stroke:var(--accent-primary)!important;stroke-width:2;stroke-dasharray:6 4;-webkit-animation:connectionDash .4s linear infinite;animation:connectionDash .4s linear infinite;-webkit-filter:drop-shadow(0 0 6px rgba(129,140,248,.4));filter:drop-shadow(0 0 6px rgba(129,140,248,.4));-webkit-filter:drop-shadow(0 0 6px var(--accent-glow));filter:drop-shadow(0 0 6px var(--accent-glow))}@-webkit-keyframes connectionDash{to{stroke-dashoffset:-10}}@keyframes connectionDash{to{stroke-dashoffset:-10}}.pipeline-canvas .react-flow__selection{background:rgba(99,102,241,.08)!important;border:1px solid rgba(99,102,241,.3)!important;border-radius:8px}.pipeline-canvas .react-flow__node.selected>div{box-shadow:0 0 0 2px #818cf8,0 0 20px rgba(99,102,241,.2),0 8px 32px rgba(0,0,0,.3)!important;box-shadow:0 0 0 2px var(--accent-primary),0 0 20px rgba(99,102,241,.2),0 8px 32px rgba(0,0,0,.3)!important}.submit-footer{align-items:center;backdrop-filter:blur(20px);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(var(--glass-blur));background:rgba(15,23,55,.5);background:var(--glass-bg);border-top:1px solid hsla(0,0%,100%,.08);border-top:1px solid var(--glass-border);display:flex;flex-shrink:0;justify-content:center;padding:12px 24px;position:relative;z-index:100}.submit-footer:before{background:linear-gradient(90deg,transparent,rgba(99,102,241,.3) 30%,rgba(168,85,247,.3) 50%,rgba(99,102,241,.3) 70%,transparent);content:"";height:1px;left:0;position:absolute;right:0;top:-1px}.submit-button{align-items:center;-webkit-animation:gradientShift 4s ease infinite;animation:gradientShift 4s ease infinite;background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);background-size:200% 200%;border:none;border-radius:12px;box-shadow:0 2px 8px rgba(99,102,241,.3),inset 0 0 0 1px hsla(0,0%,100%,.1);color:#fff;cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:13.5px;font-weight:600;gap:8px;letter-spacing:.01em;overflow:hidden;padding:11px 32px;position:relative;transition:box-shadow .3s ease,-webkit-transform .2s cubic-bezier(.34,1.56,.64,1);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease,-webkit-transform .2s cubic-bezier(.34,1.56,.64,1)}@-webkit-keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.submit-button:after{-webkit-animation:gleam 3s ease-in-out infinite;animation:gleam 3s ease-in-out infinite;background:linear-gradient(105deg,transparent 35%,hsla(0,0%,100%,.12) 45%,hsla(0,0%,100%,.2) 50%,hsla(0,0%,100%,.12) 55%,transparent 65%);content:"";inset:0;position:absolute;-webkit-transform:translateX(-120%);transform:translateX(-120%)}@-webkit-keyframes gleam{0%,70%,to{-webkit-transform:translateX(-120%);transform:translateX(-120%)}85%{-webkit-transform:translateX(120%);transform:translateX(120%)}}@keyframes gleam{0%,70%,to{-webkit-transform:translateX(-120%);transform:translateX(-120%)}85%{-webkit-transform:translateX(120%);transform:translateX(120%)}}.submit-button:hover{box-shadow:0 6px 24px rgba(99,102,241,.45),0 0 40px rgba(139,92,246,.15),inset 0 0 0 1px hsla(0,0%,100%,.15);-webkit-transform:translateY(-2px) scale(1.03);transform:translateY(-2px) scale(1.03)}.submit-button:active{-webkit-transform:translateY(0) scale(.98);transform:translateY(0) scale(.98);transition-duration:80ms}.submit-button:disabled{box-shadow:0 2px 8px rgba(99,102,241,.15);cursor:not-allowed;opacity:.5;-webkit-transform:none;transform:none}.submit-button:disabled,.submit-button:disabled:after{-webkit-animation:none;animation:none}.submit-button__icon{flex-shrink:0;font-size:15px}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.2)}
/*# sourceMappingURL=main.dbe7eb1a.css.map*/