.react-flow{direction:ltr;--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:rgba(255,255,255,0.5);--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:rgba(240,240,240,0.6);--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:rgba(240,240,240,0.25);--xy-node-boxshadow-hover-default:0 1px 4px 1px rgba(0,0,0,0.08);--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:rgba(0,89,220,0.08);--xy-selection-border-default:1px dotted rgba(0,89,220,0.8);--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 rgba(0,0,0,0.08);--xy-edge-label-background-color-default:#ffffff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9}.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:rgba(150,150,150,0.25);--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:rgba(60,60,60,0.6);--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--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:rgba(240,240,240,0.25);--xy-node-boxshadow-hover-default:0 1px 4px 1px rgba(255,255,255,0.08);--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:rgba(200,200,220,0.08);--xy-selection-border-default:1px dotted rgba(200,200,220,0.8);--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 rgba(0,0,0,0.08);--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{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{position:absolute;width:100%;height:100%;top:0;left:0}.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{transform-origin:0 0;z-index:2;pointer-events:none}.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,var(--xy-edge-stroke-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,var(--xy-connectionline-stroke-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;position:absolute;pointer-events:none}.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,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;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{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{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.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{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;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%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;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{position:absolute;z-index:5;margin:15px}.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{font-size:10px;background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{position:absolute;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__minimap{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-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-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-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-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-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-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default))
    )}.react-flow__background-pattern.dots{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-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default))
    )}.react-flow__background-pattern.cross{stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))
    )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));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-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default))
    );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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{padding:10px;border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default))}.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,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,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{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,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-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-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{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));translate:-50% -50%}.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-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.spaces-canvas{background-color:transparent;background-image:none;width:100%;height:100%;position:relative;z-index:10}.spaces-canvas:not(.spaces-canvas--space-pan) .react-flow__pane{cursor:crosshair}.spaces-canvas--space-pan .react-flow__pane{cursor:grab!important}.spaces-canvas--space-pan .react-flow__pane:active{cursor:grabbing!important}.custom-node{position:relative;background:rgba(255,255,255,.3);backdrop-filter:blur(24px);border:none;border-radius:12px;padding:0;color:#1a1a1b;width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;box-shadow:0 4px 6px -1px rgba(0,0,0,.05),0 20px 40px -4px rgba(0,0,0,.08);overflow:visible;user-select:none;-webkit-user-select:none}.react-flow__node .custom-node:not(.canvas-group-frame){border:none;background:color-mix(in srgb,var(--foldder-node-header-tint-color,var(--foldder-node-output-color,#94a3b8)) 12%,rgba(255,255,255,.224))}.react-flow__node .custom-node:not(.canvas-group-frame) .node-header{color:#ffffff;background:color-mix(in srgb,var(--foldder-node-header-tint-color,var(--foldder-node-output-color,#94a3b8)) 18%,rgba(255,255,255,.1));border-bottom:none}.react-flow__node .custom-node:not(.canvas-group-frame) .node-header__title{color:#ffffff}.react-flow__node .custom-node:not(.canvas-group-frame) .node-header svg:not(.foldder-node-icon){color:#ffffff;opacity:.98}.react-flow__node .custom-node:not(.canvas-group-frame) .node-header svg.foldder-node-icon{color:#ffffff!important;opacity:1!important}.react-flow__node .custom-node:not(.canvas-group-frame) .node-header .node-badge{color:rgba(255,255,255,.92);background:rgba(0,0,0,.22)}.react-flow__node .custom-node.space-io-node .node-header,.react-flow__node .custom-node.space-node .node-header{color:#fff;background:rgba(15,23,42,.5);border-bottom:none}.react-flow__node .custom-node.space-io-node .node-header svg,.react-flow__node .custom-node.space-node .node-header svg{color:#fff!important;opacity:.95!important}.canvas-group-frame.custom-node{background:transparent!important;border:1px dashed rgba(255,255,255,.42)!important;backdrop-filter:blur(10px) saturate(1.05)!important;-webkit-backdrop-filter:blur(10px) saturate(1.05)!important;box-shadow:none!important}.canvas-group-frame.custom-node:hover{border-color:rgba(255,255,255,.58)!important;box-shadow:none!important}.custom-node [contenteditable=true],.custom-node input,.custom-node textarea{user-select:text;-webkit-user-select:text}.react-flow__resize-control.handle{width:22px!important;height:22px!important;background-color:rgba(30,30,30,.88)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 4v6M12 14v6M4 12h6M14 12h6'/%3E%3C/g%3E%3C/svg%3E")!important;background-size:16px 16px!important;background-repeat:no-repeat!important;background-position:50%!important;border:1px solid rgba(255,255,255,.45)!important;box-shadow:0 1px 3px rgba(0,0,0,.35)!important;border-radius:4px!important;transition:background-color .15s,border-color .15s,box-shadow .15s}.react-flow__resize-control.handle:hover{background-color:rgba(15,15,15,.95)!important;border-color:rgba(255,255,255,.65)!important}.react-flow__resize-control.handle.top.left{translate:calc(-50% - 8px) calc(-50% - 8px)!important}.react-flow__resize-control.handle.top.right{translate:calc(-50% + 8px) calc(-50% - 8px)!important}.react-flow__resize-control.handle.bottom.left{translate:calc(-50% - 8px) calc(-50% + 8px)!important}.react-flow__resize-control.handle.bottom.right{translate:calc(-50% + 8px) calc(-50% + 8px)!important}.react-flow__resize-control.handle.left{translate:calc(-50% - 8px) -50%!important}.react-flow__resize-control.handle.right{translate:calc(-50% + 8px) -50%!important}.react-flow__resize-control.handle.top{translate:-50% calc(-50% - 8px)!important}.react-flow__resize-control.handle.bottom{translate:-50% calc(-50% + 8px)!important}.react-flow__resize-control.line{background:transparent!important;border:none!important;box-shadow:none!important}.react-flow__resize-control.line.top{top:-7px!important}.react-flow__resize-control.line.bottom{top:calc(100% + 7px)!important}.react-flow__resize-control.line.left{left:-7px!important}.react-flow__resize-control.line.right{left:calc(100% + 7px)!important}.react-flow__node .custom-node:not(.canvas-group-frame):hover{border:none;box-shadow:0 30px 60px -12px rgba(0,0,0,.12)}.react-flow__node.selected .custom-node:not(.canvas-group-frame){border:none;box-shadow:0 20px 40px -4px rgba(0,0,0,.1);transform:none}.react-flow__node.selected .canvas-group-frame.custom-node{border:1px dashed rgba(255,255,255,.65)!important;box-shadow:0 0 0 2px rgba(255,255,255,.45),0 20px 40px -4px rgba(0,0,0,.1)!important;transform:none!important}.react-flow__node.selected{outline:none!important}@keyframes foldder-node-canvas-enter{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.react-flow__node.foldder-node-canvas-intro .custom-node{transform-origin:center center;animation:foldder-node-canvas-enter 2s cubic-bezier(.12,.9,.23,1) both}.foldder-overview-mode-active .react-flow__node .custom-node *,.foldder-overview-mode-active .react-flow__node .react-flow__handle{pointer-events:none!important}@keyframes foldder-overview-hover-zoomin{0%{transform:scale(1);filter:brightness(1)}to{transform:scale(1.018);filter:brightness(1.025)}}.foldder-overview-mode-active .react-flow__node.foldder-ctrl-overview-hover .custom-node{outline:4px solid rgba(34,211,238,.95);outline-offset:4px;box-shadow:0 0 0 1px rgba(8,47,73,.45),0 18px 44px -10px rgba(34,211,238,.42);z-index:2;position:relative;transform-origin:center center;animation:foldder-overview-hover-zoomin .58s ease-in-out infinite alternate;will-change:transform,filter}@keyframes library-drop-node-pulse{0%,to{filter:brightness(.82) saturate(.92);opacity:.78}50%{filter:brightness(1.12) saturate(1.06);opacity:1}}.react-flow__node.library-drop-compatible .custom-node{animation:library-drop-node-pulse .95s ease-in-out infinite;will-change:filter,opacity}@keyframes library-drop-node-pulse-hover{0%,to{filter:brightness(.86) saturate(.94);opacity:.82}50%{filter:brightness(1.2) saturate(1.08);opacity:1}}.react-flow__node.library-drop-highlight .custom-node{animation:library-drop-node-pulse-hover .65s ease-in-out infinite;will-change:filter,opacity}.node-header{padding:calc(16px * .7) calc(20px * .7);display:flex;align-items:center;gap:calc(12px * .7);background:rgba(255,255,255,.1);border-bottom:none;font-weight:300;letter-spacing:.1em;font-size:calc(.7rem * 1.9 * .8 * .7);text-transform:uppercase;color:#fff;border-top-left-radius:12px;border-top-right-radius:12px;overflow:hidden}.node-header__title{line-height:1.2;font-weight:300}.node-header svg:not(.foldder-node-icon){opacity:.95;color:#fff}.node-header svg.foldder-node-icon{color:#fff!important;opacity:1!important}.node-header .foldder-node-icon-wrap svg.foldder-node-icon{width:calc(24px * .7)!important;height:calc(24px * .7)!important}.custom-node:hover .foldder-node-icon-wrap{transform:scale(1.05);filter:brightness(1.08)}.foldder-icon-pulse{animation:foldder-icon-pulse 1.35s ease-in-out infinite;transform-origin:center}@keyframes foldder-icon-pulse{0%,to{opacity:.35}50%{opacity:1}}.node-header .node-badge{margin-left:auto;background:rgba(0,0,0,.2);padding:calc(3px * .7) calc(10px * .7);border-radius:calc(4px * .7);font-size:calc(10px * .8 * .7);font-weight:300;color:rgba(255,255,255,.88);letter-spacing:.15em}.node-content{padding:20px;overflow-y:auto;flex:1;min-height:0;background:transparent}.node-content::-webkit-scrollbar{width:4px}.node-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:10px}.node-label{display:block;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;margin-bottom:6px}.node-input,.node-textarea{width:100%;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;padding:12px;color:#1e293b;font-size:.85rem;font-weight:500;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.node-input:focus,.node-textarea:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.1)}.node-slider{appearance:none;width:100%;height:4px;background:rgba(255,255,255,.05);border-radius:10px;outline:none;transition:all .2s}.node-slider::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;cursor:pointer;box-shadow:0 0 10px rgba(0,0,0,.5);border:2px solid #000;transition:all .2s}.node-slider::-webkit-slider-thumb:hover{transform:scale(1.3)}.composer-node{min-width:0}@keyframes foldder-execute-shimmer{0%{background-position:130% 0}to{background-position:-130% 0}}.action-btn,.execute-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;background:linear-gradient(135deg,#1d2433,#2a3448 48%,#35425a);border-radius:8px;border:none;color:#f8fafc;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .35s ease;position:relative;overflow:hidden;box-shadow:0 4px 14px rgba(29,36,51,.32)}.action-btn:after,.execute-btn:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,transparent,rgba(255,255,255,0) 40%,rgba(255,255,255,.28) 50%,rgba(255,255,255,0) 60%,transparent);background-size:260% 100%;background-position:130% 0;opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:0}.action-btn>*,.execute-btn>*{position:relative;z-index:1}.action-btn:hover:not(:disabled):after,.execute-btn:hover:not(:disabled):after{opacity:1;animation:foldder-execute-shimmer 1.15s ease-in-out infinite}.action-btn:hover:not(:disabled),.execute-btn:hover:not(:disabled){background:linear-gradient(135deg,#252d3f,#364356 50%,#3d4d66)}.action-btn:active:not(:disabled),.execute-btn:active:not(:disabled){transition-duration:.1s}.action-btn:disabled,.execute-btn:disabled{opacity:.35;cursor:not-allowed;background:#475569}.react-flow__node .custom-node:not(.canvas-group-frame) .action-btn:not(:disabled),.react-flow__node .custom-node:not(.canvas-group-frame) .execute-btn:not(:disabled){background:linear-gradient(145deg,color-mix(in srgb,var(--foldder-node-header-tint-color,var(--foldder-node-output-color,#64748b)) 72%,#0f172a) 0,color-mix(in srgb,var(--foldder-node-header-tint-color,var(--foldder-node-output-color,#64748b)) 58%,#1e293b) 45%,color-mix(in srgb,var(--foldder-node-header-tint-color,var(--foldder-node-output-color,#64748b)) 48%,#1e293b) 100%);border:none;color:#ffffff;box-shadow:0 4px 16px color-mix(in srgb,var(--foldder-node-header-tint-color,var(--foldder-node-output-color,#64748b)) 28%,rgba(0,0,0,.35))}.react-flow__node .custom-node:not(.canvas-group-frame) .action-btn:hover:not(:disabled),.react-flow__node .custom-node:not(.canvas-group-frame) .execute-btn:hover:not(:disabled){background:linear-gradient(145deg,color-mix(in srgb,var(--foldder-node-header-tint-color,var(--foldder-node-output-color,#64748b)) 78%,#1e293b) 0,color-mix(in srgb,var(--foldder-node-header-tint-color,var(--foldder-node-output-color,#64748b)) 65%,#334155) 50%,color-mix(in srgb,var(--foldder-node-header-tint-color,var(--foldder-node-output-color,#64748b)) 55%,#334155) 100%)}.react-flow__node .custom-node:not(.canvas-group-frame) .action-btn:disabled,.react-flow__node .custom-node:not(.canvas-group-frame) .execute-btn:disabled{background:#475569;border:none;box-shadow:none}.prompt-node--compact .node-content--prompt-fill{padding:0;overflow:visible;flex:0 0 auto;display:flex;flex-direction:column}.prompt-node--compact .node-textarea--prompt-compact{flex:0 0 auto;width:100%;min-height:2.35rem;max-height:min(40vh,320px);resize:none;overflow-x:hidden;overflow-y:auto;border-radius:0 0 11px 11px;border-top:none;padding:6px 12px;font-size:.8125rem;line-height:1.45;margin:0;box-sizing:border-box}.prompt-node--compact .node-header{padding:calc(8px * .7) calc(14px * .7);gap:calc(8px * .7);min-height:0;line-height:1.15;font-size:calc(.62rem * 1.9 * .8 * .7);border-bottom:none;border-radius:11px 11px 0 0}.space-io-node .node-header,.space-io-node.border-rose-500\/30 .node-header,.space-node .node-header{color:#fff;background:rgba(15,23,42,.5);border-bottom:none}.handle-wrapper{position:absolute;display:flex;align-items:center;gap:6px;pointer-events:none;z-index:10;width:max-content}.handle-wrapper.handle-left{right:100%;left:auto;margin-right:var(--foldder-handle-outside-gap);flex-direction:row-reverse}.handle-wrapper.handle-right{left:100%;right:auto;margin-left:var(--foldder-handle-outside-gap);flex-direction:row-reverse}.handle-wrapper.handle-left,.handle-wrapper.handle-right{top:50%;transform:translateY(-50%)}.handle-label{position:relative;z-index:50;flex-shrink:0;font-size:6px;font-weight:400;color:rgba(15,23,42,.88);text-transform:uppercase;letter-spacing:.09em;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:2px 5px;border:none;border-radius:4px;white-space:nowrap;opacity:0;transition:opacity .25s ease,transform .25s ease;box-shadow:0 1px 8px rgba(15,23,42,.06);pointer-events:none}.custom-node:hover .handle-label{opacity:1;transform:translateY(-6px)}.handle-wrapper.handle-right .handle-label{transform-origin:center bottom}:root{--foldder-handle-outside-gap:6px;--foldder-viewport-zoom:0.7;--foldder-handle-zoom-floor:1.37}.react-flow__handle:not(.foldder-data-handle){width:calc(18.564px / max(var(--foldder-viewport-zoom, 1), var(--foldder-handle-zoom-floor, 1.37)))!important;height:calc(18.564px / max(var(--foldder-viewport-zoom, 1), var(--foldder-handle-zoom-floor, 1.37)))!important;border-radius:50%!important;background:transparent!important;border-width:calc(3.276px / max(var(--foldder-viewport-zoom, 1), var(--foldder-handle-zoom-floor, 1.37)))!important;transform-origin:center center;transition:box-shadow .25s cubic-bezier(.175,.885,.32,1.275),border-color .2s;pointer-events:all;box-shadow:none}.react-flow__handle:not(.foldder-data-handle).handle-prompt{border-color:#3b82f6!important}.react-flow__handle:not(.foldder-data-handle).handle-image,.react-flow__handle:not(.foldder-data-handle).handle-video{border-color:#6C5CE7!important}.react-flow__handle:not(.foldder-data-handle).handle-sound{border-color:#a855f7!important}.react-flow__handle:not(.foldder-data-handle).handle-mask{border-color:#06b6d4!important}.react-flow__handle:not(.foldder-data-handle).handle-pdf{border-color:#f97316!important}.react-flow__handle:not(.foldder-data-handle).handle-txt{border-color:#f59e0b!important}.react-flow__handle:not(.foldder-data-handle).handle-url{border-color:#10b981!important}.react-flow__handle:not(.foldder-data-handle).handle-rose{border-color:#f43f5e!important}.react-flow__handle:not(.foldder-data-handle).handle-emerald{border-color:#10b981!important}.foldder-data-handle.react-flow__handle{position:relative;z-index:1;width:calc(26.208px / max(var(--foldder-viewport-zoom, 1), var(--foldder-handle-zoom-floor, 1.37)))!important;height:calc(26.208px / max(var(--foldder-viewport-zoom, 1), var(--foldder-handle-zoom-floor, 1.37)))!important;border-radius:calc(6.552px / max(var(--foldder-viewport-zoom, 1), var(--foldder-handle-zoom-floor, 1.37)))!important;background:linear-gradient(145deg,#1d2433,#2f3a4f 55%,#3d4a62)!important;border:none!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;box-sizing:border-box!important;transition:filter .3s ease,box-shadow .3s ease!important}.foldder-data-handle:not(.foldder-data-handle--connected){box-shadow:none!important}.foldder-data-handle__icon-wrap{width:72%;height:72%;display:flex;align-items:center;justify-content:center;line-height:0}.foldder-data-handle__icon-wrap .foldder-node-icon-wrap{display:flex!important;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0}.foldder-data-handle__icon-wrap svg.foldder-node-icon{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;flex-shrink:0}.foldder-data-handle--connected.handle-prompt{box-shadow:0 0 0 2.8px rgba(59,130,246,.55)!important}.foldder-data-handle--connected.handle-image,.foldder-data-handle--connected.handle-video{box-shadow:0 0 0 2.8px rgba(108,92,231,.55)!important}.foldder-data-handle--connected.handle-sound{box-shadow:0 0 0 2.8px rgba(168,85,247,.55)!important}.foldder-data-handle--connected.handle-mask{box-shadow:0 0 0 2.8px rgba(6,182,212,.55)!important}.foldder-data-handle--connected.handle-pdf{box-shadow:0 0 0 2.8px rgba(249,115,22,.55)!important}.foldder-data-handle--connected.handle-txt{box-shadow:0 0 0 2.8px rgba(245,158,11,.55)!important}.foldder-data-handle--connected.handle-url{box-shadow:0 0 0 2.8px rgba(16,185,129,.55)!important}.foldder-data-handle--connected.handle-rose{box-shadow:0 0 0 2.8px rgba(244,63,94,.55)!important}.foldder-data-handle--connected.handle-emerald{box-shadow:0 0 0 2.8px rgba(16,185,129,.55)!important}.foldder-data-handle--connected.handle-generic{box-shadow:0 0 0 2.8px rgba(148,163,184,.5)!important}.react-flow__handle-left{transform:translate(-50%,-50%)!important}.react-flow__handle-right{transform:translate(50%,-50%)!important}.react-flow__handle-top{transform:translate(-50%,-50%)!important}.react-flow__handle-bottom{transform:translate(-50%,50%)!important}.react-flow__handle:not(.react-flow__handle-left):not(.react-flow__handle-right):not(.react-flow__handle-top):not(.react-flow__handle-bottom){transform:none!important}.handle-wrapper.handle-left .react-flow__handle-left{left:auto!important;right:0!important;top:50%!important;transform:translate(50%,-50%)!important}.handle-wrapper.handle-right .react-flow__handle-right{right:auto!important;left:0!important;top:50%!important;transform:translate(-50%,-50%)!important}.react-flow__handle:not(.foldder-data-handle):hover{background:transparent!important;box-shadow:0 0 0 2px rgba(15,23,42,.14)}.foldder-data-handle:hover{filter:brightness(1.12) saturate(1.05);box-shadow:0 4px 14px rgba(29,36,51,.35)!important}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}body.nb-studio-open [data-foldder-sidebar],body.nb-studio-open [data-foldder-top-hud]{display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important}body.nb-studio-open [data-foldder-reactflow-zoom-badge]{display:none!important;visibility:hidden!important;pointer-events:none!important}.dndnode{padding:8px 4px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:grab;transition:all .3s cubic-bezier(.16,1,.3,1);font-size:.55rem;font-weight:800;color:rgba(255,255,255,.75);position:relative;overflow:hidden;text-align:center;aspect-ratio:1/1;width:82px}.dndnode:hover{background:rgba(255,255,255,.15);border-color:rgba(99,102,241,.6);color:#ffffff;transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.3)}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:10px}.sidebar-category{display:flex;flex-direction:column;gap:12px}.sidebar-category-title{font-size:.65rem;font-weight:900;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.15em}.type-indicator-container{display:flex;justify-content:space-between;align-items:flex-end;width:100%;padding:0 8px;position:absolute;bottom:8px;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.dndnode:hover .type-indicator-container{opacity:1}.type-group{display:flex;gap:2px;flex-wrap:wrap;max-width:45%}.type-dot{width:5px;height:5px;border-radius:50%;background:#222;box-shadow:0 0 6px rgba(0,0,0,.5);transition:all .3s}.type-dot.active{box-shadow:0 0 10px currentColor}.type-dot.image,.type-dot.video{background:#6C5CE7;color:#6C5CE7}.type-dot.prompt{background:#3b82f6;color:#3b82f6}.type-dot.url{background:#10b981;color:#10b981}.type-dot.mask{background:#06b6d4;color:#06b6d4}.type-dot.audio{background:#a855f7;color:#a855f7}.type-dot.pdf,.type-dot.txt{background:#f97316;color:#f97316}.type-dot.json{background:#f59e0b;color:#f59e0b}.dndnode:hover .type-dot.active{transform:scale(1.4)}.spaces-canvas .react-flow__edgelabel-renderer{z-index:10000}.edgebutton{position:relative;z-index:1;box-sizing:border-box;width:calc(22px / max(var(--foldder-viewport-zoom, 1), var(--foldder-handle-zoom-floor, 1.37)));height:calc(22px / max(var(--foldder-viewport-zoom, 1), var(--foldder-handle-zoom-floor, 1.37)));background:#000;border:calc(2px / max(var(--foldder-viewport-zoom, 1), var(--foldder-handle-zoom-floor, 1.37))) solid #333;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#666;box-shadow:0 4px 10px rgba(0,0,0,.5);transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.edgebutton svg{width:calc(10px / max(var(--foldder-viewport-zoom, 1), var(--foldder-handle-zoom-floor, 1.37)))!important;height:calc(10px / max(var(--foldder-viewport-zoom, 1), var(--foldder-handle-zoom-floor, 1.37)))!important;flex-shrink:0}.edgebutton:hover{transform:scale(1.3) rotate(90deg);background:#f43f5e;color:white;border-color:#f43f5e}.react-flow__edge-path{stroke-width:2.5px;transition:stroke .3s}.react-flow__edge.selected .react-flow__edge-path{stroke:#06b6d4!important;stroke-width:3.5px!important}.react-flow__edge.animated .react-flow__edge-path{stroke-dasharray:5;animation:edgePulse 1s linear infinite}@keyframes edgePulse{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}.studio-overlay{animation:studioFadeIn .4s cubic-bezier(.16,1,.3,1)}@keyframes studioFadeIn{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(12px)}}.context-menu{position:fixed;z-index:1000;background:rgba(18,18,20,.85);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;min-width:200px;box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.05);animation:contextMenuFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes leftToolbarFlyoutIn{0%{opacity:0;transform:translateX(-4px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}.left-toolbar-flyout-panel{transform-origin:left center;animation:leftToolbarFlyoutIn 50ms cubic-bezier(.16,1,.3,1) both}.context-menu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;color:rgba(255,255,255,.8);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;transition:all .2s}.context-menu-item:hover{background:rgba(255,255,255,.05);color:#fff}.context-menu-item.danger:hover{background:rgba(244,63,94,.15);color:#fb7185}.context-menu-item.primary{color:#06b6d4}.context-menu-item.primary:hover{background:rgba(6,182,212,.15);color:#22d3ee}.context-menu-separator{height:1px;background:rgba(255,255,255,.05);margin:4px 6px}@keyframes dolly-in{0%{transform:scale(.8);opacity:.5}to{transform:scale(1.2);opacity:1}}@keyframes dolly-out{0%{transform:scale(1.2);opacity:1}to{transform:scale(.8);opacity:.5}}@keyframes orbit{0%{transform:rotate(0deg) translateX(12px) rotate(0deg)}to{transform:rotate(1turn) translateX(12px) rotate(-1turn)}}@keyframes pan{0%{transform:translateX(-5px)}to{transform:translateX(5px)}}@keyframes crane{0%{transform:translateY(5px)}to{transform:translateY(-5px)}}.animate-dolly-in{animation:dolly-in 2s ease-in-out infinite;transform-origin:center}.animate-dolly-out{animation:dolly-out 2s ease-in-out infinite;transform-origin:center}.animate-orbit{animation:orbit 4s linear infinite;transform-origin:center}.animate-pan{animation:pan 3s ease-in-out infinite alternate}.animate-crane{animation:crane 3s ease-in-out infinite alternate}.nb-studio-root{--foldder-violet:#6c5ce7;--foldder-violet-mid:rgba(108,92,231,0.35);--foldder-glass:rgba(255,255,255,0.06);--foldder-glass-border:rgba(255,255,255,0.1);background:#0d0d12;z-index:10050;isolation:isolate}.nb-studio-bottombar,.nb-studio-topbar{background:var(--foldder-glass);backdrop-filter:blur(20px) saturate(1.08);-webkit-backdrop-filter:blur(20px) saturate(1.08)}.nb-studio-topbar{border-bottom:1px solid var(--foldder-glass-border);box-shadow:0 1px 0 rgba(255,255,255,.04);background:linear-gradient(180deg,rgba(13,13,18,.97),rgba(13,13,18,.94)),var(--foldder-glass)}.nb-studio-bottombar{border-top:1px solid var(--foldder-glass-border)}@media (max-height:720px){.nb-studio-topbar{padding-top:.5rem!important;padding-bottom:.5rem!important;row-gap:.375rem!important}.nb-studio-topbar .nb-studio-brand-sub{display:none}.nb-studio-changes-row{padding-top:.75rem!important;padding-bottom:.75rem!important;min-height:3.5rem!important}.nb-studio-topbar .nb-studio-model-sub{font-size:.5625rem;line-height:1}}@media (max-width:480px){.nb-studio-topbar{padding-left:.75rem!important;padding-right:.75rem!important;column-gap:.5rem!important}}.spaces-canvas--cards-mode .react-flow__edges{opacity:.92}.spaces-canvas--cards-mode .react-flow__connectionline{opacity:.85}.spaces-canvas--cards-mode .react-flow__handle{display:none!important;pointer-events:none!important}.spaces-canvas--cards-mode .handle-label{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.spaces-canvas--cards-mode .custom-node:hover .handle-label{opacity:0!important;transform:none!important}.spaces-canvas--cards-mode .react-flow__resize-control{display:none!important}@keyframes foldderCardsIntroA{0%{opacity:.9;transform:scale(.93)}to{opacity:1;transform:scale(1)}}@keyframes foldderCardsIntroB{0%{opacity:.9;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.spaces-canvas--cards-mode .react-flow__node.foldder-cards-front.foldder-cards-intro-a .custom-node{animation:foldderCardsIntroA .42s cubic-bezier(.22,1,.36,1) both;transform-origin:center center}.spaces-canvas--cards-mode .react-flow__node.foldder-cards-front.foldder-cards-intro-b .custom-node{animation:foldderCardsIntroB .42s cubic-bezier(.22,1,.36,1) both;transform-origin:center center}@keyframes foldderAiHudProgress{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}.foldder-ai-request-hud__track{position:relative;margin-top:.4rem;height:4px;width:100%;overflow:hidden;border-radius:9999px;background:rgba(255,255,255,.14);box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}.foldder-ai-request-hud__fill{position:absolute;top:0;left:0;height:100%;width:42%;border-radius:9999px;background:linear-gradient(90deg,rgba(167,139,250,.15),rgba(196,181,253,.95),rgba(167,139,250,.15));box-shadow:0 0 10px rgba(167,139,250,.55);animation:foldderAiHudProgress 1.35s ease-in-out infinite;will-change:transform}.foldder-ai-request-hud__fill--determinate{animation:none;transform:none;will-change:auto;width:auto;min-width:6px;background:linear-gradient(90deg,rgba(124,58,237,.85),rgba(196,181,253,.95));box-shadow:0 0 8px rgba(167,139,250,.45)}@keyframes foldderCanvasBgDistortIn{0%{opacity:.16;filter:blur(26px) saturate(1.7) contrast(1.12) brightness(1.1) hue-rotate(12deg);transform:scale(1.1)}38%{opacity:.82;filter:blur(10px) saturate(1.32) contrast(1.05) brightness(1.03) hue-rotate(4deg);transform:scale(1.03)}to{opacity:1;filter:blur(0) saturate(1) contrast(1) brightness(1) hue-rotate(0);transform:scale(1)}}.foldder-canvas-bg-incoming{animation:foldderCanvasBgDistortIn 1.12s cubic-bezier(.2,.85,.22,1) forwards;transform-origin:center center;will-change:transform,filter,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}@media (prefers-reduced-motion:reduce){.foldder-canvas-bg-incoming{animation-duration:.28s;animation-timing-function:ease-out}}