.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))}:root{--bg: #120c06;--bg-2: #191009;--bg-grad: radial-gradient(1200px 800px at 80% -10%, #2a1a0a 0%, #120c06 55%);--panel: #1b1109;--panel-2: #150d07;--header-bg: rgba(27, 17, 9, .85);--border: #3a2614;--border-soft: #2a1b0d;--text: #f7ede1;--muted: #c0a284;--accent: #ff7503;--accent-2: #ff5029;--accent-soft: #ffb066;--ok: #34d399;--warn: #fbbf24;--danger: #fb7185;--canvas-bg: #191009;--grid-dot: #3a2614;--node-bg: linear-gradient(180deg, #241609, #1a1008);--node-border: #3a2614;--node-hover-border: #5a3a1c;--node-main-glow: rgba(255, 117, 3, .28);--lane-bg: rgba(58, 38, 20, .22);--lane-border: #3a2614;--lane-label-color: #a0752e;--lane-label-bg: rgba(27, 17, 9, .6);--edge-label-bg: #120c06;--handle-border: #120c06;--export-bg: #120c06;--input-bg: #191009;--placeholder: #8a6a45;--code-bg: #241609;--code-color: #ffcf9f;--markdown-heading: #f2e5d3;--scrollbar-thumb: #3a2713;--modal-backdrop: rgba(10, 5, 2, .6);--theme-btn-active: #3a2713;--suggestion-hover: rgba(255, 117, 3, .08);--radius: 12px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}html[data-theme=light]{--bg: #fff8f1;--bg-2: #fff2e4;--bg-grad: radial-gradient(1200px 800px at 80% -10%, #ffe8d1 0%, #fff8f1 55%);--panel: #ffffff;--panel-2: #fff6ec;--header-bg: rgba(255, 255, 255, .85);--border: #ecd2b7;--border-soft: #f2ddc6;--text: #2b1a0a;--muted: #8a6a45;--accent: #ff7503;--accent-2: #e8420a;--accent-soft: #ffb066;--ok: #0e9f6e;--warn: #b45309;--danger: #e11d48;--canvas-bg: #fff4e8;--grid-dot: #ecd2b7;--node-bg: linear-gradient(180deg, #ffffff, #fff0dd);--node-border: #ecd2b7;--node-hover-border: #ff7503;--node-main-glow: rgba(255, 117, 3, .22);--lane-bg: rgba(255, 117, 3, .06);--lane-border: #ecd2b7;--lane-label-color: #b0600a;--lane-label-bg: rgba(255, 248, 241, .85);--edge-label-bg: #fff4e8;--handle-border: #fff4e8;--export-bg: #fff4e8;--input-bg: #ffffff;--placeholder: #b39878;--code-bg: #fff0dd;--code-color: #d94a00;--markdown-heading: #3a2408;--scrollbar-thumb: #e2c4a4;--modal-backdrop: rgba(80, 40, 5, .35);--theme-btn-active: #ffe3cc;--suggestion-hover: rgba(255, 117, 3, .08)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg-grad);color:var(--text);font-size:14px;transition:background .25s ease,color .25s ease}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.app{display:flex;flex-direction:row;height:100vh;overflow:hidden}.app__header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;z-index:5}.app__brand{display:flex;align-items:center;gap:10px}.app__brand svg{color:var(--accent)}.app__brand strong{font-size:15px;letter-spacing:.2px}.app__tag{color:var(--muted);font-size:12px;margin-left:4px}.app__meta{display:flex;align-items:center;gap:10px}.app__sid{color:var(--muted);font-size:12px}.badge{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--border)}.badge--ok{color:var(--ok);border-color:#34d39959;background:#34d39914}.badge--warn{color:var(--warn);border-color:#fbbf2459;background:#fbbf2414}.app__main{display:grid;grid-template-columns:400px 5px 1fr;flex:1;min-height:0}.app__chat{grid-column:1;border-right:1px solid var(--border);min-height:0}.chat-resizer{grid-column:2}.app__stage{grid-column:3;display:flex;flex-direction:column;min-height:0;padding:14px 16px;gap:12px;overflow:hidden}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;padding:6px 11px;font-size:13px;transition:all .15s;text-decoration:none}.btn:hover{border-color:var(--accent);background:var(--panel-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chat{display:flex;flex-direction:column;height:100%;min-height:0}.chat__head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-soft);color:var(--muted)}.chat__brand{font-weight:600;font-size:13px;color:var(--text)}.chat__spark{color:var(--accent)}.chat__list{flex:1;overflow-y:auto;padding:24px 0;display:flex;flex-direction:column;gap:16px;min-height:0}.chat__list::-webkit-scrollbar{width:8px}.chat__list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.chat__list>.msg,.chat__list>.chat__empty{width:100%;max-width:44rem;margin:0 auto;padding:0 16px}.chat__empty{text-align:center;padding:24px 16px;color:var(--muted)}.chat__empty-icon{width:54px;height:54px;margin:0 auto 14px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#ff750333,#ff50291f);border:1px solid var(--border);color:var(--accent)}.chat__empty h3{margin:0 0 8px;color:var(--text);font-size:15px}.chat__empty p{font-size:13px;line-height:1.55;margin:0 0 16px}.chat__suggestions{display:flex;flex-direction:column;gap:8px}.suggestion{text-align:left;font-size:13px;line-height:1.45;background:var(--panel-2);border:1px solid var(--border-soft);color:var(--text);border-radius:10px;padding:10px 12px;transition:all .15s}.suggestion:hover{border-color:var(--accent);background:var(--suggestion-hover);color:var(--text)}.msg{max-width:100%}.msg--user{align-self:flex-end;background:var(--accent);color:#fff;border-radius:18px 18px 6px;padding:10px 14px;font-size:14px;line-height:1.5;max-width:72%;white-space:pre-wrap}.msg--agent{align-self:flex-start;max-width:100%}.msg--agent .markdown{background:transparent;border:none;padding:0;font-size:14px;line-height:1.6}.markdown p{margin:0 0 10px}.markdown p:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3{margin:14px 0 8px;font-size:15px;color:var(--markdown-heading)}.markdown ul{margin:0 0 10px;padding-left:20px}.markdown li{margin:3px 0}.markdown code{background:var(--code-bg);border:1px solid var(--border-soft);padding:1px 5px;border-radius:4px;font-size:12px;color:var(--code-color)}.markdown pre{background:var(--bg);border:1px solid var(--border-soft);padding:12px;border-radius:10px;overflow-x:auto;font-size:12px}.markdown a{color:var(--accent)}.cursor-blink{display:inline-block;width:7px;height:13px;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink .9s steps(1) infinite}@keyframes blink{50%{opacity:0}}.thinking{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-style:italic}.dots i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:3px;animation:bounce 1.2s infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.diagram-chip{display:inline-flex;align-items:center;gap:7px;background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:var(--ok);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.chat__composer{display:flex;justify-content:center;padding:10px 16px 16px}.chat__composer__pill{display:flex;align-items:flex-end;gap:8px;width:100%;max-width:820px;background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:8px 8px 8px 16px;box-shadow:0 4px 20px #00000014;transition:border-color .15s,box-shadow .15s}.chat__composer__pill:focus-within{border-color:var(--accent);box-shadow:0 4px 24px #0000001f}.chat__composer textarea{flex:1;resize:none;background:transparent;color:var(--text);border:none;padding:6px 0;font-size:14px;line-height:1.45;outline:none;max-height:160px}.chat__composer textarea::placeholder{color:var(--placeholder)}.composer-send{display:grid;place-items:center;width:34px;height:34px;flex:none;border:none;border-radius:50%;background:var(--accent);color:#fff;transition:background .15s;cursor:pointer}.composer-send:hover:not(:disabled){background:var(--accent-2)}.composer-send:disabled{opacity:.4;cursor:not-allowed}.stage__bar{display:flex;align-items:center;justify-content:space-between}.stage__segmented{display:inline-flex;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px}.seg{border:none;background:transparent;color:var(--muted);padding:6px 14px;border-radius:7px;font-size:13px;font-weight:500;transition:all .15s}.seg:hover{color:var(--text)}.seg.active{background:var(--accent);color:#fff}.stage__theme{display:inline-flex;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:3px}.theme-btn{border:none;background:transparent;color:var(--muted);padding:5px 11px;border-radius:7px;font-size:12px}.theme-btn.active{background:var(--theme-btn-active);color:var(--text)}.stage__busy{display:flex;align-items:center;gap:9px;background:var(--suggestion-hover);border:1px solid rgba(255,117,3,.3);color:var(--accent);border-radius:10px;padding:8px 14px;font-size:13px}.stage__busy svg{color:var(--accent)}.stage__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:40px;min-height:300px}.stage__empty-graphic{width:84px;height:84px;border-radius:22px;margin-bottom:18px;display:grid;place-items:center;background:linear-gradient(135deg,#ff750340,#ff502924);border:1px dashed var(--border);color:var(--accent)}.stage__empty h2{color:var(--text);font-size:18px;margin:0 0 8px}.stage__empty p{max-width:460px;font-size:13px;line-height:1.6;margin:0}.stage__both{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto}.flow-wrap{flex:1;min-height:300px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);overflow:hidden}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-soft);background:var(--panel)}.viewer-toolbar__title{font-size:13px;font-weight:600;color:var(--text)}.viewer-toolbar__actions{display:flex;gap:6px}.flow-canvas{flex:1;min-height:320px;background:var(--canvas-bg);position:relative}.viewer-empty{flex:1;min-height:200px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.viewer-error{color:var(--danger);font-size:12px;padding:6px 12px}.archify-frame{flex:1;min-height:0;background:var(--bg-2)}.archify-frame iframe{width:100%;height:100%;border:none;display:block;background:var(--bg-2)}.wf-lane{position:absolute;left:0;z-index:0;border-bottom:1px dashed var(--lane-border);background:var(--lane-bg)}.wf-lane__label{position:absolute;left:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--lane-label-color);border-right:1px solid var(--lane-border);background:var(--lane-label-bg);writing-mode:horizontal-tb;text-align:center;padding:0 8px}.wf-node{position:relative;background:var(--node-bg);border:1px solid var(--node-border);border-radius:10px;padding:8px 10px;color:var(--text);box-shadow:0 6px 18px #0000002e;transition:border-color .15s,box-shadow .15s}.wf-node:hover{border-color:var(--node-hover-border)}.wf-node--main{border-color:var(--accent);box-shadow:0 0 0 1px var(--node-main-glow),0 6px 20px #ff750326}.wf-node__kind{font-size:9px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;margin-bottom:3px;opacity:.95}.wf-node__label{font-size:12.5px;font-weight:700;line-height:1.25}.wf-node__sublabel{font-size:10.5px;color:var(--muted);margin-top:2px;line-height:1.3}.wf-node__tag{display:inline-block;margin-top:5px;font-size:9.5px;font-weight:600;color:var(--accent);background:var(--suggestion-hover);border:1px solid rgba(255,117,3,.45);border-radius:999px;padding:1px 7px}.wf-handle{width:7px;height:7px;background:var(--accent);border:1.5px solid var(--handle-border)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:50}.modal{width:380px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px}.modal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal__head h3{margin:0;font-size:15px}.modal__info{font-size:12px;color:var(--muted);margin:0 0 14px;line-height:1.5}.modal label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:12px}.modal label input{display:block;width:100%;margin-top:6px;background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px;outline:none}.modal label input:focus{border-color:var(--accent)}.modal__foot{display:flex;justify-content:flex-end;margin-top:6px}@media (max-width: 900px){.app__main{grid-template-columns:1fr;grid-template-rows:45vh 1fr}.app__chat{grid-column:1;grid-row:1;border-right:none;border-bottom:1px solid var(--border)}.app__stage{grid-column:1;grid-row:2}.chat-resizer{display:none}}.ctx-menu{position:fixed;z-index:60;min-width:190px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:5px;box-shadow:0 12px 30px #00000059}.ctx-menu button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:transparent;color:var(--text);padding:7px 9px;border-radius:6px;font-size:13px}.ctx-menu button:hover{background:var(--suggestion-hover)}.ctx-menu__title{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);padding:5px 9px 3px}.ctx-menu__sep{height:1px;background:var(--border-soft);margin:4px 6px}.ctx-dot{width:9px;height:9px;border-radius:3px;display:inline-block}.field{display:block;margin-bottom:12px}.field span{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.field input,.field select{width:100%;background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px;outline:none}.field input:focus,.field select:focus{border-color:var(--accent)}.modal select{background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px}.btn-danger{background:transparent;border-color:#fb718566;color:var(--danger)}.btn-danger:hover{background:#fb71851f;border-color:var(--danger)}.modal__foot{gap:8px}.modal__foot .btn:first-child{margin-right:auto}.stage__hint{font-size:11.5px;color:var(--muted)}.stage__controls{display:flex;align-items:center;gap:14px}.theme-switcher{display:inline-flex;align-items:center;gap:6px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:4px 6px}.theme-swatch{width:26px;height:26px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);display:grid;place-items:center;padding:0}.theme-swatch:hover{border-color:var(--accent)}.theme-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--suggestion-hover)}.theme-swatch__dot{width:14px;height:14px;border-radius:50%;display:block}.flow-canvas[data-theme=flame]{background:#120c06}.flow-canvas[data-theme=midnight]{background:#05060f}.flow-canvas[data-theme=midnight] .wf-node{background:linear-gradient(180deg,#10132f,#0a0c1a);border-color:#2a3057}.flow-canvas[data-theme=midnight] .wf-node__label{color:#e8ecff}.flow-canvas[data-theme=midnight] .wf-node__sublabel{color:#9aa0c0}.flow-canvas[data-theme=midnight] .wf-node--main{border-color:#22d3ee;box-shadow:0 0 0 1px #22d3ee40,0 6px 20px #22d3ee2e}.flow-canvas[data-theme=glass]{background:radial-gradient(1200px 800px at 80% -10%,#16224a,#0b1020 60%)}.flow-canvas[data-theme=glass] .wf-node{background:#ffffff14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);box-shadow:0 8px 24px #0000004d}.flow-canvas[data-theme=glass] .wf-node__label{color:#f1f5ff}.flow-canvas[data-theme=glass] .wf-node__sublabel{color:#a8b2d0}.flow-canvas[data-theme=glass] .wf-node--main{border-color:#7dd3fccc}.flow-canvas[data-theme=clay]{background:radial-gradient(1000px 700px at 70% 0%,#f6e4d2,#efe3d6 55%)}.flow-canvas[data-theme=clay] .wf-node{background:#fff8f1;border:2px solid #d8b49a;border-radius:18px;box-shadow:7px 9px #b4825a38,0 2px 6px #00000014}.flow-canvas[data-theme=clay] .wf-node__label{color:#5b3a22}.flow-canvas[data-theme=clay] .wf-node__sublabel{color:#8a6a4d}.flow-canvas[data-theme=clay] .wf-node__tag{color:#7c4a22;background:#e2733a1f;border-color:#e2733a73}.flow-canvas[data-theme=clay] .wf-node--main{border-color:#e2733a;box-shadow:7px 9px #e2733a4d}.flow-canvas[data-theme=clay] .wf-lane{border-bottom-color:#e0cdb8}.flow-canvas[data-theme=clay] .wf-lane__label{color:#a9784f;border-right-color:#e0cdb8;background:#fff8f199}.flow-canvas[data-theme=paper]{background:radial-gradient(1000px 700px at 80% -10%,#eef2f9,#f6f8fb 55%)}.flow-canvas[data-theme=paper] .wf-node{background:#fff;border:1px solid #d4deec;border-radius:8px;box-shadow:0 1px 3px #1028501a}.flow-canvas[data-theme=paper] .wf-node__label{color:#1f2937}.flow-canvas[data-theme=paper] .wf-node__sublabel{color:#5b6b7c}.flow-canvas[data-theme=paper] .wf-node--main{border-color:#6366f1}.flow-canvas[data-theme=paper] .wf-lane{border-bottom-color:#e3e9f2}.flow-canvas[data-theme=paper] .wf-lane__label{color:#7b8794;border-right-color:#e3e9f2;background:#f6f8fbb3}.plan-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px}.plan-card{width:min(620px,100%);max-height:88vh;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 24px 60px #0006}.plan-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.plan-card__eyebrow{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.plan-card__head h3{margin:0;font-size:17px;line-height:1.35}.plan-card__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.plan-card__label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.plan-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border-soft);color:var(--text)}.chip--node{border-radius:8px}.chip--node b{color:var(--accent)}.plan-card__questions{margin-top:16px}.plan-card__questions ul{margin:6px 0;padding-left:18px;color:var(--text);font-size:13.5px;line-height:1.6}.plan-card__hint{font-size:12px;color:var(--muted);margin:6px 0 0}.plan-card__palette{margin-top:18px}.palette-row{display:flex;flex-wrap:wrap;gap:8px}.palette-swatch{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:10px;padding:8px 12px;font-size:13px;transition:all .15s}.palette-swatch:hover{border-color:var(--accent)}.palette-swatch.active{border-color:var(--accent);background:var(--suggestion-hover)}.palette-dot{width:14px;height:14px;border-radius:50%}.palette-check{color:var(--accent)}.plan-card__foot{display:flex;align-items:center;gap:12px;margin-top:20px;border-top:1px solid var(--border-soft);padding-top:16px}.plan-card__muted{font-size:12px;color:var(--muted)}@media (max-width: 640px){.plan-card__grid{grid-template-columns:1fr}}.dropdown{position:relative;display:inline-flex}.dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:80;min-width:200px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:5px;box-shadow:0 12px 30px #00000059;display:flex;flex-direction:column}.dropdown-menu[data-align=left]{right:auto;left:0}.dropdown-menu button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:transparent;color:var(--text);padding:7px 10px;border-radius:6px;font-size:13px}.dropdown-menu button:hover:not(:disabled){background:var(--suggestion-hover)}.dropdown-menu button:disabled{opacity:.5;cursor:not-allowed}.dropdown-item__icon{display:inline-flex;width:16px;justify-content:center}.dropdown-sep{height:1px;background:var(--border-soft);margin:4px 6px}.dropdown-swatch{width:13px;height:13px;border-radius:50%;display:inline-block}.dropdown-item--sub{position:relative;display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:13px}.dropdown-item--sub:hover{background:var(--suggestion-hover)}.dropdown-sub{position:absolute;left:calc(100% - 6px);top:-5px;z-index:81;min-width:180px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:5px;box-shadow:0 12px 30px #00000059;display:flex;flex-direction:column;visibility:hidden;opacity:0;transition:opacity .12s}.dropdown-item--sub:hover .dropdown-sub{visibility:visible;opacity:1}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.app__chat{position:relative;overflow:hidden}.app__chat--collapsed{display:flex;align-items:center;justify-content:center}.chat-reopen{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--muted);font-size:12px;font-weight:600;padding:12px 4px}.chat-reopen:hover{color:var(--accent)}.chat-resizer{width:5px;cursor:col-resize;position:relative;z-index:3;background:transparent}.chat-resizer:hover{background:var(--accent);opacity:.6}.standalone-stage{flex:1;min-height:0;padding:12px;display:flex;flex-direction:column}.standalone-stage .flow-wrap{flex:1;min-height:0}.standalone-stage .flow-canvas{min-height:400px}.stage__controls{display:flex;align-items:center;gap:8px}.hint-dot{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--border);border-radius:50%;font-size:11px;color:var(--muted);cursor:help}.question-row{margin-bottom:10px}.question-text{margin:0 0 6px;font-size:13.5px;color:var(--text);line-height:1.5}.question-answer{display:flex;gap:8px}.question-answer input{flex:1;background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px;outline:none}.question-answer input:focus{border-color:var(--accent)}.quick-replies{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.chip--action{background:var(--panel-2);border:1px solid var(--border-soft);color:var(--text);cursor:pointer;transition:all .15s}.chip--action:hover{border-color:var(--accent);background:var(--suggestion-hover)}.template-screen{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:40px 24px 0}.template-screen__inner{width:min(920px,100%);padding-bottom:56px}.template-footer{margin-top:auto;width:100%;padding:20px 24px 24px;text-align:center;color:var(--muted);font-size:12px}.template-screen__head{text-align:center;margin-bottom:32px}.template-screen__head svg{color:var(--accent);margin-bottom:10px}.template-screen__head h1{margin:0 0 8px;font-size:24px;color:var(--text)}.template-screen__head p{margin:0;color:var(--muted);font-size:14px}.template-search{display:flex;align-items:center;gap:8px;max-width:420px;margin:0 auto 20px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:9px 12px;color:var(--muted)}.template-search:focus-within{border-color:var(--accent)}.template-search input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:14px}.template-group{margin-bottom:28px}.template-group__title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:0 0 12px}.template-noresults{text-align:center;color:var(--muted);padding:40px 0}.stats-bar{display:flex;gap:16px;justify-content:center;margin-bottom:28px;flex-wrap:wrap}.stat{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px 16px;color:var(--muted);font-size:12.5px}.stat svg{color:var(--accent)}.stat__value{font-size:18px;font-weight:700;color:var(--text)}.stat__label{font-size:12px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.template-card{display:flex;flex-direction:column;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:16px;color:var(--text);transition:all .18s ease;overflow:hidden;cursor:pointer;outline:none}.template-card:hover,.template-card:focus-visible{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 14px 34px #00000038}.template-card__preview{height:172px;border-bottom:1px solid var(--border);background:#f7f9fb;overflow:hidden;pointer-events:none}.template-card__body{padding:18px;display:flex;flex-direction:column;flex:1}.template-card__badge{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.template-card h3{margin:0 0 8px;font-size:17px;color:var(--text)}.template-card p{margin:0 0 18px;font-size:13px;line-height:1.55;color:var(--muted);flex:1}.template-card__cta{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--accent)}.template-card__cta svg{transition:transform .15s}.template-card:hover .template-card__cta svg{transform:translate(3px)}.tpl-preview{width:100%;height:100%;pointer-events:none;background:#f7f9fb}.tpl-preview .react-flow{background:#f7f9fb}.tpl-preview .wf-node{background:#fff;border-color:#e5e7eb;box-shadow:0 1px 2px #0000000f}.tpl-preview .wf-node__label{color:#1f2937}.tpl-preview .wf-node__sublabel{color:#6b7280}.archify-preview{width:100%;height:100%;background:linear-gradient(180deg,#f7f9fb,#eef1f6);padding:12px;display:flex;flex-direction:column;gap:8px}.archify-preview__title{font-size:12px;font-weight:700;color:#1f2937;letter-spacing:.3px}.archify-preview__lane{display:flex;align-items:center;gap:8px}.archify-preview__lane-label{width:52px;flex:none;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6b7280}.archify-preview__nodes{display:flex;gap:6px;flex:1}.archify-preview__node{flex:1;display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:5px 7px;font-size:10px;color:#374151;box-shadow:0 1px 2px #0000000a}.archify-preview__dot{width:7px;height:7px;border-radius:50%;flex:none}@media (max-width: 760px){.template-grid{grid-template-columns:1fr}}.mermaid-viewer{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--canvas-bg)}.mmd-canvas{height:100%;width:100%;overflow:auto;padding:20px;display:flex;align-items:flex-start;justify-content:center}.mermaid-svg{display:inline-block}.mermaid-svg svg{max-width:none;height:auto}.mermaid-viewer--preview{flex:none;height:100%;padding:8px;pointer-events:none;background:#fff;overflow:hidden}.mermaid-viewer--preview .mmd-canvas{height:100%;overflow:hidden;padding:0;align-items:center}.mermaid-viewer--preview .mermaid-svg svg{max-width:100%;max-height:150px}.chart-viewer{position:relative;flex:1;min-height:0;padding:16px;background:#fff}.chart-inner{width:100%;height:100%}.chart-viewer--preview{flex:none;height:100%;padding:8px;pointer-events:none;background:#fff}.viewer-fabs{position:absolute;top:8px;right:8px;display:flex;gap:4px;z-index:5;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:3px}.viewer-fabs button{display:grid;place-items:center;width:28px;height:28px;background:transparent;border:none;color:var(--text);border-radius:6px;cursor:pointer}.viewer-fabs button:hover{background:var(--suggestion-hover)}.viewer-fabs button:disabled{opacity:.5}.dashboard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--bg);display:flex}.dashboard{flex:1;display:flex;flex-direction:column;min-height:0}.dashboard__head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--header-bg)}.dashboard__title{display:flex;align-items:center;gap:8px}.dashboard__title h2{margin:0;font-size:16px}.dashboard__hint{color:var(--muted);font-size:12px;margin-left:8px}.dashboard__body{flex:1;display:flex;min-height:0}.dashboard__tray{width:260px;border-right:1px solid var(--border);overflow-y:auto;padding:16px;background:var(--panel-2)}.dashboard__section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);margin-bottom:12px}.dashboard__empty{color:var(--muted);font-size:13px}.tray-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border-soft);border-radius:8px;margin-bottom:8px;background:var(--panel);cursor:grab}.tray-item:hover{border-color:var(--accent)}.tray-item__title{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tray-item__badge{font-size:10px;text-transform:uppercase;color:var(--accent)}.dashboard__groups{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.dash-group{border:1px dashed var(--border);border-radius:14px;padding:14px;background:var(--panel-2)}.dash-group--drop{border-color:var(--accent)}.dash-group__head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dash-group__name{flex:1;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:15px;font-weight:700;padding:4px 6px;outline:none}.dash-group__name:focus{border-color:var(--accent)}.dash-group__count{color:var(--muted);font-size:12px}.dash-group__slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dash-slot{min-height:190px;border:1px dashed var(--border);border-radius:10px;background:var(--panel);display:flex}.dash-slot__empty{margin:auto;color:var(--muted);font-size:12px;padding:12px;text-align:center}.dash-card{flex:1;display:flex;flex-direction:column}.dash-card__thumb{flex:1;min-height:0;background:#fff;border-radius:10px 10px 0 0;overflow:hidden}.dash-card__foot{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--border-soft)}.dash-card__title{flex:1;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb-fallback{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:12px}.dash-add-group{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;border:1px dashed var(--border);background:transparent;color:var(--muted);border-radius:10px;padding:10px 16px}.dash-add-group:hover{color:var(--accent);border-color:var(--accent)}.chat__body{flex:1;display:flex;min-height:0}.chat__main{flex:1;display:flex;flex-direction:column;min-height:0}.chat__hist-btn{padding:4px 8px}.chat-history{width:212px;flex:none;border-right:1px solid var(--border-soft);display:flex;flex-direction:column;min-height:0;background:var(--panel-2)}.chat-history__new{display:flex;align-items:center;gap:6px;margin:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font-size:13px}.chat-history__new:hover{border-color:var(--accent)}.chat-history__list{flex:1;overflow-y:auto;padding:0 8px 8px}.chat-history__empty{color:var(--muted);font-size:12px;padding:12px;text-align:center}.chat-history__item{display:flex;align-items:center;gap:2px;width:100%;border-radius:8px;font-size:13px;margin-bottom:2px;background:transparent}.chat-history__item:hover,.chat-history__item.active{background:var(--suggestion-hover)}.chat-history__load{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:8px 6px 8px 10px;border:none;background:transparent;color:var(--text);text-align:left;font-size:13px}.chat-history__icon{flex:none;width:26px;height:26px;display:grid;place-items:center;border:none;background:transparent;color:var(--muted);border-radius:6px}.chat-history__icon:hover{color:var(--text);background:var(--panel-2)}.chat-history__title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history__badge{font-size:9px;text-transform:uppercase;color:var(--accent);flex:none}.chat__empty-preview{width:100%;max-width:260px;height:140px;margin:0 auto 16px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff;pointer-events:none}.back-btn{margin-right:6px;flex:none}.toasts{position:fixed;bottom:20px;right:20px;z-index:300;display:flex;flex-direction:column;gap:8px}.toast{padding:10px 14px;border-radius:10px;background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:13px;box-shadow:0 8px 24px #0000004d;max-width:340px}.toast--error{border-color:var(--danger);color:var(--danger)}.toast--success{border-color:var(--ok);color:var(--ok)}.error-boundary{display:grid;place-items:center;height:100vh;text-align:center;padding:20px}.error-boundary h2{margin:0 0 8px}.error-boundary p{color:var(--muted);margin:0 0 16px}.skeleton{background:linear-gradient(90deg,var(--border-soft) 25%,var(--panel-2) 50%,var(--border-soft) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:10px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-stage{flex:1;min-height:200px;margin:8px 0}.msg__time{display:block;font-size:10px;opacity:.6;margin-top:4px}.msg--user .msg__time{color:#fffc}.msg__regen{display:inline-flex;align-items:center;gap:4px;margin-top:6px;border:none;background:transparent;color:var(--muted);font-size:12px;padding:0}.msg__regen:hover{color:var(--accent)}.dashboard__actions{display:flex;gap:8px}.dashboard__search{display:flex;align-items:center;gap:6px;margin-bottom:10px;background:var(--panel);border:1px solid var(--border-soft);border-radius:8px;padding:6px 8px}.dashboard__search input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:13px}.tray-item__open{flex:1;min-width:0;display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text);text-align:left;padding:0}.dash-card__thumb{cursor:pointer}@media (max-width: 1100px){.template-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 760px){.template-grid{grid-template-columns:1fr}.app__meta{gap:6px}.app__meta .btn{padding:6px 8px}}.code-editor{border-bottom:1px solid var(--border-soft);background:var(--panel);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.code-editor textarea{width:100%;min-height:120px;resize:vertical;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-family:monospace;font-size:12px;outline:none}.code-editor textarea:focus{border-color:var(--accent)}.code-editor__foot{display:flex;gap:8px;justify-content:flex-end}.modal--wide{width:min(880px,96vw)}.variants-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.variant-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel);display:flex;flex-direction:column;padding:0}.variant-card:hover{border-color:var(--accent)}.variant-card__preview{height:180px;background:#fff;overflow:hidden;pointer-events:none}.variant-card__label{padding:8px 12px;font-size:12px;font-weight:600;color:var(--text)}.code-raw{margin:0;padding:10px;font-size:10px;overflow:auto;white-space:pre}.analysis-body p{margin:0 0 8px;font-size:13px;line-height:1.6}.data-import__textarea{width:100%;min-height:140px;resize:vertical;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-family:monospace;font-size:12px;outline:none}.data-import__textarea:focus{border-color:var(--accent)}.data-import__preview{margin-top:12px;border:1px solid var(--border);border-radius:10px;overflow:hidden;height:260px}.data-import__preview .chart-viewer{padding:8px}.risk-matrix{display:flex;align-items:center;justify-content:center;padding:16px}.risk-matrix__inner{width:100%;max-width:760px}.risk-matrix__grid{display:grid;gap:2px}.risk-matrix__axis{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--muted);text-align:center;padding:4px}.risk-matrix__axis--x{height:36px}.risk-matrix__axis--y{writing-mode:vertical-rl;transform:rotate(180deg)}.risk-matrix__cell{position:relative;min-height:56px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;padding:4px;border-radius:4px}.risk-matrix__point{font-size:10px;font-weight:600;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:2px 7px;white-space:nowrap}.risk-matrix__legend{display:flex;gap:14px;justify-content:center;margin-top:10px;font-size:11px;color:var(--muted)}.risk-matrix__legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:middle}.risk-matrix__legend .lg{background:#34d39980}.risk-matrix__legend .lm{background:#fbbf2499}.risk-matrix__legend .lh{background:#fb718599}.wf-node__icon{width:26px;height:26px;margin:2px auto 4px;object-fit:contain}.template-arch{margin-top:12px}.arch-diagram{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#f8fafc}.arch-diagram__tabs{display:flex;gap:4px;padding:8px;background:var(--panel);border-bottom:1px solid var(--border-soft)}.arch-diagram__tab{border:1px solid transparent;background:transparent;color:var(--muted);border-radius:8px;padding:6px 12px;font-size:13px}.arch-diagram__tab.active{background:var(--suggestion-hover);color:var(--text);border-color:var(--border)}.arch-diagram__canvas{height:380px}.agent-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.agent-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:5px 12px;font-size:12px}.agent-chip:hover{border-color:var(--accent);background:var(--suggestion-hover)}.manager-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:#64748b;font-size:13px}.manager-preview svg{color:#a855f7}.agent-chip__reason{color:var(--muted);font-size:11px}.chat-diagram{height:340px;min-height:200px;display:flex;flex-direction:column;margin:10px 0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.chat-diagram .mermaid-viewer,.chat-diagram .chart-viewer{background:#fff}.mmd-canvas{cursor:grab}.mmd-canvas:active{cursor:grabbing}.sidebar{width:260px;flex:none;display:flex;flex-direction:column;background:var(--panel-2);border-right:1px solid var(--border);min-height:0}.sidebar__head{display:flex;align-items:center;gap:10px;padding:14px 16px}.sidebar__head strong{font-size:15px}.sidebar__head svg{color:var(--accent)}.sidebar__new{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 12px 10px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);font-size:13px}.sidebar__new:hover{border-color:var(--accent)}.sidebar__nav{display:flex;flex-direction:column;gap:2px;padding:0 12px}.sidebar__nav button{display:flex;align-items:center;gap:10px;padding:9px 12px;border:none;background:transparent;color:var(--text);font-size:13px;border-radius:8px}.sidebar__nav button:hover{background:var(--suggestion-hover)}.sidebar__search{display:flex;align-items:center;gap:8px;margin:10px 12px;padding:8px 10px;background:var(--panel);border:1px solid var(--border-soft);border-radius:8px;color:var(--muted)}.sidebar__search input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:13px}.sidebar__scroll{flex:1;overflow-y:auto;min-height:0;padding:0 12px}.sidebar__section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);margin:8px 0}.sidebar__list{display:flex;flex-direction:column;gap:2px;padding-bottom:8px}.sidebar__empty{color:var(--muted);font-size:12px;padding:8px 4px}.sidebar__item{display:flex;align-items:center;gap:2px;border-radius:8px}.sidebar__item:hover,.sidebar__item.active{background:var(--suggestion-hover)}.sidebar__load{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 10px;border:none;background:transparent;color:var(--text);text-align:left;font-size:13px}.sidebar__item-icon{color:var(--accent);flex:none}.sidebar__title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__icon{flex:none;width:26px;height:26px;display:grid;place-items:center;border:none;background:transparent;color:var(--muted);border-radius:6px}.sidebar__icon:hover{color:var(--text);background:var(--panel-2)}.sidebar__user{display:flex;align-items:center;gap:6px;padding:12px;border-top:1px solid var(--border)}.sidebar__themebtn{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px}.sidebar__themebtn:hover{border-color:var(--accent)}.sidebar__username{flex:1;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__signin{display:flex;align-items:center;gap:8px;flex:1;padding:8px 10px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;font-size:13px}.sidebar__signin:hover{border-color:var(--accent)}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-chatarea{flex:1;min-height:0;display:flex}.app-chat{flex:1;min-width:0;display:flex}.app-chat .chat{flex:1;width:100%;height:100%}.app-standalone{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px}.app-standalone .flow-wrap{flex:1;min-height:0}.chat__list{padding:24px 16px;gap:0}.chat__messages{display:flex;flex-direction:column;gap:16px;width:100%;max-width:820px;margin:0 auto;padding:0 16px}.chat__messages .msg{max-width:100%}.chat__messages .msg--agent{align-self:stretch}.chat__messages .msg--user{align-self:flex-end}.chat-diagram__bar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--border-soft)}.chat-diagram__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.chat-diagram__actions{display:flex;gap:4px}.chat-diagram__actions button{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--border-soft);background:transparent;color:var(--muted);border-radius:6px}.chat-diagram__actions button:hover{color:var(--accent);border-color:var(--accent)}.chat-diagram .mermaid-viewer,.chat-diagram .chart-viewer{flex:1;min-height:0}.graph-panel{width:440px;flex:none;border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0;background:var(--panel-2)}.graph-panel__head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-soft)}.graph-panel__title{flex:1;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.graph-panel__modes{display:inline-flex;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:2px;gap:2px}.graph-panel__modes button{border:none;background:transparent;color:var(--muted);padding:4px 10px;border-radius:6px;font-size:12px}.graph-panel__modes button.on{background:var(--accent);color:#fff}.graph-panel__body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.graph-panel__canvas{flex:1;min-height:0;display:flex;flex-direction:column}.graph-panel__canvas .mermaid-viewer,.graph-panel__canvas .chart-viewer{flex:1;min-height:0}.graph-panel__empty{align-items:center;justify-content:center;color:var(--muted);font-size:13px;padding:20px;text-align:center}.graph-panel .flow-wrap{flex:1;min-height:0;border:none;border-radius:0}.graph-panel .flow-canvas{min-height:0}.graph-panel .archify-frame{flex:1;min-height:0}.chart-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px}.chart-modal__card{width:min(760px,94vw);max-height:86vh;background:var(--panel);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden}.chart-modal__head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-soft)}.chart-modal__body{flex:1;min-height:0;display:flex;flex-direction:column}.chart-modal__body .mermaid-viewer,.chart-modal__body .chart-viewer{flex:1;min-height:0}.chart-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:var(--bg);display:flex;flex-direction:column}.chart-fullscreen__head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.chart-fullscreen__head span{font-size:14px;font-weight:600}.chart-fullscreen__body{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px}.chart-fullscreen__body .mermaid-viewer,.chart-fullscreen__body .chart-viewer{flex:1;min-height:0}@media (max-width: 900px){.sidebar{display:none}.graph-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;width:100%;border-left:none}}.modal--admin{width:min(680px,96vw);max-height:88vh;overflow-y:auto}.admin-head__actions{display:flex;gap:6px;align-items:center}.admin-grid{display:flex;flex-direction:column;gap:16px;margin-top:6px}.admin-section{border:1px solid var(--border-soft);border-radius:12px;padding:14px;background:var(--panel-2)}.admin-section__title{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:12px}.admin-section__title svg{color:var(--accent)}.admin-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-soft)}.admin-toggle:last-of-type{border-bottom:none}.admin-toggle__text{display:flex;flex-direction:column;gap:2px}.admin-toggle__label{font-size:13.5px;color:var(--text);font-weight:600}.admin-toggle__desc{font-size:12px;color:var(--muted)}.switch{flex:none;width:40px;height:22px;border-radius:999px;border:1px solid var(--border);background:var(--panel);position:relative;transition:background .15s;padding:0}.switch.on{background:var(--accent);border-color:var(--accent)}.switch__knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}.switch.on .switch__knob{left:20px}.admin-add-user{display:flex;gap:6px;margin-bottom:12px}.admin-add-user input,.admin-add-user select{flex:1;background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 9px;font-size:13px;outline:none;min-width:0}.admin-add-user select{flex:none;width:88px}.admin-add-user input:focus,.admin-add-user select:focus{border-color:var(--accent)}.admin-users{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto}.admin-user{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel)}.admin-user__email{flex:1;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user__role{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--muted)}.admin-user__role.is-admin{color:var(--accent)}.admin-sessions{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.admin-session{display:flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel)}.admin-session__open{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:none;background:transparent;text-align:left;padding:0}.admin-session__title{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-session__owner{font-size:11px;color:var(--muted)}.admin-session__engine{font-size:10px;text-transform:uppercase;color:var(--accent);flex:none}.admin-empty{color:var(--muted);font-size:12px;padding:8px 0}
