@particle-academy/fancy-flow 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../node_modules/@xyflow/react/dist/style.css","../src/styles.css"],"sourcesContent":["/* this gets exported as style.css and can be used for the default theming */\n/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */\n.react-flow {\n direction: ltr;\n\n --xy-edge-stroke-default: #b1b1b7;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #555;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);\n\n --xy-minimap-background-color-default: #fff;\n --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #e2e2e2;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: transparent;\n --xy-background-pattern-dots-color-default: #91919a;\n --xy-background-pattern-lines-color-default: #eee;\n --xy-background-pattern-cross-color-default: #e2e2e2;\n background-color: var(--xy-background-color, var(--xy-background-color-default));\n --xy-node-color-default: inherit;\n --xy-node-border-default: 1px solid #1a192b;\n --xy-node-background-color-default: #fff;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;\n --xy-node-border-radius-default: 3px;\n\n --xy-handle-background-color-default: #1a192b;\n --xy-handle-border-color-default: #fff;\n\n --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);\n\n --xy-controls-button-background-color-default: #fefefe;\n --xy-controls-button-background-color-hover-default: #f4f4f4;\n --xy-controls-button-color-default: inherit;\n --xy-controls-button-color-hover-default: inherit;\n --xy-controls-button-border-color-default: #eee;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #ffffff;\n --xy-edge-label-color-default: inherit;\n --xy-resize-background-color-default: #3367d9;\n}\n.react-flow.dark {\n --xy-edge-stroke-default: #3e3e3e;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #727272;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);\n\n --xy-minimap-background-color-default: #141414;\n --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #2b2b2b;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: #141414;\n --xy-background-pattern-dots-color-default: #777;\n --xy-background-pattern-lines-color-default: #777;\n --xy-background-pattern-cross-color-default: #777;\n --xy-node-color-default: #f8f8f8;\n --xy-node-border-default: 1px solid #3c3c3c;\n --xy-node-background-color-default: #1e1e1e;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;\n\n --xy-handle-background-color-default: #bebebe;\n --xy-handle-border-color-default: #1e1e1e;\n\n --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);\n\n --xy-controls-button-background-color-default: #2b2b2b;\n --xy-controls-button-background-color-hover-default: #3e3e3e;\n --xy-controls-button-color-default: #f8f8f8;\n --xy-controls-button-color-hover-default: #fff;\n --xy-controls-button-border-color-default: #5b5b5b;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #141414;\n --xy-edge-label-color-default: #f8f8f8;\n}\n.react-flow__background {\n background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));\n pointer-events: none;\n z-index: -1;\n}\n.react-flow__container {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n.react-flow__pane {\n z-index: 1;\n touch-action: none;\n}\n.react-flow__pane.draggable {\n cursor: grab;\n }\n.react-flow__pane.dragging {\n cursor: grabbing;\n }\n.react-flow__pane.selection {\n cursor: pointer;\n }\n.react-flow__viewport {\n transform-origin: 0 0;\n z-index: 2;\n pointer-events: none;\n}\n.react-flow__renderer {\n z-index: 4;\n}\n.react-flow__selection {\n z-index: 6;\n}\n.react-flow__nodesselection-rect:focus,\n.react-flow__nodesselection-rect:focus-visible {\n outline: none;\n}\n.react-flow__edge-path {\n stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));\n stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));\n fill: none;\n}\n.react-flow__connection-path {\n stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));\n stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));\n fill: none;\n}\n.react-flow .react-flow__edges {\n position: absolute;\n}\n.react-flow .react-flow__edges svg {\n overflow: visible;\n position: absolute;\n pointer-events: none;\n }\n.react-flow__edge {\n pointer-events: visibleStroke;\n}\n.react-flow__edge.selectable {\n cursor: pointer;\n }\n.react-flow__edge.animated path {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\n.react-flow__edge.animated path.react-flow__edge-interaction {\n stroke-dasharray: none;\n animation: none;\n }\n.react-flow__edge.inactive {\n pointer-events: none;\n }\n.react-flow__edge.selected,\n .react-flow__edge:focus,\n .react-flow__edge:focus-visible {\n outline: none;\n }\n.react-flow__edge.selected .react-flow__edge-path,\n .react-flow__edge.selectable:focus .react-flow__edge-path,\n .react-flow__edge.selectable:focus-visible .react-flow__edge-path {\n stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));\n }\n.react-flow__edge-textwrapper {\n pointer-events: all;\n }\n.react-flow__edge .react-flow__edge-text {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n/* Arrowhead marker styles - use CSS custom properties as default */\n.react-flow__arrowhead polyline {\n stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));\n}\n.react-flow__arrowhead polyline.arrowclosed {\n fill: var(--xy-edge-stroke, var(--xy-edge-stroke-default));\n}\n.react-flow__connection {\n pointer-events: none;\n}\n.react-flow__connection .animated {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\nsvg.react-flow__connectionline {\n z-index: 1001;\n overflow: visible;\n position: absolute;\n}\n.react-flow__nodes {\n pointer-events: none;\n transform-origin: 0 0;\n}\n.react-flow__node {\n position: absolute;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n pointer-events: all;\n transform-origin: 0 0;\n box-sizing: border-box;\n cursor: default;\n}\n.react-flow__node.selectable {\n cursor: pointer;\n }\n.react-flow__node.draggable {\n cursor: grab;\n pointer-events: all;\n }\n.react-flow__node.draggable.dragging {\n cursor: grabbing;\n }\n.react-flow__nodesselection {\n z-index: 3;\n transform-origin: left top;\n pointer-events: none;\n}\n.react-flow__nodesselection-rect {\n position: absolute;\n pointer-events: all;\n cursor: grab;\n }\n.react-flow__handle {\n position: absolute;\n pointer-events: none;\n min-width: 5px;\n min-height: 5px;\n width: 6px;\n height: 6px;\n background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));\n border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));\n border-radius: 100%;\n}\n.react-flow__handle.connectingfrom {\n pointer-events: all;\n }\n.react-flow__handle.connectionindicator {\n pointer-events: all;\n cursor: crosshair;\n }\n.react-flow__handle-bottom {\n top: auto;\n left: 50%;\n bottom: 0;\n transform: translate(-50%, 50%);\n }\n.react-flow__handle-top {\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-left {\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-right {\n top: 50%;\n right: 0;\n transform: translate(50%, -50%);\n }\n.react-flow__edgeupdater {\n cursor: move;\n pointer-events: all;\n}\n.react-flow__pane.selection .react-flow__panel {\n pointer-events: none;\n}\n.react-flow__panel {\n position: absolute;\n z-index: 5;\n margin: 15px;\n}\n.react-flow__panel.top {\n top: 0;\n }\n.react-flow__panel.bottom {\n bottom: 0;\n }\n.react-flow__panel.top.center, .react-flow__panel.bottom.center {\n left: 50%;\n transform: translateX(-15px) translateX(-50%);\n }\n.react-flow__panel.left {\n left: 0;\n }\n.react-flow__panel.right {\n right: 0;\n }\n.react-flow__panel.left.center, .react-flow__panel.right.center {\n top: 50%;\n transform: translateY(-15px) translateY(-50%);\n }\n.react-flow__attribution {\n font-size: 10px;\n background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));\n padding: 2px 3px;\n margin: 0;\n}\n.react-flow__attribution a {\n text-decoration: none;\n color: #999;\n }\n@keyframes dashdraw {\n from {\n stroke-dashoffset: 10;\n }\n}\n.react-flow__edgelabel-renderer {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n left: 0;\n top: 0;\n}\n.react-flow__viewport-portal {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.react-flow__minimap {\n background: var(\n --xy-minimap-background-color-props,\n var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))\n );\n}\n.react-flow__minimap-svg {\n display: block;\n }\n.react-flow__minimap-mask {\n fill: var(\n --xy-minimap-mask-background-color-props,\n var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))\n );\n stroke: var(\n --xy-minimap-mask-stroke-color-props,\n var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-mask-stroke-width-props,\n var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))\n );\n }\n.react-flow__minimap-node {\n fill: var(\n --xy-minimap-node-background-color-props,\n var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))\n );\n stroke: var(\n --xy-minimap-node-stroke-color-props,\n var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-node-stroke-width-props,\n var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))\n );\n }\n.react-flow__background-pattern.dots {\n fill: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))\n );\n }\n.react-flow__background-pattern.lines {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))\n );\n }\n.react-flow__background-pattern.cross {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))\n );\n }\n.react-flow__controls {\n display: flex;\n flex-direction: column;\n box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));\n}\n.react-flow__controls.horizontal {\n flex-direction: row;\n }\n.react-flow__controls-button {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 26px;\n width: 26px;\n padding: 4px;\n border: none;\n background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));\n border-bottom: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n color: var(\n --xy-controls-button-color-props,\n var(--xy-controls-button-color, var(--xy-controls-button-color-default))\n );\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.react-flow__controls-button svg {\n width: 100%;\n max-width: 12px;\n max-height: 12px;\n fill: currentColor;\n }\n.react-flow__edge.updating .react-flow__edge-path {\n stroke: #777;\n }\n.react-flow__edge-text {\n font-size: 10px;\n }\n.react-flow__node.selectable:focus,\n .react-flow__node.selectable:focus-visible {\n outline: none;\n }\n.react-flow__node-input,\n.react-flow__node-default,\n.react-flow__node-output,\n.react-flow__node-group {\n padding: 10px;\n border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));\n width: 150px;\n font-size: 12px;\n color: var(--xy-node-color, var(--xy-node-color-default));\n text-align: center;\n border: var(--xy-node-border, var(--xy-node-border-default));\n background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));\n}\n.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {\n box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));\n }\n.react-flow__node-input.selectable.selected,\n .react-flow__node-input.selectable:focus,\n .react-flow__node-input.selectable:focus-visible,\n .react-flow__node-default.selectable.selected,\n .react-flow__node-default.selectable:focus,\n .react-flow__node-default.selectable:focus-visible,\n .react-flow__node-output.selectable.selected,\n .react-flow__node-output.selectable:focus,\n .react-flow__node-output.selectable:focus-visible,\n .react-flow__node-group.selectable.selected,\n .react-flow__node-group.selectable:focus,\n .react-flow__node-group.selectable:focus-visible {\n box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));\n }\n.react-flow__node-group {\n background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));\n}\n.react-flow__nodesselection-rect,\n.react-flow__selection {\n background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));\n border: var(--xy-selection-border, var(--xy-selection-border-default));\n}\n.react-flow__nodesselection-rect:focus,\n .react-flow__nodesselection-rect:focus-visible,\n .react-flow__selection:focus,\n .react-flow__selection:focus-visible {\n outline: none;\n }\n.react-flow__controls-button:hover {\n background: var(\n --xy-controls-button-background-color-hover-props,\n var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))\n );\n color: var(\n --xy-controls-button-color-hover-props,\n var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))\n );\n }\n.react-flow__controls-button:disabled {\n pointer-events: none;\n }\n.react-flow__controls-button:disabled svg {\n fill-opacity: 0.4;\n }\n.react-flow__controls-button:last-child {\n border-bottom: none;\n }\n.react-flow__controls.horizontal .react-flow__controls-button {\n border-bottom: none;\n border-right: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n }\n.react-flow__controls.horizontal .react-flow__controls-button:last-child {\n border-right: none;\n }\n.react-flow__resize-control {\n position: absolute;\n}\n.react-flow__resize-control.left,\n.react-flow__resize-control.right {\n cursor: ew-resize;\n}\n.react-flow__resize-control.top,\n.react-flow__resize-control.bottom {\n cursor: ns-resize;\n}\n.react-flow__resize-control.top.left,\n.react-flow__resize-control.bottom.right {\n cursor: nwse-resize;\n}\n.react-flow__resize-control.bottom.left,\n.react-flow__resize-control.top.right {\n cursor: nesw-resize;\n}\n/* handle styles */\n.react-flow__resize-control.handle {\n width: 5px;\n height: 5px;\n border: 1px solid #fff;\n border-radius: 1px;\n background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n translate: -50% -50%;\n}\n.react-flow__resize-control.handle.left {\n left: 0;\n top: 50%;\n}\n.react-flow__resize-control.handle.right {\n left: 100%;\n top: 50%;\n}\n.react-flow__resize-control.handle.top {\n left: 50%;\n top: 0;\n}\n.react-flow__resize-control.handle.bottom {\n left: 50%;\n top: 100%;\n}\n.react-flow__resize-control.handle.top.left {\n left: 0;\n}\n.react-flow__resize-control.handle.bottom.left {\n left: 0;\n}\n.react-flow__resize-control.handle.top.right {\n left: 100%;\n}\n.react-flow__resize-control.handle.bottom.right {\n left: 100%;\n}\n/* line styles */\n.react-flow__resize-control.line {\n border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n border-width: 0;\n border-style: solid;\n}\n.react-flow__resize-control.line.left,\n.react-flow__resize-control.line.right {\n width: 1px;\n transform: translate(-50%, 0);\n top: 0;\n height: 100%;\n}\n.react-flow__resize-control.line.left {\n left: 0;\n border-left-width: 1px;\n}\n.react-flow__resize-control.line.right {\n left: 100%;\n border-right-width: 1px;\n}\n.react-flow__resize-control.line.top,\n.react-flow__resize-control.line.bottom {\n height: 1px;\n transform: translate(0, -50%);\n left: 0;\n width: 100%;\n}\n.react-flow__resize-control.line.top {\n top: 0;\n border-top-width: 1px;\n}\n.react-flow__resize-control.line.bottom {\n border-bottom-width: 1px;\n top: 100%;\n}\n.react-flow__edge-textbg {\n fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));\n}\n.react-flow__edge-text {\n fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));\n}\n","/* @particle-academy/fancy-flow styles.\n Dark mode honors both `.dark` ancestor (Tailwind class strategy) and OS\n `prefers-color-scheme: dark`. */\n\n/* React Flow base layout CSS — bundled in so consumers import only this one\n stylesheet. Without it `.react-flow__node` isn't absolutely positioned and the\n pane/viewport transforms don't work, so the canvas renders blank. xyflow's JS is\n already bundled into our dist, so the consumer has no separate @xyflow/react to\n import its CSS from. */\n@import \"@xyflow/react/dist/style.css\";\n\n.ff-canvas {\n display: flex;\n flex-direction: column;\n border: 1px solid #e4e4e7;\n border-radius: 12px;\n overflow: hidden;\n background: white;\n}\n.dark .ff-canvas { background: #0a0a0a; border-color: #3f3f46; }\n@media (prefers-color-scheme: dark) {\n .ff-canvas:not(.ff-canvas--light) { background: #0a0a0a; border-color: #3f3f46; }\n}\n\n.ff-canvas__toolbar {\n border-bottom: 1px solid #e4e4e7;\n padding: 6px 8px;\n display: flex; gap: 6px; align-items: center;\n background: rgba(244, 244, 245, 0.6);\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 12px;\n}\n.dark .ff-canvas__toolbar { background: rgba(24, 24, 27, 0.6); border-color: #3f3f46; color: #e4e4e7; }\n@media (prefers-color-scheme: dark) {\n .ff-canvas__toolbar { background: rgba(24, 24, 27, 0.6); border-color: #3f3f46; color: #e4e4e7; }\n}\n.ff-canvas__surface { flex: 1; min-height: 0; position: relative; }\n\n/* xyflow background grid color override for dark canvas */\n.dark .react-flow__background pattern circle { fill: rgba(255, 255, 255, 0.10); }\n\n/* === Nodes === */\n.ff-node {\n min-width: 200px;\n max-width: 280px;\n background: white;\n border: 1px solid #d4d4d8;\n border-radius: 8px;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 12px;\n color: #18181b;\n box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.06);\n transition: box-shadow 200ms, border-color 200ms;\n overflow: hidden;\n}\n.dark .ff-node {\n background: #1c1917;\n color: #fafafa;\n border-color: #3f3f46;\n box-shadow: 0 1px 2px rgba(0,0,0,0.4), 0 6px 16px rgba(0,0,0,0.5);\n}\n@media (prefers-color-scheme: dark) {\n .ff-node { background: #1c1917; color: #fafafa; border-color: #3f3f46; box-shadow: 0 1px 2px rgba(0,0,0,0.4), 0 6px 16px rgba(0,0,0,0.5); }\n}\n.ff-node--selected {\n box-shadow: 0 0 0 2px currentColor, 0 4px 16px rgba(0,0,0,0.20);\n}\n\n.ff-node__header {\n display: flex; align-items: center; gap: 8px;\n padding: 7px 10px;\n color: white;\n font-weight: 600;\n}\n.ff-node__icon { font-size: 14px; line-height: 1; }\n.ff-node__tag {\n font-size: 10px;\n letter-spacing: 0.06em;\n font-weight: 700;\n opacity: 0.85;\n text-transform: uppercase;\n}\n.ff-node__label { flex: 1; font-size: 13px; }\n.ff-node__desc {\n margin: 0;\n padding: 8px 10px 0;\n font-size: 11px;\n color: #71717a;\n}\n.dark .ff-node__desc { color: #a1a1aa; }\n@media (prefers-color-scheme: dark) { .ff-node__desc { color: #a1a1aa; } }\n\n.ff-node__body { padding: 8px 10px 10px; }\n.ff-node__status-text {\n margin: 0;\n padding: 4px 10px 8px;\n font-size: 11px;\n color: #71717a;\n}\n.dark .ff-node__status-text { color: #a1a1aa; }\n@media (prefers-color-scheme: dark) { .ff-node__status-text { color: #a1a1aa; } }\n.ff-node--status-error .ff-node__status-text { color: #dc2626; }\n.dark .ff-node--status-error .ff-node__status-text { color: #f87171; }\n\n.ff-node--status-running { animation: ff-pulse 1.4s ease-in-out infinite; }\n@keyframes ff-pulse {\n 0%, 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4), 0 4px 12px rgba(0,0,0,0.06); }\n 50% { box-shadow: 0 0 0 6px rgba(59, 130, 246, 0.05), 0 4px 12px rgba(0,0,0,0.06); }\n}\n\n/* Status dot in the header */\n.ff-node__dot {\n width: 8px; height: 8px; border-radius: 50%;\n background: rgba(255,255,255,0.5);\n}\n.ff-node__dot--queued { background: #fbbf24; }\n.ff-node__dot--running { background: #fde68a; box-shadow: 0 0 6px #fde68a; }\n.ff-node__dot--done { background: #34d399; }\n.ff-node__dot--error { background: #f87171; }\n\n/* Subgraph metadata row */\n.ff-subgraph__meta {\n display: flex; justify-content: space-between;\n font-size: 11px; color: #71717a;\n}\n.dark .ff-subgraph__meta { color: #a1a1aa; }\n@media (prefers-color-scheme: dark) { .ff-subgraph__meta { color: #a1a1aa; } }\n\n/* Note node — no header chrome, sticky-style */\n.ff-note {\n background: #fef3c7;\n border: 1px solid rgba(0,0,0,0.06);\n border-radius: 6px;\n padding: 8px 10px;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 12px;\n color: #1f2937;\n min-width: 180px;\n box-shadow: 0 1px 2px rgba(0,0,0,0.06), 0 4px 12px rgba(0,0,0,0.06);\n /* Pin to light text-on-yellow even in dark mode for readability */\n color-scheme: light;\n}\n.ff-note--selected { box-shadow: 0 0 0 2px #a855f7, 0 4px 12px rgba(0,0,0,0.2); }\n.ff-note__title { font-weight: 600; margin-bottom: 4px; }\n.ff-note__body { margin: 0; white-space: pre-wrap; }\n\n/* xyflow wraps every custom node in a `.react-flow__node-{type}` div with\n default border / background / box-shadow / padding. Our kit ships its\n own chrome via `.ff-node`, so strip xyflow's defaults for our types\n to avoid the white \"frame\" effect around the colored cards. */\n.react-flow__node-trigger,\n.react-flow__node-action,\n.react-flow__node-decision,\n.react-flow__node-output,\n.react-flow__node-note,\n.react-flow__node-subgraph {\n background: transparent !important;\n border: none !important;\n padding: 0 !important;\n box-shadow: none !important;\n border-radius: 0 !important;\n}\n\n/* xyflow handle — match accent + visible on both themes. */\n.react-flow__handle {\n width: 10px; height: 10px;\n background: white;\n border: 2px solid #94a3b8;\n border-radius: 50%;\n}\n.dark .react-flow__handle { background: #18181b; border-color: #71717a; }\n@media (prefers-color-scheme: dark) {\n .react-flow__handle { background: #18181b; border-color: #71717a; }\n}\n.react-flow__handle:hover { background: #3b82f6; border-color: #3b82f6; }\n\n/* xyflow edge color — softer in dark */\n.dark .react-flow__edge-path { stroke: #71717a; }\n@media (prefers-color-scheme: dark) {\n .react-flow__edge-path { stroke: #71717a; }\n}\n.react-flow__connection-path { stroke: #3b82f6; stroke-width: 2; }\n\n/* xyflow controls — bump specificity + !important so dark theming wins\n over xyflow's default stylesheet. */\n.dark .react-flow__controls,\n.react-flow__controls.ff-controls {\n background: transparent;\n box-shadow: none;\n}\n.dark .react-flow__controls .react-flow__controls-button {\n background: #18181b !important;\n border-color: #3f3f46 !important;\n border-bottom-color: #3f3f46 !important;\n color: #fafafa !important;\n}\n.dark .react-flow__controls .react-flow__controls-button:hover {\n background: #27272a !important;\n}\n.dark .react-flow__controls .react-flow__controls-button svg,\n.dark .react-flow__controls .react-flow__controls-button svg path,\n.dark .react-flow__controls .react-flow__controls-button svg polyline,\n.dark .react-flow__controls .react-flow__controls-button svg polygon {\n fill: currentColor !important;\n stroke: currentColor !important;\n}\n\n/* Run controls */\n.ff-run-controls { display: flex; gap: 6px; }\n.ff-run-controls__btn {\n border: 0; border-radius: 6px;\n padding: 6px 12px;\n font: inherit; font-size: 12px; font-weight: 500;\n cursor: pointer;\n background: #e4e4e7; color: #18181b;\n}\n.dark .ff-run-controls__btn { background: #27272a; color: #fafafa; }\n.ff-run-controls__btn--run { background: #10b981; color: white; }\n.dark .ff-run-controls__btn--run { background: #10b981; color: white; }\n.ff-run-controls__btn--cancel { background: #ef4444; color: white; }\n.ff-run-controls__btn:disabled { opacity: 0.5; cursor: default; }\n\n/* Run feed */\n.ff-run-feed {\n font-family: ui-monospace, monospace;\n font-size: 11px;\n background: #0a0a0a;\n color: #fafafa;\n border-radius: 8px;\n padding: 8px 10px;\n overflow: auto;\n max-height: 240px;\n border: 1px solid #1f1f23;\n}\n.ff-run-feed__empty { color: #71717a; margin: 0; }\n.ff-run-feed__row { display: flex; gap: 8px; padding: 1px 0; }\n.ff-run-feed__row--error .ff-run-feed__text { color: #f87171; }\n.ff-run-feed__row--warn .ff-run-feed__text { color: #fbbf24; }\n.ff-run-feed__row--status .ff-run-feed__text { color: #93c5fd; }\n.ff-run-feed__time { color: #71717a; }\n.ff-run-feed__node { color: #c4b5fd; }\n.ff-run-feed__text { flex: 1; }\n\n/* === Node summary inside the card === */\n.ff-node__summary { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }\n.ff-node__summary li { display: flex; gap: 6px; font-size: 11px; }\n.ff-node__summary-key { color: #71717a; }\n.dark .ff-node__summary-key { color: #a1a1aa; }\n.ff-node__summary-value { font-family: ui-monospace, monospace; }\n.ff-node__summary-more { color: #71717a; font-size: 10px; }\n.ff-node__body-empty { font-size: 11px; color: #a1a1aa; font-style: italic; }\n\n/* === FlowEditor layout === */\n.ff-editor {\n display: grid;\n grid-template-columns: 220px 1fr 320px;\n gap: 12px;\n font-family: ui-sans-serif, system-ui, sans-serif;\n}\n.ff-editor__main { display: flex; flex-direction: column; gap: 8px; min-width: 0; position: relative; }\n/* Slot: rendered over the canvas while the graph is empty. */\n.ff-editor__empty {\n position: absolute; inset: 0; display: grid; place-items: center;\n padding: 24px; text-align: center; pointer-events: none;\n}\n.ff-editor__empty > * { pointer-events: auto; }\n/* Slot: config panel + an optional footer for per-node actions. */\n.ff-editor__panel-wrap { display: flex; flex-direction: column; gap: 8px; min-height: 0; }\n.ff-editor__panel-footer { flex-shrink: 0; display: flex; flex-wrap: wrap; gap: 6px; }\n/* Node right-click menu — fixed so the canvas' overflow can't clip it. */\n.ff-editor__ctx {\n position: fixed; z-index: 50; min-width: 140px; padding: 4px;\n display: flex; flex-direction: column;\n background: white; border: 1px solid #d4d4d8; border-radius: 8px;\n box-shadow: 0 8px 24px rgba(0,0,0,0.12);\n}\n.dark .ff-editor__ctx { background: #18181b; border-color: #3f3f46; }\n.ff-editor__ctx-item {\n border: 0; background: transparent; cursor: pointer; text-align: left;\n padding: 6px 10px; border-radius: 5px; font-size: 12.5px; color: inherit;\n}\n.ff-editor__ctx-item:hover { background: rgba(0,0,0,0.05); }\n.dark .ff-editor__ctx-item:hover { background: #27272a; }\n.ff-editor__ctx-item--danger { color: #dc2626; }\n.dark .ff-editor__ctx-item--danger { color: #f87171; }\n.ff-editor__feed { flex-shrink: 0; }\n.ff-editor__sep { width: 1px; align-self: stretch; background: #e4e4e7; }\n.dark .ff-editor__sep { background: #3f3f46; }\n.ff-editor__btn {\n border: 1px solid #d4d4d8; background: transparent; cursor: pointer;\n border-radius: 6px; padding: 4px 10px;\n color: inherit; font-size: 12px;\n}\n.ff-editor__btn:hover:not(:disabled) { background: rgba(0,0,0,0.04); }\n.ff-editor__btn:disabled { opacity: 0.45; cursor: not-allowed; }\n.dark .ff-editor__btn { border-color: #3f3f46; }\n.dark .ff-editor__btn:hover { background: #27272a; }\n.ff-editor__count {\n margin-left: auto; font-size: 11px; color: #71717a;\n}\n.dark .ff-editor__count { color: #a1a1aa; }\n\n/* === NodePalette === */\n.ff-palette {\n display: flex; flex-direction: column;\n background: white;\n border: 1px solid #e4e4e7;\n border-radius: 12px;\n overflow: hidden;\n font-size: 13px;\n color: #18181b;\n}\n.dark .ff-palette { background: #18181b; color: #fafafa; border-color: #3f3f46; }\n.ff-palette__search { padding: 8px; border-bottom: 1px solid #e4e4e7; }\n.dark .ff-palette__search { border-color: #3f3f46; }\n.ff-palette__search-input {\n width: 100%;\n padding: 6px 10px;\n border: 1px solid #d4d4d8;\n border-radius: 6px;\n background: transparent;\n color: inherit;\n font: inherit;\n}\n.dark .ff-palette__search-input { border-color: #3f3f46; }\n.ff-palette__list { flex: 1; overflow: auto; padding: 4px; }\n.ff-palette__group { padding: 4px 0; }\n.ff-palette__group-label {\n font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase;\n color: #71717a;\n padding: 4px 8px;\n}\n.dark .ff-palette__group-label { color: #a1a1aa; }\n.ff-palette__row {\n width: 100%;\n display: flex; align-items: center; gap: 8px;\n padding: 6px 8px; border: 0; background: transparent; cursor: grab;\n border-radius: 6px;\n text-align: left; color: inherit; font: inherit;\n}\n.ff-palette__row:hover { background: rgba(0,0,0,0.04); }\n.dark .ff-palette__row:hover { background: #27272a; }\n.ff-palette__row:active { cursor: grabbing; }\n.ff-palette__row-dot {\n flex-shrink: 0;\n width: 24px; height: 24px;\n border-radius: 6px;\n display: inline-flex; align-items: center; justify-content: center;\n color: white; font-size: 14px;\n}\n.ff-palette__row-text { display: flex; flex-direction: column; min-width: 0; }\n.ff-palette__row-label { font-size: 12px; font-weight: 500; }\n.ff-palette__row-desc {\n font-size: 11px; color: #71717a;\n white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\n}\n.dark .ff-palette__row-desc { color: #a1a1aa; }\n\n/* === NodeConfigPanel === */\n.ff-panel {\n background: white;\n border: 1px solid #e4e4e7;\n border-radius: 12px;\n padding: 12px;\n display: flex; flex-direction: column; gap: 10px;\n overflow: auto;\n font-size: 13px;\n color: #18181b;\n}\n.dark .ff-panel { background: #18181b; color: #fafafa; border-color: #3f3f46; }\n.ff-panel--empty { align-items: center; justify-content: center; }\n.ff-panel__empty { font-size: 12px; color: #a1a1aa; }\n.ff-panel__header { display: flex; flex-direction: column; gap: 4px; }\n.ff-panel__kind-tag {\n align-self: flex-start;\n font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase;\n background: rgba(168, 85, 247, 0.12); color: #a855f7;\n padding: 2px 8px; border-radius: 999px;\n}\n.ff-panel__kind-desc { margin: 0; font-size: 12px; color: #71717a; }\n.dark .ff-panel__kind-desc { color: #a1a1aa; }\n.ff-panel__divider { border: 0; border-top: 1px solid #e4e4e7; margin: 4px 0; }\n.dark .ff-panel__divider { border-top-color: #3f3f46; }\n\n/* Delete lives at the foot of the panel, separated from the config fields, so\n it is always reachable while a node is selected but never mistaken for one. */\n.ff-panel__actions { margin-top: auto; padding-top: 12px; }\n.ff-panel__delete {\n width: 100%;\n padding: 7px 10px;\n font-size: 13px;\n font-weight: 500;\n color: #dc2626;\n background: transparent;\n border: 1px solid #fca5a5;\n border-radius: 6px;\n cursor: pointer;\n}\n.ff-panel__delete:hover { background: #fef2f2; border-color: #dc2626; }\n.dark .ff-panel__delete { color: #f87171; border-color: #7f1d1d; }\n.dark .ff-panel__delete:hover { background: rgba(127,29,29,0.25); border-color: #f87171; }\n.ff-panel__field { display: flex; flex-direction: column; gap: 4px; }\n.ff-panel__label { font-size: 12px; font-weight: 500; }\n.ff-panel__hint { font-size: 11px; color: #71717a; margin: 0; }\n.dark .ff-panel__hint { color: #a1a1aa; }\n.ff-panel__required { color: #dc2626; }\n.ff-panel__input {\n width: 100%;\n padding: 6px 8px;\n border: 1px solid #d4d4d8;\n border-radius: 6px;\n background: transparent;\n color: inherit;\n font: inherit;\n font-size: 12px;\n box-sizing: border-box;\n}\n.ff-panel__input:focus { outline: 2px solid #a855f7; outline-offset: -1px; }\n.dark .ff-panel__input { border-color: #3f3f46; }\n.ff-panel__input--textarea { font-family: inherit; resize: vertical; }\n.ff-panel__input--expression,\n.ff-panel__input--json {\n font-family: ui-monospace, monospace; font-size: 11px;\n}\n.ff-panel__switch { display: inline-flex; align-items: center; cursor: pointer; }\n.ff-panel__switch input { display: none; }\n.ff-panel__switch-slider {\n width: 32px; height: 18px;\n background: #d4d4d8;\n border-radius: 999px;\n position: relative;\n transition: background 200ms;\n}\n.ff-panel__switch-slider::before {\n content: \"\";\n position: absolute; left: 2px; top: 2px;\n width: 14px; height: 14px;\n background: white;\n border-radius: 50%;\n transition: left 200ms;\n}\n.ff-panel__switch input:checked + .ff-panel__switch-slider { background: #a855f7; }\n.ff-panel__switch input:checked + .ff-panel__switch-slider::before { left: 16px; }\n.ff-panel__issues { margin-top: 4px; }\n.ff-panel__issue { font-size: 11px; color: #b45309; margin: 2px 0; }\n.dark .ff-panel__issue { color: #fbbf24; }\n\n/* ── Repeater / key-value config fields ───────────────────────────── */\n.ff-repeater { display: flex; flex-direction: column; gap: 8px; }\n.ff-repeater__empty { font-size: 11px; color: #71717a; margin: 0; font-style: italic; }\n.dark .ff-repeater__empty { color: #a1a1aa; }\n.ff-repeater__row {\n display: flex; flex-direction: column; gap: 6px;\n border: 1px solid #e4e4e7; border-radius: 6px; padding: 8px; background: #fafafa;\n}\n.dark .ff-repeater__row { border-color: #3f3f46; background: #27272a; }\n.ff-repeater__row-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }\n.ff-repeater__row-title {\n font-size: 11px; font-weight: 600; color: #52525b;\n overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\n}\n.dark .ff-repeater__row-title { color: #d4d4d8; }\n.ff-repeater__row-actions { display: flex; gap: 2px; flex-shrink: 0; }\n.ff-repeater__btn {\n border: 1px solid transparent; background: transparent; cursor: pointer;\n border-radius: 4px; font-size: 11px; line-height: 1; padding: 3px 5px; color: #71717a;\n}\n.ff-repeater__btn:hover:not(:disabled) { background: #e4e4e7; color: #18181b; }\n.dark .ff-repeater__btn:hover:not(:disabled) { background: #3f3f46; color: #fafafa; }\n.ff-repeater__btn:disabled { opacity: .35; cursor: not-allowed; }\n.ff-repeater__btn--danger:hover:not(:disabled) { background: #fee2e2; color: #b91c1c; }\n.dark .ff-repeater__btn--danger:hover:not(:disabled) { background: #7f1d1d; color: #fecaca; }\n.ff-repeater__cell { display: flex; flex-direction: column; gap: 3px; }\n.ff-panel__label--sub { font-size: 11px; color: #71717a; font-weight: 400; }\n.dark .ff-panel__label--sub { color: #a1a1aa; }\n.ff-repeater__add {\n align-self: flex-start; border: 1px dashed #d4d4d8; background: transparent;\n border-radius: 6px; padding: 5px 10px; font-size: 11px; color: #52525b; cursor: pointer;\n}\n.ff-repeater__add:hover:not(:disabled) { border-color: #a855f7; color: #a855f7; }\n.ff-repeater__add:disabled { opacity: .4; cursor: not-allowed; }\n.dark .ff-repeater__add { border-color: #52525b; color: #d4d4d8; }\n\n.ff-keyvalue { display: flex; flex-direction: column; gap: 6px; }\n.ff-keyvalue__head,\n.ff-keyvalue__row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 6px; align-items: center; }\n.ff-keyvalue__head { font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: #a1a1aa; }\n.ff-panel__hint--missing { color: #b45309; font-style: italic; }\n.dark .ff-panel__hint--missing { color: #fbbf24; }\n\n/* ── Edge label editor ────────────────────────────────────────────── */\n.ff-editor__edge-label { padding: 6px; min-width: 200px; }\n.ff-editor__edge-label .ff-panel__input { width: 100%; }\n\n/* ── Rich user input preview ──────────────────────────────────────── */\n.ff-rich-preview { display: flex; flex-direction: column; gap: 6px; }\n.ff-rich-preview__frame {\n border: 1px solid #e4e4e7; border-radius: 6px; overflow: hidden;\n max-height: 180px; background: #fff;\n}\n.dark .ff-rich-preview__frame { border-color: #3f3f46; background: #18181b; }\n.ff-rich-preview__unavailable {\n border: 1px dashed #d4d4d8; border-radius: 6px; padding: 10px;\n font-size: 11px; color: #71717a; line-height: 1.5;\n}\n.dark .ff-rich-preview__unavailable { border-color: #52525b; color: #a1a1aa; }\n.ff-rich-preview__unavailable code {\n font-size: 10px; background: #f4f4f5; padding: 1px 4px; border-radius: 3px;\n}\n.dark .ff-rich-preview__unavailable code { background: #27272a; }\n.ff-rich-preview__title { font-size: 11px; font-weight: 600; color: #52525b; }\n.dark .ff-rich-preview__title { color: #d4d4d8; }\n\n/* Resizable nodes (G11) — a resizable kind drops the fixed max-width so the\n card fills the width/height xyflow's NodeResizer writes onto the node. */\n.ff-node--resizable {\n max-width: none;\n width: 100%;\n height: 100%;\n}\n/* NodeResizer chrome (unstyled by default) — themeable border + handles. */\n.react-flow__resize-control.line { border-color: rgba(0, 0, 0, 0.15); }\n.react-flow__resize-control.handle {\n width: 8px; height: 8px; border-radius: 2px; border: 1px solid #fff;\n}\n.dark .react-flow__resize-control.line { border-color: rgba(255, 255, 255, 0.18); }\n.dark .react-flow__resize-control.handle { border-color: #1c1917; }\n\n/* Swimlanes (G6) — a resizable, titled container band. Child nodes are parented\n into it and render on top; this is just the background, so it fills the node's\n width/height and sits behind its children (xyflow orders a parent before its\n children). */\n.ff-lane {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n background: rgba(100, 116, 139, 0.06);\n border: 1px dashed #cbd5e1;\n border-radius: 8px;\n overflow: hidden;\n}\n.ff-lane--selected { border-style: solid; }\n.ff-lane__header {\n display: flex;\n align-items: center;\n height: 22px;\n padding: 0 8px;\n color: #fff;\n font-size: 11px;\n font-weight: 600;\n font-family: ui-sans-serif, system-ui, sans-serif;\n border-radius: 7px 7px 0 0;\n}\n.ff-lane__title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n\n/* Notes (annotation category) — a resizable sticky-note. Portless + visual-only;\n the engine skips it, so it never reaches a runner. Fill/border come from the\n note's color (inline style); this is layout + typography only. */\n.ff-note {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n padding: 8px 10px;\n border: 1px solid transparent;\n border-radius: 8px;\n font-family: ui-sans-serif, system-ui, sans-serif;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.ff-note--selected { box-shadow: 0 0 0 1px currentColor; }\n.ff-note__title {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n.ff-note__body {\n flex: 1;\n min-height: 0;\n font-size: 12px;\n line-height: 1.5;\n color: #3f3f46;\n white-space: pre-wrap;\n overflow: auto;\n}\n.dark .ff-note__body { color: #e4e4e7; }\n@media (prefers-color-scheme: dark) {\n .ff-note__body:not(.ff-canvas--light *) { color: #e4e4e7; }\n}\n.ff-note__placeholder { color: #a1a1aa; font-style: italic; }\n.ff-note__input {\n flex: 1;\n min-height: 0;\n width: 100%;\n resize: none;\n border: none;\n outline: none;\n background: transparent;\n font: inherit;\n font-size: 12px;\n line-height: 1.5;\n color: inherit;\n}\n\n/* In-editor human-input modal — a run reaches a User Input / Human Approval node\n and blocks here until the person submits. Overlays the editor's main area. */\n.ff-prompt-overlay {\n position: absolute;\n inset: 0;\n z-index: 20;\n display: grid;\n place-items: center;\n padding: 16px;\n background: rgba(9, 9, 11, 0.45);\n backdrop-filter: blur(1px);\n}\n.ff-prompt {\n width: 100%;\n max-width: 420px;\n max-height: 100%;\n overflow: auto;\n padding: 16px;\n border-radius: 12px;\n background: #fff;\n border: 1px solid #e4e4e7;\n box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);\n font-family: ui-sans-serif, system-ui, sans-serif;\n}\n.dark .ff-prompt { background: #18181b; border-color: #3f3f46; }\n@media (prefers-color-scheme: dark) {\n .ff-prompt:not(.ff-canvas--light *) { background: #18181b; border-color: #3f3f46; }\n}\n.ff-prompt__title { font-size: 14px; font-weight: 600; color: #18181b; margin-bottom: 8px; }\n.dark .ff-prompt__title { color: #fafafa; }\n@media (prefers-color-scheme: dark) {\n .ff-prompt__title:not(.ff-canvas--light *) { color: #fafafa; }\n}\n.ff-prompt__desc { font-size: 13px; line-height: 1.5; color: #52525b; margin-bottom: 12px; }\n.dark .ff-prompt__desc { color: #a1a1aa; }\n.ff-prompt__fields { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }\n.ff-prompt__field { display: flex; flex-direction: column; gap: 4px; }\n.ff-prompt__label { font-size: 12px; font-weight: 500; color: #3f3f46; }\n.dark .ff-prompt__label { color: #d4d4d8; }\n.ff-prompt__req { color: #ef4444; }\n.ff-prompt__input {\n width: 100%;\n box-sizing: border-box;\n padding: 8px 10px;\n font-size: 13px;\n border-radius: 8px;\n border: 1px solid #d4d4d8;\n background: #fff;\n color: #18181b;\n outline: none;\n}\n.ff-prompt__input:focus { border-color: #0ea5e9; }\n.dark .ff-prompt__input { background: #27272a; border-color: #3f3f46; color: #fafafa; }\n.ff-prompt__switch { width: 16px; height: 16px; }\n.ff-prompt__actions { display: flex; justify-content: flex-end; gap: 8px; }\n.ff-prompt__btn {\n padding: 7px 14px;\n font-size: 13px;\n font-weight: 500;\n border-radius: 8px;\n border: 1px solid transparent;\n cursor: pointer;\n}\n.ff-prompt__btn--ghost { background: transparent; border-color: #d4d4d8; color: #52525b; }\n.dark .ff-prompt__btn--ghost { border-color: #3f3f46; color: #d4d4d8; }\n.ff-prompt__btn--primary { background: #0ea5e9; color: #fff; }\n.ff-prompt__btn--primary:disabled { opacity: 0.5; cursor: not-allowed; }\n.ff-prompt__btn--danger { background: transparent; border-color: #ef4444; color: #ef4444; }\n\n/* Reactive output (G12) — a node's live computed value. */\n.ff-node__output {\n margin: 0;\n padding: 4px 10px 8px;\n font-size: 11px;\n font-family: ui-monospace, \"SF Mono\", Menlo, monospace;\n color: #059669;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.dark .ff-node__output { color: #34d399; }\n\n/* Alignment guide lines (G15). */\n.ff-helper-line { background: #3b82f6; }\n.dark .ff-lane { background: rgba(148, 163, 184, 0.08); border-color: #3f3f46; }\n@media (prefers-color-scheme: dark) {\n .ff-lane:not(.ff-canvas--light *) { background: rgba(148, 163, 184, 0.08); border-color: #3f3f46; }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../node_modules/@xyflow/react/dist/style.css","../src/styles.css"],"sourcesContent":["/* this gets exported as style.css and can be used for the default theming */\n/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */\n.react-flow {\n direction: ltr;\n\n --xy-edge-stroke-default: #b1b1b7;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #555;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);\n\n --xy-minimap-background-color-default: #fff;\n --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #e2e2e2;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: transparent;\n --xy-background-pattern-dots-color-default: #91919a;\n --xy-background-pattern-lines-color-default: #eee;\n --xy-background-pattern-cross-color-default: #e2e2e2;\n background-color: var(--xy-background-color, var(--xy-background-color-default));\n --xy-node-color-default: inherit;\n --xy-node-border-default: 1px solid #1a192b;\n --xy-node-background-color-default: #fff;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;\n --xy-node-border-radius-default: 3px;\n\n --xy-handle-background-color-default: #1a192b;\n --xy-handle-border-color-default: #fff;\n\n --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);\n\n --xy-controls-button-background-color-default: #fefefe;\n --xy-controls-button-background-color-hover-default: #f4f4f4;\n --xy-controls-button-color-default: inherit;\n --xy-controls-button-color-hover-default: inherit;\n --xy-controls-button-border-color-default: #eee;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #ffffff;\n --xy-edge-label-color-default: inherit;\n --xy-resize-background-color-default: #3367d9;\n}\n.react-flow.dark {\n --xy-edge-stroke-default: #3e3e3e;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #727272;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);\n\n --xy-minimap-background-color-default: #141414;\n --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #2b2b2b;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: #141414;\n --xy-background-pattern-dots-color-default: #777;\n --xy-background-pattern-lines-color-default: #777;\n --xy-background-pattern-cross-color-default: #777;\n --xy-node-color-default: #f8f8f8;\n --xy-node-border-default: 1px solid #3c3c3c;\n --xy-node-background-color-default: #1e1e1e;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;\n\n --xy-handle-background-color-default: #bebebe;\n --xy-handle-border-color-default: #1e1e1e;\n\n --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);\n\n --xy-controls-button-background-color-default: #2b2b2b;\n --xy-controls-button-background-color-hover-default: #3e3e3e;\n --xy-controls-button-color-default: #f8f8f8;\n --xy-controls-button-color-hover-default: #fff;\n --xy-controls-button-border-color-default: #5b5b5b;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #141414;\n --xy-edge-label-color-default: #f8f8f8;\n}\n.react-flow__background {\n background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));\n pointer-events: none;\n z-index: -1;\n}\n.react-flow__container {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n.react-flow__pane {\n z-index: 1;\n touch-action: none;\n}\n.react-flow__pane.draggable {\n cursor: grab;\n }\n.react-flow__pane.dragging {\n cursor: grabbing;\n }\n.react-flow__pane.selection {\n cursor: pointer;\n }\n.react-flow__viewport {\n transform-origin: 0 0;\n z-index: 2;\n pointer-events: none;\n}\n.react-flow__renderer {\n z-index: 4;\n}\n.react-flow__selection {\n z-index: 6;\n}\n.react-flow__nodesselection-rect:focus,\n.react-flow__nodesselection-rect:focus-visible {\n outline: none;\n}\n.react-flow__edge-path {\n stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));\n stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));\n fill: none;\n}\n.react-flow__connection-path {\n stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));\n stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));\n fill: none;\n}\n.react-flow .react-flow__edges {\n position: absolute;\n}\n.react-flow .react-flow__edges svg {\n overflow: visible;\n position: absolute;\n pointer-events: none;\n }\n.react-flow__edge {\n pointer-events: visibleStroke;\n}\n.react-flow__edge.selectable {\n cursor: pointer;\n }\n.react-flow__edge.animated path {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\n.react-flow__edge.animated path.react-flow__edge-interaction {\n stroke-dasharray: none;\n animation: none;\n }\n.react-flow__edge.inactive {\n pointer-events: none;\n }\n.react-flow__edge.selected,\n .react-flow__edge:focus,\n .react-flow__edge:focus-visible {\n outline: none;\n }\n.react-flow__edge.selected .react-flow__edge-path,\n .react-flow__edge.selectable:focus .react-flow__edge-path,\n .react-flow__edge.selectable:focus-visible .react-flow__edge-path {\n stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));\n }\n.react-flow__edge-textwrapper {\n pointer-events: all;\n }\n.react-flow__edge .react-flow__edge-text {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n/* Arrowhead marker styles - use CSS custom properties as default */\n.react-flow__arrowhead polyline {\n stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));\n}\n.react-flow__arrowhead polyline.arrowclosed {\n fill: var(--xy-edge-stroke, var(--xy-edge-stroke-default));\n}\n.react-flow__connection {\n pointer-events: none;\n}\n.react-flow__connection .animated {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\nsvg.react-flow__connectionline {\n z-index: 1001;\n overflow: visible;\n position: absolute;\n}\n.react-flow__nodes {\n pointer-events: none;\n transform-origin: 0 0;\n}\n.react-flow__node {\n position: absolute;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n pointer-events: all;\n transform-origin: 0 0;\n box-sizing: border-box;\n cursor: default;\n}\n.react-flow__node.selectable {\n cursor: pointer;\n }\n.react-flow__node.draggable {\n cursor: grab;\n pointer-events: all;\n }\n.react-flow__node.draggable.dragging {\n cursor: grabbing;\n }\n.react-flow__nodesselection {\n z-index: 3;\n transform-origin: left top;\n pointer-events: none;\n}\n.react-flow__nodesselection-rect {\n position: absolute;\n pointer-events: all;\n cursor: grab;\n }\n.react-flow__handle {\n position: absolute;\n pointer-events: none;\n min-width: 5px;\n min-height: 5px;\n width: 6px;\n height: 6px;\n background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));\n border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));\n border-radius: 100%;\n}\n.react-flow__handle.connectingfrom {\n pointer-events: all;\n }\n.react-flow__handle.connectionindicator {\n pointer-events: all;\n cursor: crosshair;\n }\n.react-flow__handle-bottom {\n top: auto;\n left: 50%;\n bottom: 0;\n transform: translate(-50%, 50%);\n }\n.react-flow__handle-top {\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-left {\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-right {\n top: 50%;\n right: 0;\n transform: translate(50%, -50%);\n }\n.react-flow__edgeupdater {\n cursor: move;\n pointer-events: all;\n}\n.react-flow__pane.selection .react-flow__panel {\n pointer-events: none;\n}\n.react-flow__panel {\n position: absolute;\n z-index: 5;\n margin: 15px;\n}\n.react-flow__panel.top {\n top: 0;\n }\n.react-flow__panel.bottom {\n bottom: 0;\n }\n.react-flow__panel.top.center, .react-flow__panel.bottom.center {\n left: 50%;\n transform: translateX(-15px) translateX(-50%);\n }\n.react-flow__panel.left {\n left: 0;\n }\n.react-flow__panel.right {\n right: 0;\n }\n.react-flow__panel.left.center, .react-flow__panel.right.center {\n top: 50%;\n transform: translateY(-15px) translateY(-50%);\n }\n.react-flow__attribution {\n font-size: 10px;\n background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));\n padding: 2px 3px;\n margin: 0;\n}\n.react-flow__attribution a {\n text-decoration: none;\n color: #999;\n }\n@keyframes dashdraw {\n from {\n stroke-dashoffset: 10;\n }\n}\n.react-flow__edgelabel-renderer {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n left: 0;\n top: 0;\n}\n.react-flow__viewport-portal {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.react-flow__minimap {\n background: var(\n --xy-minimap-background-color-props,\n var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))\n );\n}\n.react-flow__minimap-svg {\n display: block;\n }\n.react-flow__minimap-mask {\n fill: var(\n --xy-minimap-mask-background-color-props,\n var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))\n );\n stroke: var(\n --xy-minimap-mask-stroke-color-props,\n var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-mask-stroke-width-props,\n var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))\n );\n }\n.react-flow__minimap-node {\n fill: var(\n --xy-minimap-node-background-color-props,\n var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))\n );\n stroke: var(\n --xy-minimap-node-stroke-color-props,\n var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-node-stroke-width-props,\n var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))\n );\n }\n.react-flow__background-pattern.dots {\n fill: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))\n );\n }\n.react-flow__background-pattern.lines {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))\n );\n }\n.react-flow__background-pattern.cross {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))\n );\n }\n.react-flow__controls {\n display: flex;\n flex-direction: column;\n box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));\n}\n.react-flow__controls.horizontal {\n flex-direction: row;\n }\n.react-flow__controls-button {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 26px;\n width: 26px;\n padding: 4px;\n border: none;\n background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));\n border-bottom: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n color: var(\n --xy-controls-button-color-props,\n var(--xy-controls-button-color, var(--xy-controls-button-color-default))\n );\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.react-flow__controls-button svg {\n width: 100%;\n max-width: 12px;\n max-height: 12px;\n fill: currentColor;\n }\n.react-flow__edge.updating .react-flow__edge-path {\n stroke: #777;\n }\n.react-flow__edge-text {\n font-size: 10px;\n }\n.react-flow__node.selectable:focus,\n .react-flow__node.selectable:focus-visible {\n outline: none;\n }\n.react-flow__node-input,\n.react-flow__node-default,\n.react-flow__node-output,\n.react-flow__node-group {\n padding: 10px;\n border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));\n width: 150px;\n font-size: 12px;\n color: var(--xy-node-color, var(--xy-node-color-default));\n text-align: center;\n border: var(--xy-node-border, var(--xy-node-border-default));\n background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));\n}\n.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {\n box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));\n }\n.react-flow__node-input.selectable.selected,\n .react-flow__node-input.selectable:focus,\n .react-flow__node-input.selectable:focus-visible,\n .react-flow__node-default.selectable.selected,\n .react-flow__node-default.selectable:focus,\n .react-flow__node-default.selectable:focus-visible,\n .react-flow__node-output.selectable.selected,\n .react-flow__node-output.selectable:focus,\n .react-flow__node-output.selectable:focus-visible,\n .react-flow__node-group.selectable.selected,\n .react-flow__node-group.selectable:focus,\n .react-flow__node-group.selectable:focus-visible {\n box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));\n }\n.react-flow__node-group {\n background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));\n}\n.react-flow__nodesselection-rect,\n.react-flow__selection {\n background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));\n border: var(--xy-selection-border, var(--xy-selection-border-default));\n}\n.react-flow__nodesselection-rect:focus,\n .react-flow__nodesselection-rect:focus-visible,\n .react-flow__selection:focus,\n .react-flow__selection:focus-visible {\n outline: none;\n }\n.react-flow__controls-button:hover {\n background: var(\n --xy-controls-button-background-color-hover-props,\n var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))\n );\n color: var(\n --xy-controls-button-color-hover-props,\n var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))\n );\n }\n.react-flow__controls-button:disabled {\n pointer-events: none;\n }\n.react-flow__controls-button:disabled svg {\n fill-opacity: 0.4;\n }\n.react-flow__controls-button:last-child {\n border-bottom: none;\n }\n.react-flow__controls.horizontal .react-flow__controls-button {\n border-bottom: none;\n border-right: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n }\n.react-flow__controls.horizontal .react-flow__controls-button:last-child {\n border-right: none;\n }\n.react-flow__resize-control {\n position: absolute;\n}\n.react-flow__resize-control.left,\n.react-flow__resize-control.right {\n cursor: ew-resize;\n}\n.react-flow__resize-control.top,\n.react-flow__resize-control.bottom {\n cursor: ns-resize;\n}\n.react-flow__resize-control.top.left,\n.react-flow__resize-control.bottom.right {\n cursor: nwse-resize;\n}\n.react-flow__resize-control.bottom.left,\n.react-flow__resize-control.top.right {\n cursor: nesw-resize;\n}\n/* handle styles */\n.react-flow__resize-control.handle {\n width: 5px;\n height: 5px;\n border: 1px solid #fff;\n border-radius: 1px;\n background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n translate: -50% -50%;\n}\n.react-flow__resize-control.handle.left {\n left: 0;\n top: 50%;\n}\n.react-flow__resize-control.handle.right {\n left: 100%;\n top: 50%;\n}\n.react-flow__resize-control.handle.top {\n left: 50%;\n top: 0;\n}\n.react-flow__resize-control.handle.bottom {\n left: 50%;\n top: 100%;\n}\n.react-flow__resize-control.handle.top.left {\n left: 0;\n}\n.react-flow__resize-control.handle.bottom.left {\n left: 0;\n}\n.react-flow__resize-control.handle.top.right {\n left: 100%;\n}\n.react-flow__resize-control.handle.bottom.right {\n left: 100%;\n}\n/* line styles */\n.react-flow__resize-control.line {\n border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n border-width: 0;\n border-style: solid;\n}\n.react-flow__resize-control.line.left,\n.react-flow__resize-control.line.right {\n width: 1px;\n transform: translate(-50%, 0);\n top: 0;\n height: 100%;\n}\n.react-flow__resize-control.line.left {\n left: 0;\n border-left-width: 1px;\n}\n.react-flow__resize-control.line.right {\n left: 100%;\n border-right-width: 1px;\n}\n.react-flow__resize-control.line.top,\n.react-flow__resize-control.line.bottom {\n height: 1px;\n transform: translate(0, -50%);\n left: 0;\n width: 100%;\n}\n.react-flow__resize-control.line.top {\n top: 0;\n border-top-width: 1px;\n}\n.react-flow__resize-control.line.bottom {\n border-bottom-width: 1px;\n top: 100%;\n}\n.react-flow__edge-textbg {\n fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));\n}\n.react-flow__edge-text {\n fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));\n}\n","/* @particle-academy/fancy-flow styles.\n Themeable: every surface, text, border, and accent resolves from a `--ff-*`\n custom-property layer defined on the component roots below. Override any of\n them on `.ff-editor` (or any ancestor, e.g. `:root`) to retheme the editor\n without fighting specificity — e.g.\n .ff-editor { --ff-accent: #ec4899; --ff-radius: 16px; }\n Dark mode honors both a `.dark` / `[data-theme=\"dark\"]` ancestor (Tailwind\n class strategy, what `colorMode` stamps) and the OS `prefers-color-scheme`,\n with a `.ff-canvas--light` opt-out for the OS path. */\n\n/* React Flow base layout CSS — bundled in so consumers import only this one\n stylesheet. Without it `.react-flow__node` isn't absolutely positioned and the\n pane/viewport transforms don't work, so the canvas renders blank. */\n@import \"@xyflow/react/dist/style.css\";\n\n/* ─── Theme tokens — LIGHT (defaults) ──────────────────────────────────────\n Defined on every component root so both composed (`<FlowEditor>`) and\n standalone (`<NodePalette>`, `<NodeConfigPanel>`, `<FlowRunFeed>`, `<FlowCanvas>`)\n usage inherits them. Nodes inherit from `.ff-canvas`. */\n.ff-editor, .ff-canvas, .ff-palette, .ff-panel, .ff-run-feed, .ff-prompt {\n --ff-font: ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif;\n --ff-mono: ui-monospace, \"SF Mono\", \"JetBrains Mono\", Menlo, Consolas, monospace;\n\n --ff-surface: #ffffff; /* raised: cards, nodes, inputs */\n --ff-surface-2: #f4f4f5; /* recessed: palette, panel, run feed, toolbar */\n --ff-surface-3: #fafafa; /* nested: repeater rows, hover */\n --ff-canvas-bg: #ffffff;\n --ff-canvas-dot: rgba(9, 9, 11, 0.09);\n --ff-node-bg: #ffffff;\n\n --ff-fg: #18181b;\n --ff-fg-muted: #52525b;\n --ff-fg-subtle: #71717a;\n --ff-fg-faint: #a1a1aa;\n\n --ff-border: #e4e4e7;\n --ff-border-strong: #d4d4d8;\n --ff-edge: #9ca3af;\n\n --ff-accent: #8b5cf6; /* selection, focus, brand */\n --ff-accent-soft: rgba(139, 92, 246, 0.12);\n --ff-accent-ring: rgba(139, 92, 246, 0.22);\n\n --ff-run: #10b981;\n --ff-run-hover: #059669;\n --ff-danger: #ef4444;\n --ff-warn: #d97706;\n --ff-warn-soft: rgba(245, 158, 11, 0.15);\n\n --ff-feed-node: #7c3aed; /* node id + status lines in the run feed */\n --ff-feed-ok: #059669;\n\n --ff-radius: 12px; /* shells, cards */\n --ff-radius-md: 8px; /* buttons, nodes */\n --ff-radius-sm: 6px; /* inputs, chips */\n\n --ff-shadow-sm: 0 1px 2px rgba(0,0,0,.05);\n --ff-shadow-md: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.06);\n --ff-shadow-lg: 0 10px 20px -6px rgba(0,0,0,.12), 0 4px 8px -6px rgba(0,0,0,.08);\n}\n\n/* ─── Theme tokens — DARK ──────────────────────────────────────────────── */\n.dark :is(.ff-editor, .ff-canvas, .ff-palette, .ff-panel, .ff-run-feed, .ff-prompt),\n[data-theme=\"dark\"] :is(.ff-editor, .ff-canvas, .ff-palette, .ff-panel, .ff-run-feed, .ff-prompt) {\n --ff-surface: #1c1c22;\n --ff-surface-2: #141419;\n --ff-surface-3: #27272a;\n --ff-canvas-bg: #0a0a0c;\n --ff-canvas-dot: rgba(255, 255, 255, 0.10);\n --ff-node-bg: #1c1c22;\n\n --ff-fg: #fafafa;\n --ff-fg-muted: #d4d4d8;\n --ff-fg-subtle: #a1a1aa;\n --ff-fg-faint: #71717a;\n\n --ff-border: #3f3f46;\n --ff-border-strong: #52525b;\n --ff-edge: #71717a;\n\n --ff-accent: #a78bfa;\n --ff-accent-soft: rgba(167, 139, 250, 0.16);\n --ff-accent-ring: rgba(167, 139, 250, 0.30);\n\n --ff-warn: #fb923c;\n --ff-warn-soft: rgba(251, 146, 60, 0.16);\n --ff-feed-node: #c4b5fd;\n --ff-feed-ok: #34d399;\n\n --ff-shadow-md: 0 1px 2px rgba(0,0,0,.4), 0 6px 16px rgba(0,0,0,.5);\n --ff-shadow-lg: 0 12px 28px -8px rgba(0,0,0,.6), 0 4px 10px -6px rgba(0,0,0,.5);\n}\n@media (prefers-color-scheme: dark) {\n :is(.ff-editor, .ff-canvas, .ff-palette, .ff-panel, .ff-run-feed, .ff-prompt):not(.ff-canvas--light):not(.ff-canvas--light *) {\n --ff-surface: #1c1c22;\n --ff-surface-2: #141419;\n --ff-surface-3: #27272a;\n --ff-canvas-bg: #0a0a0c;\n --ff-canvas-dot: rgba(255, 255, 255, 0.10);\n --ff-node-bg: #1c1c22;\n --ff-fg: #fafafa;\n --ff-fg-muted: #d4d4d8;\n --ff-fg-subtle: #a1a1aa;\n --ff-fg-faint: #71717a;\n --ff-border: #3f3f46;\n --ff-border-strong: #52525b;\n --ff-edge: #71717a;\n --ff-accent: #a78bfa;\n --ff-accent-soft: rgba(167, 139, 250, 0.16);\n --ff-accent-ring: rgba(167, 139, 250, 0.30);\n --ff-warn: #fb923c;\n --ff-warn-soft: rgba(251, 146, 60, 0.16);\n --ff-feed-node: #c4b5fd;\n --ff-feed-ok: #34d399;\n --ff-shadow-md: 0 1px 2px rgba(0,0,0,.4), 0 6px 16px rgba(0,0,0,.5);\n --ff-shadow-lg: 0 12px 28px -8px rgba(0,0,0,.6), 0 4px 10px -6px rgba(0,0,0,.5);\n }\n}\n\n/* ─── Canvas (standalone <FlowCanvas>) ─────────────────────────────────── */\n.ff-canvas {\n display: flex;\n flex-direction: column;\n border: 1px solid var(--ff-border);\n border-radius: var(--ff-radius);\n overflow: hidden;\n background: var(--ff-canvas-bg);\n}\n.ff-canvas__toolbar {\n border-bottom: 1px solid var(--ff-border);\n padding: 8px 10px;\n display: flex; gap: 6px; align-items: center; flex-wrap: wrap;\n background: var(--ff-surface-2);\n color: var(--ff-fg-muted);\n font-family: var(--ff-font);\n font-size: 12px;\n}\n.ff-canvas__surface { flex: 1; min-height: 0; position: relative; background: var(--ff-canvas-bg); }\n\n/* xyflow background grid color via theme token */\n.react-flow__background pattern circle { fill: var(--ff-canvas-dot); }\n\n/* ─── Nodes ────────────────────────────────────────────────────────────── */\n.ff-node {\n min-width: 200px;\n max-width: 280px;\n background: var(--ff-node-bg);\n border: 1px solid var(--ff-border-strong);\n border-radius: var(--ff-radius-md);\n font-family: var(--ff-font);\n font-size: 12px;\n color: var(--ff-fg);\n box-shadow: var(--ff-shadow-md);\n transition: box-shadow 200ms, border-color 200ms;\n overflow: hidden;\n}\n.ff-node:hover { border-color: var(--ff-border); box-shadow: var(--ff-shadow-lg); }\n.ff-node--selected {\n border-color: var(--ff-accent);\n box-shadow: 0 0 0 3px var(--ff-accent-ring), var(--ff-shadow-lg);\n}\n\n.ff-node__header {\n display: flex; align-items: center; gap: 8px;\n padding: 7px 10px;\n color: #fff;\n font-weight: 600;\n}\n.ff-node__icon { font-size: 14px; line-height: 1; }\n.ff-node__tag {\n font-size: 10px;\n letter-spacing: 0.06em;\n font-weight: 700;\n opacity: 0.9;\n text-transform: uppercase;\n}\n.ff-node__label { flex: 1; font-size: 13px; }\n.ff-node__desc { margin: 0; padding: 8px 10px 0; font-size: 11px; color: var(--ff-fg-subtle); }\n.ff-node__body { padding: 8px 10px 10px; }\n.ff-node__status-text { margin: 0; padding: 4px 10px 8px; font-size: 11px; color: var(--ff-fg-subtle); }\n.ff-node--status-error .ff-node__status-text { color: var(--ff-danger); }\n\n.ff-node--status-running { animation: ff-pulse 1.4s ease-in-out infinite; }\n@keyframes ff-pulse {\n 0%, 100% { box-shadow: 0 0 0 0 var(--ff-accent-ring), var(--ff-shadow-md); }\n 50% { box-shadow: 0 0 0 6px transparent, var(--ff-shadow-md); }\n}\n\n/* Status dot in the header */\n.ff-node__dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.5); }\n.ff-node__dot--queued { background: #fbbf24; }\n.ff-node__dot--running { background: #fde68a; box-shadow: 0 0 6px #fde68a; }\n.ff-node__dot--done { background: #34d399; }\n.ff-node__dot--error { background: #f87171; }\n\n/* Subgraph metadata row */\n.ff-subgraph__meta { display: flex; justify-content: space-between; font-size: 11px; color: var(--ff-fg-subtle); }\n\n/* Node summary inside the card */\n.ff-node__summary { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }\n.ff-node__summary li { display: flex; gap: 6px; font-size: 11px; }\n.ff-node__summary-key { color: var(--ff-fg-subtle); }\n.ff-node__summary-value { font-family: var(--ff-mono); }\n.ff-node__summary-more { color: var(--ff-fg-subtle); font-size: 10px; }\n.ff-node__body-empty { font-size: 11px; color: var(--ff-fg-faint); font-style: italic; }\n\n/* Reactive output (G12) — a node's live computed value. */\n.ff-node__output {\n margin: 0; padding: 4px 10px 8px;\n font-size: 11px; font-family: var(--ff-mono);\n color: var(--ff-feed-ok);\n overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\n}\n\n/* xyflow wraps every custom node in a `.react-flow__node-{type}` div with\n default chrome. Our kit ships its own via `.ff-node`, so strip xyflow's. */\n.react-flow__node-trigger,\n.react-flow__node-action,\n.react-flow__node-decision,\n.react-flow__node-output,\n.react-flow__node-note,\n.react-flow__node-subgraph {\n background: transparent !important;\n border: none !important;\n padding: 0 !important;\n box-shadow: none !important;\n border-radius: 0 !important;\n}\n\n/* xyflow handle */\n.react-flow__handle {\n width: 10px; height: 10px;\n background: var(--ff-surface);\n border: 2px solid var(--ff-border-strong);\n border-radius: 50%;\n}\n.react-flow__handle:hover { background: var(--ff-accent); border-color: var(--ff-accent); }\n\n/* xyflow edges */\n.react-flow__edge-path { stroke: var(--ff-edge); }\n.react-flow__connection-path { stroke: var(--ff-accent); stroke-width: 2; }\n\n/* xyflow controls — themed via tokens (bump specificity + !important to beat\n xyflow's own stylesheet). */\n.react-flow__controls { background: transparent; box-shadow: none; }\n.react-flow__controls .react-flow__controls-button {\n background: var(--ff-surface) !important;\n border-color: var(--ff-border) !important;\n border-bottom-color: var(--ff-border) !important;\n color: var(--ff-fg) !important;\n border-radius: var(--ff-radius-sm);\n}\n.react-flow__controls .react-flow__controls-button:hover { background: var(--ff-surface-3) !important; }\n.react-flow__controls .react-flow__controls-button svg,\n.react-flow__controls .react-flow__controls-button svg path,\n.react-flow__controls .react-flow__controls-button svg polyline,\n.react-flow__controls .react-flow__controls-button svg polygon {\n fill: currentColor !important;\n stroke: currentColor !important;\n}\n\n/* NodeResizer chrome */\n.react-flow__resize-control.line { border-color: var(--ff-accent-ring); }\n.react-flow__resize-control.handle { width: 8px; height: 8px; border-radius: 2px; border: 1px solid var(--ff-surface); background: var(--ff-accent); }\n\n/* ─── Swimlanes (G6) ───────────────────────────────────────────────────── */\n.ff-lane {\n width: 100%; height: 100%; box-sizing: border-box;\n background: var(--ff-accent-soft);\n border: 1px dashed var(--ff-border-strong);\n border-radius: var(--ff-radius-md);\n overflow: hidden;\n}\n.ff-lane--selected { border-style: solid; border-color: var(--ff-accent); }\n.ff-lane__header {\n display: flex; align-items: center;\n height: 22px; padding: 0 8px;\n color: #fff; font-size: 11px; font-weight: 600;\n font-family: var(--ff-font);\n border-radius: 7px 7px 0 0;\n}\n.ff-lane__title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n\n/* ─── Notes (annotation) — sticky-note, visual-only ────────────────────── */\n.ff-note {\n width: 100%; height: 100%; box-sizing: border-box;\n padding: 8px 10px;\n border: 1px solid transparent;\n border-radius: var(--ff-radius-md);\n font-family: var(--ff-font);\n box-shadow: var(--ff-shadow-sm);\n overflow: hidden;\n display: flex; flex-direction: column; gap: 4px;\n}\n.ff-note--selected { box-shadow: 0 0 0 2px currentColor; }\n.ff-note__title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }\n.ff-note__body {\n flex: 1; min-height: 0;\n font-size: 12px; line-height: 1.5;\n color: var(--ff-fg-muted);\n white-space: pre-wrap; overflow: auto;\n}\n.ff-note__placeholder { color: var(--ff-fg-faint); font-style: italic; }\n.ff-note__input {\n flex: 1; min-height: 0; width: 100%;\n resize: none; border: none; outline: none; background: transparent;\n font: inherit; font-size: 12px; line-height: 1.5; color: inherit;\n}\n\n/* ─── Run controls ─────────────────────────────────────────────────────── */\n.ff-run-controls { display: flex; gap: 6px; }\n.ff-run-controls__btn {\n border: 1px solid var(--ff-border); border-radius: var(--ff-radius-sm);\n padding: 6px 12px;\n font: inherit; font-size: 12px; font-weight: 500;\n cursor: pointer;\n background: var(--ff-surface); color: var(--ff-fg);\n transition: background 150ms, border-color 150ms;\n}\n.ff-run-controls__btn:hover:not(:disabled) { background: var(--ff-surface-3); }\n.ff-run-controls__btn--run { background: var(--ff-run); border-color: var(--ff-run-hover); color: #fff; }\n.ff-run-controls__btn--run:hover:not(:disabled) { background: var(--ff-run-hover); }\n.ff-run-controls__btn--cancel { background: var(--ff-danger); border-color: var(--ff-danger); color: #fff; }\n.ff-run-controls__btn:disabled { opacity: 0.5; cursor: default; }\n\n/* ─── Run feed (header + scrolling body) ───────────────────────────────── */\n.ff-run-feed {\n display: flex; flex-direction: column;\n font-family: var(--ff-mono);\n background: var(--ff-surface-2);\n color: var(--ff-fg);\n border: 1px solid var(--ff-border);\n border-radius: var(--ff-radius-md);\n overflow: hidden;\n max-height: 260px;\n}\n.ff-run-feed__header {\n display: flex; align-items: center; gap: 8px;\n padding: 7px 12px;\n border-bottom: 1px solid var(--ff-border);\n font-family: var(--ff-font);\n font-size: 11.5px; font-weight: 600; color: var(--ff-fg-muted);\n flex-shrink: 0;\n}\n.ff-run-feed__title { color: var(--ff-accent); font-family: var(--ff-mono); }\n.ff-run-feed__badge {\n font-family: var(--ff-font); font-size: 10px; font-weight: 600;\n color: var(--ff-warn); background: var(--ff-warn-soft);\n padding: 1px 8px; border-radius: 999px;\n}\n.ff-run-feed__count { margin-left: auto; font-family: var(--ff-mono); font-size: 10.5px; color: var(--ff-fg-faint); }\n.ff-run-feed__body { flex: 1; min-height: 0; overflow: auto; padding: 8px 12px; font-size: 11px; line-height: 1.7; }\n.ff-run-feed__empty { color: var(--ff-fg-subtle); margin: 0; }\n.ff-run-feed__row { display: flex; gap: 9px; padding: 1px 0; white-space: pre-wrap; word-break: break-word; }\n.ff-run-feed__time { color: var(--ff-fg-faint); flex-shrink: 0; }\n.ff-run-feed__node { color: var(--ff-feed-node); flex-shrink: 0; }\n.ff-run-feed__text { flex: 1; min-width: 0; }\n.ff-run-feed__row--error .ff-run-feed__text { color: var(--ff-danger); }\n.ff-run-feed__row--warn .ff-run-feed__text { color: var(--ff-warn); }\n.ff-run-feed__row--status .ff-run-feed__text { color: var(--ff-feed-node); }\n\n/* ─── FlowEditor — unified shell ───────────────────────────────────────── */\n.ff-editor {\n display: grid;\n grid-template-columns: 216px 1fr 300px;\n gap: 0;\n font-family: var(--ff-font);\n background: var(--ff-surface);\n border: 1px solid var(--ff-border);\n border-radius: var(--ff-radius);\n overflow: hidden;\n box-shadow: var(--ff-shadow-md);\n}\n.ff-editor__main { display: flex; flex-direction: column; min-width: 0; min-height: 0; position: relative; background: var(--ff-canvas-bg); }\n/* The canvas fills the middle column seamlessly — the shell owns the frame. */\n.ff-editor__main .ff-canvas { flex: 1; min-height: 0; border: none; border-radius: 0; }\n.ff-editor__empty {\n position: absolute; inset: 0; display: grid; place-items: center;\n padding: 24px; text-align: center; pointer-events: none;\n}\n.ff-editor__empty > * { pointer-events: auto; }\n\n.ff-editor__palette { border: none; border-right: 1px solid var(--ff-border); border-radius: 0; background: var(--ff-surface-2); }\n.ff-editor__panel-wrap {\n display: flex; flex-direction: column; min-height: 0;\n border-left: 1px solid var(--ff-border);\n background: var(--ff-surface-2);\n}\n.ff-editor__panel { flex: 1; min-height: 0; border: none; border-radius: 0; background: transparent; }\n.ff-editor__panel-footer { flex-shrink: 0; display: flex; flex-wrap: wrap; gap: 6px; padding: 0 12px 12px; }\n.ff-editor__feed { flex-shrink: 0; height: 168px; max-height: none; border: none; border-top: 1px solid var(--ff-border); border-radius: 0; }\n\n/* Node right-click menu — fixed so the canvas' overflow can't clip it. */\n.ff-editor__ctx {\n position: fixed; z-index: 50; min-width: 150px; padding: 4px;\n display: flex; flex-direction: column;\n background: var(--ff-surface); border: 1px solid var(--ff-border-strong); border-radius: var(--ff-radius-md);\n box-shadow: var(--ff-shadow-lg);\n}\n.ff-editor__ctx-item {\n border: 0; background: transparent; cursor: pointer; text-align: left;\n padding: 6px 10px; border-radius: 5px; font-size: 12.5px; color: inherit;\n}\n.ff-editor__ctx-item:hover { background: var(--ff-surface-3); }\n.ff-editor__ctx-item--danger { color: var(--ff-danger); }\n\n.ff-editor__sep { width: 1px; align-self: stretch; background: var(--ff-border); margin: 0 3px; }\n.ff-editor__btn {\n display: inline-flex; align-items: center; gap: 6px;\n border: 1px solid var(--ff-border); background: var(--ff-surface); cursor: pointer;\n border-radius: var(--ff-radius-sm); padding: 5px 11px;\n color: var(--ff-fg-muted); font-size: 12px; font-weight: 500;\n transition: background 150ms, color 150ms;\n}\n.ff-editor__btn:hover:not(:disabled) { background: var(--ff-surface-3); color: var(--ff-fg); }\n.ff-editor__btn:disabled { opacity: 0.45; cursor: not-allowed; }\n.ff-editor__count { margin-left: auto; font-family: var(--ff-mono); font-size: 11px; color: var(--ff-fg-faint); }\n\n/* ─── NodePalette ──────────────────────────────────────────────────────── */\n.ff-palette {\n display: flex; flex-direction: column;\n background: var(--ff-surface-2);\n border: 1px solid var(--ff-border);\n border-radius: var(--ff-radius);\n overflow: hidden;\n font-size: 13px;\n color: var(--ff-fg);\n}\n.ff-palette__search { padding: 10px; border-bottom: 1px solid var(--ff-border); }\n.ff-palette__search-input {\n width: 100%; padding: 7px 10px;\n border: 1px solid var(--ff-border); border-radius: var(--ff-radius-sm);\n background: var(--ff-surface); color: inherit; font: inherit; font-size: 12.5px;\n outline: none; transition: border-color 150ms, box-shadow 150ms;\n}\n.ff-palette__search-input:focus { border-color: var(--ff-accent); box-shadow: 0 0 0 3px var(--ff-accent-soft); }\n.ff-palette__list { flex: 1; overflow: auto; padding: 8px; }\n.ff-palette__group { padding: 2px 0; }\n.ff-palette__group-label {\n font-size: 9.5px; letter-spacing: 0.07em; text-transform: uppercase;\n color: var(--ff-fg-faint); font-weight: 700;\n padding: 11px 8px 6px;\n}\n.ff-palette__row {\n width: 100%;\n display: flex; align-items: flex-start; gap: 9px;\n padding: 8px; border: 1px solid transparent; background: transparent; cursor: grab;\n border-radius: var(--ff-radius-md);\n text-align: left; color: inherit; font: inherit;\n transition: background 130ms, border-color 130ms;\n}\n.ff-palette__row:hover { background: var(--ff-surface-3); border-color: var(--ff-border); }\n.ff-palette__row:active { cursor: grabbing; }\n.ff-palette__row-dot {\n flex-shrink: 0; width: 24px; height: 24px;\n border-radius: 7px;\n display: inline-flex; align-items: center; justify-content: center;\n color: white; font-size: 14px;\n}\n.ff-palette__row-text { display: flex; flex-direction: column; min-width: 0; }\n.ff-palette__row-label { font-size: 12.5px; font-weight: 600; line-height: 1.2; }\n.ff-palette__row-desc {\n font-size: 10.5px; color: var(--ff-fg-faint); line-height: 1.35; margin-top: 2px;\n overflow: hidden; text-overflow: ellipsis;\n display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;\n}\n\n/* ─── NodeConfigPanel ──────────────────────────────────────────────────── */\n.ff-panel {\n background: var(--ff-surface-2);\n border: 1px solid var(--ff-border);\n border-radius: var(--ff-radius);\n padding: 14px;\n display: flex; flex-direction: column; gap: 12px;\n overflow: auto;\n font-size: 13px;\n color: var(--ff-fg);\n}\n.ff-panel--empty { align-items: center; justify-content: center; }\n.ff-panel__empty { font-size: 12px; color: var(--ff-fg-faint); text-align: center; }\n.ff-panel__header { display: flex; align-items: center; gap: 10px; }\n.ff-panel__head-icon {\n flex-shrink: 0; width: 28px; height: 28px; border-radius: var(--ff-radius-sm);\n display: grid; place-items: center; color: #fff; font-size: 15px;\n}\n.ff-panel__head-text { display: flex; flex-direction: column; min-width: 0; gap: 1px; }\n.ff-panel__head-kind { font-size: 9.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ff-fg-faint); }\n.ff-panel__head-name { font-size: 13.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n/* legacy tag (kept for back-compat with hand-composed panels) */\n.ff-panel__kind-tag {\n align-self: flex-start;\n font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase;\n background: var(--ff-accent-soft); color: var(--ff-accent);\n padding: 2px 8px; border-radius: 999px;\n}\n.ff-panel__kind-desc { margin: 0; font-size: 12px; color: var(--ff-fg-subtle); line-height: 1.5; }\n.ff-panel__divider { border: 0; border-top: 1px solid var(--ff-border); margin: 2px 0; }\n\n.ff-panel__actions { margin-top: auto; padding-top: 12px; }\n.ff-panel__delete {\n width: 100%; padding: 8px 10px;\n font-size: 13px; font-weight: 500;\n color: var(--ff-danger); background: transparent;\n border: 1px solid var(--ff-danger); border-radius: var(--ff-radius-sm);\n cursor: pointer; opacity: 0.85; transition: opacity 150ms, background 150ms;\n}\n.ff-panel__delete:hover { opacity: 1; background: rgba(239, 68, 68, 0.08); }\n.ff-panel__field { display: flex; flex-direction: column; gap: 5px; }\n.ff-panel__label { font-size: 12px; font-weight: 600; color: var(--ff-fg-muted); }\n.ff-panel__hint { font-size: 11px; color: var(--ff-fg-faint); margin: 0; line-height: 1.4; }\n.ff-panel__required { color: var(--ff-danger); }\n.ff-panel__input {\n width: 100%; padding: 7px 10px;\n border: 1px solid var(--ff-border); border-radius: var(--ff-radius-sm);\n background: var(--ff-surface); color: inherit; font: inherit; font-size: 12.5px;\n box-sizing: border-box; outline: none;\n transition: border-color 150ms, box-shadow 150ms;\n}\n.ff-panel__input:focus { border-color: var(--ff-accent); box-shadow: 0 0 0 3px var(--ff-accent-soft); }\n.ff-panel__input--textarea { font-family: inherit; resize: vertical; line-height: 1.5; }\n.ff-panel__input--expression,\n.ff-panel__input--json { font-family: var(--ff-mono); font-size: 11.5px; }\n.ff-panel__switch { display: inline-flex; align-items: center; cursor: pointer; }\n.ff-panel__switch input { display: none; }\n.ff-panel__switch-slider { width: 32px; height: 18px; background: var(--ff-border-strong); border-radius: 999px; position: relative; transition: background 200ms; }\n.ff-panel__switch-slider::before { content: \"\"; position: absolute; left: 2px; top: 2px; width: 14px; height: 14px; background: #fff; border-radius: 50%; transition: left 200ms; }\n.ff-panel__switch input:checked + .ff-panel__switch-slider { background: var(--ff-accent); }\n.ff-panel__switch input:checked + .ff-panel__switch-slider::before { left: 16px; }\n.ff-panel__issues { margin-top: 4px; }\n.ff-panel__issue { font-size: 11px; color: var(--ff-warn); margin: 2px 0; }\n\n/* Repeater / key-value config fields */\n.ff-repeater { display: flex; flex-direction: column; gap: 8px; }\n.ff-repeater__empty { font-size: 11px; color: var(--ff-fg-subtle); margin: 0; font-style: italic; }\n.ff-repeater__row {\n display: flex; flex-direction: column; gap: 6px;\n border: 1px solid var(--ff-border); border-radius: var(--ff-radius-sm); padding: 10px; background: var(--ff-surface);\n}\n.ff-repeater__row-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }\n.ff-repeater__row-title { font-size: 11px; font-weight: 600; color: var(--ff-fg-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.ff-repeater__row-actions { display: flex; gap: 2px; flex-shrink: 0; }\n.ff-repeater__btn { border: 1px solid transparent; background: transparent; cursor: pointer; border-radius: 4px; font-size: 11px; line-height: 1; padding: 3px 5px; color: var(--ff-fg-subtle); }\n.ff-repeater__btn:hover:not(:disabled) { background: var(--ff-surface-3); color: var(--ff-fg); }\n.ff-repeater__btn:disabled { opacity: .35; cursor: not-allowed; }\n.ff-repeater__btn--danger:hover:not(:disabled) { background: rgba(239,68,68,0.12); color: var(--ff-danger); }\n.ff-repeater__cell { display: flex; flex-direction: column; gap: 3px; }\n.ff-panel__label--sub { font-size: 11px; color: var(--ff-fg-subtle); font-weight: 400; }\n.ff-repeater__add {\n align-self: flex-start; border: 1px dashed var(--ff-border-strong); background: transparent;\n border-radius: var(--ff-radius-sm); padding: 6px 11px; font-size: 11px; color: var(--ff-fg-muted); cursor: pointer;\n}\n.ff-repeater__add:hover:not(:disabled) { border-color: var(--ff-accent); color: var(--ff-accent); }\n.ff-repeater__add:disabled { opacity: .4; cursor: not-allowed; }\n\n.ff-keyvalue { display: flex; flex-direction: column; gap: 6px; }\n.ff-keyvalue__head,\n.ff-keyvalue__row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 6px; align-items: center; }\n.ff-keyvalue__head { font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: var(--ff-fg-faint); }\n.ff-panel__hint--missing { color: var(--ff-warn); font-style: italic; }\n\n/* Edge label editor */\n.ff-editor__edge-label { padding: 6px; min-width: 200px; }\n.ff-editor__edge-label .ff-panel__input { width: 100%; }\n\n/* Rich user input preview */\n.ff-rich-preview { display: flex; flex-direction: column; gap: 6px; }\n.ff-rich-preview__frame { border: 1px solid var(--ff-border); border-radius: var(--ff-radius-sm); overflow: hidden; max-height: 180px; background: var(--ff-surface); }\n.ff-rich-preview__unavailable { border: 1px dashed var(--ff-border-strong); border-radius: var(--ff-radius-sm); padding: 10px; font-size: 11px; color: var(--ff-fg-subtle); line-height: 1.5; }\n.ff-rich-preview__unavailable code { font-size: 10px; background: var(--ff-surface-3); padding: 1px 4px; border-radius: 3px; }\n.ff-rich-preview__title { font-size: 11px; font-weight: 600; color: var(--ff-fg-muted); }\n\n/* Resizable nodes (G11) */\n.ff-node--resizable { max-width: none; width: 100%; height: 100%; }\n\n/* ─── In-editor human-input modal ──────────────────────────────────────── */\n.ff-prompt-overlay {\n position: absolute; inset: 0; z-index: 20;\n display: grid; place-items: center; padding: 16px;\n background: rgba(9, 9, 11, 0.5);\n backdrop-filter: blur(2px);\n}\n.ff-prompt {\n width: 100%; max-width: 420px; max-height: 100%; overflow: auto;\n padding: 18px;\n border-radius: var(--ff-radius);\n background: var(--ff-surface);\n border: 1px solid var(--ff-border);\n box-shadow: var(--ff-shadow-lg);\n font-family: var(--ff-font);\n color: var(--ff-fg);\n}\n.ff-prompt__title { font-size: 14px; font-weight: 600; color: var(--ff-fg); margin-bottom: 10px; }\n.ff-prompt__desc { font-size: 13px; line-height: 1.5; color: var(--ff-fg-subtle); margin-bottom: 12px; }\n.ff-prompt__fields { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }\n.ff-prompt__field { display: flex; flex-direction: column; gap: 5px; }\n.ff-prompt__label { font-size: 12px; font-weight: 500; color: var(--ff-fg-muted); }\n.ff-prompt__req { color: var(--ff-danger); }\n.ff-prompt__input {\n width: 100%; box-sizing: border-box; padding: 8px 10px;\n font-size: 13px; border-radius: var(--ff-radius-sm);\n border: 1px solid var(--ff-border); background: var(--ff-surface); color: var(--ff-fg);\n outline: none; transition: border-color 150ms, box-shadow 150ms;\n}\n.ff-prompt__input:focus { border-color: var(--ff-accent); box-shadow: 0 0 0 3px var(--ff-accent-soft); }\n.ff-prompt__switch { width: 16px; height: 16px; }\n.ff-prompt__actions { display: flex; justify-content: flex-end; gap: 8px; }\n.ff-prompt__btn { padding: 8px 14px; font-size: 13px; font-weight: 500; border-radius: var(--ff-radius-sm); border: 1px solid transparent; cursor: pointer; }\n.ff-prompt__btn--ghost { background: transparent; border-color: var(--ff-border-strong); color: var(--ff-fg-muted); }\n.ff-prompt__btn--ghost:hover { background: var(--ff-surface-3); }\n.ff-prompt__btn--primary { background: var(--ff-accent); color: #fff; }\n.ff-prompt__btn--primary:disabled { opacity: 0.5; cursor: not-allowed; }\n.ff-prompt__btn--danger { background: transparent; border-color: var(--ff-danger); color: var(--ff-danger); }\n\n/* Alignment guide lines (G15) */\n.ff-helper-line { background: var(--ff-accent); }\n\n/* ─── Responsive ───────────────────────────────────────────────────────── */\n@media (max-width: 1024px) {\n .ff-editor { grid-template-columns: 190px 1fr; }\n .ff-editor__panel-wrap { display: none; }\n}\n@media (max-width: 720px) {\n .ff-editor { grid-template-columns: 1fr; }\n .ff-editor__palette { display: none; }\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@particle-academy/fancy-flow",
3
- "version": "0.26.0",
3
+ "version": "0.27.0",
4
4
  "description": "Workflow editor + runner. Six built-in node kits (trigger / action / decision / output / note / subgraph), tokenized theme, topological execution with per-node status. React-flow bundled; consumers npm install fancy-flow and get nothing extra.",
5
5
  "repository": {
6
6
  "type": "git",