.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.collaboration-carets__caret{border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal}.collaboration-carets__label{border-radius:3px 3px 3px 0;color:#0d0d0d;font-size:12px;font-style:normal;font-weight:600;left:-1px;line-height:normal;padding:.1rem .3rem;position:absolute;top:-1.4em;-webkit-user-select:none;user-select:none;white-space:nowrap}.ai-wrapper:before{background:linear-gradient(45deg,red,orange,#ff0,green,cyan,blue,violet);z-index:-1}.page-transition-wrapper{position:relative;width:100%}.page-exit{left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0}.page-exit-active{opacity:0}.page-enter{opacity:0;transform:translateY(8px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .18s ease-out,transform .18s ease-out}@media (prefers-reduced-motion:reduce){.page-enter-active{transition:none!important}.page-enter{opacity:1;transform:none}}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}@keyframes rotateColors{0%{background-position:0 50%}to{background-position:200% 50%}}.ai-wrapper{display:inline-block;position:relative}.ai-wrapper:before{animation:rotateColors 3s linear infinite;background:linear-gradient(45deg,red,red,orange,#ff0,green,cyan,blue,violet);background-size:200% 200%;border-radius:5px;bottom:-4px;content:"";filter:blur(10px);left:-4px;opacity:.3;position:absolute;right:-4px;top:-4px;z-index:1300}.gridsheet-full-size.gs-root1{display:block!important}.gridsheet-full-size .gs-main,.gridsheet-full-size .gs-tabular,.gridsheet-full-size.gs-root1{height:100%!important;max-height:none!important;max-width:none!important;width:100%!important}@keyframes componentFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.component-wrapper{animation:componentFadeIn .1s ease-out}.react-grid-item>.react-resizable-handle{z-index:100!important}.react-grid-item>.react-resizable-handle:after{border-color:#0000004d!important}.react-grid-item:hover>.react-resizable-handle:after{border-color:#0009!important}.react-grid-item.react-grid-placeholder{background:#1976d214!important;border:2px dashed #1976d266!important;border-radius:12px!important;box-shadow:0 4px 12px #00000014!important;opacity:1!important}.react-grid-item.react-grid-placeholder.placeholder-resizing{border-color:#1976d280!important;border-style:solid!important}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;-o-user-select:none;user-select:none;z-index:2}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{height:20px;position:absolute;width:20px}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid #0006;border-right:2px solid #0006;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.App{display:flex;position:relative;width:100%}.App,.main-content{height:100%;overflow:hidden}.main-content{margin-right:40px;transition:margin-right .3s ease,width .3s ease;width:calc(100% - 40px)}.App:has(.session-selector.open) .main-content{margin-right:350px;width:calc(100% - 350px)}.welcome-screen{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;height:100%;justify-content:center;width:100%}.welcome-content{max-width:800px;padding:40px;text-align:center}.welcome-content h1{font-size:48px;font-weight:700;margin-bottom:16px;text-shadow:2px 2px 4px #0000004d}.welcome-content>p{font-size:20px;margin-bottom:40px;opacity:.9}.welcome-options{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:40px}.welcome-option{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #fff3;border-radius:12px;padding:32px 24px;transition:all .3s}.welcome-option:hover{background:#ffffff40;box-shadow:0 8px 24px #0003;transform:translateY(-4px)}.option-icon{font-size:48px;margin-bottom:16px}.welcome-option h3{font-size:20px;font-weight:600;margin-bottom:8px}.welcome-option p{font-size:14px;line-height:1.5;margin:0;opacity:.9}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2000}.modal-content{background:#0000;border-radius:12px;max-height:85vh;max-width:600px;overflow-y:auto;padding:0;position:relative;width:90%}.error-toast{align-items:center;animation:slideUp .3s ease;background:#f44;border-radius:6px;bottom:20px;box-shadow:0 4px 12px #0000004d;color:#fff;display:flex;gap:12px;left:50%;padding:12px 20px;position:fixed;transform:translateX(-50%);z-index:3000}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(100px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.error-toast button{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.error-toast button:hover{opacity:.8}.sync-status{animation:pulse 2s infinite;background:#4caf50;border-radius:4px;box-shadow:0 2px 8px #0003;color:#fff;font-size:12px;padding:6px 12px;position:fixed;right:10px;top:10px;z-index:1500}@media (max-width:768px){.welcome-content h1{font-size:32px}.welcome-content>p{font-size:16px}.welcome-options{grid-template-columns:1fr}.modal-content{padding:20px;width:95%}.main-content{margin-left:0!important;width:100%!important}.session-selector.open~.main-content{display:none}}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:20px;width:20px}.react-flow__node:not(.dragging){transition:transform .3s ease-out}.react-flow__node.dragging{transition:none!important}.base-node{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-width:150px;position:relative}.node-content{pointer-events:all}.node-header{margin-bottom:8px}.node-type{font-size:11px;margin-bottom:3px;opacity:.9}.node-label{word-wrap:break-word;font-size:14px;font-weight:700}.node-stats{font-size:11px;margin-top:5px;opacity:.85}.handle{background:#555;border:2px solid #fff;border-radius:50%;height:12px;transition:all .2s ease;width:12px}.handle:hover{background:#333;height:16px;width:16px}.handle-input{left:-6px}.handle-output{right:-6px}.handle-label{background:#ffffffe6;border-radius:3px;color:#333;display:none;font-size:9px;font-weight:500;padding:2px 6px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap}.handle:hover .handle-label{display:block}.handle-label-left{left:-8px;transform:translate(-100%,-50%)}.handle-label-right{right:-8px;transform:translate(100%,-50%)}.workflow-node{box-shadow:0 4px 12px #4a90e24d}.workflow-node:hover{box-shadow:0 6px 16px #4a90e266;transform:translateY(-2px);transition:all .2s ease}.workflow-node.navigable{cursor:pointer;position:relative}.workflow-node.navigable:after{animation:pulse 2s infinite;background:#ffffffb3;border-radius:50%;box-shadow:0 0 4px #ffffff80;content:"";height:8px;position:absolute;right:8px;top:8px;width:8px}.workflow-node.navigable:hover{box-shadow:0 8px 20px #4a90e280;transform:translateY(-3px) scale(1.02)}.workflow-node.navigable:active{transform:translateY(-1px) scale(.98)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.module-node{box-shadow:0 4px 12px #50c8784d}.module-node:hover{box-shadow:0 6px 16px #50c87866;transform:translateY(-2px);transition:all .2s ease}.multi-channel-operation-node{box-shadow:0 4px 12px #ff9f404d}.multi-channel-operation-node:hover{box-shadow:0 6px 16px #ff9f4066;transform:translateY(-2px);transition:all .2s ease}.node-preview{font-family:Courier New,Courier,monospace;max-height:60px;overflow:hidden;text-overflow:ellipsis}.parameter-node{box-shadow:0 4px 12px #50c8784d}.parameter-node:hover{box-shadow:0 6px 16px #50c87866;transform:translateY(-2px);transition:all .2s ease}.simple-value-node{box-shadow:0 4px 12px #50c8784d}.simple-value-node:hover{box-shadow:0 6px 16px #50c87866;transform:translateY(-2px);transition:all .2s ease}.boundary-node{background:#fffffff2;border:2px dashed #4a90e2;border-radius:8px;box-shadow:0 2px 8px #4a90e233;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-width:200px;padding:12px}.boundary-input-node{background:linear-gradient(90deg,#4a90e20d,#4a90e226);border-left:4px solid #4a90e2}.boundary-output-node{background:linear-gradient(270deg,#4a90e20d,#4a90e226);border-right:4px solid #4a90e2}.boundary-node-content{pointer-events:all}.boundary-node-header{align-items:center;color:#2e5c8a;display:flex;font-size:10px;font-weight:600;gap:6px;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.boundary-icon{font-size:14px}.boundary-type{opacity:.8}.boundary-node-label{word-wrap:break-word;color:#333;font-size:13px;font-weight:700;margin-bottom:4px}.boundary-node-source,.boundary-node-target{color:#666;font-size:10px;font-style:italic;margin-top:4px}.boundary-node:hover{border-color:#357abd;box-shadow:0 4px 12px #4a90e24d;transition:all .2s ease}.react-flow__node{border-radius:8px;font-size:12px}.react-flow__node.selected{box-shadow:0 0 0 3px #4a90e280}.react-flow__edge-path{stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke:#4a90e2;stroke-width:3}.react-flow__minimap{background-color:#f8f9fa;border:1px solid #dee2e6}.react-flow__controls{box-shadow:0 2px 8px #00000026}.react-flow__controls-button{border-bottom:1px solid #dee2e6}.react-flow__controls-button:hover{background-color:#f8f9fa}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#0000;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 0.5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;background-color:var(--xy-background-color-default);background-color:var(--xy-background-color,var(--xy-background-color-default));direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 0.5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-default);background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{pointer-events:none;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__edge-path{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width-default);stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke-default);stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width-default);stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;pointer-events:none;position:absolute}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray: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.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected-default);stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke-default);fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{overflow:visible;position:absolute;z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background-color:var(--xy-handle-background-color-default);background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:0;left:50%;top:auto;transform:translate(-50%,50%)}.react-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.react-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.react-flow__handle-right{right:0;top:50%;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.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.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color-default);background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:100%}.react-flow__minimap{background:var(--xy-minimap-background-color-default);background:var(
    --xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default))
  )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-default);fill:var(
      --xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default))
    );stroke:var(--xy-minimap-mask-stroke-color-default);stroke:var(
      --xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default))
    );stroke-width:var(--xy-minimap-mask-stroke-width-default);stroke-width:var(
      --xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default))
    )}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-default);fill:var(
      --xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default))
    );stroke:var(--xy-minimap-node-stroke-color-default);stroke:var(
      --xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default))
    );stroke-width:var(--xy-minimap-node-stroke-width-default);stroke-width:var(
      --xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default))
    )}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-dots-color-default);fill:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default))
    )}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-lines-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default))
    )}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-cross-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))
    )}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow-default);box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));display:flex;flex-direction:column}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{align-items:center;background:var(--xy-controls-button-background-color-default);background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      );color:var(--xy-controls-button-color-default);color:var(
      --xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default))
    );cursor:pointer;display:flex;height:26px;justify-content:center;padding:4px;-webkit-user-select:none;user-select:none;width:26px}.react-flow__controls-button svg{fill:currentColor;max-height:12px;max-width:12px;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:var(--xy-node-background-color-default);background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));border:var(--xy-node-border,var(--xy-node-border-default));border-radius:var(--xy-node-border-radius-default);border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));color:var(--xy-node-color-default);color:var(--xy-node-color,var(--xy-node-color-default));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:var(--xy-node-boxshadow-hover-default);box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.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:var(--xy-node-boxshadow-selected-default);box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color-default);background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color-default);background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.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-button:hover{background:var(--xy-controls-button-background-color-hover-default);background:var(
        --xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default))
      );color:var(--xy-controls-button-color-hover-default);color:var(
        --xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default))
      )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.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:var(--xy-resize-background-color-default);background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;height:5px;translate:-50% -50%;width:5px}.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-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;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;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%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color-default);fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color-default);fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}@keyframes pulse-border{0%,to{border-width:3px;box-shadow:0 0 0 0 #ff9800e6;transform:scale(1)}50%{border-width:4px;box-shadow:0 0 0 20px #ff980000;transform:scale(1.02)}}.execution-state-pending{opacity:.7}.execution-state-completed,.execution-state-running{position:relative}.execution-state-completed:after{background:#4caf50;content:"✓"}.execution-state-completed:after,.execution-state-failed:after{align-items:center;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;position:absolute;right:40px;top:8px;width:24px;z-index:10}.execution-state-failed:after{background:#f44336;content:"✕"}.pipeline-frozen{pointer-events:none;-webkit-user-select:none;user-select:none}.pipeline-frozen:before{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#ffffff4d;bottom:0;content:"";left:0;pointer-events:all;position:absolute;right:0;top:0;z-index:999}.execution-banner{align-items:center;animation:slideDown .3s ease-out;background:#ff9800f2;border-radius:8px;box-shadow:0 4px 12px #0003;color:#fff;display:flex;font-weight:500;gap:12px;left:50%;padding:12px 24px;position:absolute;top:80px;transform:translateX(-50%);z-index:1001}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.execution-banner-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.pipeline-loader{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%}.pipeline-loader-header{align-items:center;background:linear-gradient(180deg,#fff,#f8f9fa);border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:24px 28px;-webkit-user-select:none;user-select:none}.pipeline-loader-header h3{color:#333;font-size:20px;font-weight:600;margin:0}.close-modal-button{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:color .2s;width:32px}.close-modal-button:hover{color:#333}.pipeline-loader-form{padding:32px 28px}.form-group{margin-bottom:24px}.form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input{border:2px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.form-group input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.field-hint{color:#666;display:block;font-size:12px;font-style:italic;margin-top:6px}.button-group{border-top:1px solid #e0e0e0;display:flex;gap:12px;margin-top:32px;padding-top:24px}.load-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:14px 20px;transition:all .2s}.load-button.primary{background-color:#4a90e2;color:#fff}.load-button.primary:hover:not(:disabled){background-color:#3a7bc8;box-shadow:0 4px 12px #4a90e24d}.load-button.secondary{background-color:#f5f5f5;border:2px solid #ddd;color:#666}.load-button.secondary:hover:not(:disabled){background-color:#e8e8e8;border-color:#ccc}.load-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.load-button:active:not(:disabled){transform:translateY(1px)}.session-selector{background:#fff;border-left:2px solid #e0e0e0;box-shadow:-2px 0 8px #0000001a;display:flex;height:100%;overflow:hidden;position:fixed;right:0;top:0;transition:width .3s ease;z-index:1000}.session-selector.open{width:350px}.session-selector.closed{width:40px}.toggle-button{align-items:center;background:#4caf50;border:none;border-radius:8px 0 0 8px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:60px;justify-content:center;left:0;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s;width:40px;z-index:1001}.toggle-button:hover{background:#45a049}.toggle-button:active{background:#3d8b40}.session-selector-content{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:20px 20px 20px 50px;width:100%}.session-selector-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.session-selector-header h2{color:#333;font-size:24px;font-weight:600;margin:0}.refresh-button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:50%;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:all .2s;width:36px}.refresh-button:hover{background:#f5f5f5;border-color:#4caf50}.refresh-button:disabled{cursor:not-allowed;opacity:.5}.current-session-info{background:#e8f5e9;border:1px solid #4caf50;border-radius:6px;margin-bottom:16px;padding:12px}.info-label{color:#2e7d32;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.session-id-display{color:#1b5e20;font-family:Monaco,Courier New,monospace;font-size:13px;word-break:break-all}.error-message{align-items:center;background:#ffebee;border:1px solid #ef5350;border-radius:6px;color:#c62828;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 12px}.error-message button{background:none;border:none;color:#c62828;cursor:pointer;font-size:20px;height:24px;padding:0;width:24px}.error-message button:hover{color:#b71c1c}.session-list{flex:1 1;margin-bottom:16px;min-height:200px;overflow-y:auto}.loading,.no-sessions{color:#757575;font-size:14px;padding:40px 20px;text-align:center}.session-item{background:#fafafa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;margin-bottom:10px;padding:12px;transition:all .2s}.session-item:hover{background:#f0f0f0;border-color:#bdbdbd}.session-item.selected{background:#e3f2fd;border-color:#2196f3}.session-item.current{background:#e8f5e9;border-color:#4caf50}.session-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.session-id{color:#424242;font-family:Monaco,Courier New,monospace;font-size:13px;font-weight:600}.current-badge{background:#4caf50;border-radius:12px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:3px 8px}.session-item-details{display:flex;flex-direction:column;gap:4px}.session-detail{display:flex;font-size:12px;justify-content:space-between}.detail-label{color:#757575;font-weight:500}.detail-value{color:#424242;font-weight:400}.action-buttons{border-top:2px solid #e0e0e0;display:flex;flex-direction:column;gap:10px;padding-top:16px}.primary-button,.secondary-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:12px;transition:all .2s;width:100%}.primary-button{background:#4caf50;color:#fff}.primary-button:hover:not(:disabled){background:#45a049}.primary-button:active:not(:disabled){background:#3d8b40}.primary-button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.secondary-button{background:#2196f3;color:#fff}.secondary-button:hover:not(:disabled){background:#1976d2}.secondary-button:active:not(:disabled){background:#1565c0}.create-options{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:12px}.create-options-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.create-options-header h3{color:#333;font-size:14px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;color:#757575;cursor:pointer;display:flex;font-size:24px;height:28px;justify-content:center;padding:0;width:28px}.close-button:hover{color:#424242}.create-option-button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:13px;padding:10px;text-align:left;transition:all .2s;width:100%}.create-option-button:hover:not(:disabled){background:#e3f2fd;border-color:#2196f3}.create-option-button:disabled{cursor:not-allowed;opacity:.5}.template-section{border-top:1px solid #ddd;margin-top:12px;padding-top:12px}.template-header{color:#666;font-size:12px;font-weight:600;margin-bottom:8px}.template-button{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:12px;margin-bottom:6px;padding:8px;text-align:left;transition:all .2s;width:100%}.template-button:hover:not(:disabled){background:#e8f5e9;border-color:#4caf50}.template-button:disabled{cursor:not-allowed;opacity:.5}.help-text{background:#fff9c4;border:1px solid #fbc02d;border-radius:6px;color:#f57f17;font-size:12px;margin-top:16px;padding:12px}.help-text p{line-height:1.5;margin:0}.help-text strong{font-weight:700}.session-list::-webkit-scrollbar,.session-selector-content::-webkit-scrollbar{width:6px}.session-list::-webkit-scrollbar-track,.session-selector-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.session-list::-webkit-scrollbar-thumb,.session-selector-content::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.session-list::-webkit-scrollbar-thumb:hover,.session-selector-content::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.session-selector.open{width:100%}.toggle-button{right:10px}}.workflow-breadcrumbs{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:8px;left:10px;padding:8px 16px;position:absolute;top:10px;z-index:10}.breadcrumb-button{align-items:center;background:none;border:none;border-radius:4px;color:#555;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s ease}.breadcrumb-button.root{color:#4a90e2;font-weight:600}.breadcrumb-button:hover:not(:disabled){background:#4a90e21a;color:#4a90e2}.breadcrumb-button:active:not(:disabled){transform:scale(.95)}.breadcrumb-button.active{background:#0000000d;color:#333;cursor:default;font-weight:600}.breadcrumb-button:disabled{cursor:default;opacity:.8}.breadcrumb-separator{font-size:14px}@media (prefers-color-scheme:dark){.workflow-breadcrumbs{background:#1e1e1ef2}.breadcrumb-button{color:#ccc}.breadcrumb-button.root{color:#64b5f6}.breadcrumb-button:hover:not(:disabled){background:#64b5f633;color:#64b5f6}.breadcrumb-button.active{background:#ffffff1a;color:#eee}.breadcrumb-separator{color:#666}}.breadcrumb-navigation{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026;display:flex;font-size:14px;gap:15px;max-width:-webkit-fit-content;max-width:fit-content;padding:12px 20px}.breadcrumb-back-button{background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:background .2s}.breadcrumb-back-button:hover{background:#357abd}.breadcrumb-back-button:active{background:#2e5c8a}.breadcrumb-trail{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.breadcrumb-item{color:#666;font-weight:500;transition:color .2s;white-space:nowrap}.breadcrumb-item.clickable{color:#4a90e2;cursor:pointer;text-decoration:none}.breadcrumb-item.clickable:hover{color:#357abd;text-decoration:underline}.breadcrumb-item.active{color:#333;font-weight:600}.breadcrumb-separator{color:#999;font-weight:400;-webkit-user-select:none;user-select:none}
/*# sourceMappingURL=main.617f7e2f.css.map*/