.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{color-scheme:dark;--orange: #ff3d00;--orange-hot: #ff5a26;--orange-soft: rgba(255, 61, 0, .14);--orange-line: rgba(255, 61, 0, .38);--violet: #8b8bf5;--bg: #0b0b0c;--surface: #121214;--surface-2: #19191c;--surface-3: #212125;--border: #2a2a2f;--border-strong: #3a3a41;--text: #f5f4f2;--muted: #98979e;--danger: #ff6b57;--danger-bg: rgba(255, 87, 61, .12);--danger-line: rgba(255, 87, 61, .4);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:-240px;right:-240px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(255,61,0,.09) 0%,transparent 65%);pointer-events:none;z-index:0}::selection{background:var(--orange);color:#fff}:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:6px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}*::-webkit-scrollbar-thumb:hover{background:var(--orange)}*::-webkit-scrollbar-track{background:transparent}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dotBounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}.script-accent{font-family:Caveat,cursive;font-weight:700;font-size:28px;line-height:1.1;color:var(--orange);margin:0}.script-accent.small{font-size:20px;opacity:.85}.app-root{display:flex;flex-direction:column;height:100vh;height:100dvh;position:relative;z-index:1}.demo-banner{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:14px;background:linear-gradient(90deg,#ff3d001f,#8b8bf51a);border-bottom:1px solid var(--border);color:var(--text);font-size:12.5px;padding:8px 18px;text-align:center}.demo-banner strong{color:var(--orange);font-weight:700}.demo-banner-close{background:none;border:none;color:var(--muted);font-size:17px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px;flex-shrink:0;transition:color .15s ease,background .15s ease}.demo-banner-close:hover{color:var(--text);background:#ffffff14}.mobile-topbar{display:none;align-items:center;gap:12px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.hamburger-btn{display:flex;flex-direction:column;justify-content:center;gap:4.5px;width:40px;height:40px;padding:9px;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;cursor:pointer;transition:border-color .15s ease}.hamburger-btn:hover{border-color:var(--orange)}.hamburger-btn span{display:block;height:2px;border-radius:2px;background:var(--text)}.mobile-brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15px;letter-spacing:-.01em;flex:1}.mobile-brand em{font-style:normal;font-weight:500;color:var(--muted)}.mobile-new-chat{width:40px;height:40px;border-radius:50%;border:none;background:var(--orange);color:#fff;font-size:22px;line-height:1;cursor:pointer;transition:background .15s ease,transform .15s var(--ease-spring)}.mobile-new-chat:hover{background:var(--orange-hot);transform:scale(1.05)}.app-shell{display:flex;flex:1;min-height:0;overflow:hidden;position:relative}.sidebar-backdrop{display:none}.sidebar{width:272px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 14px 14px;gap:6px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:2px 6px 16px}.sidebar-wordmark{font-size:15.5px;font-weight:800;letter-spacing:.01em;flex:1}.sidebar-wordmark em{font-style:normal;font-weight:500;color:var(--muted)}.sidebar-close{display:none;background:none;border:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:8px}.sidebar-close:hover{color:var(--text);background:var(--surface-2)}.new-chat-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);border:none;color:#fff;padding:12px 14px;border-radius:999px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 6px 22px #ff3d0047;transition:background .15s ease,transform .18s var(--ease-spring),box-shadow .2s ease}.new-chat-btn:hover{background:var(--orange-hot);transform:translateY(-1px);box-shadow:0 9px 28px #ff3d005c}.new-chat-btn:active{transform:translateY(0) scale(.98)}.new-chat-btn .plus{font-weight:800;font-size:16px}.nav-item{display:flex;align-items:center;gap:9px;background:transparent;border:1px solid transparent;color:var(--muted);padding:10px 12px;border-radius:12px;font-size:13.5px;font-weight:600;cursor:pointer;text-align:left;margin-top:6px;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s var(--ease-spring)}.nav-item:hover{background:var(--surface-2);color:var(--text);transform:translate(2px)}.nav-item.active{background:var(--orange-soft);border-color:var(--orange-line);color:var(--text)}.nav-icon-svg{width:18px;height:18px;flex-shrink:0}.nav-badge{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);border:1px solid var(--orange-line);border-radius:999px;padding:2px 8px}.sidebar-section-label{color:var(--violet);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:18px 12px 6px}.chat-history{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;min-height:0}.empty-hint{color:var(--muted);font-size:13px;padding:6px 12px}.chat-history-item{display:flex;align-items:center;border-radius:10px;transition:background .15s ease;animation:rise .24s var(--ease-out) both}.chat-history-item:hover{background:var(--surface-2)}.chat-history-item.active{background:var(--surface-2);box-shadow:inset 2.5px 0 0 var(--orange)}.chat-history-title{flex:1;min-width:0;background:none;border:none;color:var(--text);text-align:left;padding:9px 6px 9px 12px;font-size:13.5px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-history-delete{background:none;border:none;color:transparent;font-size:16px;line-height:1;padding:6px 10px;cursor:pointer;border-radius:6px;transition:color .15s ease,background .15s ease}.chat-history-item:hover .chat-history-delete,.chat-history-item.active .chat-history-delete{color:var(--muted)}.chat-history-delete:hover{color:var(--danger);background:var(--danger-bg)}.chat-history-delete.confirming{color:var(--danger);background:var(--danger-bg);font-size:11.5px;font-weight:700;white-space:nowrap;padding:6px 10px}.chat-history-rename{display:flex;align-items:center;justify-content:center;background:none;border:none;color:transparent;padding:6px 4px;cursor:pointer;border-radius:6px;transition:color .15s ease,background .15s ease}.chat-history-item:hover .chat-history-rename,.chat-history-item.active .chat-history-rename{color:var(--muted)}.chat-history-rename:hover{color:var(--orange);background:var(--surface-3)}.chat-history-rename-input{flex:1;min-width:0;background:var(--surface-3);border:1px solid var(--orange);color:var(--text);text-align:left;padding:8px 6px 8px 11px;margin:3px 0;font-size:13.5px;border-radius:8px;outline:none}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 4px;border-top:1px solid var(--border);margin-top:8px}.shortcuts-trigger{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:none;border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:color .15s ease,background .15s ease,transform .15s var(--ease-spring)}.shortcuts-trigger:hover{color:var(--text);background:var(--surface-2);transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#05050699;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;animation:pop .18s ease both}.modal-panel{width:min(420px,92vw);max-height:80vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;padding:18px 20px;box-shadow:0 24px 60px #00000080;animation:rise .22s var(--ease-out) both}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-header h3{margin:0;font-size:16px}.modal-close{background:none;border:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:6px}.modal-close:hover{color:var(--text);background:var(--surface-2)}.shortcuts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.shortcuts-list li{display:flex;align-items:center;gap:12px}.shortcuts-list kbd{flex-shrink:0;min-width:88px;text-align:center;background:var(--surface-3);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:6px;padding:4px 8px;font-size:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:var(--text)}.shortcuts-list span{color:var(--muted);font-size:13.5px}.app-main{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-width:0}.view-transition{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;animation:viewFade .32s var(--ease-out) both}@keyframes viewFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-view{display:flex;flex-direction:column;height:100%;position:relative}.scroll-to-bottom-btn{position:absolute;left:50%;bottom:96px;transform:translate(-50%);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);box-shadow:0 8px 24px #00000059;cursor:pointer;z-index:5;animation:pop .2s var(--ease-spring) both;transition:background .15s ease,transform .15s var(--ease-spring)}.scroll-to-bottom-btn:hover{background:var(--surface-3);transform:translate(-50%) translateY(-2px)}.chat-messages{flex:1;overflow-y:auto;padding:32px 24px 12px;display:flex;flex-direction:column;gap:20px;max-width:780px;width:100%;margin:0 auto}.chat-empty{margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);max-width:460px;animation:rise .4s var(--ease-out) both}.chat-empty-standalone{height:100%;padding:24px}.chat-empty h2{color:var(--text);margin:4px 0 0;font-size:26px;font-weight:800;letter-spacing:-.03em}.chat-empty p{margin:0;font-size:14px;line-height:1.65}.chat-empty>img{margin-bottom:4px}.suggestion-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}.suggestion-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:13px;font-weight:600;padding:9px 16px;border-radius:999px;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .18s var(--ease-spring)}.suggestion-chip:hover{border-color:var(--orange);background:var(--orange-soft);transform:translateY(-1px)}.chat-bubble{display:flex;animation:rise .28s var(--ease-out) both}.chat-bubble.user{justify-content:flex-end}.chat-bubble.model{justify-content:flex-start;align-items:flex-end;gap:8px}.chat-avatar{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border);margin-bottom:2px}.chat-bubble-content{max-width:82%;padding:12px 16px;border-radius:18px;font-size:14.5px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;position:relative}.chat-bubble.user .chat-bubble-content{background:var(--orange);color:#fff;border-bottom-right-radius:5px;box-shadow:0 6px 20px #ff3d0038}.chat-bubble.model .chat-bubble-content{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:5px}.chat-bubble-text{display:block}.chat-bubble-text p{margin:0 0 .6em}.chat-bubble-text p:last-child{margin-bottom:0}.chat-bubble-text ul,.chat-bubble-text ol{margin:0 0 .6em;padding-left:1.35em}.chat-bubble-text ul:last-child,.chat-bubble-text ol:last-child{margin-bottom:0}.chat-bubble-text li{margin-bottom:.25em}.chat-bubble-text li:last-child{margin-bottom:0}.chat-bubble-text .md-heading{font-weight:700;margin:.2em 0 .4em}.chat-bubble-text .md-h1{font-size:1.15em}.chat-bubble-text .md-h2{font-size:1.08em}.chat-bubble-text .md-h3{font-size:1.02em}.chat-bubble-text .inline-code{background:#7f7f7f33;border-radius:4px;padding:.1em .4em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.92em}.chat-bubble.user .chat-bubble-text .inline-code{background:#ffffff38}.chat-bubble-text .md-code-block-wrap{position:relative;margin:0 0 .6em}.chat-bubble-text .md-code-block-wrap:last-child{margin-bottom:0}.chat-bubble-text .md-code-block{background:#00000047;border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:0;overflow-x:auto;font-size:.88em}.chat-bubble-text .md-code-block code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;white-space:pre}.chat-bubble-text .md-code-copy{position:absolute;top:6px;right:6px;background:#00000059;border:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;cursor:pointer;opacity:.65;transition:opacity .15s ease,color .15s ease,background .15s ease}.chat-bubble-text .md-code-block-wrap:hover .md-code-copy{opacity:1}.chat-bubble-text .md-code-copy:hover{color:var(--text);background:#0000008c}.chat-bubble-text a{color:inherit;text-decoration:underline;text-decoration-color:#fff6}.chat-bubble.model .chat-bubble-text a{color:var(--orange);text-decoration-color:transparent}.typing-dots{display:inline-flex;gap:5px;padding:4px 2px}.typing-dots span{width:7px;height:7px;border-radius:50%;background:var(--orange);animation:dotBounce 1.1s infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}.bubble-actions{display:flex;gap:8px;margin-top:8px}.bubble-action{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:var(--muted);font-size:11.5px;font-weight:600;cursor:pointer;padding:3px 8px;border-radius:7px;transition:color .15s ease,background .15s ease,transform .15s var(--ease-spring)}.bubble-action:hover{color:var(--text);background:var(--surface-3);transform:translateY(-1px)}.inline-generating{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;border-radius:12px;color:var(--muted);font-size:13px;border:1px solid var(--border);background:linear-gradient(90deg,transparent 25%,rgba(255,61,0,.07) 50%,transparent 75%) var(--surface);background-size:600px 100%;animation:shimmer 1.8s linear infinite}.inline-generating .spinner{width:16px;height:16px;border-width:2px}.chat-video-wrap{margin-top:12px}.chat-video{display:block;width:100%;max-width:440px;border-radius:14px;background:#000;border:1px solid var(--border)}.download-btn{display:inline-flex;align-items:center;gap:7px;margin-top:10px;background:transparent;border:1.5px solid var(--orange-line);color:var(--orange);font-size:13px;font-weight:700;padding:8px 16px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease,transform .18s var(--ease-spring)}.download-btn:hover{background:var(--orange);color:#fff;transform:translateY(-1px)}.download-btn svg{width:15px;height:15px}.toast-stack{position:fixed;top:18px;right:18px;z-index:80;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 36px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;font-size:13.5px;line-height:1.5;box-shadow:0 12px 30px #00000059;animation:rise .24s var(--ease-out) both}.toast-error{background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger)}.toast-info{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text)}.toast span{flex:1}.toast button{background:none;border:none;color:inherit;opacity:.7;font-size:16px;line-height:1;cursor:pointer;padding:0}.toast button:hover{opacity:1}.chat-composer{max-width:780px;width:100%;margin:0 auto;padding:12px 24px calc(16px + env(safe-area-inset-bottom,0px))}.chat-input-row{display:flex;align-items:flex-end;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:8px;transition:border-color .18s ease,box-shadow .18s ease}.chat-input-row:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.chat-input-row textarea{flex:1;background:transparent;border:none;color:var(--text);padding:10px 6px;font-size:14.5px;font-family:inherit;line-height:1.5;outline:none;resize:none;max-height:168px;min-height:24px}.chat-input-row textarea::placeholder{color:var(--muted)}.chat-attach-btn{flex-shrink:0;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:14px;color:var(--muted);cursor:pointer;transition:color .15s ease,background .15s ease}.chat-attach-btn svg{width:20px;height:20px}.chat-attach-btn:hover:not(:disabled){color:var(--orange);background:var(--orange-soft)}.chat-attach-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn{flex-shrink:0;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--orange);border:none;border-radius:14px;color:#fff;cursor:pointer;transition:background .15s ease,transform .18s var(--ease-spring)}.send-btn svg{width:19px;height:19px}.send-btn:hover:not(:disabled){background:var(--orange-hot);transform:scale(1.06)}.send-btn:disabled{opacity:.45;cursor:not-allowed}.send-btn-stop{background:var(--surface-3, #2a2a2a);color:var(--text)}.send-btn-stop:hover{background:var(--danger, #e5484d);color:#fff}.composer-hint{margin:8px 4px 0;font-size:11px;color:var(--muted);text-align:center}.attachment-chips{display:flex;flex-wrap:wrap;gap:8px}.attachment-chips-pending{margin-bottom:10px}.attachment-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-3);border:1px solid var(--border);color:var(--muted);padding:5px 11px;border-radius:999px;font-size:12.5px;max-width:230px;overflow:hidden;animation:pop .2s var(--ease-out) both}.attachment-chip.removable{color:var(--text);padding-right:6px}.attachment-chip button{background:none;border:none;color:var(--muted);font-size:15px;line-height:1;cursor:pointer;padding:0 2px}.attachment-chip button:hover{color:var(--danger)}.attachment-chip .spinner{width:12px;height:12px;border-width:2px}.chat-bubble-content .attachment-chips{margin-bottom:8px}.inline-confirm{display:flex;gap:10px;margin-top:12px;animation:pop .24s var(--ease-spring) both}.edit-message{display:flex;flex-direction:column;gap:8px;min-width:240px}.edit-message textarea{width:100%;resize:vertical;background:#0000002e;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:8px 10px;color:inherit;font-family:inherit;font-size:14.5px;line-height:1.5}.edit-message-actions{display:flex;justify-content:flex-end;gap:8px}.edit-message-actions .inline-confirm-btn{padding:6px 14px;font-size:12.5px}.inline-confirm-btn{border:none;padding:9px 18px;border-radius:999px;font-size:13.5px;font-weight:700;cursor:pointer;transition:background .15s ease,transform .18s var(--ease-spring),border-color .15s ease}.inline-confirm-btn:hover{transform:translateY(-1px)}.inline-confirm-btn.secondary{background:var(--surface-3);color:var(--text);border:1px solid var(--border)}.inline-confirm-btn.secondary:hover{border-color:var(--border-strong)}.inline-confirm-btn.primary{background:var(--orange);color:#fff;box-shadow:0 4px 16px #ff3d004d}.inline-confirm-btn.primary:hover{background:var(--orange-hot)}.inline-video-error{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px;padding:10px 12px;background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger);border-radius:12px;font-size:13px}.manual-panel{max-width:880px;margin:0 auto;padding:40px 24px 80px;width:100%;animation:rise .35s var(--ease-out) both}.manual-header{text-align:center;margin-bottom:34px}.logo{display:inline-flex;align-items:center;gap:12px;font-size:25px;font-weight:800;letter-spacing:-.03em}.logo svg,.logo img{display:block}.logo-accent{color:var(--orange)}.tagline{color:var(--muted);margin-top:10px;font-size:15px}.prompt-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:16px;box-shadow:0 24px 70px #0006;transition:border-color .18s ease}.prompt-card:focus-within{border-color:var(--orange-line)}.prompt-input{width:100%;background:transparent;border:none;outline:none;color:var(--text);font-size:16px;resize:vertical;font-family:inherit;line-height:1.55}.prompt-input::placeholder{color:var(--muted)}.settings-row{display:flex;gap:14px;flex-wrap:wrap}.settings-field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px}.settings-label{color:var(--violet);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.settings-field select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:11px 12px;border-radius:12px;font-size:14px;font-family:inherit;outline:none;cursor:pointer;transition:border-color .15s ease}.settings-field select:hover,.settings-field select:focus{border-color:var(--orange)}.prompt-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.clear-btn{background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;text-decoration:underline;transition:color .15s ease}.clear-btn:hover{color:var(--danger)}.generate-btn{margin-left:auto;background:var(--orange);color:#fff;border:none;padding:13px 30px;border-radius:999px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 8px 26px #ff3d004d;transition:background .15s ease,transform .18s var(--ease-spring),box-shadow .2s ease}.generate-btn:hover:not(:disabled){background:var(--orange-hot);transform:translateY(-1px);box-shadow:0 11px 32px #ff3d0061}.generate-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.generate-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.error-banner{margin-top:20px;padding:14px 18px;background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger);border-radius:12px;font-size:14px;animation:pop .2s var(--ease-out) both}.loading-state{margin-top:40px;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--muted);animation:rise .3s var(--ease-out) both}.loading-progress{width:min(320px,80vw);height:4px;border-radius:999px;background:var(--surface-3);overflow:hidden}.loading-progress-bar{width:40%;height:100%;border-radius:999px;background:linear-gradient(90deg,transparent,var(--orange),transparent);animation:progressSlide 1.6s ease-in-out infinite}@keyframes progressSlide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.result-skeleton{width:min(360px,86vw);margin-top:6px}.result-skeleton-media{width:100%;aspect-ratio:16 / 9;border-radius:18px;background:linear-gradient(100deg,var(--surface-2) 30%,var(--surface-3) 50%,var(--surface-2) 70%);background-size:220% 100%;animation:shimmer 1.6s ease-in-out infinite}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-20% 0}}.spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--orange);animation:spin .8s linear infinite;display:inline-block}.results-grid{margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.result-card{background:var(--surface-2);border:1px solid var(--border);border-radius:18px;overflow:hidden;padding:0;animation:rise .3s var(--ease-out) both}.result-media{width:100%;display:block;aspect-ratio:16 / 9;object-fit:cover;background:#000}.result-actions{padding:12px 14px}.result-actions .download-btn{margin-top:0}.result-text{padding:18px;font-size:14px;line-height:1.6;color:var(--text)}.result-link{display:block;padding:18px;color:var(--orange);text-decoration:none;font-size:14px;font-weight:600}.mcp-card{margin-top:56px;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:28px}.mcp-header{display:flex;align-items:center;gap:12px}.mcp-header h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.02em}.mcp-badge{font-size:10.5px;font-weight:800;letter-spacing:.1em;padding:4px 10px;border-radius:999px;color:var(--orange);border:1px solid var(--orange-line);background:var(--orange-soft)}.mcp-sub{color:var(--muted);font-size:14px;line-height:1.6;margin:14px 0 18px}.mcp-url-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}.mcp-url{flex:1;min-width:220px;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--violet);display:flex;align-items:center;overflow-x:auto}.mcp-copy{background:var(--orange);color:#fff;border:none;border-radius:999px;padding:0 22px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s ease}.mcp-copy:hover{background:var(--orange-hot)}.mcp-steps{margin:22px 0 18px;padding-left:20px;color:var(--text);font-size:14px;line-height:1.7}.mcp-steps li{margin-bottom:8px}.mcp-steps code,.mcp-sub code{background:var(--bg);padding:2px 6px;border-radius:6px;font-size:12px;color:var(--violet)}.mcp-guide-link{color:var(--orange);text-decoration:none;font-size:14px;font-weight:700}.mcp-guide-link:hover{text-decoration:underline}.sidebar-search{padding:6px 12px 4px}.sidebar-search input{width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:10px;font-size:13px;outline:none;transition:border-color .15s ease}.sidebar-search input:focus{border-color:var(--orange)}.sidebar-search input::placeholder{color:var(--muted)}.workflow-view{display:flex;flex-direction:column;height:100%;min-height:0}.workflow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}.workflow-toolbar-title{display:flex;align-items:center;gap:10px}.workflow-beta-badge{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet);border:1px solid var(--border-strong);border-radius:999px;padding:2px 8px}.workflow-toolbar-actions{display:flex;align-items:center;gap:10px}.wf-toolbar-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:13px;font-weight:600;padding:8px 14px;border-radius:10px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.wf-toolbar-btn:hover{border-color:var(--orange)}.wf-run-all{padding:8px 18px;font-size:13px;display:flex;align-items:center;gap:6px}.wf-toolbar-btn{display:inline-flex;align-items:center;gap:6px}.wf-template-select{display:flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:0 10px;color:var(--muted)}.wf-template-select select{background:none;border:none;color:var(--text);font-size:13px;padding:8px 4px;outline:none;cursor:pointer;max-width:160px}.workflow-canvas{flex:1;min-height:0}.workflow-canvas .react-flow{background:var(--bg)}.workflow-canvas .react-flow__controls{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:none}.workflow-canvas .react-flow__controls-button{background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text)}.workflow-canvas .react-flow__controls-button:hover{background:var(--surface-3)}.workflow-canvas .wf-minimap{background:var(--surface)!important;border:1px solid var(--border);border-radius:10px}.workflow-canvas .react-flow__edge-path{stroke:var(--orange-line);stroke-width:2}.workflow-canvas .react-flow__edge.selected .react-flow__edge-path,.workflow-canvas .react-flow__connection-path{stroke:var(--orange)}.workflow-canvas .react-flow__handle{width:10px;height:10px;background:var(--orange);border:2px solid var(--bg)}.wf-node{position:relative;width:320px;background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;padding:14px;box-shadow:0 16px 40px #0006;font-size:13px;display:flex;flex-direction:column;gap:10px}.wf-handle-column{position:absolute;top:0;bottom:0;width:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.wf-handle-column-left{left:-11px}.wf-handle-column-right{right:-11px}.wf-handle-row{position:relative;display:flex;align-items:center;min-height:14px}.wf-handle-column-left .wf-handle-row{flex-direction:row-reverse}.wf-handle-remove{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--muted);width:14px;height:14px;border-radius:50%;font-size:10px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.wf-handle-remove:hover{color:var(--danger);border-color:var(--danger)}.wf-handle-add{background:var(--surface-2);border:1px dashed var(--border-strong);color:var(--muted);width:16px;height:16px;border-radius:50%;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.wf-handle-add:hover{border-color:var(--orange);color:var(--orange)}.wf-node-header{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--text);padding-bottom:6px;border-bottom:1px solid var(--border)}.wf-node-icon{font-size:15px}.wf-field{display:flex;flex-direction:column;gap:4px}.wf-field>span{color:var(--violet);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.wf-field textarea,.wf-field select,.wf-field input{width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:7px 9px;border-radius:8px;font-size:12.5px;font-family:inherit;outline:none;resize:vertical}.wf-field textarea:focus,.wf-field select:focus,.wf-field input:focus{border-color:var(--orange)}.wf-field-row{display:flex;gap:8px}.wf-field-row .wf-field{flex:1;min-width:0}.wf-hint{color:var(--muted);font-size:12px;margin:0}.wf-advanced-toggle{background:none;border:none;color:var(--muted);font-size:11.5px;text-align:left;cursor:pointer;padding:0}.wf-advanced-toggle:hover{color:var(--text)}.wf-run-btn{display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,var(--orange),var(--orange-hot));color:#fff;border:none;padding:9px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer}.wf-run-btn:disabled{opacity:.5;cursor:not-allowed}.wf-spinner{width:14px;height:14px;border-width:2px;border-color:#ffffff59;border-top-color:#fff}.wf-node-error{background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger);padding:8px 10px;border-radius:8px;font-size:12px}.wf-node-output{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:8px 10px}.wf-output-label{display:block;color:var(--violet);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}.wf-node-output p{margin:0;font-size:12.5px;line-height:1.5;color:var(--text);max-height:140px;overflow-y:auto}.wf-image-results{display:flex;flex-direction:column;gap:8px}.wf-image-result img{width:100%;border-radius:10px;display:block}.wf-image-result button{width:100%;margin-top:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:7px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer}.wf-image-result button:hover{border-color:var(--orange)}.wf-dropzone-wrap{display:flex;flex-direction:column;gap:8px}.wf-dropzone{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px;border:1.5px dashed var(--border-strong);border-radius:12px;color:var(--muted);font-size:11.5px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.wf-dropzone:hover,.wf-dropzone.active{border-color:var(--orange);background:var(--orange-soft);color:var(--text)}.wf-dropzone.disabled{cursor:default;opacity:.7}.wf-dropzone-chips{display:flex;flex-wrap:wrap;gap:6px}.wf-dropzone-chip{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 8px 3px 3px;font-size:11px;color:var(--text);max-width:140px}.wf-dropzone-chip img{width:20px;height:20px;border-radius:50%;object-fit:cover;flex-shrink:0}.wf-dropzone-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-dropzone-chip button{background:none;border:none;color:var(--muted);font-size:13px;line-height:1;cursor:pointer;padding:0;flex-shrink:0}.wf-dropzone-chip button:hover{color:var(--danger)}@media(max-width:900px){.mobile-topbar{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:60;width:min(300px,84vw);transform:translate(-105%);transition:transform .28s var(--ease-out);box-shadow:24px 0 60px #00000073;padding-top:calc(18px + env(safe-area-inset-top,0px))}.sidebar.open{transform:translate(0)}.sidebar-close{display:block}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#05050699;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:pop .2s ease both}.chat-messages{padding:20px 14px 10px;gap:16px}.chat-bubble-content{max-width:90%}.chat-composer{padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px))}.composer-hint{display:none}.manual-panel{padding:24px 14px 60px}.prompt-card{padding:16px}.generate-btn{width:100%;margin-left:0}.chat-error{width:calc(100% - 28px)}.script-accent{font-size:24px}.workflow-toolbar{padding:12px 14px;gap:10px}.workflow-toolbar-actions{width:100%;flex-wrap:wrap;gap:8px}.wf-template-select{flex:1 1 100%;order:3}.wf-template-select select{max-width:none;flex:1}.wf-toolbar-btn,.wf-run-all{flex:1 1 auto;justify-content:center}.workflow-canvas .react-flow__panel.react-flow__minimap{display:none}.wf-node{width:min(320px,84vw)}}@media(max-width:380px){.suggestion-chip{font-size:12px;padding:8px 12px}.chat-empty h2{font-size:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.remotion-studio{display:flex;height:100%;min-height:0}.remotion-chat-pane{width:420px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}.remotion-chat-messages{padding:24px 18px 12px;max-width:none}.remotion-preview-pane{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.remotion-preview-toolbar{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.remotion-preview-meta{font-size:12.5px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.remotion-new-btn{margin-left:auto;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:999px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.remotion-new-btn:hover{border-color:var(--orange);background:var(--orange-soft)}.remotion-preview-frame{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.remotion-preview-frame>div{max-width:100%;max-height:100%}.remotion-preview-empty{color:var(--muted);font-size:14px;text-align:center;max-width:320px;line-height:1.6}.remotion-preview-error{max-width:480px;padding:18px 20px;background:var(--danger-bg);border:1px solid var(--danger-line);border-radius:14px;color:var(--danger)}.remotion-preview-error strong{display:block;font-size:13px;font-weight:700;margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}.remotion-preview-error pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12.5px;line-height:1.6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.applied-badge{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;color:#34d399}.stop-btn{background:var(--danger)!important}@media(max-width:900px){.remotion-studio{flex-direction:column}.remotion-chat-pane{width:100%;height:45%;border-right:none;border-bottom:1px solid var(--border)}.remotion-preview-pane{flex:1}.remotion-preview-toolbar{flex-wrap:nowrap;padding:8px 12px;gap:8px}.remotion-preview-toolbar .nav-badge{display:none}.remotion-preview-meta{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remotion-new-btn{flex-shrink:0;padding:6px 12px;font-size:12px}.remotion-chat-messages{padding:16px 14px 8px}.remotion-preview-frame{padding:14px}}.remotion-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:14px}.remotion-model-switch{display:flex;gap:4px;padding:12px 18px 0;flex-shrink:0}.remotion-model-btn{flex:1;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-size:12.5px;font-weight:700;padding:7px 10px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.remotion-model-btn:hover{border-color:var(--orange-line);color:var(--text)}.remotion-model-btn.active{background:var(--orange);border-color:var(--orange);color:#fff}
