.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{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Microsoft YaHei Mono", monospace;--c-canvas: #f2f2f7;--c-dot: rgba(60, 60, 67, .16);--c-text: #1d1d1f;--c-text-2: #636366;--c-text-3: #aeaeb2;--c-brand-logo: #c19328;--c-brand: #946510;--c-brand-hover: #865a0f;--c-brand-press: #7a520d;--c-brand-soft: rgba(193, 147, 40, .12);--c-info: #007aff;--c-info-text: #0062cc;--c-green: #34c759;--c-orange: #ff9f0a;--c-red: #ff3b30;--c-cyan: #30b0c7;--c-brand-text: #7a520d;--c-red-text: #d70015;--c-orange-text: #995900;--c-cyan-text: #136c7c;--c-green-text: #1b7a35;--c-green-soft: rgba(52, 199, 89, .12);--c-orange-soft: rgba(255, 159, 10, .14);--c-red-soft: rgba(255, 59, 48, .1);--c-cyan-soft: rgba(48, 176, 199, .12);--glass-bg: rgba(255, 255, 255, .72);--glass-bg-strong: rgba(255, 255, 255, .86);--glass-blur: blur(20px) saturate(180%);--hairline: rgba(0, 0, 0, .08);--hairline-strong: rgba(0, 0, 0, .12);--fill-1: rgba(118, 118, 128, .06);--fill-2: rgba(118, 118, 128, .12);--fill-3: rgba(118, 118, 128, .18);--group-bg: rgba(255, 255, 255, .9);--inset-bg: #f5f5f8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .04);--shadow-md: 0 2px 6px rgba(0, 0, 0, .05), 0 12px 32px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08), 0 24px 64px rgba(0, 0, 0, .12);--ring: 0 0 0 2px var(--c-brand);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--grad-image: linear-gradient(135deg, #64d2ff 0%, #30b0c7 100%);--grad-prompt: linear-gradient(135deg, #ffd60a 0%, #ff9f0a 100%);--grad-describe: linear-gradient(135deg, #da8fff 0%, #af52de 100%);--grad-remix: linear-gradient(135deg, #ff8fa3 0%, #ff375f 100%);--grad-generate: linear-gradient(135deg, #5ac8fa 0%, #007aff 100%);--grad-note: linear-gradient(135deg, #a5a3ff 0%, #5e5ce6 100%);--grad-video: linear-gradient(135deg, #ff8fa3 0%, #ff2d55 100%);--ease: cubic-bezier(.25, .1, .25, 1);--dur-fast: .12s;--dur: .2s;--surface-app: radial-gradient(1200px 820px at 0% 0%, rgba(193, 147, 40, .07), transparent 62%), radial-gradient(1100px 760px at 100% 100%, rgba(226, 182, 90, .06), transparent 62%), #f2f2f7;--surface-sidebar: rgba(255, 255, 255, .62);--surface-sidebar-blur: blur(24px) saturate(180%);--surface-card: rgba(255, 255, 255, .78);--surface-card-blur: blur(20px) saturate(180%);--surface-sunken: rgba(118, 118, 128, .08);--surface-sunken-hover: rgba(118, 118, 128, .14);--composer-shadow: 0 8px 32px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--grad-accent: linear-gradient(135deg, #e2b65a, #a87a1f);--grad-accent-strong: linear-gradient(135deg, #946510, #7a520d);--glow-accent: 0 6px 20px rgba(168, 122, 31, .32);--c-accent-icon: #a87a1f;--r-card: 20px;--r-input: 24px;--r-pill: 999px;--r-image: 14px;--fs-title: 28px;--fs-subtitle: 15px;--fs-card-title: 15px;--fs-body: 14px;--fs-aux: 12px;--nav-w: 248px;--nav-w-collapsed: 72px;--header-h: 72px;--content-max: 1280px;--stream-max: 960px;--composer-max: 860px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);font-size:13px;line-height:1.45;color:var(--c-text);background:var(--c-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--c-brand-text);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px}::selection{background:#c1932833}.muted{color:var(--c-text-2)}.tiny{font-size:11px}.mono{font-family:var(--font-mono)}.spacer{flex:1}.fade-in{animation:fade-in var(--dur) var(--ease)}@keyframes fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}.skeleton{background:linear-gradient(90deg,var(--fill-1) 0%,var(--fill-2) 40%,var(--fill-1) 80%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-sm)}.scroll-y{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--fill-3) transparent}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:.5px solid var(--hairline);box-shadow:var(--shadow-sm);border-radius:var(--r-lg)}.glass-strong{background:var(--glass-bg-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--r-sm);border:.5px solid transparent;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn:disabled{opacity:.45;cursor:default}.btn-sm{height:26px;padding:0 10px;font-size:12px}.btn-lg{height:38px;padding:0 18px;font-size:14px;border-radius:var(--r-md)}.btn-primary{background:var(--c-brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--c-brand-hover)}.btn-primary:active:not(:disabled){background:var(--c-brand-press)}.btn-secondary{background:#fff;border-color:var(--hairline-strong);color:var(--c-text)}.btn-secondary:hover:not(:disabled){background:#f7f7f9}.btn-plain{background:transparent;color:var(--c-brand-text)}.btn-plain:hover:not(:disabled){background:var(--c-brand-soft)}.btn-danger{background:var(--c-red-soft);color:var(--c-red-text)}.btn-danger:hover:not(:disabled){background:#ff3b3029}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--r-sm);background:transparent;color:var(--c-text-2);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.icon-btn:hover:not(:disabled){background:var(--fill-1);color:var(--c-text)}.icon-btn:disabled{opacity:.4;cursor:default}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#0000002e;animation:fade-in var(--dur) var(--ease)}.modal{width:min(560px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;border-radius:var(--r-xl);background:var(--glass-bg-strong);box-shadow:var(--shadow-lg)}.modal-wide{width:min(820px,100%)}.modal-head{display:flex;align-items:center;gap:8px;padding:16px 16px 8px 20px;font-size:15px;font-weight:600}.modal-body{padding:8px 20px 16px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:.5px solid var(--hairline)}.toast-host{position:fixed;top:64px;left:50%;z-index:80;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:8px;max-width:520px;padding:9px 14px;border-radius:var(--r-md);pointer-events:auto;animation:fade-in var(--dur) var(--ease)}.toast-error svg{color:var(--c-red-text)}.toast-success svg{color:var(--c-green)}.toast-info svg{color:var(--c-info-text)}.lightbox{position:fixed;inset:0;z-index:60;display:grid;grid-template-columns:1fr 340px;background:#141418b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:fade-in var(--dur) var(--ease)}.lightbox-stage{display:flex;align-items:center;justify-content:center;padding:32px;min-width:0}.lightbox-stage img{max-width:100%;max-height:calc(100vh - 64px);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.lightbox-side{display:flex;flex-direction:column;gap:12px;margin:16px 16px 16px 0;padding:16px;border-radius:var(--r-xl)}.group{background:var(--group-bg);border:.5px solid var(--hairline);border-radius:var(--r-md);overflow:hidden}.group-title{margin:12px 4px 6px;font-size:11px;font-weight:600;color:var(--c-text-2);letter-spacing:.02em}.row{display:flex;align-items:center;gap:12px;min-height:38px;padding:6px 12px}.row+.row,.row+.row-stack,.row-stack+.row,.row-stack+.row-stack{border-top:.5px solid var(--hairline)}.row-label{flex:0 0 auto;font-size:13px;color:var(--c-text)}.row-control{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.row-stack{display:flex;flex-direction:column;gap:6px;padding:8px 12px 10px}.input,.textarea,.select{width:100%;border:.5px solid var(--hairline-strong);border-radius:var(--r-sm);background:#fff;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.input{height:30px;padding:0 10px}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--c-brand);box-shadow:var(--ring)}.textarea{min-height:64px;padding:8px 10px;resize:vertical;line-height:1.5}.select-wrap{position:relative;width:100%;max-width:220px}.select{height:28px;padding:0 26px 0 10px;appearance:none;font-size:12.5px;cursor:pointer}.select-wrap svg{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--c-text-2);pointer-events:none}.seg{display:inline-flex;padding:2px;gap:2px;border-radius:var(--r-sm);background:var(--fill-2)}.seg button{height:24px;padding:0 10px;border:none;border-radius:6px;background:transparent;font-size:12px;color:var(--c-text);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.seg button:hover:not(.on){background:var(--fill-1)}.seg button.on{background:#fff;box-shadow:0 1px 2px #0000001f,0 0 0 .5px #0000000a;font-weight:500}.switch{position:relative;width:38px;height:22px;flex:0 0 auto;border:none;border-radius:11px;background:var(--fill-3);cursor:pointer;transition:background var(--dur) var(--ease)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform var(--dur) var(--ease)}.switch.on{background:var(--c-green)}.switch.on:after{transform:translate(16px)}.stepper{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:var(--r-sm);background:var(--fill-2)}.stepper button{width:24px;height:22px;border:none;border-radius:6px;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.stepper button:hover:not(:disabled){background:#fff}.stepper button:disabled{opacity:.35;cursor:default}.stepper span{min-width:26px;text-align:center;font-variant-numeric:tabular-nums;font-weight:500}.pill{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:10px;font-size:11px;font-weight:500;white-space:nowrap;background:var(--fill-1);color:var(--pill-color, var(--c-text-2));transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.pill.live .pill-dot{animation:pulse 1.2s var(--ease) infinite}@keyframes pulse{50%{opacity:.3}}.tag{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:5px;font-size:10.5px;font-weight:500;background:var(--fill-1);color:var(--c-text-2)}.tag-accent{background:var(--c-brand-soft);color:var(--c-brand-text)}.tag-orange{background:var(--c-orange-soft);color:var(--c-orange-text)}.popover.menu{min-width:200px;padding:5px;border-radius:var(--r-md);box-shadow:var(--shadow-md)}.menu-item{display:flex;align-items:center;gap:8px;width:100%;height:30px;padding:0 10px;border:none;border-radius:7px;background:transparent;font-size:13px;text-align:left;cursor:pointer}.menu-item:hover:not(:disabled){background:var(--c-brand);color:#fff}.menu-item.danger{color:var(--c-red-text)}.menu-item.danger:hover{background:var(--c-red);color:#fff}.menu-sep{height:.5px;margin:4px 6px;background:var(--hairline-strong)}.lightbox-prompt{flex:1;min-height:80px;padding:10px 12px;border-radius:var(--r-md);background:var(--inset-bg);white-space:pre-wrap;line-height:1.6}.lightbox-actions{display:flex;flex-direction:column;gap:8px}.lightbox-actions .btn{height:34px;text-decoration:none}.template-list{display:grid;gap:8px}.template-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:.5px solid var(--hairline-strong);border-radius:var(--r-md);background:#fff;text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.template-item svg{flex:0 0 auto;margin-top:2px;color:var(--c-text-2)}.template-item>span{display:flex;flex-direction:column;gap:2px}.template-item:hover{background:#fafafc}.template-item.on{border-color:var(--c-brand);background:var(--c-brand-soft)}.template-item.on svg{color:var(--c-brand-text)}.edit-label{display:block;margin:14px 2px 6px;font-size:11px;font-weight:600;color:var(--c-text-2)}.output-editor{display:flex;flex-direction:column;gap:12px}.edit-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:.5px solid var(--hairline);border-radius:var(--r-md);background:var(--group-bg)}.edit-card .edit-label{margin:4px 2px 0}.edit-card-head{display:flex;align-items:center;gap:10px}.edit-card-title{font-weight:600}.edit-thumb{width:44px;height:44px;border-radius:var(--r-sm);object-fit:cover;background:var(--fill-1)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.field-cell{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--c-text-2)}.chip-row{display:flex;flex-wrap:wrap;gap:5px}.chip{height:22px;padding:0 9px;border:.5px solid var(--hairline-strong);border-radius:11px;background:#fff;font-size:11px;cursor:pointer}.chip.on{border-color:transparent;background:var(--c-brand-soft);color:var(--c-brand-text);font-weight:500}.editor-footer{position:sticky;bottom:-16px;display:flex;align-items:center;gap:8px;padding:12px 0;background:linear-gradient(to top,var(--glass-bg-strong) 70%,transparent)}.empty-note{padding:18px 4px;text-align:center;font-size:12px}.error-note{padding:8px 12px;border-radius:var(--r-sm);background:var(--c-red-soft);color:var(--c-red-text);font-size:12px}.editor{position:fixed;inset:0;overflow:hidden;background:var(--c-canvas)}.editor .react-flow{background:var(--c-canvas);--xy-edge-stroke-default: #b8b8c2;--xy-edge-stroke-width-default: 1.6;--xy-edge-stroke-selected-default: var(--c-brand);--xy-connectionline-stroke-default: var(--c-brand);--xy-handle-background-color-default: #fff;--xy-handle-border-color-default: var(--c-brand)}.react-flow__node{border-radius:var(--r-lg)}.react-flow__handle{width:11px;height:11px;border:2px solid var(--c-brand);background:#fff;transition:transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.react-flow__handle:hover,.react-flow__handle.connectingto,.react-flow__handle.connectingfrom{background:var(--c-brand)}.react-flow__handle-left .handle-label{position:absolute;right:14px;top:50%;transform:translateY(-50%);padding:1px 7px;border-radius:6px;background:#ffffffe6;border:.5px solid var(--hairline);font-size:10.5px;color:var(--c-text-2);white-space:nowrap;pointer-events:none}.handle-req{margin-left:2px;font-style:normal;color:var(--c-red-text)}.status-edge{stroke:#b8b8c2;stroke-width:1.6;transition:stroke var(--dur) var(--ease)}.status-edge.selected{stroke:var(--c-brand);stroke-width:2}.status-edge.flowing{stroke:var(--c-brand);stroke-width:2;stroke-dasharray:6 6;animation:edge-flow .6s linear infinite}@keyframes edge-flow{to{stroke-dashoffset:-12}}.minimap.react-flow__minimap{bottom:52px;border-radius:var(--r-md);overflow:hidden;border:.5px solid var(--hairline);box-shadow:var(--shadow-sm);background:#ffffffd1;opacity:.88;transition:opacity var(--dur-fast) var(--ease)}.minimap.react-flow__minimap:hover{opacity:1}.minimap-toggle.react-flow__panel{padding:2px;border-radius:var(--r-md)}.flow-controls.react-flow__controls{border-radius:var(--r-md);overflow:hidden;border:.5px solid var(--hairline);box-shadow:var(--shadow-sm)}.flow-controls .react-flow__controls-button{border-bottom:.5px solid var(--hairline);background:#ffffffe6}.react-flow__attribution{background:transparent;opacity:.5}.topbar{position:absolute;top:12px;left:12px;right:12px;z-index:10;display:flex;align-items:center;gap:10px;height:52px;padding:0 10px 0 6px;border-radius:var(--r-lg)}.title-input{width:260px;height:30px;padding:0 8px;border:.5px solid transparent;border-radius:var(--r-sm);background:transparent;font-size:15px;font-weight:600;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.title-input:hover{background:var(--fill-1)}.title-input:focus{outline:none;box-shadow:var(--ring);background:#fff;border-color:var(--c-brand)}.save-state{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--c-text-2)}.save-saved svg{color:var(--c-green)}.save-dot{width:6px;height:6px;border-radius:50%;background:var(--c-orange)}.save-conflict,.save-error{color:var(--c-red-text)}.queue-ind{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--r-sm);background:var(--fill-1);font-size:12px;font-variant-numeric:tabular-nums}.queue-ind .warn{color:var(--c-orange-text)}.palette{position:absolute;top:80px;left:12px;z-index:10;display:flex;flex-direction:column;gap:2px;width:132px;padding:6px;border-radius:var(--r-lg)}.palette-item{display:flex;align-items:center;gap:9px;height:38px;padding:0 8px;border:none;border-radius:var(--r-sm);background:transparent;font-size:12.5px;text-align:left;cursor:grab;transition:background var(--dur-fast) var(--ease)}.palette-item:hover{background:var(--fill-1)}.palette-item:active{cursor:grabbing}.empty-guide{position:absolute;top:50%;left:50%;z-index:5;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(520px,calc(100% - 48px));padding:28px 32px;border-radius:var(--r-xl);transform:translate(-50%,-50%);text-align:center}.empty-title{font-size:18px;font-weight:600}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 4px}.conflict-bar{position:absolute;top:76px;left:50%;z-index:20;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;border-radius:var(--r-md);transform:translate(-50%);background:#fff7edeb;border-color:#ff9f0a66}.conflict-bar>svg{color:var(--c-orange-text)}.node-card{position:relative;width:340px;border-radius:var(--r-lg);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:.5px solid var(--hairline);box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.node-card:hover{border-color:var(--hairline-strong)}.node-card.selected{border-color:#c193288c;box-shadow:0 0 0 3px #c1932824,var(--shadow-md)}.node-generate{width:360px}.node-head{display:flex;align-items:center;gap:8px;height:52px;padding:0 8px 0 12px}.node-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;box-shadow:inset 0 0 0 .5px #00000014,0 1px 2px #0000001a}.node-title{flex:1;min-width:0;height:26px;padding:0 6px;overflow:hidden;border:.5px solid transparent;border-radius:6px;background:transparent;font-size:13.5px;font-weight:600;line-height:25px;white-space:nowrap;text-overflow:ellipsis;cursor:default}.node-title.editing{background:#fff;border-color:var(--c-brand);cursor:text}.node-title.editing:focus,.node-title.editing:focus-visible{outline:none;box-shadow:var(--ring)}.form-loading{display:flex;flex-direction:column;gap:8px;padding:4px 0}.stale-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#fc0;box-shadow:0 0 0 2px #ffcc0040}.node-body{display:flex;flex-direction:column;gap:8px;padding:0 10px 10px;cursor:default}.node-body .group-title:first-child{margin-top:0}.node-body .select-wrap{max-width:190px}.node-body .row{min-height:36px}.node-results{max-height:420px;padding:10px;border-top:.5px solid var(--hairline);background:#f2f2f7b8;overflow-y:auto;cursor:default}.node-results:empty{display:none}.node-foot{display:flex;align-items:center;gap:10px;min-height:32px;padding:6px 12px;border-top:.5px solid var(--hairline);border-radius:0 0 var(--r-lg) var(--r-lg);font-size:11.5px;color:var(--c-text-2);font-variant-numeric:tabular-nums}.node-progress{flex:1;height:4px;border-radius:2px;background:var(--fill-2);overflow:hidden}.node-progress>div{height:100%;border-radius:2px;background:var(--c-info);transition:width var(--dur) var(--ease)}.node-error{flex:1;min-width:0;overflow:hidden;color:var(--c-red-text);text-overflow:ellipsis;white-space:nowrap}.prompt-form{position:relative}.prompt-form .textarea{min-height:110px}.prompt-count{position:absolute;right:8px;bottom:6px;pointer-events:none}.disclosure{display:flex;align-items:center;gap:6px;width:100%;height:30px;padding:0 4px;border:none;background:transparent;font-size:12px;font-weight:600;color:var(--c-text-2);cursor:pointer}.disclosure svg{transition:transform var(--dur) var(--ease)}.disclosure.open svg{transform:rotate(90deg)}.disclosure.small{width:auto;height:22px;padding:0;font-weight:500;color:var(--c-brand-text)}.disclosure.small.open svg{transform:rotate(180deg)}.policy .seg button{padding:0 8px}.range{width:120px;accent-color:var(--c-brand)}.range-value{width:28px;text-align:right}.estimate{display:flex;align-items:center;gap:5px;padding:8px 12px;border-top:.5px solid var(--hairline);font-size:12px;color:var(--c-text-2)}.estimate strong{color:var(--c-text)}.estimate.over{color:var(--c-red-text)}.image-drop{border-radius:var(--r-md);transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.image-drop.over{background:var(--c-brand-soft);box-shadow:inset 0 0 0 1.5px var(--c-brand)}.image-drop-hint{padding:6px 2px 0;text-align:center}.thumb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.thumb-grid.small{grid-template-columns:repeat(4,minmax(0,1fr))}.thumb{position:relative;aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;background:var(--fill-1)}.thumb-open{display:block;width:100%;height:100%;padding:0;border:none;background:none}.thumb-open:focus-visible{outline:2px solid var(--c-brand);outline-offset:-2px}.thumb img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.thumb-remove{position:absolute;top:4px;right:4px;display:none;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:50%;background:#0000008c;color:#fff;cursor:pointer}.thumb-remove.icon-btn:hover:not(:disabled){background:#000000b8;color:#fff}.thumb:hover .thumb-remove,.thumb-remove:focus-visible{display:inline-flex}.thumb.pending img{opacity:.45;filter:blur(1px)}.thumb-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--c-brand-text)}.thumb.add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px dashed var(--hairline-strong);background:#fff9;color:var(--c-text-2);font-size:11px;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.thumb.add:hover{background:#fff;color:var(--c-brand-text)}.results-head{display:flex;align-items:center;margin-bottom:6px;font-size:11px;font-weight:600;color:var(--c-text-2)}.result-item{display:flex;gap:10px;padding:10px;border-radius:var(--r-md);background:#fff;border:.5px solid var(--hairline)}.result-item+.result-item,.variant-item+.variant-item{margin-top:6px}.result-thumb{flex:0 0 auto;width:52px;height:52px;border-radius:var(--r-sm);object-fit:cover;background:var(--fill-1)}.result-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.result-title{font-weight:600;font-size:12.5px}.result-text{font-size:12px;line-height:1.55;color:var(--c-text);white-space:pre-wrap;-webkit-user-select:text;user-select:text}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.field-table{display:grid;gap:3px;margin:4px 0 0;font-size:11.5px}.field-table>div{display:grid;grid-template-columns:64px 1fr;gap:6px}.field-table dt{color:var(--c-text-2)}.field-table dd{margin:0}.variant-item{display:flex;flex-direction:column;gap:5px;padding:10px;border-radius:var(--r-md);background:#fff;border:.5px solid var(--hairline)}.variant-head{display:flex;align-items:center;gap:7px}.variant-index{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:var(--fill-2);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.job-rows{display:flex;flex-direction:column;gap:6px}.job-row{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:var(--r-md);background:#fff;border:.5px solid var(--hairline)}.job-row-head{display:flex;align-items:center;gap:8px;font-size:12px}.job-row-label{font-weight:500}.job-row-error{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:var(--c-red-text)}.cell-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cell-grid.large{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cell{position:relative;aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;background:#fff;border:.5px solid var(--hairline);font-size:11px}.cell-fill{position:absolute;inset:0;border-radius:0}.cell-fill.queued{animation:none;background:var(--c-cyan-soft)}.cell-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-variant-numeric:tabular-nums}.cell-status{font-weight:600}.cell-queued .cell-status{color:var(--c-cyan-text)}.cell-running .cell-status,.cell-polling .cell-status{color:var(--c-info-text)}.cell-progress{position:absolute;left:8px;right:8px;bottom:8px;height:3px;border-radius:2px;background:var(--fill-2);overflow:hidden}.cell-progress>div{height:100%;background:var(--c-info);transition:width var(--dur) var(--ease)}.cell-open{display:block;width:100%;height:100%;padding:0;border:none;background:none;cursor:zoom-in}.cell-open:focus-visible{outline:2px solid var(--c-brand);outline-offset:-2px}.cell-img{position:relative;width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:opacity var(--dur) var(--ease)}.cell-video{position:relative;width:100%;height:100%;object-fit:contain;background:#000;transition:opacity var(--dur) var(--ease)}.cell-img.pending,.cell-video.pending{opacity:0}.cell-percent{font-size:11px;color:var(--c-text-2)}.cell-fail-body{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;background:#ff3b300d;color:var(--c-red-text);text-align:center}.cell-cancelled .cell-fail-body{background:var(--fill-1);color:var(--c-text-2)}.cell-reason{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.cell-corner,.cell-prompt{position:absolute;top:5px;display:inline-flex;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease);align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:6px;background:#ffffffeb;box-shadow:0 1px 3px #00000026;color:var(--c-text-2);cursor:pointer}.cell-corner{right:5px}.cell-prompt{left:5px}.cell:hover .cell-corner,.cell:hover .cell-prompt,.cell:focus-within .cell-corner,.cell:focus-within .cell-prompt{opacity:1;pointer-events:auto}.inspector{position:absolute;top:76px;right:12px;bottom:12px;z-index:15;display:flex;flex-direction:column;width:420px;border-radius:var(--r-xl);background:var(--glass-bg-strong);box-shadow:var(--shadow-md)}.inspector-head{display:flex;align-items:center;gap:10px;padding:14px 12px 10px 16px}.inspector-title{flex:1;min-width:0;display:flex;flex-direction:column}.inspector-tabs{padding:0 16px 10px}.inspector-tabs .seg{display:flex}.inspector-tabs .seg button{flex:1}.inspector-body{flex:1;min-height:0;padding:12px 16px 16px;border-top:.5px solid var(--hairline)}.inspector-stack{display:flex;flex-direction:column;gap:10px;padding-top:8px}.inspector-stack>.btn{align-self:flex-start}.inspector-subtitle{font-size:15px;font-weight:600}.code-block{border:.5px solid var(--hairline);border-radius:var(--r-md);background:#fff;overflow:hidden}.code-head{display:flex;align-items:center;gap:8px;height:34px;padding:0 4px 0 12px;border-bottom:.5px solid var(--hairline);font-size:12px;font-weight:600}.code-pre{margin:0;padding:10px 12px;max-height:520px;overflow:auto;background:var(--inset-bg);font-family:var(--font-mono);font-size:11.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text}.code-pre.folded{mask-image:linear-gradient(to bottom,#000 75%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 75%,transparent)}.code-more{width:100%;height:30px;border:none;border-top:.5px solid var(--hairline);background:#fff;color:var(--c-brand-text);font-size:12px;cursor:pointer}.code-more:hover{background:var(--c-brand-soft)}.ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-link{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:6px 12px;border:none;background:transparent;text-align:left;cursor:pointer}.job-link+.job-link{border-top:.5px solid var(--hairline)}.job-link:hover{background:var(--fill-1)}.job-link-text{flex:1;min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.splash{display:flex;align-items:center;justify-content:center;min-height:100%;gap:12px}.splash.column{flex-direction:column}.canvas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.canvas-card{position:relative;display:flex;flex-direction:column;overflow:hidden;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.canvas-card:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-md)}.canvas-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 10;background:linear-gradient(135deg,#e2b65a2e,#c1932814);color:#c1932880}.canvas-cover img{width:100%;height:100%;object-fit:cover}.canvas-meta{display:flex;flex-direction:column;gap:2px;padding:10px 14px 12px}.canvas-name{color:var(--c-text);font-weight:600;font-size:14px}.route-error{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:24px 16px}.route-error-body{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(480px,100%)}.route-error-hint{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 12px;border-radius:var(--r-pill);background:var(--c-orange-soft);color:var(--c-orange-text);font-size:13px;font-weight:600}.route-error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.route-error-actions a.btn,.route-error-actions a.btn:hover{text-decoration:none}.route-error-details{width:100%;font-size:var(--fs-aux);color:var(--c-text-2);text-align:left}.route-error-details summary{text-align:center;cursor:pointer}.route-error-details pre{max-height:220px;margin:8px 0 0;padding:10px 12px;overflow:auto;border-radius:var(--r-md);background:var(--surface-sunken);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.app-shell{display:flex;height:100%;background:var(--surface-app)}.side-nav{position:relative;z-index:30;flex:0 0 auto;display:flex;flex-direction:column;width:var(--nav-w);padding:14px 12px 12px;background:var(--surface-sidebar);-webkit-backdrop-filter:var(--surface-sidebar-blur);backdrop-filter:var(--surface-sidebar-blur);border-right:.5px solid var(--hairline);transition:width var(--dur) var(--ease),transform var(--dur) var(--ease)}.nav-brand{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 2px 0 6px;margin-bottom:6px}.brand-mark{flex:0 0 auto;display:block;object-fit:contain}.brand-name{flex:1;font-size:15px;font-weight:650;letter-spacing:-.01em;white-space:nowrap}.nav-scroll{flex:1;min-height:0}.nav-group-title{padding:14px 12px 6px;font-size:var(--fs-aux);font-weight:500;color:var(--c-text-2)}.nav-item{position:relative;display:flex;align-items:center;gap:10px;height:40px;margin-bottom:2px;padding:0 12px;border-radius:10px;color:var(--c-text);font-size:var(--fs-body);white-space:nowrap;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav-item:hover{background:var(--surface-sunken);text-decoration:none}.nav-item.active{background:var(--c-brand-soft);color:var(--c-brand-text);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--c-brand)}.nav-icon{display:inline-flex;flex:0 0 auto;color:var(--c-text-2)}.nav-item.active .nav-icon{color:var(--c-brand-text)}.nav-badge{margin-left:auto;padding:1px 7px;border-radius:var(--r-pill);background:var(--grad-accent-strong);color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em}.nav-footer{display:flex;align-items:center;gap:6px;padding:10px 2px 0 10px;border-top:.5px solid var(--hairline)}.nav-token{flex:1;min-width:0;display:inline-flex;align-items:center;gap:8px;color:var(--c-text-2);font-size:var(--fs-aux)}.nav-token .nav-label{overflow:hidden;text-overflow:ellipsis}.nav-logout:hover:not(:disabled){color:var(--c-red-text)}.app-shell.collapsed .side-nav{width:var(--nav-w-collapsed)}.app-shell.collapsed .nav-label,.app-shell.collapsed .nav-badge,.app-shell.collapsed .nav-group-title{display:none}.app-shell.collapsed .nav-brand,.app-shell.collapsed .nav-footer{flex-direction:column;padding-left:0;padding-right:0}.app-shell.collapsed .nav-item{justify-content:center;padding:0}.app-shell.collapsed .nav-group+.nav-group{margin-top:10px;padding-top:10px;border-top:.5px solid var(--hairline)}.nav-toggle,.nav-backdrop{display:none}.app-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;height:100%;font-size:var(--fs-body)}.studio-page{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.page-header{flex:0 0 auto;display:flex;align-items:center;gap:10px;min-height:var(--header-h);padding:8px 24px 8px 32px}.page-heading{min-width:0}.page-heading h1{margin:0;font-size:22px;font-weight:650;letter-spacing:-.01em}.page-heading p{margin:2px 0 0;font-size:13px;color:var(--c-text-2)}.page-header .queue-ind,.recharge-link,.user-btn{height:34px;border-radius:var(--r-pill);background:var(--surface-card);border:.5px solid var(--hairline);box-shadow:var(--shadow-sm)}.page-header .queue-ind{padding:0 12px;color:var(--c-text)}.recharge-link{display:inline-flex;align-items:center;gap:6px;padding:0 14px;color:var(--c-text);font-size:13px;white-space:nowrap;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.recharge-link:hover{color:var(--c-brand-text);border-color:#c193284d;text-decoration:none}.user-btn{width:34px;color:var(--c-text-2)}.user-btn.on{color:var(--c-brand-text)}.menu-header{display:flex;flex-direction:column;gap:4px;padding:8px 10px 10px;margin-bottom:4px;border-bottom:.5px solid var(--hairline)}.menu-token{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.page-body{flex:1;min-height:0}.page-inner{max-width:var(--content-max);margin:0 auto;padding:4px 32px 48px}.composer{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px 14px 10px 16px;border-radius:var(--r-input);background:#ffffffe0;-webkit-backdrop-filter:var(--surface-card-blur);backdrop-filter:var(--surface-card-blur);border:.5px solid var(--hairline);box-shadow:var(--composer-shadow);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.composer:focus-within{border-color:var(--c-brand);box-shadow:var(--composer-shadow),var(--ring)}.composer.over{border-color:var(--c-brand);background:#fff9ecf0}.composer-main{display:flex;align-items:flex-start;gap:12px}.composer-input{flex:1;min-width:0;padding:4px 2px;border:none;background:transparent;resize:none;font-size:15px;line-height:22px;color:var(--c-text)}.composer-input::placeholder{color:var(--c-text-2)}.composer-input:focus,.composer-input:focus-visible{outline:none}.composer.is-hero .composer-input{font-size:16px}.ref-slots{display:flex;flex-wrap:wrap;gap:6px;max-width:40%}.ref-slot{position:relative;flex:0 0 auto;width:56px;height:56px;border-radius:12px;overflow:hidden;background:var(--surface-sunken)}.ref-slot img{width:100%;height:100%;object-fit:cover}.ref-slot.pending img{opacity:.45;filter:blur(1px)}.ref-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--c-brand-text)}.ref-add{display:flex;align-items:center;justify-content:center;border:1px dashed var(--hairline-strong);color:var(--c-text-2);cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.ref-add:hover{border-color:var(--c-brand);background:var(--c-brand-soft);color:var(--c-brand-text)}.ref-remove.icon-btn{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#0000008c;color:#fff;opacity:0}.ref-remove.icon-btn:hover:not(:disabled){background:#000000bf;color:#fff}.ref-slot:hover .ref-remove,.ref-remove:focus-visible{opacity:1}.composer-bar{display:flex;align-items:center;gap:6px}.chip-btn{display:inline-flex;align-items:center;gap:6px;max-width:240px;height:32px;padding:0 12px;border:.5px solid transparent;border-radius:var(--r-pill);background:var(--surface-sunken);color:var(--c-text);font-size:13px;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.chip-btn:hover:not(:disabled){background:var(--surface-sunken-hover)}.chip-btn:disabled{opacity:.5;cursor:default}.chip-btn.on,.chip-btn.picked{border-color:#c1932838;background:var(--c-brand-soft);color:var(--c-brand-text)}.chip-btn.accent svg{color:var(--c-accent-icon)}.chip-text{overflow:hidden;text-overflow:ellipsis}.chip-split{gap:0;padding:0}.chip-main,.chip-clear{display:inline-flex;align-items:center;gap:6px;height:100%;border:none;background:transparent;color:inherit;cursor:pointer}.chip-main{min-width:0;padding:0 10px 0 12px}.chip-clear{padding:0 10px 0 4px}.send-btn{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:var(--c-brand);color:#fff;box-shadow:0 4px 12px #c1932847;cursor:pointer;transition:background var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease)}.send-btn:hover:not(:disabled){background:var(--c-brand-hover);box-shadow:var(--glow-accent)}.send-btn:disabled{background:var(--fill-3);box-shadow:none;cursor:default}.popover-anchor{position:relative;display:inline-flex;min-width:0}.popover{position:fixed;z-index:70;max-width:calc(100vw - 16px);overflow-y:auto;overscroll-behavior:contain;min-width:240px;padding:12px;border-radius:var(--r-lg);background:#fffffff2;box-shadow:var(--shadow-lg);animation:fade-in var(--dur-fast) var(--ease)}.popover-wide{width:440px}.popover-empty{padding:18px 8px;text-align:center;font-size:13px}.option-list{display:flex;flex-direction:column;gap:2px;min-width:280px;max-height:320px}.option-row{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:none;border-radius:9px;background:transparent;font-size:13px;text-align:left;cursor:pointer}.option-row:hover{background:var(--surface-sunken)}.option-row.on{background:var(--c-brand-soft);color:var(--c-brand-text)}.option-check{display:inline-flex;width:16px}.option-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.param-panel{display:flex;flex-direction:column;gap:8px;width:336px}.param-title{margin-top:4px;font-size:var(--fs-aux);font-weight:600;color:var(--c-text-2)}.param-panel .seg{display:flex}.param-panel .seg button{flex:1;height:28px}.ratio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ratio-cell{display:flex;align-items:center;gap:8px;height:44px;padding:0 10px;border:.5px solid transparent;border-radius:12px;background:var(--surface-sunken);font-size:12.5px;font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.ratio-cell:hover{background:var(--surface-sunken-hover)}.ratio-cell.on{border-color:#c1932859;background:var(--c-brand-soft);color:var(--c-brand-text);font-weight:600}.ratio-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.ratio-shape{border:1.5px solid currentColor;border-radius:3px}.ratio-shape.auto{border-style:dashed}.search-field{display:flex;align-items:center;gap:8px;min-width:280px;height:38px;padding:0 6px 0 14px;border:.5px solid var(--hairline);border-radius:var(--r-pill);background:var(--surface-card);color:var(--c-text-2);box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.search-field:focus-within{border-color:var(--c-brand);box-shadow:var(--ring)}.search-field input{flex:1;min-width:0;border:none;background:transparent;font-size:var(--fs-body);color:var(--c-text);outline:none}.search-field.small{min-width:0;height:32px;background:var(--surface-sunken);box-shadow:none}.style-picker{display:flex;flex-direction:column;gap:10px}.style-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:340px;padding:2px}.style-tile{display:flex;flex-direction:column;gap:6px;width:132px;padding:0;border:none;background:transparent;text-align:left;cursor:pointer}.style-tile.style-sm{width:auto}.style-preview{position:relative;display:block;aspect-ratio:3 / 4;border-radius:var(--r-image);overflow:hidden;border:.5px solid var(--hairline);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease)}.style-tile:hover .style-preview{box-shadow:var(--shadow-md)}.style-tile.on .style-preview{box-shadow:0 0 0 2px var(--c-brand),var(--shadow-md)}.style-preview img{width:100%;height:100%;object-fit:cover}.style-initial{position:absolute;left:12px;right:12px;top:12px;font-size:17px;font-weight:700;line-height:1.25;letter-spacing:.02em;color:#1d1d1fdb}.style-sm .style-initial{left:8px;right:8px;top:8px;font-size:13px}.style-check{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--c-brand);color:#fff}.style-title{overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.compare{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px}.compare-col{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:var(--r-image);background:var(--surface-sunken)}.compare-col.highlight{background:var(--c-brand-soft)}.compare-title{font-size:var(--fs-aux);font-weight:600;color:var(--c-text-2)}.highlight .compare-title{color:var(--c-brand-text)}.compare-text{max-height:50vh;font-size:var(--fs-body);line-height:1.65;white-space:pre-wrap}.compare-arrow{align-self:center;color:var(--c-text-2)}.model-list{display:flex;flex-direction:column;gap:8px;min-width:280px}.option-group{display:flex;flex-direction:column;gap:2px}.option-group+.option-group{margin-top:4px;padding-top:6px;border-top:.5px solid var(--hairline)}.option-group-title{padding:4px 10px 2px;font-size:var(--fs-aux);font-weight:600;color:var(--c-text-2)}.option-group-badge{display:inline-flex;align-items:center;gap:4px;padding:0 8px;border-radius:var(--r-pill);background:var(--c-brand-soft);color:var(--c-brand-text);line-height:20px}.select-wrap>.popover-anchor{display:flex;width:100%}.select-btn{display:block;overflow:hidden;color:var(--c-text);text-align:left;text-overflow:ellipsis;white-space:nowrap}.select-btn.placeholder{color:var(--c-text-2)}.select-btn[aria-expanded=true]{border-color:var(--c-brand);box-shadow:var(--ring)}.hero{flex:1;min-height:0;display:flex}.hero-inner{display:flex;flex-direction:column;gap:28px;width:100%;max-width:var(--composer-max);margin:auto;padding:16px 32px 56px}.hero-greeting{text-align:center}.hero-greeting h2{margin:0;font-size:var(--fs-title);font-weight:600;letter-spacing:-.015em}.hero-greeting p{margin:8px 0 0;font-size:var(--fs-subtitle);color:var(--c-text-2)}.style-strip{display:flex;flex-direction:column;gap:10px}.strip-head{display:flex;align-items:center;gap:4px}.strip-head h2{margin:0;font-size:var(--fs-card-title);font-weight:600}.strip-row{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:none}.strip-row>*{flex:0 0 auto;scroll-snap-align:start}.record-stream{flex:1;min-height:0}.stream-inner{display:flex;flex-direction:column;gap:16px;max-width:var(--stream-max);margin:0 auto;padding:4px 32px 0}.stream-top{display:flex;justify-content:center;min-height:20px}.record-card{display:flex;flex-direction:column;gap:12px;padding:16px 18px 10px;border-radius:var(--r-card);background:var(--surface-card);-webkit-backdrop-filter:var(--surface-card-blur);backdrop-filter:var(--surface-card-blur);border:.5px solid var(--hairline);box-shadow:var(--shadow-sm)}.record-card.is-placeholder{border-style:dashed;border-color:#c193284d}.record-head{display:flex;flex-direction:column;gap:8px}.record-prompt{display:flex;align-items:flex-end;gap:8px}.record-prompt p{flex:1;margin:0;font-size:var(--fs-card-title);font-weight:500;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-btn{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;color:var(--c-brand-text);font-size:13px;white-space:nowrap;cursor:pointer}.link-btn:hover{text-decoration:underline}.record-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.record-tags{display:flex;flex-wrap:wrap;gap:6px}.record-tags .tag{height:22px;padding:0 9px;border-radius:var(--r-pill);background:var(--surface-sunken);font-size:var(--fs-aux)}.record-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px;border-radius:var(--r-lg);background:var(--surface-sunken)}.record-images .cell{border-radius:var(--r-image);box-shadow:0 1px 2px #0000000a}.cell-placeholder .cell-status{color:var(--c-text-2)}.cell-actions{position:absolute;left:8px;right:8px;bottom:8px;display:flex;justify-content:center;gap:2px;padding:3px;border-radius:12px;background:#ffffffdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);opacity:0;transition:opacity var(--dur) var(--ease)}.cell:not(.cell-succeeded) .cell-actions{inset:6px auto auto 6px}.cell:hover .cell-actions,.cell:focus-within .cell-actions{opacity:1}.cell-actions .icon-btn{width:30px;height:30px}.record-error{display:flex;align-items:center;gap:8px;padding:14px 16px;border-radius:var(--r-image);background:#ff3b300f;color:var(--c-red-text);font-size:13px}.record-error.muted-box{background:var(--surface-sunken);color:var(--c-text-2)}.record-foot{display:flex;align-items:center;gap:4px;margin:0 -6px}.icon-btn.danger-hover:hover:not(:disabled){background:var(--c-red-soft);color:var(--c-red-text)}.composer-dock{position:absolute;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:center;padding:28px 32px 18px;background:linear-gradient(to top,#f2f2f7f5 55%,#f2f2f700);pointer-events:none}.composer-dock .composer{width:100%;max-width:var(--composer-max);pointer-events:auto}.library-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}.library-toolbar .seg{padding:3px;border-radius:var(--r-pill);background:var(--surface-sunken)}.library-toolbar .seg button{height:30px;padding:0 14px;border-radius:var(--r-pill);font-size:13px}.masonry{column-width:232px;column-gap:14px}.masonry-item{margin-bottom:14px;break-inside:avoid}.library-tile{position:relative;margin:0;overflow:hidden;border-radius:var(--r-image);background:var(--surface-sunken);border:.5px solid var(--hairline);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease)}.library-tile:hover{box-shadow:var(--shadow-md)}.tile-open{display:block;width:100%;height:100%;padding:0;border:none;background:none;cursor:zoom-in}.tile-open img{display:block;width:100%;height:100%;object-fit:cover}.tile-actions{position:absolute;left:8px;right:8px;bottom:8px;display:flex;justify-content:center;gap:2px;padding:3px;border-radius:12px;background:#ffffffdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);opacity:0;transition:opacity var(--dur) var(--ease)}.library-tile:hover .tile-actions,.library-tile:focus-within .tile-actions{opacity:1}.grid-sentinel{display:flex;justify-content:center;min-height:48px;padding:16px 0 8px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:72px 24px;text-align:center}.empty-state.compact{padding:40px 24px}.empty-disc{display:flex;align-items:center;justify-content:center;width:88px;height:88px;margin-bottom:8px;border-radius:50%;background:var(--grad-accent);color:#fff;box-shadow:0 12px 32px #a87a1f47,inset 0 1px #ffffff59}.compact .empty-disc{width:64px;height:64px;background:var(--surface-sunken);color:var(--c-text-2);box-shadow:none}.empty-title{margin:0;font-size:20px;font-weight:600}.empty-desc{max-width:440px;margin:0;font-size:var(--fs-body);line-height:1.6;color:var(--c-text-2)}.empty-action{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px}.lightbox-head,.lightbox-label{display:flex;align-items:center}.lightbox-label .group-title{margin:0 4px}.lightbox-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 12px;margin:0;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-sunken);font-size:13px}.lightbox-meta div{display:contents}.lightbox-meta dt{min-width:36px;color:var(--c-text-2);white-space:nowrap}.lightbox-meta dd{min-width:0;margin:0;overflow-wrap:anywhere}.drawer-backdrop{position:fixed;inset:0;z-index:64;background:#00000014}.studio-drawer{position:fixed;top:12px;right:12px;bottom:12px;z-index:65;display:flex;flex-direction:column;width:460px;max-width:calc(100vw - 24px);border-radius:var(--r-card);background:var(--glass-bg-strong);box-shadow:var(--shadow-lg)}.drawer-icon{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:var(--grad-accent);color:#fff}.note-page{display:flex;flex-direction:column;gap:22px;max-width:var(--stream-max)}.note-intro{padding-top:8px}.section-title{margin:0 0 12px;font-size:var(--fs-card-title);font-weight:600}.scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scene-card{position:relative;display:flex;align-items:flex-start;border-radius:var(--r-card);background:var(--surface-card);-webkit-backdrop-filter:var(--surface-card-blur);backdrop-filter:var(--surface-card-blur);border:.5px solid var(--hairline);box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.scene-card:hover{box-shadow:var(--shadow-md)}.scene-card.on{border-color:var(--c-brand);box-shadow:0 0 0 2px #c193282e,var(--shadow-sm)}.scene-main{display:flex;flex:1;min-width:0;align-items:flex-start;gap:12px;padding:14px 8px 14px 14px;border:none;border-radius:var(--r-card);background:transparent;text-align:left;cursor:pointer}.scene-icon{display:flex;flex:0 0 40px;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--grad-accent);color:#fff;box-shadow:0 4px 12px #a87a1f3d}.scene-text{display:flex;flex-direction:column;gap:3px;min-width:0}.scene-text strong{font-size:var(--fs-card-title);font-weight:600}.scene-text span{font-size:var(--fs-aux);color:var(--c-text-2);line-height:1.5}.scene-demo{flex:0 0 auto;margin:16px 14px 0 0;font-size:var(--fs-aux)}.composer.is-note .composer-input{font-size:15px}.composer.is-note .ref-slots{max-width:none}.composer.is-note .composer-bar{flex-wrap:wrap}.input-count{margin-right:4px}.popover-stack{display:flex;flex-direction:column;gap:8px}.popover-stack .option-list{max-height:180px}.popover-field{display:flex;flex-direction:column;gap:6px}.field-count{align-self:flex-end}.note-list{display:flex;flex-direction:column;gap:16px}.note-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px;align-items:start}.note-layout.text-only{grid-template-columns:minmax(0,1fr)}.record-images.cover-set{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:8px}.record-images.cover-set>*{grid-column:span 2}.record-images.cover-set>:first-child{grid-column:1 / -1}.record-images.cover-set:has(>:nth-child(3):last-child)>:not(:first-child),.record-images.cover-set:has(>:nth-child(2):last-child)>:not(:first-child){grid-column:span 3}.note-text{min-width:0;padding:4px 2px}.note-view{display:flex;flex-direction:column;gap:10px}.note-title-row,.note-body-row{display:flex;align-items:flex-start;gap:6px}.note-title{flex:1;margin:0;font-size:17px;font-weight:600;line-height:1.45}.note-body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.note-body p{margin:0;font-size:var(--fs-body);line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.note-copy.icon-btn{flex:0 0 auto;width:26px;height:26px;color:var(--c-text-2)}.note-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.note-tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-pill);background:var(--c-brand-soft);color:var(--c-brand-text);font-size:var(--fs-aux)}.note-writing{display:flex;flex-direction:column;gap:10px;padding:4px 0}.note-writing-label{display:inline-flex;align-items:center;gap:6px;color:var(--c-brand-text);font-size:13px}.clamp-6,.clamp-12{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.clamp-6{-webkit-line-clamp:6}.clamp-12{-webkit-line-clamp:12}.list-end{display:flex;justify-content:center;min-height:32px;padding:12px 0 4px}.node-results .note-view{gap:6px}.node-results .note-title{font-size:14px}.node-results .note-body p{font-size:12.5px;line-height:1.6}@media(max-width:767.98px){.scene-grid,.note-layout{grid-template-columns:minmax(0,1fr)}}.cover-layout{flex:1;min-height:0;display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px;width:100%;max-width:var(--content-max);margin:0 auto;padding:4px 32px 0}.cover-panel{min-height:0;padding-bottom:24px}.cover-results{min-height:0;padding:2px 2px 32px}.cover-settings{display:flex;flex-direction:column;gap:16px;padding:18px;border-radius:var(--r-card);background:var(--surface-card);-webkit-backdrop-filter:var(--surface-card-blur);backdrop-filter:var(--surface-card-blur);border:.5px solid var(--hairline);box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease)}.cover-settings.over{border-color:var(--c-brand)}.form-field{display:flex;flex-direction:column;gap:8px}.form-label{display:flex;align-items:center;gap:2px;font-size:13px;font-weight:600}.form-field .input{height:36px;border-radius:10px}.form-field .seg{width:100%}.form-field .seg button{flex:1}.cover-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:380px;padding:2px}.cover-settings .ratio-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.cover-settings .ratio-cell{flex-direction:column;justify-content:center;gap:2px;height:58px;padding:4px 2px;font-size:12px}.cover-settings .ref-slots{max-width:none}.cover-actions{position:sticky;bottom:-18px;display:flex;align-items:center;gap:8px;margin:0 -18px -18px;padding:12px 18px 16px;border-top:.5px solid var(--hairline);border-radius:0 0 var(--r-card) var(--r-card);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;align-items:start}.cover-grid .record-images{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1279.98px){.cover-layout{display:flex;flex-direction:column;gap:20px;overflow-y:auto;scrollbar-width:thin}.cover-panel,.cover-results{flex:0 0 auto;overflow:visible}.cover-style-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));max-height:300px}.cover-actions{position:static;margin:0;padding:4px 0 0;border-top:none;background:none}}@media(max-width:1023.98px){.cover-layout{padding:4px 20px 0}}@media(max-width:767.98px){.cover-style-grid,.cover-settings .ratio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cover-grid{grid-template-columns:minmax(0,1fr)}}.template-toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.template-toolbar .library-toolbar{margin-bottom:0}.chip-scroller{display:flex;align-items:center;gap:4px;min-width:0}.chip-track{display:flex;flex:1;min-width:0;gap:8px;overflow-x:auto;padding:2px;scrollbar-width:none}.chip-track .chip{flex:0 0 auto;height:30px;padding:0 14px;border-radius:var(--r-pill);background:var(--surface-card);font-size:13px}.template-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.template-card{display:flex;flex-direction:column;gap:8px;min-width:0}.template-media{position:relative;border-radius:var(--r-image);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.template-card:hover .template-media{box-shadow:var(--shadow-md);transform:translateY(-2px)}.template-preview{position:relative;display:block;aspect-ratio:3 / 4;background:var(--surface-sunken)}.template-preview img{width:100%;height:100%;object-fit:cover}.template-initial{position:absolute;left:14px;right:14px;top:14px;font-size:19px;font-weight:700;line-height:1.3;color:#1d1d1fdb}.template-preview.large{width:100%;max-width:320px;border-radius:var(--r-image);overflow:hidden}.template-preview.large .template-initial{font-size:26px}.template-target{position:absolute;right:8px;bottom:8px;padding:2px 8px;border-radius:var(--r-pill);background:#ffffffd1;font-size:11px;color:var(--c-text-2)}.template-hover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#00000047;opacity:0;transition:opacity var(--dur) var(--ease)}.template-card:hover .template-hover,.template-card:focus-within .template-hover{opacity:1}.template-hover .btn{min-width:108px;justify-content:center}.template-meta{display:flex;flex-direction:column;gap:6px;padding:0 2px}.template-title{overflow:hidden;font-size:13.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.template-tags{display:flex;flex-wrap:wrap;gap:4px}.template-tags .tag{height:20px;padding:0 8px;border-radius:var(--r-pill);background:var(--surface-sunken);font-size:11px}.custom-template{align-items:center;justify-content:center;aspect-ratio:3 / 4;padding:16px;border:1.5px dashed var(--hairline-strong);border-radius:var(--r-image);background:#ffffff80;color:var(--c-text);text-align:center;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.custom-template:hover{border-color:var(--c-brand);background:var(--c-brand-soft)}.custom-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:var(--grad-accent);color:#fff}.template-detail{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:20px}.template-info{display:flex;flex-direction:column;gap:14px}.template-info p{margin:0;line-height:1.7}@media(max-width:1279.98px){.template-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1023.98px){.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767.98px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-detail{grid-template-columns:minmax(0,1fr)}.template-hover{opacity:1;justify-content:flex-end;padding-bottom:12px;background:linear-gradient(to top,rgba(0,0,0,.32),transparent 55%)}}.wall-section+.wall-section{margin-top:28px}.wall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.wall-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:148px;padding:16px;border:.5px solid var(--hairline);border-radius:var(--r-card);background:var(--surface-card);-webkit-backdrop-filter:var(--surface-card-blur);backdrop-filter:var(--surface-card-blur);box-shadow:var(--shadow-sm);color:var(--c-text);text-align:left;cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.wall-card:hover:not(:disabled){border-color:var(--hairline-strong);box-shadow:var(--shadow-md)}.wall-card:disabled{opacity:.6;cursor:progress}.wall-card strong{margin-top:6px;font-size:var(--fs-card-title);font-weight:600}.blank-card{border:1.5px dashed var(--hairline-strong);background:#ffffff80}.blank-card:hover:not(:disabled){border-color:var(--c-brand);background:var(--c-brand-soft)}.wall-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--grad-accent);color:#fff}.wall-icon.tinted{color:#1d1d1fc7}.canvas-card{border-radius:var(--r-card);background:var(--surface-card);border:.5px solid var(--hairline);box-shadow:var(--shadow-sm)}.canvas-card>.popover-anchor{position:absolute;top:8px;right:8px}.canvas-more.icon-btn{background:#ffffffe0;opacity:0;transition:opacity var(--dur-fast) var(--ease)}.canvas-card:hover .canvas-more,.canvas-more.on,.canvas-more:focus-visible{opacity:1}@media(hover:none){.canvas-more.icon-btn{opacity:1}}.video-modes{display:flex}.video-modes .seg button{min-width:84px}.frame-slots{display:flex;flex:0 0 auto;align-items:flex-start;gap:6px}.frame-slot{display:flex;flex-direction:column;align-items:center;gap:4px}.frame-label{font-size:11px;font-weight:600;color:var(--c-text-2)}.frame-slot.filled .frame-label{color:var(--c-brand-text)}.frame-arrow{margin-top:21px;color:var(--c-text-3)}.param-note{padding:4px 2px}.record-images.is-video{grid-template-columns:repeat(2,minmax(0,1fr))}.cell-media-video{background:#0b0b0d}.cell-actions.corner,.cell:not(.cell-succeeded) .cell-actions.corner{inset:6px 6px auto auto}.video-grid.cell-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-grid .cell{aspect-ratio:16 / 9}.tile-video{position:relative;display:block;width:100%;height:100%;background:#0b0b0d}.tile-video video{width:100%;height:100%;object-fit:cover}.tile-play{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#00000080;color:#fff;pointer-events:none;transition:opacity var(--dur) var(--ease)}.tile-video:hover .tile-play{opacity:0}.lightbox-stage video{width:min(100%,960px);max-width:100%;max-height:calc(100vh - 64px);border-radius:var(--r-md);background:#000;box-shadow:var(--shadow-lg)}.scene-text .scene-mode{display:inline-block;margin-right:6px;padding:0 6px;border-radius:var(--r-pill);background:var(--c-brand-soft);color:var(--c-brand-text);font-size:11px;line-height:18px}@media(max-width:767.98px){.video-modes .seg{width:100%}.video-modes .seg button{flex:1;min-width:0}.record-images.is-video{grid-template-columns:minmax(0,1fr)}}.connect-form{display:flex;flex-direction:column;gap:14px;padding:4px 2px}.connect-form .seg{display:flex}.connect-form .seg button{flex:1}.connect-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}.connect-note{margin:0;font-size:var(--fs-aux);line-height:1.6}.connect-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;font-size:13px}.connect-links a.btn,.custom-banner a.btn,.connect-links a.btn:hover,.custom-banner a.btn:hover{text-decoration:none}.key-field{display:flex;align-items:center;gap:8px;height:44px;padding:0 6px 0 12px;border:.5px solid var(--hairline-strong);border-radius:var(--r-md);background:#fff;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.key-field:focus-within{border-color:var(--c-brand);box-shadow:var(--ring)}.key-input{flex:1;min-width:0;border:none;background:transparent;font-family:var(--font-mono);font-size:13px}.key-input:focus,.key-input:focus-visible{outline:none;box-shadow:none}.custom-banner{flex:0 0 auto;display:flex;align-items:center;gap:10px;margin:12px 24px 0;padding:8px 8px 8px 14px;border:.5px solid rgba(193,147,40,.28);border-radius:var(--r-md);background:var(--c-brand-soft);color:var(--c-brand-text);font-size:13px}.custom-banner-text{flex:1;min-width:0}.connect-gate{display:flex;flex-direction:column;min-height:100vh}@media(max-width:767.98px){.custom-banner{flex-wrap:wrap;margin:8px 16px 0}}.nav-connect{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:32px;margin-right:8px;border:none;border-radius:var(--r-sm);background:var(--c-brand);color:#fff;font-size:13px;font-weight:500;cursor:pointer}.nav-connect:hover{background:var(--c-brand-hover)}.nav-connect:active{background:var(--c-brand-press)}.connect-hint{display:flex;flex-direction:column;align-items:center;gap:10px}.narrow-hint{display:none}@media(max-width:1279.98px){.palette{width:auto}.palette-item{justify-content:center;width:38px;padding:0}.palette-label{display:none}.inspector{width:360px}.title-input{width:200px}}@media(max-width:1023.98px){.inspector{left:12px;width:auto}.queue-ind .muted{display:none}}@media(max-width:767.98px){.palette,.topbar .arrange-btn,.save-state,.flow-controls,.node-card:not(.node-image_input) .node-body,.thumb.add,.thumb-remove{display:none!important}.title-input{width:120px}.narrow-hint{position:absolute;left:12px;right:12px;bottom:12px;z-index:12;display:block;padding:10px 14px;border-radius:var(--r-md);font-size:12px;text-align:center}}@media(max-width:1023.98px){.side-nav,.app-shell.collapsed .side-nav{position:fixed;top:0;left:0;bottom:0;width:var(--nav-w);background:#fffffff0;box-shadow:var(--shadow-lg);transform:translate(-102%)}.app-shell.drawer-open .side-nav{transform:none}.app-shell.drawer-open .nav-backdrop{position:fixed;inset:0;z-index:25;display:block;background:#0000002e}.app-shell.collapsed .nav-label,.app-shell.collapsed .nav-badge,.app-shell.collapsed .nav-group-title{display:revert}.app-shell.collapsed .nav-brand,.app-shell.collapsed .nav-footer{flex-direction:row}.app-shell.collapsed .nav-item{justify-content:flex-start;padding:0 12px}.nav-collapse{display:none}.nav-toggle{display:inline-flex}.page-header{padding:8px 16px}.recharge-text{display:none}.recharge-link{padding:0 10px}.page-inner,.stream-inner,.hero-inner{padding-left:20px;padding-right:20px}.composer-dock{padding-left:16px;padding-right:16px}}@media(max-width:767.98px){.page-heading p,.page-header .queue-ind .muted{display:none}.page-heading h1{font-size:18px}.page-header .queue-ind{padding:0 10px;font-size:11.5px}.composer-main{flex-direction:column}.ref-slots{max-width:none}.composer-bar{flex-wrap:wrap}.record-images{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-greeting h2{font-size:24px}.search-field{min-width:0;flex:1 1 100%}.masonry{column-width:150px;column-gap:10px}.compare{grid-template-columns:1fr}.compare-arrow{transform:rotate(90deg);justify-self:center}.popover-wide,.param-panel{width:min(336px,calc(100vw - 48px))}.style-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lightbox{grid-template-columns:1fr;grid-template-rows:1fr auto}.lightbox-side{margin:0 12px 12px;max-height:45vh;overflow-y:auto}}
