.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, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgb(240, 240, 240, .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, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 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, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .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, .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, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgb(60, 60, 60, .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, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 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, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .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, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color, var(--xy-background-color-props, 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.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .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__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__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__panel{position:absolute;z-index:5;margin:15px}.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%;transform:translate(-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{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{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-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.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__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));transform: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.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.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.top,.react-flow__resize-control.line.bottom{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))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono Variable,JetBrains Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root,.dark{--background: 240 5% 4%;--foreground: 0 0% 98%;--card: 0 0% 9%;--card-foreground: 0 0% 98%;--popover: 0 0% 9%;--popover-foreground: 0 0% 98%;--primary: 49 73% 56%;--primary-foreground: 240 5% 4%;--secondary: 240 5% 13%;--secondary-foreground: 0 0% 98%;--muted: 240 5% 13%;--muted-foreground: 240 7% 68%;--accent: 240 6% 16%;--accent-foreground: 0 0% 98%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 98%;--border: 240 6% 16%;--input: 240 6% 16%;--ring: 49 73% 56%;--radius: 8px}.light{--background: 0 0% 100%;--foreground: 240 5% 4%;--card: 0 0% 100%;--card-foreground: 240 5% 4%;--popover: 0 0% 100%;--popover-foreground: 240 5% 4%;--primary: 49 73% 56%;--primary-foreground: 240 5% 4%;--secondary: 240 5% 96%;--secondary-foreground: 240 5% 4%;--muted: 240 5% 96%;--muted-foreground: 240 4% 46%;--accent: 240 5% 96%;--accent-foreground: 240 5% 4%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 98%;--border: 240 6% 90%;--input: 240 6% 90%;--ring: 49 73% 56%}:root{--nn-ink-rgb: 244, 240, 232;--nn-overlay-rgb: 255, 255, 255;--nn-shade-rgb: 0, 0, 0;--nn-gold-rgb: 221, 198, 49;--nn-error-rgb: 243, 162, 136;--nn-scrim-rgb: 0, 0, 0;--nn-on-scrim-rgb: 244, 240, 232;--nn-canvas: #090909;--nn-flow-bg: #141414;--nn-grid-dot: rgba(255, 255, 255, .055);--nn-card: #202020;--nn-menu: #171717;--nn-panel: rgba(18, 18, 18, .82);--nn-inset: #0d0d0d;--nn-well-bg: rgba(0, 0, 0, .22);--nn-cream: #f4f0e8;--nn-control-text: #f6f1e8;--nn-muted: rgba(244, 240, 232, .54);--nn-option-text: #141414;--nn-gold: #ddc631;--nn-gold-hover: #ecd940;--nn-gold-text: #ddc631;--nn-on-accent: #111;--nn-error: #f3a288;--nn-error-bg: #f3a288;--nn-hairline: rgba(255, 255, 255, .08);--nn-field-bg: rgba(0, 0, 0, .34);--nn-connected-bg: rgba(221, 198, 49, .08);--nn-connected-border: rgba(221, 198, 49, .2);--nn-toggle-thumb: #f4f0e8;--nn-handle-border: #2c2c2c;--nn-handle-ring: rgba(0, 0, 0, .36);--nn-port-default: #8d8d8d;--nn-shadow-card: 0 20px 50px rgba(0, 0, 0, .32);--nn-shadow-menu: 0 22px 50px rgba(0, 0, 0, .55);--nn-swatch-violet: #9b5cff;--nn-swatch-cyan: #27d5e8}:root.light{--nn-ink-rgb: 0, 0, 0;--nn-overlay-rgb: 0, 0, 0;--nn-shade-rgb: 0, 0, 0;--nn-error-rgb: 179, 64, 29;--nn-canvas: #f3f2ef;--nn-flow-bg: #f1f0ec;--nn-grid-dot: rgba(0, 0, 0, .12);--nn-card: #ffffff;--nn-menu: #fbfaf8;--nn-panel: rgba(255, 255, 255, .9);--nn-inset: #f4f3f0;--nn-well-bg: rgba(0, 0, 0, .035);--nn-cream: #1a1917;--nn-control-text: #1a1917;--nn-muted: rgba(0, 0, 0, .6);--nn-option-text: #141414;--nn-gold-text: #7a6a00;--nn-error: #b3401d;--nn-error-bg: #f3a288;--nn-hairline: rgba(0, 0, 0, .1);--nn-field-bg: rgba(0, 0, 0, .045);--nn-connected-bg: rgba(221, 198, 49, .14);--nn-connected-border: rgba(221, 198, 49, .55);--nn-toggle-thumb: #ffffff;--nn-handle-border: #ffffff;--nn-handle-ring: rgba(0, 0, 0, .18);--nn-shadow-card: 0 12px 32px rgba(20, 18, 12, .1);--nn-shadow-menu: 0 16px 40px rgba(20, 18, 12, .16)}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.z-50{z-index:50}.z-\[100\]{z-index:100}.-ml-2{margin-left:-.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.size-12{width:3rem;height:3rem}.size-4{width:1rem;height:1rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-auto{height:auto}.h-full{height:100%}.max-h-64{max-height:16rem}.max-h-\[80vh\]{max-height:80vh}.min-h-\[80px\]{min-height:80px}.w-10{width:2.5rem}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[220px\]{min-width:220px}.min-w-\[8rem\]{min-width:8rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:var(--radius)}.rounded-full{border-radius:9999px}.rounded-md{border-radius:8px}.rounded-sm{border-radius:6px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-border{border-color:hsl(var(--border))}.border-destructive\/60{border-color:hsl(var(--destructive) / .6)}.border-input{border-color:hsl(var(--input))}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-6{padding-right:1.5rem}.text-left{text-align:left}.text-right{text-align:right}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}html,body,#root{height:100%;margin:0}:focus-visible{outline:2px solid var(--nn-gold);outline-offset:2px}.nn-app{display:flex;flex-direction:column;height:100vh;background:var(--nn-canvas);color:var(--nn-cream);font-family:Inter,system-ui,sans-serif}.nn-stage{display:flex;min-height:0;flex:1}.nn-stage-canvas{position:relative;min-height:0;flex:1}.nn-gate{display:flex;height:100vh;align-items:center;justify-content:center;padding:32px;text-align:center;font-size:14px;color:var(--nn-muted);background:var(--nn-canvas)}.nn-launcher{display:flex;max-width:440px;flex-direction:column;gap:14px;text-align:left;line-height:1.5}.nn-launcher__title{font-size:18px;font-weight:600;color:rgb(var(--nn-ink-rgb))}.nn-launcher__steps{margin:0;padding-left:18px;list-style:decimal}.nn-launcher__hint{font-size:12px}.nn-canvas{position:relative;height:100%;width:100%;background-color:var(--nn-canvas);background-image:radial-gradient(circle,var(--nn-grid-dot) 1px,transparent 1px);background-size:28px 28px;--xy-background-color: var(--nn-flow-bg);--xy-edge-stroke: rgba(var(--nn-ink-rgb), .28)}.nn-canvas-notice{position:absolute;bottom:16px;left:50%;z-index:10;max-width:min(420px,calc(100% - 32px));transform:translate(-50%);padding:8px 14px;border:1px solid var(--nn-hairline);border-radius:8px;background:var(--nn-menu);color:var(--nn-cream);font-size:12.5px;line-height:1.4;text-align:center;pointer-events:none}.nn-workflowbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;background:var(--nn-menu);border-bottom:1px solid var(--nn-hairline);font-size:14px}.nn-bar-select{min-height:32px;border:1px solid var(--nn-hairline);border-radius:7px;background:var(--nn-field-bg);color:var(--nn-control-text);padding:0 10px;font:inherit;font-size:13px}.nn-bar-select option{color:var(--nn-option-text)}.nn-bar-btn{min-height:32px;border-radius:7px;border:1px solid rgba(var(--nn-overlay-rgb),.12);background:rgba(var(--nn-overlay-rgb),.055);color:var(--nn-cream);padding:0 14px;cursor:pointer;font-weight:700;font-size:13px}.nn-bar-btn:hover{background:rgba(var(--nn-overlay-rgb),.1)}.nn-bar-btn:disabled{opacity:.5;cursor:default}.nn-bar-btn-gold{background:var(--nn-gold);color:var(--nn-on-accent);border-color:transparent;font-weight:820}.nn-bar-btn-gold:hover{background:var(--nn-gold-hover)}.nn-bar-btn-danger{background:var(--nn-error-bg);color:var(--nn-on-accent);border-color:transparent;font-weight:800}.nn-bar-divider{width:1px;height:20px;background:rgba(var(--nn-overlay-rgb),.12);margin:0 4px}.nn-bar-error{color:var(--nn-error);font-size:12px}.nn-bar-right{margin-left:auto;display:flex;align-items:center;gap:12px}.nn-bar-muted{color:var(--nn-muted);font-size:12px}.nn-toolbar{width:190px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;margin:10px;padding:8px;background:var(--nn-panel);border:1px solid var(--nn-hairline);border-radius:12px}.nn-toolbar-collapsed{width:auto;align-items:center}.nn-toolbar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.nn-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:rgba(var(--nn-ink-rgb),.6);cursor:pointer}.nn-collapse-btn:hover{background:rgba(var(--nn-overlay-rgb),.06);color:var(--nn-cream)}.nn-toolbar-header{margin:0;font-size:12px;font-weight:820;text-transform:uppercase;letter-spacing:.08em;color:rgba(var(--nn-ink-rgb),.58)}.nn-toolbar-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.nn-toolbar-item{display:grid;grid-template-columns:17px 1fr 13px;align-items:center;gap:8px;min-height:31px;padding:0 8px;border:0;border-radius:7px;background:rgba(var(--nn-overlay-rgb),.055);color:var(--nn-cream);cursor:pointer;font-size:13px;text-align:left}.nn-toolbar-item:hover{background:rgba(var(--nn-gold-rgb),.12)}.nn-toolbar-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nn-toolbar-item svg{color:rgba(var(--nn-ink-rgb),.85)}.nn-card{min-width:240px;background:var(--nn-card);border:1px solid rgba(var(--nn-overlay-rgb),.08);border-radius:12px;box-shadow:var(--nn-shadow-card);color:var(--nn-cream);font-size:14px}.react-flow__node.selected .nn-card{border-color:rgba(var(--nn-gold-rgb),.52);box-shadow:var(--nn-shadow-card),0 0 0 2px rgba(var(--nn-gold-rgb),.12)}.nn-title{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 12px;color:rgba(var(--nn-ink-rgb),.62);border-bottom:1px solid rgba(var(--nn-overlay-rgb),.06);cursor:grab}.nn-title:active{cursor:grabbing}.nn-title-left{display:flex;align-items:center;gap:8px}.nn-title-label{font-weight:720;color:var(--nn-cream)}.nn-title-right{display:flex;align-items:center;gap:8px}.nn-status-dot{width:8px;height:8px;border-radius:50%}.nn-remove{display:inline-flex;padding:2px;border:0;border-radius:6px;background:transparent;color:rgba(var(--nn-ink-rgb),.5);cursor:pointer}.nn-remove:hover{color:var(--nn-error);background:rgba(var(--nn-overlay-rgb),.06)}.nn-body{padding:12px 22px 22px}.nn-run{width:100%;min-height:38px;margin-bottom:10px;border:0;border-radius:9px;background:var(--nn-gold);color:var(--nn-on-accent);font-weight:820;font-size:14px;cursor:pointer}.nn-run:hover{background:var(--nn-gold-hover)}.nn-run:disabled{opacity:.7;cursor:default}.nn-row{display:grid;grid-template-columns:136px 1fr;align-items:center;gap:10px;margin-bottom:9px;color:rgba(var(--nn-ink-rgb),.54);font-size:14px;font-weight:680}.nn-row-label{color:rgba(var(--nn-ink-rgb),.54)}.nn-row>select,.nn-row>.nn-field,.nn-select,.nn-input,.nn-field{width:100%;min-height:34px;border:0;border-radius:7px;padding:0 10px;background:var(--nn-field-bg);color:var(--nn-control-text);font:inherit;font-size:14px}.nn-select option{color:var(--nn-option-text)}.nn-textarea,.nn-body textarea{width:100%;min-height:112px;margin-bottom:9px;padding:8px 10px;border:1px solid rgba(var(--nn-overlay-rgb),.06);border-radius:7px;background:var(--nn-field-bg);color:var(--nn-control-text);font:inherit;font-size:14px;resize:vertical}.nn-toggle{position:relative;justify-self:start;width:36px;height:18px;padding:0;border:1px solid rgba(var(--nn-overlay-rgb),.1);border-radius:999px;background:rgba(var(--nn-overlay-rgb),.08);cursor:pointer}.nn-toggle-thumb{position:absolute;top:2px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--nn-toggle-thumb);transition:transform .15s ease}.nn-toggle.on{background:rgba(var(--nn-gold-rgb),.88);border-color:rgba(var(--nn-gold-rgb),.7)}.nn-toggle.on .nn-toggle-thumb{transform:translate(17px)}.nn-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:9px;padding:4px;border-radius:8px;background:rgba(var(--nn-overlay-rgb),.055)}.nn-tab{min-height:30px;border:0;border-radius:6px;background:transparent;color:rgba(var(--nn-ink-rgb),.62);font-weight:820;font-size:13px;cursor:pointer}.nn-tab.active{background:var(--nn-gold);color:var(--nn-on-accent)}.nn-slider-wrap{display:flex;align-items:center;gap:8px}.nn-slider{width:100%;accent-color:var(--nn-gold)}.nn-slider-value{min-width:30px;text-align:right;color:var(--nn-control-text);font-size:13px}.nn-chips-block{margin-bottom:9px}.nn-chips-label{display:block;margin-bottom:6px}.nn-chips{display:flex;flex-wrap:wrap;gap:6px}.nn-chip{padding:4px 10px;border:1px solid rgba(var(--nn-overlay-rgb),.1);border-radius:999px;background:rgba(var(--nn-overlay-rgb),.055);color:rgba(var(--nn-ink-rgb),.7);font-size:12px;cursor:pointer}.nn-chip.active{background:var(--nn-gold);color:var(--nn-on-accent);border-color:rgba(var(--nn-gold-rgb),.7);font-weight:700}.nn-file-block{margin-bottom:9px}.nn-file-btn{text-align:left;cursor:pointer}.nn-file-input{display:none}.nn-file-names{margin:6px 0 0;color:var(--nn-muted);font-size:12px;word-break:break-all}.nn-file-item{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding:6px;border:1px solid var(--nn-hairline);border-radius:8px;background:var(--nn-field-bg)}.nn-file-thumb{flex:none;width:36px;height:36px;border-radius:6px;-o-object-fit:cover;object-fit:cover;background:var(--nn-menu)}.nn-file-meta{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.nn-file-name{overflow:hidden;color:var(--nn-cream);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.nn-file-status{color:var(--nn-muted);font-size:11px}.nn-file-item.is-error .nn-file-status{color:var(--nn-error)}.nn-file-action{flex:none;min-width:28px;height:28px;padding:0 8px;border:1px solid var(--nn-hairline);border-radius:6px;background:transparent;color:var(--nn-cream);font:inherit;font-size:12px;cursor:pointer}.nn-file-action:hover,.nn-file-action:focus-visible{border-color:var(--nn-gold)}.nn-field-connected{display:flex;align-items:center;background:var(--nn-connected-bg);border:1px solid var(--nn-connected-border);color:var(--nn-gold-text)}.nn-ports{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.nn-ports-out{margin-top:6px;margin-bottom:0}.nn-port-row{position:relative;display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(var(--nn-ink-rgb),.7)}.nn-port-row.source{justify-content:flex-end}.nn-port-row.connected{padding:3px 8px;border:1px solid var(--nn-connected-border);border-radius:7px;background:var(--nn-connected-bg)}.nn-connected-tag{margin-left:auto;font-size:11px;color:var(--nn-gold-text)}.react-flow__handle.nn-handle{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:18px;height:18px;min-width:18px;min-height:18px;border:3px solid var(--nn-handle-border);border-radius:50%;background:var(--port-color, var(--nn-port-default));box-shadow:0 0 0 2px var(--nn-handle-ring);transform:none;pointer-events:all;cursor:crosshair}.nn-note{margin:8px 0 0;font-size:12px;color:var(--nn-gold-text)}.nn-error{margin:8px 0 0;font-size:12px;color:var(--nn-error)}.nn-price{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:6px}.nn-price-est{font-size:13px;font-weight:700;color:var(--nn-cream);font-variant-numeric:tabular-nums;min-height:1.2em}.nn-cost{margin:0;font-size:12px;color:var(--nn-muted)}.nn-preview{display:flex;flex-direction:column;gap:8px;margin-top:10px}.nn-preview-media{width:100%;max-height:160px;-o-object-fit:contain;object-fit:contain;border-radius:8px;background:var(--nn-field-bg)}.nn-preview-text{padding:8px 10px;border-radius:7px;background:var(--nn-field-bg);color:rgba(var(--nn-ink-rgb),.7);font-size:12px}.react-flow__node,.react-flow__node.selectable,.react-flow__node.draggable{cursor:default}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__node.draggable .nn-title{cursor:grab}.react-flow__node.draggable .nn-title:active,.react-flow__node.dragging .nn-title{cursor:grabbing}.react-flow__node.draggable .react-flow__handle.nn-handle,.react-flow__node.draggable .react-flow__handle.nn-handle.connectionindicator{pointer-events:all;cursor:crosshair}.nn-canvas.is-connecting .react-flow__pane.draggable,.nn-canvas.is-connecting .react-flow__node,.nn-canvas.is-connecting .react-flow__node.draggable{cursor:crosshair}.react-flow__edge-path{stroke-linecap:round}.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:var(--nn-gold)!important;stroke-width:5!important}.react-flow__connectionline .react-flow__connection-path{stroke:var(--nn-gold);stroke-width:3}.react-flow__controls{box-shadow:none;border-radius:8px;overflow:hidden}.react-flow__controls-button{background:var(--nn-menu);border-bottom:1px solid var(--nn-hairline);color:var(--nn-cream)}.react-flow__controls-button:hover{background:rgba(var(--nn-gold-rgb),.12)}.react-flow__controls-button svg{fill:currentColor}.nn-conn-left{display:inline-flex;align-items:center;gap:8px;min-width:0}.nn-conn-left .nn-row-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nn-conn-row{align-items:center}.nn-conn-field{display:flex;align-items:center;color:rgba(var(--nn-ink-rgb),.7);cursor:default}.nn-output-row{padding:2px 0;font-size:13px;color:rgba(var(--nn-ink-rgb),.72)}.nn-output-row.disabled{opacity:.45}.nn-model-body{padding:12px 16px 16px}.nn-results{margin:-12px -16px 12px;min-height:190px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;padding:12px;background:var(--nn-inset);border-bottom:1px solid rgba(var(--nn-overlay-rgb),.06);border-radius:12px 12px 0 0}.nn-results-empty{color:rgba(var(--nn-ink-rgb),.58);font-size:13px}.nn-results-media{width:100%;max-height:200px;-o-object-fit:contain;object-fit:contain;border-radius:8px}.nn-results-text{align-self:stretch;margin:0;padding:8px 10px;border-radius:7px;background:var(--nn-field-bg);color:rgba(var(--nn-ink-rgb),.75);font-size:12px}.nn-settings{margin-top:10px}.nn-settings-summary{list-style:none;cursor:pointer;padding:6px 8px;border-radius:7px;background:rgba(var(--nn-overlay-rgb),.04);color:rgba(var(--nn-ink-rgb),.62);font-size:13px;font-weight:720;-webkit-user-select:none;-moz-user-select:none;user-select:none}.nn-settings-summary::-webkit-details-marker{display:none}.nn-settings-summary:before{content:"▸";display:inline-block;margin-right:8px;transition:transform .15s ease}.nn-settings[open]>.nn-settings-summary:before{transform:rotate(90deg)}.nn-settings-body{padding-top:12px}.nn-prompt-row{align-items:start}.nn-prompt-textarea{min-height:84px;margin-bottom:0}.nn-subtitle{margin:0 0 12px;color:rgba(var(--nn-ink-rgb),.55);font-size:13px;font-weight:680}.nn-dropzone{min-height:158px;display:flex;align-items:center;justify-content:center;padding:12px;border:1.5px dashed rgba(var(--nn-overlay-rgb),.16);border-radius:10px;background:var(--nn-well-bg)}.nn-dropzone.has-images{align-items:stretch}.nn-dropzone.is-dragover{border-color:rgba(var(--nn-gold-rgb),.7);background:rgba(var(--nn-gold-rgb),.08)}.nn-dropzone-empty{display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(var(--nn-ink-rgb),.58);font-size:13px;text-align:center}.nn-collage{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%}.nn-collage-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;aspect-ratio:1 / 1;overflow:hidden;padding:0;border-radius:7px;background:var(--nn-field-bg);color:rgba(var(--nn-ink-rgb),.55)}.nn-collage-cell.uploading .nn-collage-image{opacity:.55}.nn-collage-cell.error{outline:1px solid rgba(var(--nn-error-rgb),.7)}.nn-collage-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none}.nn-collage-locked{grid-template-columns:1fr}.nn-collage-locked .nn-collage-cell{aspect-ratio:16 / 9}.nn-collage-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.nn-collage-status{position:absolute;inset:auto 4px 4px;padding:1px 5px;border-radius:4px;background:rgba(var(--nn-scrim-rgb),.65);color:rgba(var(--nn-on-scrim-rgb),.85);font-size:9px;font-weight:700}.nn-collage-remove{position:absolute;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:999px;background:rgba(var(--nn-scrim-rgb),.7);color:rgba(var(--nn-on-scrim-rgb),.9);cursor:pointer}.nn-moodboard-error{margin:8px 0 0;color:var(--nn-error);font-size:12px}.nn-moodboard-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.nn-upload-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;cursor:pointer;font-weight:700}.nn-upload-btn:disabled{opacity:.5;cursor:default}.nn-lock-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:40px;border:1px solid rgba(var(--nn-overlay-rgb),.1);border-radius:7px;background:var(--nn-field-bg);color:rgba(var(--nn-ink-rgb),.7);cursor:pointer}.nn-lock-btn.locked{background:rgba(var(--nn-gold-rgb),.18);border-color:rgba(var(--nn-gold-rgb),.5);color:var(--nn-gold-text)}.nn-moodboard-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:12px;color:var(--nn-muted)}.nn-lock-label.locked{color:var(--nn-gold-text);font-weight:700}.nn-portrait-well{position:relative;display:flex;align-items:center;justify-content:center;min-height:96px;margin-bottom:12px;padding:12px;border:1.5px dashed rgba(var(--nn-overlay-rgb),.16);border-radius:10px;background:var(--nn-well-bg)}.nn-portrait-well.connected{border-style:solid;border-color:var(--nn-connected-border);background:var(--nn-connected-bg)}.nn-portrait-well .nn-file-block{margin-bottom:0;width:100%}.nn-portrait-note{color:var(--nn-gold-text);font-size:12px}.nn-swatch-note{display:flex;align-items:center;gap:10px;margin:4px 0 12px;padding:8px 10px;border-radius:8px;background:var(--nn-field-bg)}.nn-swatch{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--nn-gold),var(--nn-swatch-violet) 55%,var(--nn-swatch-cyan));box-shadow:inset 0 0 0 1px rgba(var(--nn-overlay-rgb),.1)}.nn-swatch-label{color:rgba(var(--nn-ink-rgb),.7);font-size:13px}.nn-stage-well{display:flex;align-items:center;justify-content:center;min-height:150px;margin-bottom:12px;padding:12px;border:1px solid rgba(var(--nn-overlay-rgb),.08);border-radius:10px;background:var(--nn-inset)}.nn-stage-empty{color:rgba(var(--nn-ink-rgb),.58);font-size:13px}.nn-context-menu{position:fixed;z-index:50;width:178px;max-height:70vh;overflow-y:auto;padding:4px;background:var(--nn-menu);border:1px solid var(--nn-hairline);border-radius:10px;box-shadow:var(--nn-shadow-menu)}.nn-context-item{display:flex;align-items:center;gap:10px;width:100%;min-height:32px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--nn-cream);font:inherit;font-size:13px;text-align:left;cursor:pointer}.nn-context-item:hover{background:rgba(var(--nn-gold-rgb),.12)}.nn-context-item svg{color:rgba(var(--nn-ink-rgb),.82)}.nn-char-count{margin:-4px 0 8px;color:var(--nn-muted);font-size:11px;text-align:right}.nn-direction-copy{margin:4px 0 12px;padding:8px 10px;border-radius:8px;background:var(--nn-field-bg);color:var(--nn-muted);font-size:12px}.nn-direction-copy summary{cursor:pointer;color:var(--nn-cream);font-weight:600}.nn-direction-copy p{max-height:120px;margin:6px 0 0;overflow-y:auto;line-height:1.4}.nn-smart-actions{display:flex;gap:8px;align-items:flex-start}.nn-smart-actions .nn-run{flex:1;min-width:0}.nn-smart-cancel{min-height:38px}.nn-smart-error{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.nn-smart-error .nn-error{flex:1;min-width:0;overflow-wrap:anywhere}.nn-smart-output{margin-bottom:10px;padding:8px 10px;border:1px solid var(--nn-hairline);border-radius:8px;background:var(--nn-inset)}.nn-smart-output-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.nn-smart-output-text{max-height:200px;margin:0;overflow-y:auto;color:var(--nn-cream);font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;-moz-user-select:text;user-select:text}.nn-smart-output-meta{display:block;margin-top:6px;color:var(--nn-muted);font-size:11px}.nn-holder-well{display:flex;align-items:center;justify-content:center;min-height:150px;margin-bottom:10px;padding:8px;overflow:hidden;border:1px dashed var(--nn-hairline);border-radius:10px;background:var(--nn-inset)}.nn-holder-well.is-dragover{border-color:var(--nn-gold)}.nn-holder-well.is-uploading .nn-holder-media{opacity:.6}.nn-holder-media{display:block;width:100%;max-height:220px;-o-object-fit:contain;object-fit:contain;border-radius:7px}.nn-holder-audio{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;color:var(--nn-muted)}.nn-holder-audio audio,.nn-preview-stage-audio{width:100%;max-width:100%}.nn-holder-empty{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--nn-muted);font-size:13px;text-align:center}.nn-holder-empty small{font-size:11px}.nn-preview-stage{overflow:hidden}.nn-preview-stage-media{display:block;width:100%;max-height:260px;-o-object-fit:contain;object-fit:contain;border-radius:7px}.nn-preview-stage-text{align-self:stretch;max-height:220px;margin:0;overflow-y:auto;color:var(--nn-cream);font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.nn-preview-nav{display:flex;align-items:center;justify-content:center;gap:10px;margin:-4px 0 8px;color:var(--nn-muted);font-size:12px}.nn-preview-thumbs{display:flex;gap:6px;margin-bottom:10px;padding-bottom:4px;overflow-x:auto}.nn-preview-thumb{display:flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:6px;background:var(--nn-field-bg);color:var(--nn-muted);cursor:pointer}.nn-preview-thumb.active{border-color:var(--nn-gold)}.nn-preview-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.nn-collage-locked .nn-moodboard-compiled{margin:0;aspect-ratio:auto;background:transparent}.nn-moodboard-compiled .nn-collage-image{height:auto;-o-object-fit:contain;object-fit:contain}.nn-moodboard-compiled figcaption{padding-top:4px;color:var(--nn-muted);font-size:11px;text-align:center}.nn-model-results{background:var(--nn-inset);border-bottom-color:var(--nn-hairline)}.nn-model-audio{width:100%;max-width:100%}.nn-model-gallery-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;align-self:stretch;min-width:0;font-size:12px}.nn-model-gallery-nav{display:inline-flex;align-items:center;gap:6px}.nn-model-gallery-btn{min-width:28px;min-height:28px;border:1px solid var(--nn-hairline);border-radius:7px;background:var(--nn-field-bg);color:var(--nn-control-text);font:inherit;font-size:14px;cursor:pointer}.nn-model-gallery-btn:disabled{opacity:.4;cursor:default}.nn-model-gallery-count{color:var(--nn-muted);font-variant-numeric:tabular-nums}.nn-model-gallery-link{color:var(--nn-gold-text);font-weight:700;text-decoration:none}.nn-model-gallery-link:hover{text-decoration:underline}.nn-model-run{display:flex;gap:8px;align-items:stretch}.nn-model-run .nn-run{flex:1;min-width:0}.nn-model-cancel{min-height:38px;margin-bottom:10px;padding:0 12px;border:1px solid var(--nn-hairline);border-radius:9px;background:var(--nn-field-bg);color:var(--nn-control-text);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.nn-model-stale .nn-row-label{text-decoration:line-through;color:var(--nn-muted)}.nn-model-stale-field{background:transparent;padding:0}.nn-model-badge{display:inline-flex;align-items:center;min-height:24px;max-width:100%;padding:0 8px;border:1px solid var(--nn-error);border-radius:999px;color:var(--nn-error);font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nn-model-hint{margin:2px 0 8px;color:var(--nn-muted);font-size:12px}.nn-utility-body{padding:12px 16px 16px}.nn-utility-body .nn-tabs{margin-bottom:10px}.nn-utility-results.is-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.nn-utility-results.is-grid .nn-results-media{height:96px;max-height:none;-o-object-fit:cover;object-fit:cover}.nn-utility-result-link{display:block;width:100%;min-width:0}.nn-utility-cancel{background:var(--nn-field-bg);color:var(--nn-control-text);border:1px solid var(--nn-hairline)}.nn-utility-cancel:hover{background:var(--nn-connected-bg)}.nn-utility-model{min-width:0;overflow:hidden;color:var(--nn-control-text);text-overflow:ellipsis;white-space:nowrap}.nn-utility-notice{margin:4px 0 8px;padding:8px 10px;border:1px solid var(--nn-connected-border);border-radius:7px;background:var(--nn-connected-bg);color:var(--nn-control-text);font-size:12px;line-height:1.4}.nn-utility-desc{margin:8px 0 0;color:var(--nn-muted);font-size:12px;line-height:1.4}.nn-orch-body{min-width:0}.nn-orch-fieldset{min-width:0;margin:0;padding:0;border:0}.nn-orch-fieldset:disabled{opacity:.72}.nn-orch-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.nn-orch-control,.nn-orch-label-block{display:block;min-width:0}.nn-orch-label{display:block;margin-bottom:6px;font-size:13px}.nn-orch-hint{margin:0 0 8px;color:var(--nn-muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.nn-orch-warn{color:var(--nn-gold-text)}.nn-orch-section{margin:12px 0;padding:10px 12px;border:1px solid var(--nn-hairline);border-radius:9px;background:var(--nn-well-bg)}.nn-orch-section-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.nn-orch-section-head .nn-orch-hint{flex:1;min-width:0;margin:0;text-align:right}.nn-orch-section-title{margin:0;color:var(--nn-cream);font-size:13px;font-weight:820;white-space:nowrap}.nn-orch-stage.is-locked{border-color:var(--nn-connected-border);background:var(--nn-connected-bg)}.nn-orch-stage.is-disabled{opacity:.55}.nn-orch-textarea{min-height:84px}.nn-orch-textarea-sm{min-height:60px}.nn-orch-textarea[readonly]{color:var(--nn-muted)}.nn-orch-empty,.nn-orch-empty-field{display:flex;align-items:center;justify-content:center;color:var(--nn-muted);font-size:13px}.nn-orch-empty{min-height:72px;margin-bottom:9px;border:1px dashed var(--nn-hairline);border-radius:8px;text-align:center;padding:8px}.nn-orch-sheet{display:block;width:100%;margin-bottom:9px;border-radius:8px;background:var(--nn-inset)}.nn-orch-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.nn-orch-actions .nn-orch-hint{margin:0}.nn-orch-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:0;border-radius:8px;background:var(--nn-gold);color:var(--nn-on-accent);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.nn-orch-btn:hover:not(:disabled){background:var(--nn-gold-hover)}.nn-orch-btn-ghost{border:1px solid var(--nn-hairline);background:var(--nn-field-bg);color:var(--nn-control-text)}.nn-orch-btn-ghost:hover:not(:disabled){border-color:var(--nn-connected-border);background:var(--nn-connected-bg)}.nn-orch-btn:disabled{opacity:.5;cursor:default}.nn-orch-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:0;margin-bottom:8px}.nn-orch-status:empty{margin:0}.nn-orch-status-text{flex:1;min-width:0;color:var(--nn-muted);font-size:12px;overflow-wrap:anywhere}.nn-orch-status-error{color:var(--nn-error)}.nn-orch-lock-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}.nn-orch-inline{display:flex;gap:6px;min-width:0}.nn-orch-count{width:72px;flex:none}.nn-orch-frames{display:grid;gap:10px;margin:0 0 10px;padding:0;list-style:none}.nn-orch-frame{display:grid;grid-template-columns:minmax(96px,40%) minmax(0,1fr);gap:10px;padding:8px;border:1px solid var(--nn-hairline);border-radius:9px;background:var(--nn-well-bg)}.nn-orch-frame.is-running,.nn-orch-frame.is-queued{border-color:var(--nn-connected-border)}.nn-orch-frame.is-failed{border-color:var(--nn-error)}.nn-orch-frame-media{display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:6px;background:var(--nn-inset);text-align:center}.nn-orch-frame-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.nn-orch-frame-media .nn-orch-hint{margin:0;padding:4px}.nn-orch-frame-body{min-width:0}.nn-orch-frame-title{display:block;margin-bottom:4px;color:var(--nn-cream);font-size:12px;font-weight:800}.nn-orch-frame .nn-orch-actions{margin-bottom:0}.nn-orch-confirm{margin:8px 0;padding:10px 12px;border:1px solid var(--nn-connected-border);border-radius:9px;background:var(--nn-connected-bg);color:var(--nn-control-text);font-size:13px;line-height:1.4}.nn-orch-confirm p{margin:0 0 8px}.nn-director-body .nn-row,.nn-storyboard-body .nn-row{grid-template-columns:minmax(96px,36%) minmax(0,1fr)}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:bg-primary\/80:active{background-color:hsl(var(--primary) / .8)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.aria-busy\:cursor-wait[aria-busy=true]{cursor:wait}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[highlighted\]\:bg-accent[data-highlighted]{background-color:hsl(var(--accent))}.data-\[highlighted\]\:text-accent-foreground[data-highlighted]{color:hsl(var(--accent-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}@media(min-width:640px){.sm\:max-w-lg{max-width:32rem}.sm\:max-w-xl{max-width:36rem}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
