.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}:root{--bg: #08080a;--panel: #101014;--panel-border: #26231f;--node-bg: #131318;--node-border: #2d2823;--sunk: #0a0a0c;--hover-warm: #ff8c2b14;--pill: #1b1917;--pill-border: #272320;--toolbar-bg: linear-gradient(180deg, #16151a, #101014);--glass-bg: #101014;--glass-border: #26231f;--glass-blur: none;--accent: #ff6a00;--accent-hot: #ff8c2b;--accent-lift: #ffa355;--accent-soft: #ff6a0033;--accent-line: #ff6a0014;--on-accent: #180a01;--gold: #ffb347;--gold-soft: #ffb3471f;--gold-border: #ffb34773;--gold-hot: #ffd08a;--on-gold: #2a2208;--silver: #d6dae2;--text: #f3f0ea;--text-dim: #9b958c;--muted: #9b958c;--danger: #ff5c5c;--danger-bg: #3a1f24;--danger-border: #7a2b33;--danger-text: #ff9a9a;--success: #4ad991;--success-soft: #36d07f1f;--success-border: #36d07f73;--ok-text: #36d07f;--bad-text: #ff6b6b;--ring: #00000099;--radius: 12px;--wire-image: #4aa3ff;--wire-video: #36d07f;--wire-audio: #ff5f5f;--wire-text: #f2f2f7;--wire-route: #f5c243;--wire-halo: #ffffff14;--dot-upload: #5ec8ff;--dot-audio: #4ad991;--dot-timeline: #ff8fd0;--dot-stock: #ffd166;--sheen: #ffffff0d;--sheen-weak: #ffffff0a;--sheen-faint: #ffffff08;--shadow-lg: #000000a6;--shadow-md: #00000066;--shadow-sm: #0008;--backdrop: #000000aa;--over-img: #000000aa;--canvas-tint-1: #1a120b;--canvas-tint-2: #140d08;--grid-dot: #2e261d;--minimap-mask: #08080acc;--scroll-thumb: #3a322a;--scroll-thumb-hover: #5a4a35;--select-bg: #ff6a0059;--glow-fire: 0 0 10px #ff6a0055, 0 0 28px #ff6a0022;--preview-dark-bg: #08080a;--preview-dark-fire: #ff6a00;--preview-dark-wire: #4aa3ff;--swatch-coal: #2b2f36;--swatch-fire: linear-gradient(135deg, #ff8c2b, #ff6a00);--swatch-white: #ffffff;--preview-light-bg: #eceff3;--preview-light-fire: #1b4fd8;--preview-light-wire: #0b7a57;--font-ui: "Inter", "Segoe UI", system-ui, sans-serif;--font-display: "Manrope", "Inter", "Segoe UI", system-ui, sans-serif}:root[data-theme=light]{--bg: #eceff3;--panel: #ffffff;--panel-border: #dfe4ec;--node-bg: #ffffff;--node-border: #e2e7ee;--sunk: #f3f5f9;--hover-warm: #1b4fd80f;--pill: #f1f4f9;--pill-border: #dfe4ec;--radius: 14px;--toolbar-bg: linear-gradient(180deg, #ffffffd9, #ffffffa6);--glass-bg: #ffffffb8;--glass-border: #d9dfe9;--glass-blur: blur(18px) saturate(1.35);--accent: #1b4fd8;--accent-hot: #2f62e8;--accent-lift: #4a79f0;--accent-soft: #1b4fd82e;--accent-line: #1b4fd81f;--on-accent: #ffffff;--gold: #8a6410;--gold-soft: #c4901a1f;--gold-border: #d9b36a;--gold-hot: #6b4d0b;--on-gold: #2a2208;--silver: #5a6473;--text: #121519;--text-dim: #6b7280;--muted: #6b7280;--danger: #c62f2f;--danger-bg: #fdecec;--danger-border: #f2c2c2;--danger-text: #a52020;--success: #0b7a57;--success-soft: #0b7a571f;--success-border: #0b7a5766;--ok-text: #0b7a57;--bad-text: #c62f2f;--ring: #10182833;--wire-image: #1b4fd8;--wire-video: #0b7a57;--wire-audio: #cc2f3f;--wire-text: #3f4856;--wire-route: #a2700a;--wire-halo: #10182824;--dot-upload: #0f6fc0;--dot-audio: #0b7a57;--dot-timeline: #b5348a;--dot-stock: #9a6c0a;--sheen: #1018280a;--sheen-weak: #ffffff00;--sheen-faint: #10182808;--shadow-lg: #10182824;--shadow-md: #10182814;--shadow-sm: #10182814;--backdrop: #243b5e52;--canvas-tint-1: #dbe4f3;--canvas-tint-2: #e6e9f0;--grid-dot: #d3d9e3;--minimap-mask: #eceff3cc;--scroll-thumb: #c9d0db;--scroll-thumb-hover: #aab4c2;--select-bg: #1b4fd833;--glow-fire: 0 0 0 3px #1b4fd826, 0 2px 10px #1018281f}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{display:flex;flex-direction:column;height:100vh}.toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--toolbar-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);box-shadow:0 1px 0 var(--accent-line),0 6px 22px var(--shadow-md);z-index:5}.toolbar .title{font-family:var(--font-display);font-weight:700;margin-right:auto;color:var(--text);letter-spacing:.3px}.brand{display:flex;align-items:center;gap:8px;margin-right:auto}.brand-mark{width:28px;height:28px;flex:none}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-name{font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:-.2px;color:var(--text)}@supports ((background-clip: text) or (-webkit-background-clip: text)){.brand-name{background:linear-gradient(100deg,var(--accent),var(--gold) 45%,var(--silver));-webkit-background-clip:text;background-clip:text;color:transparent}}.brand-copy{font-size:9.5px;color:var(--text-dim);text-decoration:none;letter-spacing:.2px}.brand-copy:hover{color:var(--gold);text-decoration:underline}.react-flow__edge .react-flow__edge-path{filter:drop-shadow(0 0 2px var(--wire-halo))}.react-flow__edge.edge-busy .react-flow__edge-path{stroke-dasharray:6 4;filter:drop-shadow(0 0 4px currentColor) drop-shadow(0 0 12px var(--accent-soft));animation:vc-edge-dash .6s linear infinite,vc-edge-pulse 1.3s ease-in-out infinite}@keyframes vc-edge-dash{to{stroke-dashoffset:-10}}@keyframes vc-edge-pulse{0%,to{stroke-opacity:.35}50%{stroke-opacity:1}}@media(prefers-reduced-motion:reduce){.react-flow__edge.edge-busy .react-flow__edge-path{animation:vc-edge-pulse 2s ease-in-out infinite}}.result-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.frame-range{display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--node-border);border-radius:6px}.frame-range label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim)}.frame-range label>span{flex:0 0 82px}.frame-range input[type=range]{flex:1 1 auto;min-width:60px;accent-color:var(--accent)}.frame-range b{flex:0 0 56px;text-align:right;color:var(--silver);font-weight:500}.pick-row{display:flex;gap:6px;flex-wrap:wrap}.frame-block{display:flex;flex-direction:column;gap:6px}.react-flow__node.pick-ok{outline:2px dashed var(--success);outline-offset:4px;border-radius:var(--radius);cursor:pointer}.react-flow__node.pick-no{opacity:.4}@keyframes vc-node-fresh{0%,to{box-shadow:0 0 0 2px var(--accent),0 0 0 0 transparent}50%{box-shadow:0 0 0 2px var(--accent),0 0 22px 6px var(--accent-soft)}}.react-flow__node.node-fresh{border-radius:var(--radius);animation:vc-node-fresh 1.1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.react-flow__node.node-fresh{animation:none;box-shadow:0 0 0 2px var(--accent)}}.pick-hint{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--panel);border:1px solid var(--success);border-radius:var(--radius);box-shadow:0 6px 18px var(--shadow-sm);z-index:6}.btn{background:var(--node-bg);border:1px solid var(--node-border);color:var(--text);border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer;transition:border-color .15s,background .15s}.btn:hover{border-color:var(--accent);background:var(--hover-warm);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg,var(--accent-hot),var(--accent));border-color:var(--accent-hot);color:var(--on-accent);font-weight:600;box-shadow:var(--glow-fire)}.btn.primary:hover{background:linear-gradient(180deg,var(--accent-lift),var(--accent-hot))}.btn.primary:disabled{box-shadow:none}.btn.small{padding:4px 9px;font-size:12px}.btn.tiny{padding:2px 6px;font-size:12px;line-height:1.2}.clip-order{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.clip-order li{display:flex;align-items:center;gap:6px;font-size:12px}.clip-order li.pending{opacity:.65}.clip-order li.clip-order-reset{justify-content:flex-end}.clip-num{min-width:18px;text-align:center;font-size:11px;line-height:18px;border-radius:4px;background:var(--accent);color:var(--on-accent)}.clip-thumb{width:38px;height:24px;object-fit:cover;border-radius:4px;border:1px solid var(--node-border);background:var(--sunk)}.clip-thumb.empty{display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.clip-name{flex:1;min-width:0;display:flex;align-items:center;gap:5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-mark{padding:0 5px;border-radius:4px;font-size:10px;line-height:15px;color:var(--on-gold);background:var(--wire-route)}.main-area{flex:1;display:flex;min-height:0}.canvas-wrap{flex:1;position:relative}.react-flow__pane{background:radial-gradient(900px 600px at 12% -8%,var(--canvas-tint-1),transparent 70%),radial-gradient(700px 500px at 100% 110%,var(--canvas-tint-2),transparent 70%),var(--bg)}.react-flow__attribution{display:none}.sidebar-dock{display:flex;min-height:0}.sidebar-toggle{width:26px;flex:none;background:var(--panel);border:none;border-left:1px solid var(--panel-border);color:var(--text-dim);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 0;font-size:12px}.sidebar-toggle:hover{color:var(--text);background:var(--node-bg)}.sidebar-toggle .chevron{font-size:16px;line-height:1}.sidebar-toggle-label{writing-mode:vertical-rl;letter-spacing:1.2px;text-transform:uppercase;font-size:10px}.sidebar{width:340px;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-left:1px solid var(--glass-border);display:flex;flex-direction:column;overflow:hidden}.sidebar-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--panel-border)}.tab-btn{flex:1 1 30%;min-width:96px;background:transparent;border:none;color:var(--text-dim);padding:9px 6px;font-size:11px;cursor:pointer;border-bottom:2px solid transparent}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--text);border-bottom-color:var(--accent)}.sidebar-header{padding:12px 14px;border-bottom:1px solid var(--panel-border)}.sidebar-header input{width:100%;background:var(--node-bg);border:1px solid var(--node-border);border-radius:8px;padding:6px 10px;color:var(--text)}.sidebar-list{flex:1;overflow-y:auto;padding:8px}.group-label{font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--text-dim);padding:10px 6px 4px}.movement-card{background:var(--node-bg);border:1px solid var(--node-border);border-radius:8px;padding:8px 10px;margin-bottom:6px;cursor:grab}.movement-card:hover{border-color:var(--accent)}.movement-card .card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.movement-card .name{font-weight:500}.movement-card .quality-badge{font-size:10px;color:var(--text-dim);background:var(--sunk);border:1px solid var(--node-border);border-radius:999px;padding:1px 7px;white-space:nowrap}.movement-card.static{cursor:default}.movement-card .prompt{color:var(--text-dim);font-size:11px;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.movement-card .prompt.full{display:block;overflow:visible;line-height:1.45}.movement-card .card-preview{width:100%;border-radius:6px;margin-top:6px;max-height:120px;object-fit:cover;background:var(--sunk)}.movement-card .card-actions{display:flex;justify-content:flex-end;margin-top:6px}.copy-btn{font-size:10px;padding:3px 8px}.vc-node{background:var(--node-bg);border:1px solid var(--node-border);border-radius:var(--radius);min-width:220px;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 28px var(--shadow-lg),inset 0 1px 0 var(--sheen-weak)}.vc-node.selected,.react-flow__node.selected .vc-node{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--glow-fire)}.vc-node .node-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--node-border);font-family:var(--font-display);font-weight:700;letter-spacing:.1px;background:linear-gradient(180deg,var(--sheen),transparent);border-radius:var(--radius) var(--radius) 0 0}.vc-node .node-header .dot{width:8px;height:8px;border-radius:50%;flex:none;background:currentColor;box-shadow:0 0 7px currentColor}.vc-node .node-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-type-upload .node-header .dot{color:var(--dot-upload)}.node-type-keyframe .node-header .dot{color:var(--gold)}.node-type-video .node-header .dot{color:var(--accent)}.node-type-audio .node-header .dot{color:var(--dot-audio)}.node-type-timeline .node-header .dot{color:var(--dot-timeline)}.node-type-text .node-header .dot{color:var(--silver)}.node-type-stock .node-header .dot{color:var(--dot-stock)}.vc-node .node-del{flex:none;width:20px;height:20px;display:grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:5px;color:var(--text-dim);font-size:15px;line-height:1;cursor:pointer}.vc-node .node-del:hover{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.vc-node .node-hint>summary{font-size:10.5px;color:var(--text-dim);cursor:pointer;list-style:none}.vc-node .node-hint>summary:before{content:"▸ "}.vc-node .node-hint[open]>summary:before{content:"▾ "}.vc-node .node-hint>summary::-webkit-details-marker{display:none}.vc-node .node-hint[open]>summary{margin-bottom:4px}.vc-node .hint{font-size:11px;color:var(--text-dim);line-height:1.4}.vc-node .node-body{padding:10px 12px;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow:auto}.vc-node textarea,.vc-node select,.vc-node input[type=text]{width:100%;background:var(--sunk);border:1px solid var(--node-border);border-radius:6px;color:var(--text);padding:6px 8px;font-family:inherit;font-size:12px;resize:vertical}.vc-node .row{display:flex;gap:6px}.vc-node .row>*{flex:1}.vc-node .preview-img,.vc-node .preview-video{width:100%;border-radius:6px;border:1px solid var(--node-border);background:var(--sunk);max-height:200px;object-fit:contain}.status-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--pill);border:1px solid var(--pill-border);color:var(--text-dim);align-self:flex-start}.status-pill.running{color:var(--gold)}.status-pill.success{color:var(--success)}.status-pill.error{color:var(--danger)}.status-pill.cost{color:var(--text);background:var(--pill);border:1px solid var(--panel-border);font-variant-numeric:tabular-nums;cursor:help}.dropzone{border:1.5px dashed var(--node-border);border-radius:8px;padding:18px 10px;text-align:center;color:var(--text-dim);cursor:pointer}.dropzone:hover{border-color:var(--accent);color:var(--text)}.credit-pill{font-size:12px;color:var(--text-dim);padding:6px 10px;border:1px solid var(--panel-border);border-radius:8px}.toolbar-spacer{flex:1}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.auth-card{width:100%;max-width:360px;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius);padding:28px 26px;display:flex;flex-direction:column;gap:14px}.auth-title{margin:0;font-size:22px;font-weight:600;letter-spacing:.3px}.auth-sub{margin:-8px 0 4px;font-size:13px;color:var(--text-dim)}.auth-note{margin:0;font-size:13px;color:var(--text-dim)}.auth-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-dim)}.auth-input{background:var(--node-bg);border:1px solid var(--node-border);border-radius:8px;padding:9px 11px;color:var(--text);font-size:14px;font-family:inherit}.auth-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-hint{font-size:11px;color:var(--text-dim)}.auth-error{margin:0;font-size:13px;color:var(--danger)}.auth-ok{margin:0;font-size:13px;color:var(--success);line-height:1.45}.auth-submit{margin-top:4px}.auth-links{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.auth-link{background:none;border:none;padding:0;color:var(--text-dim);font-size:12px;font-family:inherit;cursor:pointer;text-decoration:underline}.auth-link:hover{color:var(--accent)}.modal-backdrop{position:fixed;inset:0;background:var(--backdrop);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal-card{width:100%;max-width:420px;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:14px}.modal-title{margin:0;font-size:17px;font-weight:600}.modal-actions{display:flex;flex-wrap:wrap;gap:8px}.auth-tabs{display:flex;gap:4px;background:var(--node-bg);border:1px solid var(--node-border);border-radius:10px;padding:4px;margin-bottom:2px}.auth-tab{flex:1;background:none;border:none;border-radius:7px;padding:8px 10px;color:var(--text-dim);font-size:13px;font-family:inherit;cursor:pointer}.auth-tab:hover{color:var(--text)}.auth-tab.active{background:var(--accent);color:var(--on-accent)}.auth-hint code{background:var(--node-bg);border:1px solid var(--node-border);border-radius:4px;padding:1px 4px;font-size:10.5px}.modal-subtitle{margin:0;font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--text)}.modal-sep{border:none;border-top:1px solid var(--panel-border);margin:4px 0;width:100%}.prompt-tools{display:flex;gap:6px;flex-wrap:wrap}.prompt-modal{max-width:min(900px,92vw);max-height:92vh;overflow-y:auto}.prompt-full{width:100%;min-height:34vh;background:var(--sunk);border:1px solid var(--node-border);border-radius:8px;color:var(--text);padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.55;resize:vertical}.prompt-full:focus{outline:none;border-color:var(--accent);box-shadow:var(--glow-fire)}.prompt-translated{min-height:24vh;border-color:var(--gold-border)}.theme-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}.theme-option{font:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;border-radius:10px;background:var(--sunk);border:1px solid var(--panel-border);color:var(--text);cursor:pointer;text-align:left;transition:border-color .12s,background .12s}.theme-option:hover{background:var(--hover-warm);border-color:var(--accent-soft)}.theme-option.active{border-color:var(--accent);background:var(--accent-line);box-shadow:var(--glow-fire)}.theme-option-label{font-weight:600;font-size:12px}.theme-option-hint{font-size:10.5px;color:var(--text-dim);line-height:1.3}.theme-swatch{width:100%;height:24px;margin-bottom:4px;border-radius:7px;border:1px solid var(--panel-border)}.theme-swatch-dark{background:linear-gradient(90deg,transparent 18%,var(--preview-dark-wire) 18%,var(--preview-dark-wire) 82%,transparent 82%) center / 100% 2px no-repeat,linear-gradient(120deg,var(--preview-dark-bg),var(--preview-dark-fire))}.theme-swatch-light{background:linear-gradient(90deg,transparent 18%,var(--preview-light-wire) 18%,var(--preview-light-wire) 82%,transparent 82%) center / 100% 2px no-repeat,linear-gradient(120deg,var(--preview-light-bg),var(--preview-light-fire))}.theme-swatch-system{background:linear-gradient(120deg,var(--preview-dark-bg) 0 50%,var(--preview-light-bg) 50% 100%)}.react-flow__handle{width:12px;height:12px;background:var(--accent);border:2px solid var(--panel);box-shadow:0 0 0 1px var(--accent-soft)}.react-flow__handle:hover{box-shadow:0 0 0 5px var(--accent-soft)}.react-flow__handle-left{left:-7px}.react-flow__handle-right{right:-7px}.react-flow__handle-connecting{outline:2px solid var(--success)}.react-flow__handle.vc-handle{width:13px;height:13px;border:2px solid var(--bg);box-shadow:0 0 0 1px var(--ring)}.react-flow__handle.vc-handle:hover{transform:translateY(-50%) scale(1.25)}.react-flow__resize-control.vc-resize-line{border-color:var(--accent)}.react-flow__resize-control.vc-resize-dot{width:8px;height:8px;background:var(--accent);border:1px solid var(--bg);border-radius:2px}.canvas-menu{position:absolute;z-index:20;min-width:206px;padding:5px;display:flex;flex-direction:column;gap:1px;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:8px;box-shadow:0 10px 30px var(--shadow-lg)}.canvas-menu-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:4px 8px}.canvas-menu button{text-align:left;background:transparent;border:none;color:var(--text);font-family:inherit;font-size:12px;padding:7px 8px;border-radius:6px;cursor:pointer}.canvas-menu button:hover{background:var(--accent-soft)}.canvas-menu button:disabled{color:var(--text-dim);cursor:default}.canvas-menu button:disabled:hover{background:transparent}.canvas-menu button.danger{color:var(--danger-text)}.canvas-menu button.danger:hover{background:var(--danger-bg)}.canvas-menu-refs{display:flex;flex-direction:column;gap:1px;max-height:220px;overflow-y:auto;border-top:1px solid var(--panel-border);margin-top:2px;padding-top:2px}.canvas-menu-refs button{display:flex;align-items:center;gap:8px}.canvas-menu-refs img{width:24px;height:24px;border-radius:4px;object-fit:cover;flex:none}.canvas-menu-refs span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ref-dock{position:absolute;left:12px;top:12px;z-index:8;display:flex;flex-direction:column;gap:6px;align-items:flex-start;max-width:420px}.ref-toggle{background:var(--panel);border:1px solid var(--panel-border);border-radius:999px;color:var(--text-dim);font-family:inherit;font-size:11.5px;padding:5px 11px;cursor:pointer}.ref-toggle:hover{color:var(--text);border-color:var(--accent)}.ref-dock.open .ref-toggle{color:var(--text)}.ref-panel{width:408px;max-height:66vh;display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:0 10px 30px var(--shadow-lg)}.ref-actions{display:flex;gap:6px}.ref-error{font-size:11px;color:var(--danger)}.ref-empty{font-size:11px;color:var(--text-dim);line-height:1.45}.ref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;overflow-y:auto;min-height:0;padding-right:2px}.ref-card{display:flex;flex-direction:column;gap:3px}.ref-shot{position:relative;border:1px solid var(--node-border);border-radius:8px;overflow:hidden;background:var(--bg)}.ref-card:hover .ref-shot{border-color:var(--accent)}.ref-thumb{display:block;width:100%;height:92px;object-fit:cover}.ref-shot{cursor:zoom-in}.ref-folders{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.ref-chip{background:var(--bg);border:1px solid var(--node-border);border-radius:999px;color:var(--text-dim);font-family:inherit;font-size:11px;padding:3px 9px;cursor:pointer;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ref-chip:hover{color:var(--text);border-color:var(--accent)}.ref-chip.active{color:var(--text);border-color:var(--accent);background:var(--panel)}.ref-chip-wrap{display:inline-flex;align-items:center;gap:2px;border-radius:999px}.ref-chip-wrap.over,.ref-chip.over{outline:1px dashed var(--accent);outline-offset:1px}.ref-line{display:flex;align-items:center;gap:3px;min-width:0}.ref-tag{flex:none;background:none;border:none;padding:0 2px;font-family:inherit;font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--text);cursor:pointer}.ref-tag:hover{color:var(--gold)}.ref-tag:active{color:var(--accent)}.ref-move{width:100%;min-width:0;font-size:10.5px;padding:1px 3px}.ref-card-actions{position:absolute;top:3px;right:3px;display:flex;gap:2px;opacity:0;transition:opacity .12s}.ref-card:hover .ref-card-actions,.ref-card:focus-within .ref-card-actions{opacity:1}.ref-card-actions .btn{background:var(--over-img)}.ref-name{flex:1 1 auto;width:100%;min-width:0;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);font-family:inherit;font-size:11.5px;padding:2px 4px}.ref-name:hover{border-color:var(--node-border)}.ref-name:focus{border-color:var(--accent);outline:none;background:var(--bg)}.stock-grid{max-height:220px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.stock-card,.stock-card .ref-shot{cursor:pointer}.stock-card.picked .ref-shot{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.stock-dur{position:absolute;left:4px;bottom:4px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text);background:var(--over-img);border-radius:5px;padding:1px 5px}.stock-vert{position:absolute;right:4px;bottom:4px;font-size:10px;color:var(--text);background:var(--over-img);border-radius:5px;padding:1px 4px}.stock-credit{font-size:11px;color:var(--text-dim)}.stock-credit a{color:var(--accent)}.sources{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--sheen-faint);border:1px solid var(--node-border);border-radius:8px}.sources-label{font-size:11px;color:var(--text-dim)}.sources-strip{display:flex;flex-wrap:wrap;gap:6px}.source-thumb{position:relative;width:44px;height:44px;border-radius:6px;overflow:hidden;border:1px solid var(--node-border)}.source-thumb img{width:100%;height:100%;object-fit:cover;display:block}.source-thumb b{position:absolute;left:2px;bottom:2px;min-width:14px;text-align:center;font-size:10px;line-height:14px;border-radius:4px;background:var(--accent);color:var(--on-accent)}.source-ref{position:absolute;right:2px;top:2px;font-size:9px;font-style:normal;line-height:13px;padding:0 3px;border-radius:4px;background:var(--over-img);color:var(--accent)}.sources-hint{font-size:10.5px;color:var(--text-dim);line-height:1.45}.account-block{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.account-top{display:flex;align-items:center;gap:8px}.theme-dots{display:flex;align-items:center;gap:5px}.theme-dot{width:13px;height:13px;padding:0;border-radius:50%;border:1px solid var(--panel-border);cursor:pointer;transition:transform .12s,box-shadow .12s}.theme-dot:hover{transform:scale(1.18)}.theme-dot.active{box-shadow:0 0 0 2px var(--accent)}.theme-dot-system{background:var(--swatch-coal)}.theme-dot-dark{background:var(--swatch-fire)}.theme-dot-light{background:var(--swatch-white)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.account-name{background:none;border:none;padding:0;font-size:12px;font-family:inherit;color:var(--text-dim);cursor:pointer;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-name:hover{color:var(--text)}.credit-box{display:flex;align-items:center;gap:8px;font-size:12px}.credit-value{background:none;border:none;padding:0;font-family:inherit;font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--text-dim)}.credit-value.credit-red{color:var(--danger)}.credit-value.credit-yellow{color:var(--gold)}.credit-value.credit-plain{color:var(--silver)}.credit-value.credit-green{color:var(--success)}.credit-usd{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums;cursor:help}.credit-warn{font-size:12px;color:var(--gold);cursor:help}.credit-topup{font-size:11px;color:var(--accent);text-decoration:none;border:1px solid var(--panel-border);border-radius:999px;padding:1px 8px;white-space:nowrap}.credit-topup:hover{border-color:var(--accent);background:var(--accent-soft)}.project-menu{position:relative}.project-btn{font-size:14px;font-weight:600;color:var(--gold);border-color:var(--gold-border);padding:5px 12px}.project-btn:hover{color:var(--gold-hot);border-color:var(--gold);background:var(--gold-soft)}.project-drop{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;max-height:60vh;overflow-y:auto;padding:6px;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 12px 30px var(--shadow-lg);z-index:40;display:flex;flex-direction:column;gap:2px}.project-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:none;border-radius:7px;padding:7px 9px;font-family:inherit;font-size:12.5px;color:var(--text);text-align:left;cursor:pointer}.project-item:hover{background:var(--hover-warm)}.project-item.current{color:var(--accent);cursor:default}.project-item.danger{color:var(--danger)}.project-new{color:var(--success)}.project-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item-date{font-size:10.5px;color:var(--text-dim);flex-shrink:0}.project-sep{height:1px;margin:4px 2px;background:var(--panel-border)}.create-btn{font-weight:600;color:var(--success);border-color:var(--success-border)}.create-btn:hover{border-color:var(--success);background:var(--success-soft)}.create-drop{min-width:330px}.create-item{flex-direction:column;align-items:flex-start;gap:2px}.create-item-name{display:flex;align-items:center;gap:6px;font-weight:600}.create-item-about{font-size:10.5px;color:var(--text-dim);line-height:1.4;white-space:normal}.create-item-tag{font-size:9.5px;font-style:normal;padding:1px 5px;border-radius:999px;color:var(--text-dim);border:1px solid var(--panel-border)}.model-select option.model-best{color:var(--ok-text)}.model-select option.model-avoid{color:var(--bad-text)}.model-legend{font-size:10px;color:var(--text-dim);line-height:1.4}.task-hint>summary{color:var(--accent)}.boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--text-dim);text-align:center}.shell-error{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:45;max-width:520px;display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:12px;background:var(--panel);border:1px solid var(--danger);border-radius:999px;color:var(--danger)}.modal-card.narrow{max-width:380px}.react-flow__edge-interaction{fill:none;stroke:transparent;stroke-width:22;pointer-events:stroke}.edge-remove{opacity:0;pointer-events:none;transition:opacity .12s}.edge-remove circle{fill:var(--pill);stroke:var(--danger);stroke-width:1.2}.edge-remove line{stroke:var(--danger);stroke-width:2;stroke-linecap:round}.react-flow__edge:hover .edge-remove,.react-flow__edge.selected .edge-remove{opacity:1;pointer-events:all;cursor:pointer}.edge-remove:hover circle{fill:var(--danger)}.edge-remove:hover line{stroke:var(--panel)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:content-box}.react-flow__controls{box-shadow:0 8px 22px var(--shadow-lg);border-radius:8px;overflow:hidden}.react-flow__controls-button{background:var(--panel);border-bottom:1px solid var(--panel-border);color:var(--text-dim);fill:currentColor}.react-flow__controls-button:hover{background:var(--hover-warm);color:var(--accent-hot)}.react-flow__minimap{border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 8px 22px var(--shadow-lg)}.react-flow__minimap-mask{fill:var(--minimap-mask)}::selection{background:var(--select-bg);color:var(--text)}
