.react-flow{--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:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--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:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--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:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--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 #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.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:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--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:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--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:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--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 #00000014;--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{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.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{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.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;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:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.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:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;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%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;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{z-index:5;margin:15px;position:absolute}.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{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.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{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;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));padding:10px;font-size:12px}.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{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.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))}.icon-button{cursor:pointer;color:var(--text-secondary,#999);background:0 0;border:none;border-radius:6px;outline:none;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex;position:relative}.icon-button--small{width:20px;height:20px;font-size:12px}.icon-button--medium{width:28px;height:28px;font-size:14px}.icon-button--large{width:36px;height:36px;font-size:16px}.icon-button--primary:hover:not(:disabled){color:var(--text-primary,#fff);background:#ffffff0d}.icon-button--primary:active:not(:disabled){background:#ffffff14}.icon-button--primary--active{color:var(--accent,#7ed321);background:var(--accent-dim,#7ed3211a)}.icon-button--primary--active:hover:not(:disabled){background:var(--accent-dim,#7ed32126)}.icon-button--secondary{color:var(--text-muted,#666)}.icon-button--secondary:hover:not(:disabled){color:var(--text-primary,#fff);background:#ffffff0a}.icon-button--secondary:active:not(:disabled){background:#ffffff0f}.icon-button--danger{color:var(--text-secondary,#999)}.icon-button--danger:hover:not(:disabled){color:#f44;background:#ff444414}.icon-button--danger:active:not(:disabled){background:#ff44441f}.icon-button--active{color:var(--accent,#7ed321);background:var(--accent-dim,#7ed3211a)}.icon-button--active:hover:not(:disabled){background:var(--accent-dim,#7ed32126)}.icon-button:disabled{opacity:.5;cursor:not-allowed}.icon-button:focus-visible{outline:1px solid var(--accent,#7ed321);outline-offset:1px}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-display:"Martian Mono", ui-monospace, SFMono-Regular, monospace;--font-body:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace;font-family:var(--font-body);font-feature-settings:"cv02", "cv03", "cv04", "cv11";color:#cbd0d9;--bg-primary:#0b0c0e;--bg-secondary:#14161b;--bg-tertiary:#1c1f26;--bg-elevated:#23272f;--border:#2b2f38;--border-subtle:#1d2028;--text-primary:#cbd0d9;--text-secondary:#9aa1ad;--text-muted:#646b78;--accent:#ff9a3d;--accent-hover:#ffb15e;--accent-dim:#ff9a3d21;--accent-border:#ff9a3d6b;--green:#34c97b;--green-dim:#34c97b26;--red:#ff5d5d;--red-dim:#ff5d5d1f;--amber:#ff9a3d;--success:var(--green);--error:var(--red);--warning:#f5b13d;--info:var(--info);--gradient-surface:linear-gradient(135deg, #0f1115 0%, #16181d 40%, #13151a 100%);--gradient-panel:linear-gradient(145deg, #121419 0%, #181b21 50%, #0f1115 100%);--gradient-elevated:linear-gradient(135deg, #1b1e24 0%, #23272f 45%, #1c1f26 100%);--gradient-header:linear-gradient(180deg, #16181d 0%, #0e1013 100%);--gradient-accent:linear-gradient(135deg, #c2410c 0%, #ff7a1a 26%, #ffc25c 52%, #ff9a3d 76%, #d2540a 100%);--gradient-accent-hover:linear-gradient(135deg, #e2540c 0%, #ff9a2e 30%, #ffd789 55%, #ffb454 100%);--gradient-ember:radial-gradient(circle at 35% 30%, #fff1c2 0%, #ffc25c 35%, #ff7a1a 72%, #d2540a 100%);background:#0b0c0e}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1a1a1a;--bg-primary:#f4f4f4;--bg-secondary:#fff;--bg-tertiary:#eaeaea;--bg-elevated:#fff;--border:#d5d5d5;--border-subtle:#e2e2e2;--text-primary:#1a1a1a;--text-secondary:#5a5a5a;--text-muted:#9a9a9a;--accent:#d9741a;--accent-hover:#b85f10;--accent-dim:#d9741a1a;--accent-border:#d9741a57;--green:#16a34a;--green-dim:#16a34a1a;--red:#dc2626;--red-dim:#dc262614;--amber:#d9741a;background:#f4f4f4}*{box-sizing:border-box}body{background:var(--bg-primary);min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:all .15s}*{scrollbar-width:thin;scrollbar-color:var(--bg-elevated) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-elevated);background-clip:padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box}::selection{color:#fff;background:#ff9a3d3d}[data-theme=light] ::selection{color:#1a1a1a;background:#d9741a38}#root{flex-direction:column;min-height:100vh;display:flex}.workspace-shell{background:var(--bg-primary);flex-direction:column;height:100vh;display:flex;overflow:hidden}.workspace-header{background:var(--gradient-header);border-bottom:1px solid var(--border-subtle);z-index:100;flex-shrink:0;align-items:center;gap:0;height:40px;padding:0 .75rem;display:flex;position:relative;box-shadow:0 1px #ff9a3d1a}.header-left{align-items:center;gap:.5rem;min-width:160px;display:flex}.save-status{letter-spacing:.02em;color:var(--text-muted);-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:999px;align-items:center;gap:.34rem;padding:.1rem .42rem;font-size:.66rem;font-weight:500;display:inline-flex}.save-status-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;transition:background .2s}.save-status--saved .save-status-dot{background:var(--green)}.save-status--saving .save-status-dot{background:var(--accent);animation:1s ease-in-out infinite save-pulse}.save-status--error{color:var(--error);background:var(--red-dim)}.save-status--error .save-status-dot{background:var(--error)}@keyframes save-pulse{0%,to{opacity:1}50%{opacity:.35}}.change-intent{max-width:560px;color:var(--text);background:var(--surface-2,#14161cf5);border:1px solid var(--accent-border);border-radius:10px;align-items:center;gap:.5rem;padding:.4rem .5rem .4rem .7rem;font-size:12.5px;animation:.18s change-intent-in;display:flex;box-shadow:0 10px 30px #00000080}@keyframes change-intent-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.change-intent-icon{color:var(--accent);flex-shrink:0;display:inline-flex}.change-intent-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.change-intent-btn{cursor:pointer;color:var(--text);border:1px solid var(--border,#ffffff24);background:0 0;border-radius:7px;flex-shrink:0;padding:.28rem .6rem;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.change-intent-btn:hover{background:#ffffff0f}.change-intent-btn--primary{color:#1a1205;background:var(--accent);border-color:var(--accent)}.change-intent-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.change-intent-btn:disabled{opacity:.5;cursor:default}.change-intent-dismiss{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.change-intent-dismiss:hover{color:var(--text);background:#ffffff0f}.cmdk-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:flex-start;padding-top:14vh;animation:.12s cmdk-fade;display:flex;position:fixed;inset:0}@keyframes cmdk-fade{0%{opacity:0}to{opacity:1}}.cmdk-panel{background:var(--surface-2,#14161cfa);border:1px solid var(--accent-border);border-radius:12px;flex-direction:column;width:min(640px,92vw);max-height:60vh;display:flex;overflow:hidden;box-shadow:0 24px 70px #0009}.cmdk-input{color:var(--text);border:none;border-bottom:1px solid var(--border,#ffffff1a);background:0 0;outline:none;padding:.85rem 1rem;font-size:15px}.cmdk-input::placeholder{color:var(--text-muted)}.cmdk-list{padding:.3rem;overflow-y:auto}.cmdk-empty{text-align:center;color:var(--text-muted);padding:1rem;font-size:13px}.cmdk-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .7rem;font-size:13.5px;display:flex}.cmdk-item--active{background:var(--accent-dim)}.cmdk-item-icon{color:var(--accent);flex-shrink:0;display:inline-flex}.cmdk-item-title{flex-shrink:0}.cmdk-item-sub{color:var(--text-muted);font-size:12px}.cmdk-item-group{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-left:auto;font-size:11px}.cmdk-footer{border-top:1px solid var(--border,#ffffff1a);color:var(--text-muted);gap:1rem;padding:.5rem .8rem;font-size:11px;display:flex}.cmdk-footer kbd{border:1px solid var(--border,#ffffff1f);min-width:16px;font-family:var(--font-mono,monospace);text-align:center;background:#ffffff14;border-radius:4px;margin-right:2px;padding:1px 4px;display:inline-block}.header-tab--custom{align-items:center;gap:.3rem;display:inline-flex}.header-tab-close{opacity:.5;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:14px;height:14px;font-size:12px;line-height:1;display:inline-flex}.header-tab-close:hover{opacity:1;background:#ffffff1f}.header-addtab{display:inline-flex;position:relative}.header-tab--add{color:var(--text-muted);padding:0 .5rem;font-size:16px}.header-tab--add:hover{color:var(--accent)}.addtab-menu{z-index:50;background:var(--surface-2,#14161cfa);border:1px solid var(--accent-border);border-radius:10px;min-width:220px;padding:.35rem;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 14px 40px #0000008c}.addtab-menu-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.25rem .5rem;font-size:10px}.addtab-menu-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:.5rem;padding:.5rem;font-size:13px;display:flex}.addtab-menu-item:hover{background:var(--accent-dim)}.addtab-menu-item span{color:var(--text-muted);margin-left:auto;font-size:11px}.center-panel--custom{flex-direction:column;height:100%;display:flex;overflow:hidden}.center-panel--code{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.code-tab{height:100%;min-height:0;display:flex}.code-tab-tree{border-right:1px solid var(--border-subtle,#ffffff14);background:var(--surface,#14161c);flex-direction:column;flex-shrink:0;width:200px;min-height:0;display:flex}.code-tab-tree-head{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-subtle,#ffffff0f);justify-content:space-between;align-items:center;padding:.45rem .6rem;font-size:.6rem;font-weight:600;display:flex}.code-tab-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;display:inline-flex}.code-tab-icon:hover{color:var(--accent);background:var(--accent-dim)}.code-tab-tree-list{flex:1;padding:.25rem 0;overflow-y:auto}.code-tab-empty{color:var(--text-muted);padding:.75rem;font-size:.72rem;line-height:1.5}.code-tab-folder{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.3rem .6rem .1rem;font-size:.62rem}.code-tab-file{align-items:center;padding-right:.3rem;display:flex}.code-tab-file:hover{background:#ffffff0a}.code-tab-file--active{background:var(--accent-dim);box-shadow:inset 2px 0 0 var(--accent)}.code-tab-file-open{min-width:0;color:var(--text-secondary);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:1;align-items:center;gap:.4rem;padding:.32rem .5rem .32rem .8rem;font-size:.76rem;display:flex;overflow:hidden}.code-tab-file-open span{text-overflow:ellipsis;overflow:hidden}.code-tab-file--active .code-tab-file-open{color:var(--text-primary)}.code-tab-file-del{opacity:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px;display:inline-flex}.code-tab-file:hover .code-tab-file-del{opacity:.7}.code-tab-file-del:hover,.code-tab-file-del--confirm{color:var(--error);opacity:1!important}.code-tab-newfile{color:var(--text-muted);align-items:center;gap:6px;padding:4px 8px;display:flex}.code-tab-newfile-input{border:1px solid var(--accent-border);background:var(--bg-primary);min-width:0;color:var(--text-primary);font-family:var(--font-mono);border-radius:5px;outline:none;flex:1;padding:4px 7px;font-size:11.5px}.code-tab-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.code-tab-strip{background:var(--surface,#14161c);border-bottom:1px solid var(--border-subtle,#ffffff14);flex-shrink:0;gap:1px;display:flex;overflow-x:auto}.code-tab-strip-item{background:#ffffff05;align-items:center;display:flex}.code-tab-strip-item--active{background:var(--surface-2,#1b1e26);box-shadow:inset 0 -2px 0 var(--accent)}.code-tab-strip-open{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:.35rem .5rem;font-size:.72rem}.code-tab-strip-item--active .code-tab-strip-open{color:var(--text-primary)}.code-tab-strip-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 .3rem;display:inline-flex}.code-tab-strip-close:hover{color:var(--error)}.code-tab-editor{flex:1;min-height:0}.code-tab-noopen{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.6rem;font-size:.82rem;display:flex}.custom-tab{flex-direction:column;height:100%;min-height:0;display:flex}.custom-tab-toolbar{border-bottom:1px solid var(--border,#ffffff14);align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.custom-tab-hint{color:var(--text-muted);font-size:12px}.custom-tab-filter{align-items:center;gap:.4rem;margin-left:auto;font-size:12px;display:flex}.custom-tab-filter select{background:var(--surface-2,#ffffff0d);color:var(--text);border:1px solid var(--border,#ffffff1f);border-radius:6px;padding:.2rem .4rem}.custom-tab-empty{text-align:center;color:var(--text-muted);padding:2rem;font-size:13px}.custom-tab-table-wrap{flex:1;overflow:auto}.custom-tab-table{border-collapse:collapse;width:100%;font-size:13px}.custom-tab-table th{z-index:1;text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface,#14161c);border-bottom:1px solid var(--border,#ffffff1a);padding:.5rem .7rem;font-size:11px;position:sticky;top:0}.custom-tab-table td{border-bottom:1px solid var(--border,#ffffff0d);padding:.3rem .6rem}.custom-tab-table tbody tr{cursor:pointer}.custom-tab-table tbody tr:hover{background:#ffffff08}.custom-tab-row--selected{background:var(--accent-dim)!important}.custom-tab-cell-input{width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:5px;padding:.25rem .4rem}.custom-tab-cell-input:hover{border-color:var(--border,#ffffff1f)}.custom-tab-cell-input:focus{border-color:var(--accent);background:#0003;outline:none}.custom-tab-cell-tags{color:var(--text-muted);font-size:12px}.custom-tab-row-focus{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:13px}.custom-tab-row-focus:hover{color:var(--accent)}.engref-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.engref-panel{background:var(--surface-2,#14161cfa);border:1px solid var(--accent-border);border-radius:12px;flex-direction:column;width:min(680px,92vw);max-height:68vh;display:flex;overflow:hidden;box-shadow:0 24px 70px #0009}.engref-header{border-bottom:1px solid var(--border,#ffffff1a);align-items:center;gap:.7rem;padding:.7rem .9rem;display:flex}.engref-title{flex-shrink:0;font-size:13px;font-weight:600}.engref-search{color:var(--text);border:1px solid var(--border,#ffffff1f);background:#0003;border-radius:7px;outline:none;flex:1;padding:.4rem .6rem;font-size:13px}.engref-search:focus{border-color:var(--accent)}.engref-close{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:18px}.engref-close:hover{color:var(--text);background:#ffffff0f}.engref-body{padding:.3rem 0;overflow-y:auto}.engref-row{border-bottom:1px solid var(--border,#ffffff0d);grid-template-columns:130px 1fr;gap:.8rem;padding:.5rem .9rem;font-size:12.5px;display:grid}.engref-name{color:var(--accent);font-weight:600}.engref-fields{color:var(--text-muted);font-family:var(--font-mono,monospace);font-size:11.5px;line-height:1.5}.engref-empty{text-align:center;color:var(--text-muted);padding:1.5rem;font-size:13px}.engref-footer{border-top:1px solid var(--border,#ffffff1a);color:var(--text-muted);padding:.55rem .9rem;font-size:11.5px}.dock-drag-handle{color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;opacity:.55;border-radius:4px;align-items:center;margin-right:.4rem;padding:0 .15rem;font-size:13px;line-height:1;display:inline-flex}.dock-drag-handle:hover{opacity:1;color:var(--accent);background:var(--accent-dim)}.dock-drag-handle:active{cursor:grabbing}.dock-zone--dragging{outline:1px dashed #0000;transition:outline-color .12s,background .12s}.dock-zone--over{outline:1px dashed var(--accent-border);outline-offset:-3px;background:var(--accent-dim)}.dock-drop-preview{border:1.5px dashed var(--accent-border);min-height:60px;color:var(--accent);letter-spacing:.04em;background:var(--accent-dim);opacity:.6;pointer-events:none;border-radius:8px;flex:auto;justify-content:center;align-items:center;margin:.4rem;padding:.8rem;font-size:12px;display:flex}.workspace-sidebar.dock-zone--dragging:empty,.workspace-sidebar.dock-zone--dragging{min-width:180px}.workspace-dock-bottom{border-top:1px solid var(--border,#ffffff1a);background:var(--surface,#14161c);flex-direction:row;gap:1px;height:220px;min-height:120px;display:flex;overflow:hidden}.workspace-dock-bottom>.sidebar-panel{border-right:1px solid var(--border,#ffffff0f);flex:1 1 0}.dock-panel-slot{flex-direction:column;min-height:0;display:flex;overflow:hidden}.dock-panel-slot>.sidebar-panel{flex:auto;min-height:0;max-height:none}.workspace-sidebar>.outliner-panel:last-child{flex:auto;max-height:none}.dock-resize-h{cursor:row-resize;border-top:1px solid var(--border,#ffffff14);background:0 0;flex:0 0 6px;height:6px;transition:background .12s}.dock-resize-h:hover{background:var(--accent-border)}.header-logo{font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:var(--text-primary);opacity:.95;font-size:.72rem;font-weight:700}.header-meta{font-family:var(--font-mono)}.header-divider{background:var(--border);opacity:.5;width:1px;height:14px}.header-meta{color:var(--text-secondary);opacity:.6;font-size:.7rem}.header-nav{align-items:stretch;gap:1px;height:100%;display:flex;position:absolute;left:50%;transform:translate(-50%)}.header-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;letter-spacing:-.01em;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.35rem;padding:0 1.1rem;font-size:.8rem;font-weight:500;transition:color .15s,border-color .15s;display:flex;position:relative}.header-tab:hover{color:var(--text-secondary)}.header-tab--active{color:var(--text-primary);border-bottom-color:var(--accent)}.header-live-dot{background:var(--green);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse-dot}.header-tab-sep{background:var(--border);align-self:center;width:1px;height:18px;margin:0 .5rem}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.header-right{align-items:center;gap:.25rem;margin-left:auto;display:flex}.header-icon-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex}.header-icon-btn:hover{color:var(--text-secondary);background:#ffffff0f}.header-icon-btn--active{color:var(--accent);background:var(--accent-dim)}.header-icon-btn--badged{position:relative;overflow:visible}.header-icon-badge{box-sizing:border-box;background:var(--accent,#ff9a3d);color:#14161b;text-align:center;pointer-events:none;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-3px;right:-3px}.header-sep{background:var(--border);opacity:.5;width:1px;height:18px;margin:0 .3rem}.header-play-btn,.header-stop-btn{cursor:pointer;border-radius:5px;justify-content:center;align-items:center;width:30px;height:26px;padding:0;font-size:.7rem;transition:all .15s;display:flex}.header-play-btn{background:var(--green-dim);color:var(--green);border:1px solid #34c97b40}.header-play-btn:hover:not(:disabled){border-color:var(--green);background:#34c97b38}.header-play-btn--active,.header-play-btn:disabled{opacity:.4;cursor:not-allowed}.header-stop-btn{color:#ef4444b3;background:#ef44441a;border:1px solid #ef444433}.header-stop-btn:hover:not(:disabled){color:var(--error);background:#ef444433;border-color:#ef444499}.header-stop-btn:disabled{opacity:.3;cursor:not-allowed}.workspace-header-compact{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.5rem;padding:.75rem 1rem;display:flex}.workspace-title-bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.workspace-title-bar h1{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:700}.header-status{color:var(--text-secondary);align-items:center;gap:.75rem;font-size:.8rem;display:flex}.tool-buttons{align-items:center;gap:.4rem;display:flex}.tool-button{border:1px solid var(--border);background:var(--bg-tertiary);width:2rem;height:2rem;color:var(--text-secondary);border-radius:.375rem;justify-content:center;align-items:center;padding:0;font-size:.9rem;display:flex}.tool-button:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.tool-button--active{background:var(--accent);border-color:var(--accent);color:#fff}.status-pill{text-transform:capitalize;border-radius:.3rem;padding:.4rem .75rem;font-size:.75rem;font-weight:600}.status-pill--playing{color:var(--success);background:#22c55e26}.status-pill--stopped{color:var(--info);background:#3b82f626}.workspace-main{flex:1;gap:0;min-height:0;padding:0;animation:.3s ease-out workspace-fade-in;display:flex;overflow:hidden}@keyframes workspace-fade-in{0%{opacity:.9}to{opacity:1}}.workspace-sidebar{border:none;border-right:1px solid var(--border-subtle);background:var(--gradient-panel);min-height:0;box-shadow:none;border-radius:0;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.workspace-sidebar--left{border-right:1px solid var(--border-subtle);width:300px}.sidebar-resize-handle{cursor:col-resize;z-index:50;background:0 0;width:6px;height:100%;transition:background .15s;position:absolute;top:0;right:-3px}.sidebar-resize-handle:hover,.sidebar-resize-handle:active{background:var(--accent,#5b7cfa);opacity:.5}.workspace-sidebar--right{border-left:1px solid var(--border-subtle);width:260px}.sidebar-panel{flex-direction:column;flex:1;min-height:0;display:flex}.sidebar-panel-header{border-bottom:1px solid var(--border-subtle);background:0 0;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.sidebar-panel-header h3{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.6rem;font-weight:600}.sidebar-close{width:1.5rem;height:1.5rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.2rem}.sidebar-close:hover{color:var(--accent)}.workspace-center{min-height:0;box-shadow:none;background:#0e0e10;border:none;border-radius:0;flex-direction:column;flex:1;display:flex;overflow:hidden}.graph-toolbar{border-bottom:1px solid var(--border);background:var(--bg-tertiary);align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.graph-add-button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:.375rem;padding:.5rem .9rem;font-size:.85rem;font-weight:600}.graph-add-button:hover:not(:disabled){background:var(--accent-hover)}.graph-toolbar-button{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);border-radius:.375rem;padding:.5rem .8rem;font-size:.8rem;font-weight:500}.graph-toolbar-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.center-tab-bar .graph-toolbar-button{align-self:center;margin:0 .1rem;padding:.3rem .7rem;font-size:.75rem}.tab-row,.mode-switcher,.file-picker{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.tab-button,.mode-button{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);letter-spacing:-.01em;border-radius:4px;padding:.35rem .65rem;font-size:.72rem;font-weight:500}.tab-button:hover,.mode-button:hover{border-color:var(--accent-border);color:var(--text-primary)}.tab-button--active,.mode-button--active{border-color:var(--accent-border);background:var(--accent-dim);color:var(--accent)}.document-editor,.file-picker select{resize:none;background:var(--bg-primary);width:100%;color:var(--text-primary);border:0;outline:none;flex:1;min-height:0;padding:1rem}.file-picker select{width:auto;padding:.5rem .7rem;font-size:.85rem}.file-picker label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.sidebar-panel--chat-primary{flex:1}.chat-empty{text-align:center;padding:2rem 1rem 1rem}.chat-empty-title{color:var(--text-primary);margin:0 0 .35rem;font-size:1rem;font-weight:600}.chat-empty-sub{color:var(--text-secondary);opacity:.6;margin:0;font-size:.8rem}.chat-starters{text-align:left;flex-direction:column;gap:.4rem;margin-top:1rem;display:flex}.chat-suggestions{padding:.4rem .75rem .75rem}.chat-suggestions-label{color:var(--text-secondary);margin:0;font-size:.72rem}.chat-suggestions .chat-starters{margin-top:.45rem}.chat-starter{color:var(--text);background:var(--surface-2,#ffffff08);border:1px solid var(--border,#ffffff1a);cursor:pointer;border-radius:9px;padding:.55rem .7rem;font-size:12.5px;line-height:1.4;transition:border-color .15s,background .15s}.chat-starter:hover{border-color:var(--accent-border);background:var(--accent-dim)}.chat-thread{flex-direction:column;flex:1;gap:0;min-height:0;padding:.75rem .75rem .5rem;display:flex;overflow-y:auto}.chat-thread-wrap{flex-direction:column;flex:1 1 0;min-height:0;display:flex;position:relative}.chat-thread-wrap>.chat-thread{flex:1 1 0}.chat-jump-latest{color:#fff;background:var(--accent,#e8843c);cursor:pointer;opacity:.96;border:none;border-radius:999px;align-items:center;gap:.2rem;padding:.25rem .65rem .25rem .45rem;font-family:inherit;font-size:.72rem;font-weight:600;transition:opacity .12s,transform .12s;display:inline-flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000073}.chat-jump-latest:hover{opacity:1;transform:translate(-50%)translateY(-1px)}.chat-copy-btn{width:22px;height:18px;color:var(--text-secondary);cursor:pointer;opacity:.55;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;margin-left:auto;padding:0;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.chat-message:hover .chat-copy-btn{opacity:1}.chat-copy-btn:hover{color:var(--text-primary,#fff);background:#ffffff14}.chat-message{border:none;border-bottom:1px solid var(--border-subtle);background:0 0;border-radius:0;padding:.6rem 0;font-size:.8rem;line-height:1.55}.chat-message:last-child{border-bottom:none}.chat-message-meta{align-items:baseline;gap:.5rem;margin-bottom:.25rem;display:flex}.chat-message-role{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.6rem;font-weight:600}.chat-message-model{color:var(--text-muted);opacity:.6;font-size:.65rem}.chat-mode-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:#ffffff14;border-radius:3px;padding:.05rem .3rem;font-size:.58rem;font-weight:700}.chat-mode-badge--plan{color:#8fb4ff;background:#5b8dee2e}.chat-mode-badge--debug{color:#f5c06a;background:#f5a6232e}.chat-mode-badge--ask{color:#a6e06a;background:#7ed32129}.chat-message--user .chat-message-role{color:var(--accent);opacity:1}.chat-message--user{background:0 0}.chat-message p{color:var(--text-primary);margin:0}.chat-message-content{color:var(--text-primary);font-size:.8rem;line-height:1.6}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3,.chat-message-content h4,.chat-message-content h5,.chat-message-content h6{margin:.8em 0 .4em;font-weight:600;line-height:1.4}.chat-message-content h1{font-size:1.3em}.chat-message-content h2{font-size:1.15em}.chat-message-content h3{font-size:1.05em}.chat-message-content h4,.chat-message-content h5,.chat-message-content h6{font-size:1em}.chat-message-content strong,.chat-message-content b{font-weight:600}.chat-message-content em,.chat-message-content i{font-style:italic}.chat-message-content code{font-family:var(--font-mono);background:#ffffff14;border-radius:3px;padding:.2em .4em;font-size:.9em}.chat-message-content pre{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:5px;margin:.6em 0;padding:.8em;overflow-x:auto}.chat-message-content pre code{background:0 0;border-radius:0;padding:0;font-size:.85em}.chat-message-content blockquote{color:var(--text-secondary);border-left:3px solid #fff3;margin:.6em 0;padding-left:.8em}.chat-message-content ul,.chat-message-content ol{margin:.6em 0;padding-left:1.5em}.chat-message-content li{margin:.3em 0}.chat-message-content a{color:var(--accent);border-bottom:1px solid #ffffff4d;text-decoration:none}.chat-message-content a:hover{border-bottom-color:var(--accent)}.chat-message-content hr{border:none;border-top:1px solid #ffffff1a;margin:.8em 0}.chat-message--thinking{border-left:3px solid var(--accent-border);background:#ff9a3d0a;padding-left:.5rem}.chat-thinking-container{align-items:center;gap:.6rem;padding:.5rem 0;display:flex}.chat-thinking-spinner{background:var(--gradient-ember);border:none;border-radius:50%;width:10px;height:10px;animation:1.3s ease-in-out infinite ember-pulse;box-shadow:0 0 9px #ff7a1ad9,0 0 3px #ffc25c}@keyframes ember-pulse{0%,to{opacity:1;box-shadow:0 0 8px var(--accent);transform:scale(1)}50%{opacity:.55;box-shadow:0 0 3px var(--accent);transform:scale(.82)}}.chat-thinking-text{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}.tool-call-list{flex-direction:column;gap:4px;margin-top:.5rem;display:flex}.tool-call{text-align:left;cursor:default;background:#ffffff08;border:none;border-radius:4px;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.74rem;line-height:1.3;display:flex;overflow:hidden}.tool-call--clickable{cursor:pointer;transition:background .15s,border-left-color .15s}.tool-call--clickable:hover{background:#ffffff0f}.tool-call--ok{border-left-color:var(--success);background:#4ade800f}.tool-call--error{border-left-color:var(--error);background:#f871710f}.tool-call--blocked{border-left-color:var(--warning);background:#fbbf240d}.tool-call-icon{text-align:center;flex-shrink:0;width:14px;font-weight:700}.tool-call--ok .tool-call-icon{color:var(--success)}.tool-call--error .tool-call-icon{color:var(--error)}.tool-call--blocked .tool-call-icon{color:var(--warning)}.tool-call-name{font-family:var(--font-mono);color:var(--text-secondary);flex-shrink:0;font-size:.72rem;display:none}.tool-call-summary{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:40%;font-weight:500;display:none;overflow:hidden}.tool-call-result{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.74rem;overflow:hidden}.chat-steps{flex-direction:column;gap:.5rem;display:flex}.chat-step{border-left:2px solid #ffffff14;flex-direction:column;gap:.25rem;padding-left:.6rem;display:flex}.chat-step--runtime-fix{border-left-color:var(--accent-border)}.chat-step-label{font-family:var(--font-display);letter-spacing:.12em;color:var(--accent);text-transform:uppercase;font-size:.6rem;font-weight:600}.chat-step-reasoning{margin:0}.chat-status-footer{align-items:center;gap:.4rem;margin-top:.55rem;font-size:.74rem;font-weight:600;display:flex}.chat-status-footer--working{color:var(--accent)}.chat-working-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:500;overflow:hidden}.chat-working-step{color:var(--text-tertiary,#6b7585);font-weight:600}.chat-step-progress{background:#ffffff14;border-radius:999px;flex:40px;min-width:36px;max-width:120px;height:4px;overflow:hidden}.chat-step-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .4s;display:block}.chat-step-progress--indeterminate .chat-step-progress-fill{width:40%;transition:none;animation:1.1s ease-in-out infinite chat-step-indeterminate}@keyframes chat-step-indeterminate{0%{transform:translate(-110%)}to{transform:translate(260%)}}.chat-stop-btn{color:var(--error);background:var(--red-dim);cursor:pointer;border:1px solid #ff5d5d66;border-radius:6px;flex-shrink:0;padding:.18rem .55rem;font-size:.7rem;font-weight:600;transition:background .15s,border-color .15s}.chat-stop-btn:hover{border-color:var(--error);background:#ff5d5d38}.chat-status-footer--done{color:var(--success)}.chat-status-footer--stopped,.chat-status-footer--paused{color:var(--warning)}.chat-status-footer--paused .chat-status-footer-text{flex:1;min-width:0}.chat-continue-btn{background:var(--gradient-ember,linear-gradient(135deg, #f5a623, #d9772b));color:#1a140c;cursor:pointer;border:1px solid #f5a62380;border-radius:4px;flex-shrink:0;margin-left:auto;padding:.22rem .7rem;font-family:inherit;font-size:.72rem;font-weight:700;transition:filter .12s,transform 80ms,box-shadow .12s;box-shadow:0 1px 6px #f5a62340}.chat-continue-btn:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 2px 10px #f5a62366}.chat-continue-btn:active:not(:disabled){transform:translateY(1px)}.chat-continue-btn:disabled{opacity:.5;cursor:default}.chat-retry-btn{border:1px solid var(--border,#ffffff2e);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:5px;flex-shrink:0;margin-left:auto;padding:.2rem .6rem;font-family:inherit;font-size:.7rem;font-weight:600;transition:color .12s,border-color .12s,background .12s}.chat-continue-btn+.chat-retry-btn{margin-left:.4rem}.chat-retry-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.chat-retry-btn:disabled{opacity:.5;cursor:default}.chat-undo-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:3px;margin-left:auto;padding:.1rem .45rem;font-family:inherit;font-size:.68rem;transition:background .12s,color .12s}.chat-undo-btn:hover{color:var(--text-primary);background:#ffffff1f}.chat-composer{border-top:1px solid var(--border);background:#00000038;flex-direction:column;display:flex;position:relative;box-shadow:inset 0 8px 12px -10px #0000008c}.chat-composer--dragover{outline:2px dashed var(--accent-border);outline-offset:-4px;background:var(--accent-dim)}.chat-attachments{flex-wrap:wrap;gap:6px;padding:8px 10px 0;display:flex}.chat-attachment{border:1px solid var(--border);background:var(--bg-primary);border-radius:5px;width:52px;height:52px;position:relative;overflow:hidden}.chat-attachment img{object-fit:cover;width:100%;height:100%;display:block}.chat-attachment-remove{color:#fff;cursor:pointer;background:#000000a6;border:none;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;line-height:1;display:grid;position:absolute;top:2px;right:2px}.chat-attachment-remove:hover{background:var(--red)}.chat-message-images{flex-wrap:wrap;gap:6px;margin:4px 0 6px;display:flex}.chat-message-image{border:1px solid var(--border);object-fit:cover;border-radius:5px;max-width:160px;max-height:160px}.chat-composer textarea{box-sizing:border-box;resize:none;width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;min-height:3.5rem;padding:.65rem .75rem .4rem;font-family:inherit;font-size:.825rem;line-height:1.5;display:block;overflow-y:auto}.textarea-resize-handle{cursor:row-resize;background:0 0;flex-shrink:0;height:5px;transition:background .15s}.textarea-resize-handle:hover,.textarea-resize-handle:active{background:var(--accent,#5b7cfa);opacity:.5}.chat-composer textarea::placeholder{color:var(--text-muted)}.chat-composer-bar{justify-content:space-between;align-items:center;gap:.25rem;padding:.3rem .5rem .45rem;display:flex}.chat-composer-bar-left{align-items:center;gap:.15rem;display:flex}.chat-composer-bar-right{align-items:center;gap:.2rem;display:flex}.chat-picker-wrap{display:inline-flex}.chat-picker-btn{color:var(--text-secondary);cursor:pointer;letter-spacing:-.01em;background:0 0;border:none;border-radius:5px;align-items:center;gap:.3rem;padding:.25rem .5rem;font-family:inherit;font-size:.775rem;font-weight:500;transition:background .12s,color .12s;display:flex}.chat-picker-btn:hover,.chat-picker-btn--open{color:var(--text-primary);background:#ffffff0f}.chat-picker-icon{opacity:.7;font-size:.9rem}.chat-picker-chevron{opacity:.5;font-size:.5rem}.chat-picker-popup{background:var(--gradient-elevated);border:1px solid var(--border);z-index:200;border-radius:6px;min-width:220px;animation:.1s ease-out popup-in;position:absolute;bottom:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 -8px 32px #0009,0 2px 8px #0000004d}.chat-model-search-row{border-bottom:1px solid var(--border);padding:8px 10px}.chat-model-search{width:100%;color:var(--text-primary);caret-color:var(--accent);background:0 0;border:none;outline:none;font-family:inherit;font-size:.825rem}.chat-model-search::placeholder{color:var(--text-muted)}.chat-picker-item{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;width:100%;padding:9px 12px;font-family:inherit;transition:background .1s;display:flex}.chat-picker-item:hover{background:#ffffff0d}.chat-picker-item-label{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.825rem;font-weight:600;display:flex}.chat-picker-item-desc{color:var(--text-muted);font-size:.72rem;line-height:1.4}.chat-picker-check{color:var(--text-primary);margin-left:auto;font-size:.8rem}.chat-credit-badge{letter-spacing:.02em;color:var(--amber);background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:3px;padding:1px 4px;font-size:.62rem;font-weight:700;line-height:1}.chat-credit-badge--high{color:var(--error);background:#f871711a;border-color:#f8717140}.chat-bar-icon-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;font-size:.75rem;font-weight:500;transition:background .12s,color .12s;display:flex}.chat-bar-icon-btn:hover{color:var(--text-secondary);background:#ffffff0f}.chat-bar-icon-btn--active{background:var(--accent-dim);color:var(--accent)}.ctx-pick{z-index:60;background:var(--surface-2,#14161cfa);border:1px solid var(--accent-border);border-radius:10px;flex-direction:column;max-height:320px;display:flex;position:absolute;bottom:calc(100% + 6px);left:8px;right:8px;overflow:hidden;box-shadow:0 14px 40px #0000008c}.ctx-pick-search{color:var(--text);border:none;border-bottom:1px solid var(--border,#ffffff1a);background:0 0;outline:none;padding:.5rem .65rem;font-size:12.5px}.ctx-pick-list{padding:.25rem;overflow-y:auto}.ctx-pick-empty{text-align:center;color:var(--text-muted);padding:.8rem;font-size:12px}.ctx-pick-group{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.3rem .5rem .15rem;font-size:9.5px}.ctx-pick-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.45rem;padding:.34rem .5rem;font-size:12.5px;display:flex}.ctx-pick-item:hover{background:#ffffff0f}.ctx-pick-item--on{background:var(--accent-dim)}.ctx-pick-check{width:12px;color:var(--accent);flex-shrink:0;align-items:center;display:inline-flex}.ctx-pick-kind{color:var(--text-muted);flex-shrink:0;align-items:center;display:inline-flex}.ctx-pick-item--on .ctx-pick-kind{color:var(--accent)}.ctx-pick-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ctx-pick-sub{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:10.5px}.chat-send-btn{background:var(--gradient-accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .15s;display:flex}.chat-send-btn:hover{background:var(--gradient-accent-hover)}.outliner-panel{border-bottom:1px solid #ffffff0f;flex:none;max-height:50%}.outliner-tree{flex:1;min-height:0;padding:.25rem 0;overflow-y:auto}.outliner-name{text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.outliner-type-dot{opacity:.85;border-radius:50%;flex-shrink:0;width:7px;height:7px}.outliner-name{text-overflow:ellipsis;flex:1;overflow:hidden}.outliner-type-label{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-muted);opacity:.7;flex-shrink:0;font-size:.6rem}.outliner-status{opacity:.7;border-radius:50%;flex-shrink:0;width:5px;height:5px}.outliner-count{font-family:var(--font-mono);color:var(--text-muted);background:#ffffff0d;border-radius:999px;padding:.05rem .4rem;font-size:.6rem}.outliner-search{border-bottom:1px solid var(--border-subtle,#ffffff0f);align-items:center;gap:.35rem;padding:.3rem .6rem;display:flex}.outliner-search-icon{color:var(--text-muted);flex-shrink:0}.outliner-search-input{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:.18rem .1rem;font-size:.74rem}.outliner-search-input::placeholder{color:var(--text-muted)}.outliner-search-clear{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.outliner-search-clear:hover{color:var(--text-primary);background:#ffffff14}.outliner-row{align-items:center;padding-right:.4rem;transition:background .1s;display:flex}.outliner-row:nth-child(2n){background:#ffffff03}.outliner-row:hover{background:#ffffff0b}.outliner-row:hover .outliner-eye{opacity:.7}.outliner-row--active{box-shadow:inset 2px 0 0 var(--accent);background:var(--accent-dim)!important}.outliner-row--root{z-index:1;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);position:sticky;top:0}.outliner-row--root .outliner-name{color:var(--text-secondary);font-weight:600}.outliner-row--root:hover{background:var(--bg-secondary)}.outliner-row--active .outliner-row-main{color:var(--text-primary)}.outliner-row--hidden .outliner-row-main{opacity:.45}.outliner-row--hidden .outliner-eye{opacity:.85;color:var(--warning,#f5a623)}.outliner-caret{width:16px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.outliner-caret--leaf{cursor:default}.outliner-row-main{min-width:0;color:var(--text-secondary);text-align:left;cursor:pointer;white-space:nowrap;letter-spacing:-.01em;background:0 0;border:none;flex:1;align-items:center;gap:.45rem;padding:.28rem .25rem;font-size:.775rem;display:flex;overflow:hidden}.outliner-row-main:hover{color:var(--text-primary)}.outliner-kind-icon{opacity:.9;flex-shrink:0;display:inline-flex}.outliner-eye{width:20px;height:20px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s,color .12s;display:inline-flex}.outliner-eye:hover{color:var(--text-primary);background:#ffffff14;opacity:1!important}.outliner-status--idea{background:#cbd5e1}.outliner-status--planned{background:#888}.outliner-status--ready{background:var(--info)}.outliner-status--in-progress{background:#f5a623}.outliner-status--needs-review{background:#ec4899}.outliner-status--done{background:var(--success)}.outliner-status--blocked{background:var(--error)}.outliner-status--playtest{background:#22c55e}.outliner-status--bug-found{background:var(--error)}.inspector-panel{flex:1;min-height:0;overflow:hidden}.inspector-node-header{border-bottom:1px solid #ffffff0f;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.inspector-node-type-badge{letter-spacing:.06em;text-transform:uppercase;opacity:.8;border:1px solid;border-radius:3px;padding:1px 5px;font-size:.65rem;font-weight:700}.inspector-node-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;overflow:hidden}.inspector-grid{flex:1;grid-template-columns:1fr 1fr;gap:0;min-height:0;margin:0;padding:0;display:grid;overflow-y:auto}.inspector-grid div{background:0 0;border:none;border-bottom:1px solid #ffffff0a;border-radius:0;padding:.5rem .75rem}.inspector-grid__wide{grid-column:1/-1}.inspector-grid dt{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);opacity:.5;margin-bottom:.2rem;font-size:.65rem;font-weight:700}.inspector-grid dd{color:var(--text-primary);margin:0;font-size:.78rem}.ai{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ai-head{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:10px 12px 9px;display:flex}.ai-comptree{flex-direction:column;flex-shrink:0;gap:1px;padding:6px 8px;display:flex;overflow-y:auto}.ai-comptree-resizer{cursor:ns-resize;border-bottom:1px solid var(--border-subtle);flex-shrink:0;height:6px;position:relative}.ai-comptree-resizer:after{content:"";background:var(--border);border-radius:1px;width:26px;height:2px;transition:background .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ai-comptree-resizer:hover:after{background:var(--accent)}.ai-comptree-row{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:3px 6px;font-size:11.5px;transition:background .1s,color .1s;display:flex}.ai-comptree-row:hover{color:var(--text-primary);background:#ffffff0d}.ai-comptree-row--active{background:var(--accent-dim);color:var(--text-primary);box-shadow:inset 2px 0 0 var(--accent)}.ai-comptree-row--root{color:var(--text-primary);font-weight:600}.ai-comptree-row:not(.ai-comptree-row--root){padding-left:16px}.ai-comptree-branch{color:var(--text-muted);flex-shrink:0}.ai-comptree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ai-comptree-kind{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);background:#ffffff0d;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:8px;font-weight:700}.ai-badge{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;background:#ffffff05;border:1px solid;border-radius:3px;padding:3px 7px;font-size:9px;font-weight:700}.ai-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13.5px;font-weight:600;overflow:hidden}.ai-sel{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.ai-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding:9px 10px;display:flex;overflow-y:auto}.ai-section{flex-direction:column;gap:5px;display:flex}.ai-section-head{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:8px;padding-bottom:3px;font-size:9px;font-weight:600;display:flex}.ai-section-head--toggle{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:flex-start;transition:color .12s}.ai-section-head--toggle:hover{color:var(--text-primary)}.ai-section-head--toggle .ai-remove{margin-left:auto}.ai-section-caret{opacity:.7;flex-shrink:0;align-items:center;display:inline-flex}.ai-search{border-bottom:1px solid var(--border-subtle,#ffffff0f);align-items:center;gap:.35rem;padding:.3rem .65rem;display:flex}.ai-search-icon{color:var(--text-muted);flex-shrink:0}.ai-search-input{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:.18rem .1rem;font-size:.72rem}.ai-search-input::placeholder{color:var(--text-muted)}.ai-search-clear{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.ai-search-clear:hover{color:var(--text-primary);background:#ffffff14}.ai-remove{width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:3px;flex:none;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.ai-remove:hover{opacity:1;color:#ef4444;background:#ef444424}.ai-vrow{align-items:center;gap:8px;display:flex}.ai-vlabel{width:52px;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);flex:none;align-items:center;gap:3px;font-size:8.5px;font-weight:600;display:inline-flex}.ai-reset{width:15px;height:15px;color:var(--text-muted);cursor:pointer;opacity:.65;background:0 0;border:none;border-radius:3px;flex:none;justify-content:center;align-items:center;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.ai-reset:hover{opacity:1;background:var(--accent-dim);color:var(--accent)}.ai-reset--hidden{visibility:hidden;pointer-events:none}.ai-meta{font-family:var(--font-mono);color:var(--text-secondary);font-size:11px}.ai-vec{flex:1;grid-template-columns:1fr 1fr 1fr;gap:4px;min-width:0;display:grid}.ai-axis{background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;align-items:center;display:flex;overflow:hidden}.ai-axis:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-dim)}.ai-axis-tag{text-align:center;width:14px;font-family:var(--font-mono);border-right:1px solid var(--border);background:#ffffff08;flex:none;font-size:9px;font-weight:600;line-height:21px}.ai-num.inspector-number-scrub,.ai-num.inspector-number-input{box-sizing:border-box;width:100%;min-width:0;color:var(--text-primary);font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:1;height:21px;padding:0 5px;font-size:10.5px;line-height:21px}.ai-num.inspector-number-scrub{cursor:ew-resize}.ai-field{align-items:center;gap:8px;min-height:21px;display:flex}.ai-field-label{width:56px;font-family:var(--font-mono);color:var(--text-secondary);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:10px;overflow:hidden}.ai-field .ai-num.inspector-number-scrub,.ai-field .ai-num.inspector-number-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;flex:1;height:21px;padding:0 6px}.ai-text{background:var(--bg-primary);border:1px solid var(--border);min-width:0;color:var(--text-primary);font-family:var(--font-mono);border-radius:3px;outline:none;flex:1;padding:3px 6px;font-size:10.5px}.ai-text:focus{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-dim)}.ai-toggle{border:1px solid var(--border);background:var(--bg-primary);cursor:pointer;border-radius:10px;flex:none;width:32px;height:18px;transition:background .14s,border-color .14s;position:relative}.ai-toggle-knob{background:var(--text-muted);border-radius:50%;width:12px;height:12px;transition:transform .14s,background .14s;position:absolute;top:2px;left:2px}.ai-toggle--on{background:var(--accent-dim);border-color:var(--accent-border)}.ai-toggle--on .ai-toggle-knob{background:var(--accent);transform:translate(14px)}.ai-color{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.ai-color input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;flex:none;width:22px;height:20px;padding:0}.ai-color-hex{background:var(--bg-primary);border:1px solid var(--border);min-width:0;color:var(--text-primary);font-family:var(--font-mono);border-radius:3px;outline:none;flex:1;padding:4px 7px;font-size:11px}.ai-name{min-width:0;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:4px;outline:none;flex:1;padding:3px 6px;font-size:13.5px;font-weight:600;transition:background .12s,border-color .12s}.ai-name:hover{background:var(--bg-primary)}.ai-name:focus{background:var(--bg-primary);border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-dim)}.ai-tags{text-transform:none}.ai-field .ai-select{flex:1;min-width:0}.ai-slider-wrap{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.ai-slider-wrap .ai-num.inspector-number-scrub,.ai-slider-wrap .ai-num.inspector-number-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;flex:none;width:52px;height:24px;padding:0 6px}.ai-slider{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;outline:none;flex:1;min-width:0;height:4px}.ai-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--bg-secondary,#1a1a1d);cursor:pointer;border-radius:50%;width:13px;height:13px}.ai-slider::-moz-range-thumb{background:var(--accent);border:2px solid var(--bg-secondary,#1a1a1d);cursor:pointer;border-radius:50%;width:13px;height:13px}.ai-add{padding-top:2px}.ai-add-select{width:100%}.inspector-title-input{border:1px solid var(--accent-border,#9898a859);color:var(--text-primary);background:#ffffff12;border-radius:4px;outline:none;flex:1;min-width:0;padding:.15rem .4rem;font-size:.85rem;font-weight:500}.inspector-select{color:var(--text-primary);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:4px;outline:none;width:100%;padding:.15rem .3rem;font-size:.75rem}.inspector-select:focus{border-color:var(--accent-border,#9898a859)}.inspector-textarea{color:var(--text-primary);resize:vertical;background:#ffffff0a;border:1px solid #ffffff12;border-radius:4px;outline:none;width:100%;padding:.35rem .5rem;font-family:inherit;font-size:.75rem;line-height:1.5}.inspector-textarea:focus{border-color:var(--accent-border,#9898a859)}.inspector-number-input{width:100%;min-width:0;color:var(--text-primary);font:inherit;background:#ffffff09;border:1px solid #ffffff14;border-radius:5px;padding:.22rem .35rem}.inspector-number-input:focus{border-color:var(--accent-border);background:#ffffff0e;outline:none}.inspector-number-scrub{width:100%;min-width:0;color:var(--text-primary);font:inherit;font-variant-numeric:tabular-nums;cursor:ew-resize;-webkit-user-select:none;user-select:none;background:#ffffff09;border:1px solid #ffffff14;border-radius:5px;padding:.22rem .35rem;font-size:.78rem;transition:background .1s,border-color .1s}.inspector-number-scrub:hover{background:#ffffff0f;border-color:#ffffff2e}.output-log-bar{border-top:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#0e0e0e 0%,#141414 50%,#0c0c0c 100%);flex-shrink:0;justify-content:space-between;align-items:center;height:26px;padding:0 .75rem;transition:background .1s;display:flex}.output-log-bar:hover{background:#111}.output-log-bar-left{align-items:center;gap:.5rem;display:flex}.output-log-bar-title{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);font-size:.675rem;font-weight:600}.output-log-bar-count{color:var(--text-muted);opacity:.7;font-size:.65rem}.output-log-bar-count--error{color:var(--red);opacity:1}.output-log-chevron{color:var(--text-muted);font-size:.6rem;transition:transform .15s}.output-log-chevron--open{transform:rotate(180deg)}.output-log{background:linear-gradient(135deg,#0e0e0e 0%,#141414 50%,#0c0c0c 100%);border-top:none;flex-direction:column;flex-shrink:0;height:140px;display:flex}.output-log-header{border-bottom:1px solid var(--border-subtle);background:0 0;justify-content:space-between;align-items:center;height:28px;padding:0 .75rem;display:flex}.output-log-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.675rem;font-weight:600}.output-log-close{width:1.8rem;height:1.8rem;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:.9rem}.output-log-close:hover{color:var(--accent)}.output-log-content{flex:1;min-height:0;overflow-y:scroll}.sandbox-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.sandbox-list li{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);flex-wrap:wrap;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;font-size:.775rem;line-height:1.3;display:flex}.sandbox-list li:last-child{border-bottom:none}.sandbox-error{background:#ef44440d}.log-level{text-transform:uppercase;letter-spacing:.02em;min-width:3.5rem;font-size:.7rem;font-weight:700}.log-level--error{color:var(--error)}.log-level--warn{color:#f59e0b}.log-level--info{color:var(--accent)}.log-level--debug{color:#b4b4c8}.empty-state{color:var(--text-secondary)}.center-tab-bar{background:var(--gradient-panel);border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:stretch;gap:1px;height:34px;padding-right:.5rem;display:flex}.center-tab{color:var(--text-muted);font-family:var(--font-display);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.45rem;padding:0 1rem;font-size:.62rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:flex}.center-tab:hover{color:var(--text-secondary);background:#ffffff08}.center-tab--active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-dim)}.center-tab-icon{opacity:.7;font-size:.7rem}.center-tab-badge{letter-spacing:.05em;border-radius:2px;padding:1px 4px;font-size:.6rem;font-weight:700}.center-tab-badge--live{color:#fff;background:#e74c3c;animation:1.2s ease-in-out infinite pulse-badge}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.5}}.center-panel{flex-direction:column;flex:1;min-height:0;animation:.3s ease-out content-fade-in;display:flex;position:relative;overflow:hidden}@keyframes content-fade-in{0%{opacity:.95}to{opacity:1}}.center-panel--viewport{background:#050510}.docs-shell{background:#1a1a1f;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.docs-nav-panel{border-right:1px solid var(--border);background:var(--bg-secondary);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow:hidden}.docs-nav-toolbar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:.4rem;padding:.6rem .7rem;display:flex}.docs-search{border:1px solid var(--border);color:var(--text-primary);background:#ffffff0d;border-radius:5px;outline:none;flex:1;padding:.3rem .55rem;font-size:.75rem}.docs-search:focus{border-color:var(--accent-border);background:#ffffff12}.docs-new-btn{border:1px solid var(--border);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:background .12s,color .12s;display:flex}.docs-new-btn:hover{color:var(--text-primary);background:#ffffff1f}.docs-nav-list{flex:1;min-height:0;padding:.4rem 0;overflow-y:auto}.docs-nav-group{margin-bottom:.5rem}.docs-nav-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:.3rem .75rem .2rem;font-size:.67rem;font-weight:600;display:block}.docs-nav-item{cursor:pointer;border-radius:4px;align-items:center;height:28px;margin:0 .3rem;padding:0 .75rem;transition:background .12s;display:flex}.docs-nav-item:hover{background:#ffffff0d}.docs-nav-item--active{background:#ffffff14}.docs-nav-item-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;flex:1;font-size:.8rem;overflow:hidden}.docs-nav-item--active .docs-nav-item-name{color:var(--text-primary);font-weight:500}.docs-nav-item-delete{opacity:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1}.docs-nav-item:hover .docs-nav-item-delete{opacity:.5}.docs-nav-item-delete:hover{color:var(--red,var(--error));opacity:1!important}.docs-nav-item-delete--confirm{border-radius:3px;padding:0 5px;font-size:.78rem;font-weight:700;opacity:1!important;color:#fff!important;background:var(--red)!important}.docs-rename-input{border:1px solid var(--accent-border);color:var(--text-primary);background:#ffffff12;border-radius:4px;outline:none;flex:1;padding:.15rem .4rem;font-size:.8rem}.docs-empty{color:var(--text-muted);text-align:center;padding:.75rem;font-size:.75rem}.docs-toc{border-top:1px solid var(--border);flex-shrink:0;max-height:260px;padding:.5rem 0;overflow-y:auto}.docs-toc-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:0 .75rem .25rem;font-size:.67rem;font-weight:600;display:block}.docs-toc-item{text-align:left;cursor:pointer;width:100%;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-left:2px solid #0000;padding:.18rem .75rem;font-size:.75rem;line-height:1.45;transition:color .1s,background .1s;display:block;overflow:hidden}.docs-toc-item:hover{color:var(--text-primary);background:#ffffff0a}.docs-toc-item--active{color:var(--accent,#9898a8);border-left-color:var(--accent,#9898a8)}.docs-toc-item--h1{padding-left:.75rem;font-size:.78rem;font-weight:600}.docs-toc-item--h2{padding-left:1.25rem}.docs-toc-item--h3{color:var(--text-muted);padding-left:1.8rem;font-size:.72rem}.docs-toc-item--h4{color:var(--text-muted);padding-left:2.25rem;font-size:.7rem}.docs-workspace{background:#1e1e24;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.docs-workspace-toolbar{border-bottom:1px solid var(--border);background:var(--bg-secondary);box-sizing:border-box;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;min-height:48px;padding:.5rem max(2rem,50% - 410px);display:flex}.docs-category-select,.docs-heading-select{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:5px;outline:none;padding:.25rem .5rem;font-size:.74rem}.docs-category-select:focus,.docs-heading-select:focus{border-color:var(--accent-border)}.docs-heading-select{min-width:110px}.docs-mode-toggle{border:1px solid var(--border);background:#ffffff0a;border-radius:6px;flex-shrink:0;gap:1px;display:flex;overflow:hidden}.docs-mode-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:.25rem .7rem;font-size:.72rem;transition:background .1s,color .1s}.docs-mode-btn:hover{color:var(--text-secondary);background:#ffffff0f}.docs-mode-btn--active{color:var(--text-primary);background:#ffffff1a;font-weight:500}.docs-bubble-menu{background:var(--gradient-elevated);border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:2px;padding:3px 5px;display:flex;box-shadow:0 4px 20px #0006}.docs-fmt-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:26px;transition:background .15s,color .15s;display:flex}.docs-fmt-btn:hover{color:var(--text-primary);background:#ffffff1a}.docs-fmt-btn--active{color:#b4b4c8;background:#9898a826}.docs-bubble-sep{background:#ffffff1a;width:1px;height:16px;margin:0 2px}.docs-page-scroll{background:#1a1a22;flex:1;min-height:0;padding:2rem 0 4rem;overflow-y:auto}.docs-page{color:#1a1a1a;background:#fff;border-radius:4px;width:820px;max-width:calc(100% - 4rem);min-height:600px;margin:0 auto;padding:3.5rem 5.5rem 5rem;box-shadow:0 2px 24px #00000059}.docs-page-title-row{border-bottom:1px solid #e8e8ed;margin-bottom:2rem;padding-bottom:1.25rem}.docs-page-title{color:#111;caret-color:#9898a8;background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:2rem;font-weight:700;line-height:1.25}.docs-page-title::placeholder{color:#bbb}.docs-editor-content{min-height:400px}.docs-editor-content .tiptap{color:#1a1a1a;font-size:1rem;line-height:1.7;font-family:var(--font-body);outline:none}.docs-editor-content .tiptap p{margin:0 0 .75em}.docs-editor-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#aaa;pointer-events:none;height:0}.docs-editor-content .tiptap h1{color:#111;margin:1.5rem 0 .5rem;font-size:1.75rem;font-weight:700;line-height:1.25}.docs-editor-content .tiptap h2{color:#1a1a1a;margin:1.5rem 0 .4rem;font-size:1.35rem;font-weight:600;line-height:1.3}.docs-editor-content .tiptap h3{color:#222;margin:1.25rem 0 .35rem;font-size:1.1rem;font-weight:600}.docs-editor-content .tiptap h4{color:#333;text-transform:uppercase;letter-spacing:.04em;margin:1rem 0 .3rem;font-size:.95rem;font-weight:600}.docs-editor-content .tiptap ul,.docs-editor-content .tiptap ol{margin:.25rem 0 .75rem;padding-left:1.5rem}.docs-editor-content .tiptap li{margin-bottom:.2rem}.docs-editor-content .tiptap strong{font-weight:700}.docs-editor-content .tiptap em{font-style:italic}.docs-editor-content .tiptap s{color:#888;text-decoration:line-through}.docs-editor-content .tiptap code{font-family:var(--font-mono);color:#5a4fcf;background:#f0f0f5;border:1px solid #e0e0ea;border-radius:4px;padding:.1em .35em;font-size:.85em}.docs-editor-content .tiptap pre code{color:#333;background:0 0;border:none;padding:0;font-size:.875rem}.docs-editor-content .tiptap blockquote{color:#666;border-left:4px solid #c4b5fd;border-radius:0 4px 4px 0;margin:.5rem 0 .75rem;padding-left:1rem}.docs-editor-content .tiptap hr{border:none;border-top:1px solid #e0e0e8;margin:1.5rem 0}.docs-raw-pane{background:#1e1e1e;border-radius:4px;height:600px;min-height:400px;overflow:hidden}.viewport-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.viewport-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;flex-direction:column;width:90%;height:85%;display:flex;box-shadow:0 20px 60px #000c}.viewport-header{border-bottom:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);justify-content:space-between;align-items:center;padding:1rem;font-weight:600;display:flex}.viewport-close{border:1px solid var(--border);background:var(--bg-secondary);width:2rem;height:2rem;color:var(--text-secondary);cursor:pointer;border-radius:.3rem;padding:0;font-size:1.2rem}.viewport-close:hover{border-color:var(--accent);color:var(--accent)}.viewport-card{border-radius:0;flex:1;position:relative;overflow:hidden}.sandbox-iframe{border:none;width:100%;height:100%;display:block}.react-flow__background{background:var(--bg-tertiary)!important}.react-flow__controls{box-shadow:none;border:1px solid var(--border);background:var(--bg-secondary);border-radius:6px;overflow:hidden}.react-flow__controls-button{background:var(--bg-tertiary)!important;border-color:var(--border)!important;fill:var(--text-muted)!important}.react-flow__controls-button:hover{background:var(--bg-elevated)!important;fill:var(--accent)!important}.react-flow__edge-path{opacity:.7;stroke:var(--accent)!important}.react-flow__selection{border:1px solid var(--accent);background:#9898a814;border-radius:3px}.react-flow__pane.react-flow__container{cursor:default}.graph-node{background:var(--gradient-panel);border:1px solid var(--border);border-radius:6px;min-width:190px;max-width:250px;transition:box-shadow .16s,border-color .16s,transform .16s;position:relative;overflow:visible;box-shadow:0 6px 20px #00000057}.graph-node:hover{border-color:#ffffff29;transform:translateY(-1px);box-shadow:0 10px 30px #00000080}.graph-node--selected,.graph-node--selected:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-border), 0 8px 26px #0000008c}.lud-edge-spark{filter:drop-shadow(0 0 4px #ff7a1ae6);opacity:.95}.lud-edge-mid{pointer-events:all;position:absolute}.lud-edge-label{font-family:var(--font-mono);letter-spacing:.04em;background:var(--bg-primary);border:1px solid var(--border);white-space:nowrap;border-radius:2px;padding:1px 6px;font-size:9px}.lud-edge-delete{background:var(--bg-elevated);width:18px;height:18px;color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:10px;line-height:1;transition:background .13s,color .13s,border-color .13s;animation:.1s lud-select-in;display:flex;box-shadow:0 2px 9px #0000008c}.lud-edge-delete:hover{background:var(--red);color:#fff;border-color:var(--red)}.react-flow__edge:hover .react-flow__edge-path{stroke-width:2.4px}.graph-node-type-bar{border-radius:5px 5px 0 0;height:4px;margin:-1px -1px 0}.graph-node-thumbnail{background:var(--bg-tertiary);width:100%;height:72px;position:relative;overflow:hidden}.graph-node-thumb-img{object-fit:cover;filter:saturate(.75)brightness(.85);width:100%;height:100%;transition:filter .2s;display:block}.graph-node:hover .graph-node-thumb-img{filter:saturate(.9)brightness(.95)}.graph-node-thumb-fallback{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.graph-node-thumb-icon{opacity:.5;font-size:22px}.graph-node-thumb-overlay{pointer-events:none;position:absolute;inset:0}.graph-node-body{padding:11px 13px}.graph-node-title{letter-spacing:-.01em;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:7px;font-size:13.5px;font-weight:600;overflow:hidden}.graph-node-title-input{color:var(--text-primary);background:#ffffff1a;border:1px solid #fff3;border-radius:3px;outline:none;width:100%;padding:.1rem .3rem;font-family:inherit;font-size:.8rem;font-weight:500}.graph-node-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.graph-node-type{font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:.16em;font-size:8px;font-weight:600}.graph-node-status{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid;border-radius:2px;padding:1.5px 6px;font-size:8.5px;font-weight:500;background:0 0!important}.graph-node-status--idea{color:#cbd5e1;background:#94a3b838}.graph-node-status--planned{color:#b0b0b8;background:#6464784d}.graph-node-status--ready{color:var(--info);background:#38bdf82e}.graph-node-status--in-progress{color:#f5a623;background:#f5a62333}.graph-node-status--needs-review{color:#ec4899;background:#ec48992e}.graph-node-status--done{color:var(--success);background:#4ade8033}.graph-node-status--blocked{color:var(--error);background:#ef444433}.graph-node-status--playtest{color:#22c55e;background:#22c55e2e}.graph-node-status--bug-found{color:var(--error);background:#ef444447}.graph-node-preview{color:#9ca3af;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:6px 0 0;font-size:10.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.graph-node-detail-row{flex-wrap:wrap;gap:5px;min-height:0;margin-top:7px;display:flex}.graph-node-priority,.graph-node-file-chip{font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em;background:#ffffff0d;border-radius:2px;padding:2.5px 5px;font-size:8.5px;line-height:1}.graph-node-priority--low{color:var(--success);background:#4ade801f;border-color:#4ade8033}.graph-node-priority--medium{color:#facc15;background:#facc151f;border-color:#facc1533}.graph-node-priority--high{color:#fb923c;background:#fb923c1f;border-color:#fb923c38}.graph-node-priority--critical{color:var(--error);background:#ef444424;border-color:#ef444440}.graph-handle{cursor:crosshair!important;background:0 0!important;border:none!important;width:24px!important;height:24px!important}.graph-handle:after{content:"";background:var(--handle-color,#888);transform-origin:50%;pointer-events:none;border:2px solid #ffffff40;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;transition:transform .15s,box-shadow .15s;position:absolute;top:50%;left:50%}.graph-handle:before{content:"";border-radius:50%;position:absolute;inset:-6px}.graph-handle:hover:after{transform:scale(1.6);box-shadow:0 0 0 5px #ffffff24}.minimap-toggle-btn{z-index:10;width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:#121218e0;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:flex;position:absolute;bottom:12px;right:12px}.minimap-toggle-btn:hover{color:var(--text-primary);background:#1e1e2af2;border-color:#ffffff38}.minimap-toggle-btn--active{color:var(--accent);border-color:var(--accent-border)}.ref-node{border:1.5px dashed var(--ref-accent,#94a3b8);cursor:default;background:#12121ceb;border-radius:6px;align-items:center;gap:6px;min-width:120px;padding:6px 12px 6px 10px;transition:border-color .12s,box-shadow .12s;display:flex}.ref-node--selected{box-shadow:0 0 0 2px #94a3b84d}.ref-node-arrow{flex-shrink:0;font-size:14px}.ref-node-content{flex-direction:column;gap:1px;min-width:0;display:flex}.ref-node-label{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.ref-node-type{text-transform:uppercase;letter-spacing:.05em;opacity:.75;font-size:9px}.system-group-node{pointer-events:none;background:#38bdf80a;border:1.5px solid #38bdf840;border-radius:6px;flex-direction:column;width:100%;height:100%;display:flex}.system-group-node--selected{border-color:#38bdf88c;box-shadow:inset 0 0 0 1px #38bdf81f}.system-group-header{pointer-events:all;border-bottom:1px solid #38bdf81f;align-items:center;gap:6px;padding:8px 12px;display:flex}.system-group-icon{color:var(--info);flex-shrink:0;font-size:13px}.system-group-label{color:var(--info);letter-spacing:.04em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;font-weight:700;overflow:hidden}.graph-node-toolbar{background:var(--gradient-elevated);border:1px solid var(--border);border-radius:6px;gap:4px;padding:3px 4px;display:flex;box-shadow:0 4px 16px #00000080}.node-toolbar-btn{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:12px;transition:background .12s,color .12s;display:flex}.node-toolbar-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.node-toolbar-btn--danger:hover{color:var(--error);background:#ef444433}.node-search-popup{background:var(--gradient-elevated);border:1px solid var(--border);border-radius:6px;flex-direction:column;width:260px;max-height:360px;animation:.1s ease-out popup-in;display:flex;overflow:hidden;box-shadow:0 16px 48px #000000bf}@keyframes popup-in{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.node-search-header{border-bottom:1px solid var(--border);padding:8px 12px 6px}.node-search-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:600}.node-search-input-row{border-bottom:1px solid var(--border);padding:8px}.node-search-input{background:var(--bg-tertiary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:5px;outline:none;padding:6px 8px;font-family:inherit;font-size:12px}.node-search-input:focus{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-dim)}.node-search-results{flex:1;padding:4px 0;overflow-y:auto}.node-search-empty{text-align:center;color:var(--text-secondary);padding:16px;font-size:12px}.node-search-category{margin-bottom:4px}.node-search-category-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:4px 12px 2px;font-size:9px;font-weight:700}.node-search-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 12px;font-family:inherit;font-size:12px;transition:background .1s;display:flex}.node-search-item:hover,.node-search-item--active{background:var(--accent-dim)}.node-search-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.node-search-item-label{flex-shrink:0;font-weight:600}.node-search-item-desc{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.node-search-footer{border-top:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);letter-spacing:.02em;gap:12px;padding:5px 12px;font-size:9px;display:flex}.context-menu{background:var(--gradient-elevated);border:1px solid var(--border);border-radius:7px;min-width:180px;padding:4px;animation:80ms ease-out popup-in;box-shadow:0 10px 36px #000000b3}.context-menu-item{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;letter-spacing:-.01em;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:12px;transition:background .1s;display:flex}.context-menu-item:hover{background:var(--accent-dim);color:var(--text-primary)}.context-menu-item--danger{color:var(--red)}.context-menu-item--danger:hover{background:var(--red-dim)}.context-menu-icon{text-align:center;opacity:.6;width:14px;font-size:11px}.context-menu-separator{background:var(--border);height:1px;margin:4px 0}@media (width<=1400px){.workspace-sidebar--left{width:240px}.workspace-sidebar--right{width:260px}}@media (width<=1024px){.workspace-main{flex-direction:column}.workspace-sidebar--left,.workspace-sidebar--right{width:auto;height:200px}.workspace-center{min-height:400px}}.graph-sketch-inline{flex-shrink:0;align-items:center;gap:4px;display:flex}.graph-filter-sep{background:#ffffff1a;flex-shrink:0;align-self:stretch;width:1px;margin:4px}.sketch-tool-btn{width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:flex}.sketch-tool-btn:hover{color:var(--text-primary);background:#ffffff12;border-color:#ffffff1f}.sketch-tool-btn--active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.sketch-tool-btn--clear{margin-left:4px}.sketch-tool-btn--clear:hover{color:var(--error);background:#ef44441f;border-color:#ef444433}.sketch-color-strip{border-left:1px solid #ffffff14;border-right:1px solid #ffffff14;align-items:center;gap:3px;margin:0 2px;padding:0 4px;display:flex}.sketch-color-swatch{cursor:pointer;border:1.5px solid #ffffff26;border-radius:50%;flex-shrink:0;width:14px;height:14px;padding:0;transition:transform .1s,border-color .1s}.sketch-color-swatch:hover{border-color:#ffffff80;transform:scale(1.2)}.sketch-color-swatch--active{border-color:#fff;transform:scale(1.25);box-shadow:0 0 0 2px #ffffff40}.sketch-overlay{z-index:20;width:100%;height:100%;position:absolute;inset:0}.gni{color:#d0d5dd;flex-direction:column;height:100%;font-size:.78rem;display:flex;overflow:hidden}.gni-header{background:#ffffff06;border-bottom:1px solid #ffffff12;flex-shrink:0;padding:10px 12px 8px}.gni-type-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.gni-type-badge{text-transform:uppercase;letter-spacing:.06em;opacity:.85;background:#ffffff0f;border:1px solid;border-radius:3px;padding:1px 6px;font-size:.68rem;font-weight:600}.gni-edge-badge{color:#6b7280;letter-spacing:.04em;margin-right:auto;font-size:.68rem}.gni-actions{gap:3px;display:flex}.gni-action-btn{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;transition:background .15s,color .15s;display:flex}.gni-action-btn:hover{color:#e5e7eb;background:#ffffff14}.gni-action-btn--danger:hover{color:var(--error);background:#ef44441f;border-color:#ef44444d}.gni-title-input{color:#f1f5f9;box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:5px;outline:none;width:100%;padding:5px 8px;font-size:.88rem;font-weight:600;transition:border-color .15s,background .15s}.gni-title-input:focus{background:#5b7cfa0f;border-color:#5b7cfa8c}.gni-body{flex-direction:column;flex:1;gap:8px;padding:10px 12px 16px;display:flex;overflow-y:auto}.gni-body::-webkit-scrollbar{width:5px}.gni-body::-webkit-scrollbar-track{background:0 0}.gni-body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.gni-row-2col{grid-template-columns:1fr 1fr;gap:6px;display:grid}.gni-field{flex-direction:column;gap:3px;display:flex}.gni-field--full{grid-column:1/-1}.lud-select{width:100%;position:relative}.lud-select--inline{width:auto}.lud-select--inline .lud-select-trigger{min-width:118px;padding:5px 9px;font-size:11px}.lud-select-trigger{background:var(--bg-primary);border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-mono);text-align:left;cursor:pointer;border-radius:3px;justify-content:space-between;align-items:center;gap:6px;padding:6px 9px;font-size:11.5px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex}.lud-select-trigger:hover{border-color:var(--text-muted);background:var(--bg-secondary)}.lud-select-trigger:focus-visible,.lud-select-trigger[aria-expanded=true]{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.lud-select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lud-select-caret{color:var(--text-muted);flex:none;transition:transform .16s}.lud-select-trigger[aria-expanded=true] .lud-select-caret{transform:rotate(180deg)}.lud-select-menu{z-index:1200;background:var(--gradient-elevated);border:1px solid #ffffff1a;border-radius:4px;flex-direction:column;gap:1px;padding:3px;animation:.12s lud-select-in;display:flex;overflow-y:auto;box-shadow:0 12px 32px #0009}@keyframes lud-select-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.lud-select-option{width:100%;color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.01em;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:11.5px;display:flex}.lud-select-option.is-active{color:var(--text-primary);background:#ffffff0d}.lud-select-option.is-selected{color:var(--accent)}.lud-select-option-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lud-select-check{color:var(--accent);flex:none;font-size:10px}.lud-modal-overlay{z-index:3000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.lud-modal{background:var(--gradient-elevated);border:1px solid #ffffff1a;border-radius:6px;flex-direction:column;gap:12px;width:min(420px,90vw);padding:16px;animation:.13s lud-select-in;display:flex;box-shadow:0 20px 60px #0009}.lud-modal-title{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);font-size:.62rem;font-weight:600}.lud-modal-input{box-sizing:border-box;background:var(--bg-primary);border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-mono);border-radius:4px;outline:none;padding:8px 10px;font-size:12.5px}.lud-modal-input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-dim)}.lud-modal-actions{justify-content:flex-end;gap:8px;display:flex}.lud-modal-btn{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:6px 14px;font-size:.78rem;transition:color .14s,border-color .14s,transform .14s}.lud-modal-btn:hover{color:var(--text-primary);border-color:#ffffff38}.lud-modal-btn--primary{color:#1a1206;background:var(--gradient-accent);border:none;font-weight:600}.lud-modal-btn--primary:hover{transform:translateY(-1px)}.gni-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.6rem;font-weight:600}.gni-label-hint{text-transform:none;letter-spacing:0;font-weight:400}.gni-select,.gni-input{color:#d0d5dd;box-sizing:border-box;background:#ffffff0a;border:1px solid #ffffff17;border-radius:4px;outline:none;width:100%;padding:4px 7px;font-size:.77rem;transition:border-color .15s}.gni-select:focus,.gni-input:focus{border-color:#5b7cfa80}.gni-select option{background:#1a1d2e}.gni-textarea{color:#d0d5dd;box-sizing:border-box;resize:vertical;background:#ffffff0a;border:1px solid #ffffff17;border-radius:4px;outline:none;width:100%;padding:5px 7px;font-family:inherit;font-size:.77rem;line-height:1.5;transition:border-color .15s}.gni-textarea:focus{border-color:#5b7cfa80}.gni-textarea--sm{min-height:44px}.gni-textarea--lg{min-height:110px}.gni-meta{color:#4b5563;border-top:1px solid #ffffff0f;justify-content:space-between;margin-top:4px;padding-top:4px;font-size:.67rem;display:flex}.gni-memory-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.gni-memory-item{border:1px solid #ffffff12;border-left:2px solid var(--accent-border);background:#ffffff0a;border-radius:4px;align-items:baseline;gap:6px;padding:4px 7px;display:flex}.gni-memory-kind{text-transform:uppercase;letter-spacing:.04em;font-size:.6rem;font-family:var(--font-mono);color:var(--accent);opacity:.85;flex-shrink:0}.gni-memory-kind--gotcha{color:var(--warning)}.gni-memory-kind--todo{color:var(--info)}.gni-memory-text{color:#cbd5e1;flex:1;font-size:.73rem;line-height:1.35}.gni-more-toggle{width:100%;color:var(--text-muted);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px solid #ffffff0f;align-items:center;gap:6px;margin-top:2px;padding:6px 2px;font-size:.6rem;font-weight:600;transition:color .15s;display:flex}.gni-more-toggle:hover{color:#9aa3b2}.graph-filter-bar{background:#00000040;border-bottom:1px solid #ffffff0f;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:5px 10px;display:flex}.graph-filter-search-wrap{flex:160px;align-items:center;min-width:160px;max-width:240px;display:flex;position:relative}.graph-filter-search-icon{color:#6b7280;pointer-events:none;position:absolute;left:8px}.graph-filter-input{color:#d0d5dd;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:5px;outline:none;width:100%;padding:4px 24px 4px 26px;font-size:.76rem;transition:border-color .15s}.graph-filter-input:focus{border-color:#5b7cfa80}.graph-filter-input::placeholder{color:#4b5563}.graph-filter-clear{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.7rem;line-height:1;position:absolute;right:6px}.graph-filter-clear:hover{color:var(--error)}.graph-filter-select{color:#9ca3af;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff17;border-radius:5px;outline:none;flex-shrink:0;padding:4px 6px;font-size:.74rem}.graph-filter-select:focus{border-color:#5b7cfa66}.graph-filter-chip-clear{color:var(--error);cursor:pointer;background:#ef44441a;border:1px solid #ef444440;border-radius:5px;padding:3px 8px;font-size:.72rem;transition:background .15s}.graph-filter-chip-clear:hover{background:#ef444433}.graph-templates-wrap{flex-shrink:0;position:relative}.graph-template-btn{color:#9ca3af;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:5px;align-items:center;gap:5px;padding:4px 9px;font-size:.74rem;transition:background .15s,color .15s;display:flex}.graph-template-btn:hover,.graph-template-btn--active{color:#5b7cfa;background:#5b7cfa1f;border-color:#5b7cfa4d}.graph-templates-popup{z-index:200;background:#1a1d2e;border:1px solid #ffffff1a;border-radius:6px;width:220px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000080}.graph-templates-header{text-transform:uppercase;letter-spacing:.08em;color:#4b5563;border-bottom:1px solid #ffffff0f;padding:7px 12px 6px;font-size:.68rem;font-weight:700}.graph-templates-divider{background:#ffffff0f;height:1px;margin:2px 0}.graph-template-item{text-align:left;color:#c9d1e0;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:7px 12px;font-size:.78rem;transition:background .12s;display:flex}.graph-template-item:hover{background:#ffffff0f}.graph-template-icon{flex-shrink:0;font-size:1rem}.graph-template-label{flex:1}.gni-files{flex-direction:column;gap:3px;display:flex}.gni-file-row{background:#ffffff0a;border:1px solid #ffffff12;border-radius:4px;align-items:center;gap:6px;padding:3px 7px;display:flex}.gni-file-name{color:var(--info);white-space:nowrap;text-overflow:ellipsis;font-size:.73rem;font-family:var(--font-mono);flex:1;overflow:hidden}.gni-file-remove{color:#6b7280;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.68rem;line-height:1}.gni-file-remove:hover{color:var(--error)}.gni-file-add-row{gap:4px;display:flex}.gni-file-add-row .gni-input{font-size:.73rem;font-family:var(--font-mono);flex:1}.gni-add-file-btn{color:#5b7cfa;cursor:pointer;background:#5b7cfa1f;border:1px solid #5b7cfa40;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:1rem;transition:background .15s;display:flex}.gni-add-file-btn:hover{background:#5b7cfa38}.settings-overlay{z-index:9000;background:#0000008c;justify-content:flex-end;align-items:flex-start;padding:2.5rem 1.25rem 0;display:flex;position:fixed;inset:0}.settings-modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;width:340px;max-height:calc(100vh - 4rem);overflow-y:auto;box-shadow:0 8px 32px #00000073}.settings-modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:.875rem 1rem .75rem;display:flex}.settings-modal-title{color:var(--text-primary);letter-spacing:.01em;font-size:.8125rem;font-weight:600}.settings-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.125rem .25rem;font-size:.875rem;line-height:1;transition:color .12s}.settings-modal-close:hover{color:var(--text-primary)}.settings-section{border-bottom:1px solid var(--border-subtle);padding:.875rem 1rem}.settings-section:last-child{border-bottom:none}.settings-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.625rem;font-size:.6875rem;font-weight:600}.settings-radio{cursor:pointer;border-radius:6px;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;transition:background .12s;display:flex}.settings-radio:hover{background:var(--bg-secondary)}.settings-radio input[type=radio]{accent-color:var(--accent);flex-shrink:0;margin-top:.15rem}.settings-radio-content{flex-direction:column;gap:.15rem;display:flex}.settings-radio-content strong{color:var(--text-primary);font-size:.8rem}.settings-radio-desc{color:var(--text-secondary);font-size:.72rem;line-height:1.4}.settings-plan-row{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.settings-plan-badge{letter-spacing:.04em;text-transform:uppercase;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.settings-plan-badge--pro,.settings-plan-badge--supporter{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.settings-plan-badge--basic{color:var(--amber);background:#f59e0b1f;border-color:#f59e0b4d}.settings-credit-block{margin-top:.25rem}.settings-credit-label{color:var(--text-secondary);justify-content:space-between;margin-bottom:.375rem;font-size:.72rem;display:flex}.settings-credit-limit{color:var(--text-muted)}.settings-credit-bar{background:var(--bg-secondary);border-radius:2px;height:4px;overflow:hidden}.settings-credit-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.settings-field{margin-bottom:.625rem}.settings-label{color:var(--text-secondary);margin-bottom:.3rem;font-size:.72rem;font-weight:500;display:block}.settings-input{background:var(--bg-secondary);border:1px solid var(--border);width:100%;color:var(--text-primary);font-size:.775rem;font-family:var(--font-mono);border-radius:6px;outline:none;padding:.4rem .6rem;transition:border-color .12s}.settings-input:focus{border-color:var(--accent)}.settings-input::placeholder{color:var(--text-muted)}.settings-toggle-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:5px;margin-top:.125rem;padding:.25rem .6rem;font-size:.72rem;transition:color .12s,border-color .12s}.settings-toggle-btn:hover{color:var(--text-primary);border-color:var(--accent-border)}.settings-radio-row{gap:1.25rem;display:flex}.settings-radio-inline{cursor:pointer;color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.8rem;display:flex}.settings-radio-inline input{accent-color:var(--accent)}.settings-hint{color:var(--text-muted);margin-top:.5rem;font-size:.7rem;line-height:1.5}.settings-hint code{background:var(--bg-secondary);font-family:var(--font-mono);border-radius:3px;padding:.1em .3em;font-size:.9em}.loop-guard-banner{background:#ffa0321a;border:1px solid #ffa03259;border-radius:7px;flex-shrink:0;align-items:flex-start;gap:.6rem;margin:.5rem .5rem 0;padding:.65rem .75rem;display:flex}.loop-guard-icon{color:#ffa032;flex-shrink:0;font-size:1rem;line-height:1.4}.loop-guard-body{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.loop-guard-summary{color:var(--text-secondary);margin:0;font-size:.78rem;line-height:1.45}.loop-guard-actions{flex-wrap:wrap;gap:.5rem;display:flex}.loop-guard-btn{cursor:pointer;border:1px solid #0000;border-radius:5px;padding:.28rem .7rem;font-size:.75rem;font-weight:500;transition:opacity .12s}.loop-guard-btn:hover{opacity:.8}.loop-guard-btn--continue{border-color:var(--border);color:var(--text-primary);background:#ffffff12}.loop-guard-btn--abort{color:#ff6060;background:#ff505026;border-color:#ff505066}.docs-editor-content .tiptap ul[data-type=taskList]{padding-left:.25rem;list-style:none}.docs-editor-content .tiptap ul[data-type=taskList] li{align-items:baseline;gap:.5rem;margin-bottom:.3rem;display:flex}.docs-editor-content .tiptap ul[data-type=taskList] li>label{flex-shrink:0;margin-top:.1rem}.docs-editor-content .tiptap ul[data-type=taskList] input[type=checkbox]{accent-color:#9898a8;cursor:pointer;width:14px;height:14px;margin:0}.docs-editor-content .tiptap ul[data-type=taskList] li[data-checked=true]>div{color:#888;text-decoration:line-through}.docs-editor-content .tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:1rem 0;overflow:hidden}.docs-editor-content .tiptap table th,.docs-editor-content .tiptap table td{vertical-align:top;border:1px solid #d0d0dd;min-width:60px;padding:.4rem .65rem;font-size:.9rem;position:relative}.docs-editor-content .tiptap table th{color:#333;text-align:left;background:#f0f0f8;font-weight:600}.docs-editor-content .tiptap table .selectedCell:after{content:"";pointer-events:none;background:#9898a814;position:absolute;inset:0}.docs-editor-content .tiptap table .column-resize-handle{cursor:col-resize;background:#b4b4c8;width:4px;position:absolute;top:0;bottom:0;right:-2px}.docs-editor-content .tiptap pre{background:#1e1e2e;border:1px solid #333348;border-radius:6px;margin:.75rem 0;padding:1rem 1.25rem;overflow-x:auto}.docs-editor-content .tiptap pre code{font-size:.875rem;font-family:var(--font-mono);color:#cdd6f4;background:0 0;border:none;padding:0}.docs-editor-content .tiptap pre .hljs-keyword{color:#cba6f7}.docs-editor-content .tiptap pre .hljs-string{color:#a6e3a1}.docs-editor-content .tiptap pre .hljs-number{color:#fab387}.docs-editor-content .tiptap pre .hljs-comment{color:#6c7086;font-style:italic}.docs-editor-content .tiptap pre .hljs-function{color:#89dceb}.docs-editor-content .tiptap pre .hljs-title{color:#89b4fa}.docs-editor-content .tiptap pre .hljs-type{color:#f38ba8}.docs-editor-content .tiptap pre .hljs-attr{color:#fab387}.docs-editor-content .tiptap pre .hljs-built_in{color:#89dceb}.docs-editor-content .tiptap pre .hljs-literal{color:#fab387}.docs-editor-content .tiptap pre .hljs-variable,.docs-editor-content .tiptap pre .hljs-punctuation{color:#cdd6f4}.docs-editor-content .tiptap pre .hljs-operator{color:#89dceb}.docs-editor-content .tiptap pre .hljs-params{color:#cba6f7}.docs-editor-content .tiptap pre .hljs-class{color:#f9e2af}.docs-editor-content .tiptap img.docs-image,.docs-editor-content .tiptap img{border-radius:6px;max-width:100%;margin:.5rem 0;display:block}.docs-editor-content .tiptap img.ProseMirror-selectednode{border-radius:6px;outline:2px solid #9898a8}.docs-editor-content .tiptap a{color:#5a4fcf;text-underline-offset:2px;cursor:pointer;text-decoration:underline}.docs-editor-content .tiptap a:hover{color:#9898a8}.docs-fmt-btn:disabled{opacity:.3;cursor:default}.docs-slash-menu{background:var(--gradient-elevated);border:1px solid #ffffff1f;border-radius:6px;flex-direction:column;gap:2px;min-width:260px;padding:6px;display:flex;box-shadow:0 8px 32px #00000080}.docs-slash-group-label{text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;pointer-events:none;-webkit-user-select:none;user-select:none;padding:6px 10px 3px;font-size:.65rem;font-weight:600}.docs-slash-item{width:100%;color:var(--text-secondary,#c0c0cc);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;transition:background .1s,color .1s;display:flex}.docs-slash-item--selected,.docs-slash-item:hover{color:#f5f5f7;background:#9898a81f}.docs-slash-item-icon{color:#b4b4c8;background:#ffffff0f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.docs-slash-item--selected .docs-slash-item-icon,.docs-slash-item:hover .docs-slash-item-icon{background:#9898a82e}.docs-slash-item-text{flex-direction:column;gap:1px;display:flex}.docs-slash-item-title{color:inherit;font-size:.8rem;font-weight:500;line-height:1.2}.docs-slash-item-subtitle{color:#ffffff59;font-size:.7rem;line-height:1.2}.docs-slash-item--selected .docs-slash-item-subtitle,.docs-slash-item:hover .docs-slash-item-subtitle{color:#ffffff8c}.docs-slash-working{color:#b4b4c8;align-items:center;gap:8px;padding:10px 12px;font-size:.8rem;display:flex}.docs-slash-working:before{content:"";border:2px solid #b4b4c84d;border-top-color:#b4b4c8;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite slash-spin}@keyframes slash-spin{to{transform:rotate(360deg)}}.docs-link-popover{background:var(--gradient-elevated);border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:6px;min-width:280px;padding:6px 8px;display:flex;box-shadow:0 8px 24px #0006}.docs-link-input{color:#f0f0f4;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:5px;outline:none;flex:1;padding:5px 8px;font-family:inherit;font-size:.78rem}.docs-link-input:focus{border-color:#9898a873}.docs-link-apply{color:#c4b5fd;cursor:pointer;white-space:nowrap;background:#9898a826;border:1px solid #9898a847;border-radius:5px;padding:4px 10px;font-size:.75rem;transition:background .1s}.docs-link-apply:hover{background:#9898a847}.docs-link-remove{color:var(--error);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ff50504d;border-radius:5px;padding:4px 8px;font-size:.75rem;transition:background .1s}.docs-link-remove:hover{background:#ff50501a}.mobile-bottom-nav{display:none}@media (width<=767px){.workspace-shell--mobile{height:100dvh}.workspace-shell--mobile .header-nav{display:none}.workspace-shell--mobile .workspace-header{padding:0 .75rem}.workspace-shell--mobile .workspace-main{flex:1;min-height:0;position:relative}.workspace-shell--mobile .workspace-sidebar--left{border-right:none;flex-direction:column;width:100%!important}.workspace-shell--mobile .workspace-main[data-mobile-panel=chat] .workspace-center{display:none}.workspace-shell--mobile .workspace-sidebar--right{display:none!important}.workspace-shell--mobile .output-log-bar{display:none}.workspace-shell--mobile button:not(.sketch-color-swatch):not(.sketch-tool-btn):not(.header-icon-btn):not(.sidebar-close),.workspace-shell--mobile [role=button]{min-height:36px}.workspace-shell--mobile .sketch-color-swatch{width:22px;height:22px;min-height:unset;flex-shrink:0}.workspace-shell--mobile .chat-input-area{padding-bottom:max(.5rem, env(safe-area-inset-bottom))}.workspace-shell--mobile .docs-toolbar{flex-wrap:nowrap;overflow-x:auto}.workspace-shell--mobile .graph-filter-input{width:100%}.mobile-bottom-nav{height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--border-subtle);z-index:200;background:linear-gradient(135deg,#0e0e0e 0%,#141414 50%,#0c0c0c 100%);flex-shrink:0;align-items:stretch;display:flex}.mobile-nav-btn{color:var(--text-muted);letter-spacing:.03em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0;font-size:.6rem;font-weight:500;transition:color .15s;display:flex}.mobile-nav-btn span{font-size:.6rem;line-height:1}.mobile-nav-btn--active{color:var(--accent)}.mobile-nav-btn:active{opacity:.7}.workspace-shell--mobile .header-icon-btn[title=Outliner],.workspace-shell--mobile .header-icon-btn[title=Inspector]{display:none}}@media (width>=768px) and (width<=1023px){.workspace-sidebar--left,.workspace-sidebar--right{width:220px!important}}.editable-viewport{background:#0a0a0f;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.editable-viewport-canvas{touch-action:none;flex:1;width:100%;height:100%;display:block}.editable-viewport--overlay{z-index:5;pointer-events:auto;background:0 0;position:absolute;inset:0}.editable-viewport--overlay .editable-viewport-canvas{background:0 0}.vp-corner{z-index:10;pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute}.vp-corner>*{pointer-events:auto}.vp-corner--tl{top:10px;left:12px}.vp-corner--tr{flex-direction:column;align-items:flex-end;gap:8px;top:10px;right:12px}.vp-gizmo{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);background:#0a0b0d8c;border-radius:50%;place-items:center;width:62px;height:62px;display:grid}.vp-gizmo svg{overflow:visible}.vp-gizmo-dot{cursor:pointer}.vp-gizmo-dot circle{transition:filter .12s}.vp-gizmo-dot:hover circle{filter:brightness(1.25)}.vp-corner--bl{bottom:10px;left:12px}.vp-scene{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);background:#0a0b0d99;border-radius:4px;padding:5px 9px;font-size:.6rem;font-weight:600}.vp-level{position:relative}.vp-level-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#0a0b0d99;border-radius:4px;align-items:center;gap:6px;padding:5px 9px;transition:background .12s,color .12s,border-color .12s;display:flex}.vp-level-btn:hover,.vp-level-btn--open{color:var(--text-primary);border-color:var(--accent-border)}.vp-level-name{font-family:var(--font-display);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.62rem;font-weight:600;overflow:hidden}.vp-level-menu{z-index:14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);background:#0c0d10f5;border-radius:8px;flex-direction:column;gap:1px;min-width:200px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 30px #00000080}.vp-level-item{border-radius:5px;align-items:center;display:flex}.vp-level-item:hover{background:#ffffff0d}.vp-level-item--active{background:var(--accent-dim)}.vp-view-menu{z-index:14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);background:#0c0d10f5;border-radius:8px;flex-direction:column;gap:1px;min-width:150px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #00000080}.vp-view-item{appearance:none;width:100%;color:var(--text-secondary);font-family:var(--font-display);letter-spacing:.08em;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:6px 10px;font-size:.62rem;font-weight:600;transition:background .12s,color .12s}.vp-view-item:hover{color:var(--text-primary);background:#ffffff0d}.vp-view-item--active{background:var(--accent-dim);color:var(--accent)}.vp-level-item-main{min-width:0;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:6px 8px;display:flex}.vp-level-item--active .vp-level-item-main{color:var(--text-primary)}.vp-level-item-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:6px;height:6px}.vp-level-item--active .vp-level-item-dot{background:var(--accent)}.vp-level-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.vp-level-item-count{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;font-size:10px}.vp-level-item-edit,.vp-level-item-del{width:22px;height:26px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;font-size:12px;transition:opacity .12s,color .12s}.vp-level-item:hover .vp-level-item-edit,.vp-level-item:hover .vp-level-item-del{opacity:.7}.vp-level-item-edit:hover{opacity:1;color:var(--accent)}.vp-level-item-del:hover,.vp-level-item-del--confirm{opacity:1;color:#ef4444}.vp-level-item-del--confirm:hover{color:#ff6b6b}.vp-level-item-input{border:1px solid var(--accent-border);background:var(--bg-primary);min-width:0;color:var(--text-primary);border-radius:5px;outline:none;flex:1;margin:3px 4px;padding:4px 8px;font-size:12px}.vp-level-add{border:1px dashed var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:5px;margin-top:3px;padding:7px 8px;font-size:11.5px;transition:background .12s,color .12s,border-color .12s}.vp-level-add:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.vp-tools{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);background:#0a0b0db8;border-radius:6px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0006}.vp-tool{width:30px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;place-items:center;transition:background .13s,color .13s;display:grid}.vp-tool svg{width:15px;height:15px}.vp-tool:hover{color:var(--text-primary);background:#ffffff0f}.vp-tool--active{background:var(--accent-dim);color:var(--accent)}.vp-tool--text{width:auto;font-family:var(--font-mono);letter-spacing:.03em;padding:0 9px;font-size:10px}.vp-tools-divider{background:var(--border);width:1px;height:16px;margin:0 3px}.vp-snap{align-items:center;gap:0;display:flex;position:relative}.vp-snap-caret{width:18px}.vp-snap-caret svg{width:11px;height:11px}.vp-snap-menu{z-index:12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);background:#0a0b0df0;border-radius:8px;flex-direction:column;gap:6px;min-width:168px;padding:9px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #00000080}.vp-snap-row{color:var(--text-secondary);grid-template-columns:1fr 64px 14px;align-items:center;gap:6px;font-size:11px;display:grid}.vp-snap-row input{border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-mono);background:#ffffff0d;border-radius:5px;outline:none;padding:3px 6px;font-size:11px}.vp-snap-row input:focus{border-color:var(--accent-border)}.vp-snap-unit{color:var(--text-muted);text-align:center;font-size:10px}.vp-snap-disable{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border-radius:5px;margin-top:2px;padding:5px 0;font-size:11px;transition:background .13s,color .13s}.vp-snap-disable:hover{color:var(--text-primary);background:#ffffff14}.vp-seg{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);background:#0a0b0db8;border-radius:5px;gap:1px;padding:2px;display:flex}.vp-seg-btn{font-family:var(--font-display);letter-spacing:.08em;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:4px 9px;font-size:9px;font-weight:600;transition:background .13s,color .13s}.vp-seg-btn:hover{color:var(--text-primary);background:#ffffff0f}.vp-seg-btn--active{background:var(--accent-dim);color:var(--accent)}.vp-stat{font-family:var(--font-mono);letter-spacing:.03em;color:var(--text-muted);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border-subtle);background:#0a0b0d80;border-radius:4px;padding:3px 8px;font-size:10px}.proj-switcher{position:relative}.proj-switcher-btn{height:26px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:.35rem;max-width:160px;padding:0 .5rem;font-size:.72rem;font-weight:500;transition:all .12s;display:flex}.proj-switcher-btn:hover,.proj-switcher-btn--open{background:var(--bg-elevated);border-color:var(--border);color:var(--text-primary)}.proj-switcher-name{text-overflow:ellipsis;white-space:nowrap;max-width:130px;transition:opacity .2s ease-out;overflow:hidden}.proj-switcher-chevron{opacity:.5;flex-shrink:0;transition:transform .15s}.proj-switcher-btn--open .proj-switcher-chevron{opacity:.8;transform:rotate(180deg)}.proj-menu{background:var(--bg-elevated);border:1px solid var(--border);z-index:500;border-radius:6px;min-width:210px;padding:.35rem 0;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #00000073}.proj-menu-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:.2rem .75rem .35rem;font-size:.65rem;font-weight:600}.proj-menu-item{align-items:center;gap:.25rem;padding:0 .35rem;display:flex}.proj-menu-item--active{background:var(--accent-dim)}.proj-menu-item-name{color:var(--text-primary);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex:1;align-items:center;gap:.4rem;padding:.35rem .4rem;font-size:.78rem;transition:background .1s;display:flex;overflow:hidden}.proj-menu-item-name:hover{background:#ffffff0f}.proj-menu-check{color:var(--accent);flex-shrink:0;font-size:.7rem}.proj-menu-delete{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;transition:all .1s;display:flex}.proj-menu-item:hover .proj-menu-delete{opacity:1}.proj-menu-delete:hover{background:var(--red-dim);border-color:var(--red);color:var(--red)}.proj-menu-delete--confirm{background:var(--red-dim);border-color:var(--red);color:var(--red);font-weight:700;opacity:1!important}.proj-menu-sep{background:var(--border-subtle);height:1px;margin:.35rem 0}.proj-menu-action{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;padding:.35rem .75rem;font-size:.75rem;transition:all .1s;display:block}.proj-menu-action:hover{color:var(--text-primary);background:#ffffff0d}.wizard-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wizard-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(680px,96vw);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0009}.wizard-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}.wizard-title{color:var(--text-primary);font-size:.95rem;font-weight:600}.wizard-close{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:.85rem;transition:all .1s;display:flex}.wizard-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.wizard-body{flex-direction:column;gap:1.1rem;padding:1.25rem;display:flex;overflow-y:auto}.wizard-field{flex-direction:column;gap:.4rem;display:flex}.wizard-label{color:var(--text-secondary);letter-spacing:.04em;font-size:.75rem;font-weight:600}.wizard-optional{color:var(--text-muted);font-weight:400}.wizard-input{background:var(--bg-tertiary);border:1px solid var(--border);height:36px;color:var(--text-primary);border-radius:6px;outline:none;padding:0 .75rem;font-size:.85rem;transition:border-color .12s}.wizard-input:focus{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-dim)}.wizard-input::placeholder{color:var(--text-muted)}.wizard-templates{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.wizard-template-card{background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.85rem;transition:all .12s;display:flex;position:relative}.wizard-template-card:hover:not(.wizard-template-card--disabled){background:var(--bg-elevated);border-color:var(--accent-border)}.wizard-template-card--active{box-shadow:0 0 0 1px var(--accent-border);background:var(--accent-dim)!important;border-color:var(--accent)!important}.wizard-template-card--disabled{opacity:.4;cursor:not-allowed}.wizard-template-icon{margin-bottom:.15rem;font-size:1.35rem;line-height:1}.wizard-template-name{color:var(--text-primary);font-size:.83rem;font-weight:600}.wizard-template-soon{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:3px;padding:.1rem .35rem;font-size:.6rem;font-weight:700;position:absolute;top:.5rem;right:.5rem}.wizard-template-tags{flex-wrap:wrap;gap:.3rem;display:flex}.wizard-template-tag{color:var(--text-muted);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:3px;padding:.05rem .35rem;font-size:.62rem}.wizard-template-desc{color:var(--text-secondary);margin:.2rem 0 0;font-size:.72rem;line-height:1.5}.wizard-actions{justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}.wizard-btn-cancel{border:1px solid var(--border);height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:0 1rem;font-size:.8rem;transition:all .12s}.wizard-btn-cancel:hover{background:var(--bg-elevated);color:var(--text-primary)}.wizard-btn-create{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;border-radius:6px;height:34px;padding:0 1.25rem;font-size:.8rem;font-weight:600;transition:all .12s}.wizard-btn-create:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.wizard-btn-create:disabled{opacity:.4;cursor:not-allowed}.user-menu-wrap{position:relative}.user-avatar-btn{border:1.5px solid var(--border);background:var(--accent-dim);width:26px;height:26px;color:var(--accent);letter-spacing:.02em;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;transition:border-color .15s,background .15s;display:flex}.user-avatar-btn:hover{border-color:var(--accent);background:var(--accent-dim)}.user-menu-dropdown{background:var(--bg-elevated);border:1px solid var(--border);z-index:9999;border-radius:6px;width:220px;padding:.5rem;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 32px #00000059}.user-menu-identity{align-items:center;gap:.6rem;padding:.5rem .4rem;display:flex}.user-menu-avatar-lg{background:var(--accent-dim);border:1.5px solid var(--accent-border);width:34px;height:34px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.user-menu-info{flex-direction:column;gap:1px;display:flex;overflow:hidden}.user-menu-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.user-menu-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.user-menu-plan-row{padding:0 .4rem .4rem}.user-menu-sep{background:var(--border-subtle);height:1px;margin:.25rem 0}.user-menu-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:.4rem .4rem .25rem;font-size:.65rem;font-weight:600}.user-menu-theme-row{gap:.25rem;padding:0 .25rem .5rem;display:flex}.user-menu-theme-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:.25rem;padding:.4rem 0;font-size:.65rem;transition:all .12s;display:flex}.user-menu-theme-btn:hover{color:var(--text-primary);border-color:var(--border);background:#ffffff0d}[data-theme=light] .user-menu-theme-btn:hover{background:#0000000a}.user-menu-theme-btn--active{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent)}.user-menu-signout{width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;margin-top:.25rem;padding:.5rem;font-size:.8rem;transition:background .12s,color .12s;display:flex}.user-menu-signout:hover{background:var(--red-dim);color:var(--red)}.viewport-pause-banner{z-index:100;pointer-events:none;letter-spacing:.02em;color:var(--text-primary);border:1px solid var(--accent-border);white-space:nowrap;background:#14141eeb;border-radius:999px;padding:.35rem .9rem;font-size:.74rem;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000073}.gen-progress-row{background:var(--accent-dim);border:1px solid var(--accent-border);color:var(--text-secondary);border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .6rem;font-size:.76rem;display:flex}.gen-spinner{border:2px solid #ff9a3d40;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:13px;height:13px;animation:.8s linear infinite boot-spin}.gen-progress-label{flex:1;min-width:0}.gen-cancel-btn{color:var(--text-secondary);border:1px solid var(--border,#ffffff26);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:.2rem .55rem;font-size:.7rem;font-weight:600;transition:color .12s,border-color .12s}.gen-cancel-btn:hover{color:var(--error);border-color:var(--error)}.viewport-boot-overlay{color:var(--text-secondary);letter-spacing:.04em;z-index:100;pointer-events:none;background:#0a0a14c7;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;font-size:.85rem;animation:.15s cmdk-fade;display:flex;position:absolute;inset:0}.viewport-boot-spinner{border:2.5px solid #ff9a3d33;border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite boot-spin}@keyframes boot-spin{to{transform:rotate(360deg)}}.viewport-ai-control{pointer-events:none;z-index:50;border-radius:4px;animation:1.8s ease-in-out infinite viewport-ai-pulse;position:absolute;inset:0}@keyframes viewport-ai-pulse{0%,to{box-shadow:inset 0 0 0 2px var(--accent), inset 0 0 16px -4px var(--accent)}50%{box-shadow:inset 0 0 0 2px var(--accent), inset 0 0 32px 0 var(--accent)}}.viewport-ai-control-label{color:#fff;background:var(--accent,#e8843c);white-space:nowrap;border-radius:999px;align-items:center;gap:.32rem;padding:.24rem .72rem;font-size:.72rem;font-weight:600;display:inline-flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 3px 12px #00000073}.viewport-profiler-toggle{z-index:101;width:26px;height:26px;color:var(--text-muted);border:1px solid var(--border-subtle);cursor:pointer;background:#14141ed1;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:color .12s,border-color .12s,background .12s;display:inline-flex;position:absolute;top:10px;right:10px}.viewport-profiler-toggle:hover{color:var(--text-secondary);border-color:var(--accent-border)}.viewport-profiler-toggle--on{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.viewport-profiler{z-index:100;pointer-events:none;width:168px;color:var(--text-primary);border:1px solid var(--border-subtle);font-family:var(--font-mono,monospace);border-left:2px solid var(--green);background:#12131aed;border-radius:9px;padding:.5rem .6rem .55rem;animation:.14s cmdk-fade;position:absolute;top:44px;right:10px;box-shadow:0 8px 22px #00000080}.viewport-profiler--warn{border-left-color:var(--warning)}.viewport-profiler--bad{border-left-color:var(--red,#ff5a52)}.vp-prof-header{align-items:baseline;gap:.3rem;margin-bottom:.4rem;display:flex}.vp-prof-fps{color:var(--text-primary);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700;line-height:1}.vp-prof-fps-unit{letter-spacing:.08em;color:var(--text-muted);font-size:.62rem;font-weight:600}.vp-prof-ms{font-variant-numeric:tabular-nums;color:var(--text-secondary);margin-left:auto;font-size:.72rem}.vp-prof-graph{background:#00000052;border-radius:4px;width:100%;height:34px;margin-bottom:.45rem;display:block}.vp-prof-rows{flex-direction:column;gap:.18rem;display:flex}.vp-prof-row{justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.vp-prof-label{color:var(--text-muted);letter-spacing:.01em}.vp-prof-val{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.vp-prof--ok{color:var(--green)}.vp-prof--warn{color:var(--warning)}.vp-prof--bad{color:var(--red,#ff5a52)}.center-panel--assets,.center-panel--ui{flex-direction:column;min-height:0;overflow:hidden}.assets-panel{background:var(--border-subtle);flex:1;gap:1px;min-height:0;display:flex}.assets-main{background:var(--bg-secondary);flex-direction:column;flex:1;min-width:0;display:flex}.assets-toolbar{border-bottom:1px solid var(--border-subtle);background:var(--gradient-header);align-items:center;gap:.6rem;padding:.55rem .8rem;display:flex}.assets-filters{flex:1;gap:.3rem;display:flex}.assets-filter{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.35rem;padding:.28rem .6rem;font-family:inherit;font-size:.78rem;display:inline-flex}.assets-filter:hover{color:var(--text-primary);background:var(--bg-tertiary)}.assets-filter--active{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.assets-filter-count{background:var(--bg-elevated);color:var(--text-muted);border-radius:99px;padding:0 .32rem;font-size:.66rem}.assets-import-btn{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:.32rem .8rem;font-family:inherit;font-size:.78rem}.assets-import-btn:hover{border-color:var(--accent-border);color:var(--accent)}.assets-grid-wrap{flex:1;padding:.8rem;transition:background .12s;overflow-y:auto}.assets-grid-wrap--dragover{background:var(--accent-dim);outline:2px dashed var(--accent-border);outline-offset:-8px}.assets-empty{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.3rem;display:flex}.assets-empty-hint{font-size:.78rem}.assets-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:.7rem;display:grid}.asset-card{cursor:pointer;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;gap:.4rem;padding:.4rem;font-family:inherit;transition:border-color .12s,transform 80ms;display:flex}.asset-card:hover{border-color:var(--border);transform:translateY(-1px)}.asset-card--selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-border)}.asset-thumb{aspect-ratio:1;background:repeating-conic-gradient(#1a1d23 0% 25%,#15171c 0% 50%) 50%/16px 16px;border-radius:5px;justify-content:center;align-items:center;display:flex;overflow:hidden}.asset-thumb img{object-fit:contain;image-rendering:auto;width:100%;height:100%}.asset-icon{color:var(--accent);font-size:2rem}.asset-icon--lg{font-size:3.5rem}.asset-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.assets-side{background:var(--bg-secondary);flex-direction:column;flex-shrink:0;width:270px;display:flex;overflow-y:auto}.assets-side-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .6rem;font-size:.72rem}.assets-gen,.assets-inspector{border-bottom:1px solid var(--border-subtle);padding:.9rem}.assets-gen-kinds{gap:.3rem;margin-bottom:.5rem;display:flex}.assets-gen-kind{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border-radius:6px;flex:1;padding:.3rem;font-family:inherit;font-size:.74rem}.assets-gen-kind--active{border-color:var(--accent-border);color:var(--accent);background:var(--accent-dim)}.assets-gen-prompt{box-sizing:border-box;resize:vertical;border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:6px;padding:.5rem;font-family:inherit;font-size:.8rem}.assets-gen-btn{background:var(--gradient-accent);color:#1a140c;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:.5rem;padding:.45rem;font-family:inherit;font-size:.8rem;font-weight:700}.assets-gen-btn:hover:not(:disabled){background:var(--gradient-accent-hover)}.assets-gen-btn:disabled{opacity:.5;cursor:default}.assets-gen-note{color:var(--text-muted);margin:.55rem 0 0;font-size:.72rem;line-height:1.4}.assets-gen-error{color:var(--error);margin:.5rem 0 0;font-size:.74rem}.assets-inspector-empty,.assets-inspector-hint{color:var(--text-muted);font-size:.76rem}.assets-inspector-preview{aspect-ratio:16/10;background:var(--bg-primary);border-radius:6px;justify-content:center;align-items:center;margin-bottom:.5rem;display:flex;overflow:hidden}.assets-inspector-preview img{object-fit:contain;max-width:100%;max-height:100%}.assets-inspector-preview audio{width:100%}.assets-inspector-path{font-size:.7rem;font-family:var(--font-mono,monospace);color:var(--text-secondary);word-break:break-all;margin-bottom:.5rem}.assets-inspector-actions{gap:.4rem;margin-bottom:.5rem;display:flex}.assets-inspector-actions button{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;border-radius:6px;flex:1;padding:.35rem;font-family:inherit;font-size:.74rem}.assets-inspector-actions button:hover{border-color:var(--accent-border)}.assets-inspector-delete{color:var(--error)!important}.assets-inspector-hint code{background:var(--bg-elevated);border-radius:3px;padding:0 .25rem}.center-panel--sound{flex-direction:column;min-height:0;overflow:hidden}.sound-panel{background:var(--border-subtle);flex:1;gap:1px;min-height:0;display:flex}.sound-library{background:var(--bg-secondary);flex-direction:column;flex-shrink:0;width:210px;display:flex}.sound-library-head{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.4rem;padding:.6rem .7rem;display:flex}.sound-library-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);flex:1;font-size:.72rem}.sound-import-btn{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:.3rem .55rem;font-family:inherit;font-size:.72rem}.sound-import-btn:hover{border-color:var(--accent-border)}.sound-list{flex-direction:column;flex:1;gap:2px;padding:.4rem;display:flex;overflow-y:auto}.sound-list-empty{color:var(--text-muted);padding:.6rem;font-size:.74rem;line-height:1.4}.sound-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.45rem;width:100%;padding:.45rem .55rem;font-family:inherit;font-size:.78rem;display:flex}.sound-item:hover{background:var(--bg-tertiary)}.sound-item--active{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent)}.sound-item-icon{flex-shrink:0}.sound-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sound-editor{background:var(--bg-secondary);flex-direction:column;flex:1;gap:.7rem;min-width:0;padding:.9rem;display:flex}.sound-editor-empty{text-align:center;max-width:380px;color:var(--text-muted);margin:auto}.sound-editor-empty-hint{margin-top:.5rem;font-size:.78rem;line-height:1.5}.sound-editor-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.sound-editor-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.sound-dirty{color:var(--accent)}.sound-editor-meta{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono,monospace)}.sound-wave-wrap{border:1px solid var(--border-subtle);border-radius:8px;flex:1;min-height:160px;position:relative;overflow:hidden}.sound-wave{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.sound-wave-overlay{color:var(--text-muted);background:#00000040;justify-content:center;align-items:center;font-size:.8rem;display:flex;position:absolute;inset:0}.sound-wave-overlay--err{color:var(--error)}.sound-transport{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.sound-play-btn{background:var(--gradient-accent);color:#1a140c;cursor:pointer;border:none;border-radius:6px;padding:.4rem .9rem;font-family:inherit;font-size:.8rem;font-weight:700}.sound-play-btn:hover:not(:disabled){background:var(--gradient-accent-hover)}.sound-play-btn:disabled{opacity:.5;cursor:default}.sound-time{color:var(--text-secondary);font-size:.74rem;font-family:var(--font-mono,monospace)}.sound-sel-info{color:var(--accent);font-size:.72rem}.sound-status{color:var(--green);margin-left:auto;font-size:.72rem}.sound-side{background:var(--bg-secondary);flex-direction:column;flex-shrink:0;width:250px;display:flex;overflow-y:auto}.sound-side-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .6rem;font-size:.72rem}.sound-tools,.sound-gen{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:.4rem;padding:.9rem;display:flex}.sound-tool-btn{border:1px solid var(--border);background:var(--bg-tertiary);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;border-radius:6px;padding:.42rem;font-family:inherit;font-size:.78rem}.sound-tool-btn:hover:not(:disabled){border-color:var(--accent-border)}.sound-tool-btn:disabled{opacity:.45;cursor:default}.sound-tool-btn--apply{text-align:center;color:var(--accent)}.sound-slider-row{color:var(--text-secondary);flex-direction:column;gap:.25rem;margin-top:.3rem;font-size:.72rem;display:flex}.sound-slider-row input[type=range]{width:100%;accent-color:var(--accent)}.sound-save-row{gap:.4rem;margin-top:.5rem;display:flex}.sound-save-btn{background:var(--gradient-accent);color:#1a140c;cursor:pointer;border:none;border-radius:6px;flex:1;padding:.45rem;font-family:inherit;font-size:.76rem;font-weight:700}.sound-save-btn:hover:not(:disabled){background:var(--gradient-accent-hover)}.sound-save-btn--alt{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);font-weight:600}.sound-save-btn--alt:hover:not(:disabled){border-color:var(--accent-border);background:var(--bg-tertiary)}.sound-save-btn:disabled{opacity:.45;cursor:default}.sound-delete-btn{border:1px solid var(--border);width:100%;color:var(--error);cursor:pointer;background:0 0;border-radius:6px;margin-top:.5rem;padding:.42rem;font-family:inherit;font-size:.76rem}.sound-delete-btn:hover{border-color:var(--error)}.sound-gen-prompt{box-sizing:border-box;resize:vertical;border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:6px;padding:.5rem;font-family:inherit;font-size:.8rem}.sound-gen-btn{background:var(--gradient-accent);color:#1a140c;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:.5rem;padding:.45rem;font-family:inherit;font-size:.8rem;font-weight:700}.sound-gen-btn:hover:not(:disabled){background:var(--gradient-accent-hover)}.sound-gen-btn:disabled{opacity:.5;cursor:default}.sound-gen-note{color:var(--text-muted);margin:.55rem 0 0;font-size:.72rem;line-height:1.4}.sound-gen-error{color:var(--error);margin:.5rem 0 0;font-size:.74rem}.ui-editor{background:var(--border-subtle);flex:1;gap:1px;min-height:0;display:flex}.ui-editor-stage-wrap{background:var(--bg-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.7rem;min-width:0;padding:1.2rem;display:flex}.ui-editor-hint{color:var(--text-muted);font-size:.74rem}.ui-editor-stage{border:1px solid var(--border);background-color:#0000;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:11.11% 11.11%;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:6px;width:100%;max-width:980px;max-height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 60px #00000080}.ui-editor-empty{color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:2rem;font-size:.82rem;display:flex;position:absolute;inset:0}.ui-el{cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;text-shadow:0 1px 2px #000c;border:1px solid #0000;border-radius:4px;padding:.1rem .4rem;font-weight:600;line-height:1.2;position:absolute}.ui-el:hover{border-color:var(--accent-border);background:#ff9a3d14}.ui-el--selected{border-color:var(--accent);cursor:grabbing;background:#ff9a3d1f}.ui-el--hidden{opacity:.35}.ui-el-chip{color:var(--accent);background:var(--bg-elevated);border-radius:3px;padding:.1rem .35rem;font-size:.7rem}.ui-el--sprite{box-sizing:border-box;white-space:normal;outline:1px dashed #ffffff2e;justify-content:center;align-items:center;padding:0;display:flex}.ui-editor-inspector{background:var(--bg-secondary);flex-shrink:0;width:260px;padding:.9rem;overflow-y:auto}.ui-insp-name{color:var(--text-primary);margin-bottom:.7rem;font-weight:600}.ui-insp-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:.7rem 0 .35rem;font-size:.7rem;display:block}.ui-anchor-grid{aspect-ratio:1;grid-template-columns:repeat(3,1fr);gap:3px;width:84px;display:grid}.ui-anchor-cell{border:1px solid var(--border);background:var(--bg-tertiary);cursor:pointer;border-radius:3px;padding:0}.ui-anchor-cell:hover{border-color:var(--accent-border)}.ui-anchor-cell--active{background:var(--accent);border-color:var(--accent)}.ui-insp-row{gap:.5rem;margin-top:.5rem;display:flex}.ui-insp-row label{color:var(--text-secondary);flex-direction:column;flex:1;gap:.2rem;font-size:.72rem;display:flex}.ui-insp-row input[type=number],.ui-insp-text{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box;border-radius:5px;width:100%;padding:.3rem;font-family:inherit;font-size:.8rem}.ui-insp-check{align-items:center;flex-direction:row!important;gap:.35rem!important}.ui-insp-check input{accent-color:var(--accent)}.ui-insp-text{box-sizing:border-box;width:100%;margin-top:.35rem}.ui-insp-color{align-items:flex-start}.ui-insp-color input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:5px;width:100%;height:28px;padding:0}.ui-editor-main{background:var(--bg-secondary);flex-direction:column;flex:1;min-width:0;display:flex}.ui-code-hud{border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.ui-code-hud-head{flex-direction:column;gap:2px;display:flex}.ui-code-hud-title{font:600 12px var(--font-ui,system-ui);color:var(--text-primary);letter-spacing:.02em}.ui-code-hud-sub{font:400 11px var(--font-ui,system-ui);color:var(--text-tertiary)}.ui-code-hud-preview{border:1px solid var(--border-subtle);background:#0a0a14;border-radius:6px;width:100%;height:140px}.ui-code-hud-src{font:400 11px var(--font-mono,monospace);color:var(--text-secondary)}.ui-code-hud-src summary{cursor:pointer;color:var(--text-tertiary);padding:2px 0}.ui-code-hud-code{background:var(--bg-primary);white-space:pre-wrap;word-break:break-word;border-radius:4px;max-height:120px;margin:4px 0 0;padding:6px 8px;overflow:auto}.ui-screens{border-bottom:1px solid var(--border-subtle);background:var(--gradient-header);gap:.5rem;padding:.6rem .8rem;display:flex;overflow-x:auto}.ui-screen-card{cursor:pointer;background:var(--bg-tertiary);border:1px solid var(--border-subtle);min-width:116px;color:var(--text-secondary);text-align:left;border-radius:8px;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:.15rem;padding:.45rem .6rem;font-family:inherit;transition:border-color .12s,transform 80ms;display:flex;position:relative}.ui-screen-card:hover{border-color:var(--border);transform:translateY(-1px)}.ui-screen-card--active{border-color:var(--accent);background:var(--accent-dim);color:var(--text-primary);box-shadow:0 0 0 1px var(--accent-border)}.ui-screen-name{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:.82rem;font-weight:600;overflow:hidden}.ui-screen-count{color:var(--text-muted);font-size:.68rem}.ui-screen-solo{color:var(--text-muted);opacity:0;font-size:.72rem;transition:opacity .12s,color .12s;position:absolute;top:.35rem;right:.4rem}.ui-screen-card:hover .ui-screen-solo{opacity:1}.ui-screen-solo:hover{color:var(--accent)}.chat-context-bar{flex-wrap:wrap;align-items:center;gap:.35rem;padding:.35rem .1rem .1rem;display:flex}.chat-context-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-right:.15rem;font-size:.64rem}.chat-context-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;margin-left:auto;padding:.1rem .4rem;font-family:inherit;font-size:.64rem;transition:color .12s,background .12s}.chat-context-clear:hover{color:var(--text-primary,#fff);background:#ffffff12}.chat-context-chip{background:var(--bg-tertiary);border:1px solid var(--accent-border);max-width:200px;color:var(--text-primary);border-radius:999px;align-items:center;gap:.3rem;padding:.16rem .3rem .16rem .34rem;font-size:.72rem;display:inline-flex}.chat-context-chip--node{border-color:var(--accent-border)}.chat-context-chip--asset{border-color:#38bdf866}.chat-context-chip--actor{border-color:#34c97b66}.chat-context-chip--static{background:#ffffff0a}.chat-context-icon{align-items:center;line-height:1;display:inline-flex}.chat-context-thumb{object-fit:cover;border-radius:3px;width:15px;height:15px}.chat-context-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-context-remove{cursor:pointer;width:14px;height:14px;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.7rem;display:inline-flex}.chat-context-remove:hover{background:var(--red-dim);color:var(--error)}.chat-message-context{flex-wrap:wrap;gap:.3rem;margin:.3rem 0;display:flex}.assets-import-btn,.sound-import-btn,.sound-play-btn,.sound-tool-btn,.assets-gen-note,.sound-gen-note,.gni-edge-badge,.gni-label{align-items:center;gap:6px;display:inline-flex}.assets-gen-note,.sound-gen-note{align-items:flex-start}.assets-gen-note svg,.sound-gen-note svg{flex-shrink:0;margin-top:1px}.gni-edge-badge{gap:3px}.docs-mode-btn{align-items:center;gap:5px;display:inline-flex}.lud-select-check{color:var(--accent);align-items:center;display:inline-flex}.system-group-icon,.ref-node-arrow,.asset-icon,.sound-item-icon{align-items:center;display:inline-flex}.hub{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.hub:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(800px 480px at 82% -10%,#ff7a1a1f,#0000 60%);position:fixed;inset:0}.hub>*{z-index:1;position:relative}.hub-top{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.hub-brand{font-family:var(--font-display);letter-spacing:.08em;color:var(--text-primary);align-items:center;gap:11px;font-size:14px;font-weight:700;display:flex}.hub-logo{width:auto;height:27px;display:block}.hub-user{align-items:center;gap:9px;display:flex;position:relative}.hub-user-btn{cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:9px;padding:4px 8px 4px 5px;transition:background .12s;display:flex}.hub-user-btn:hover{background:var(--bg-elevated)}.hub-user-avatar{color:#1a0d02;background:var(--gradient-accent);width:28px;height:28px;font-size:12px;font-weight:800;font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 2px 8px #ff7a1a47}.hub-user-name{color:var(--text-secondary);font-size:13.5px}.hub-user-menu{z-index:50;background:var(--bg-elevated,#23272f);border:1px solid var(--border,#2b2f38);border-radius:12px;min-width:232px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 44px #00000080,inset 0 0 0 1px #ff9a3d14}.hub-user-menu-head{align-items:center;gap:10px;padding:8px 10px 10px;display:flex}.hub-user-menu-avatar{color:#1a0d02;background:var(--gradient-accent);width:34px;height:34px;font-size:14px;font-weight:800;font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid}.hub-user-menu-id{min-width:0}.hub-user-menu-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.hub-user-menu-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.hub-user-menu-plan{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 10px 4px;font-size:11px}.hub-user-menu-sep{background:var(--border);height:1px;margin:6px 4px}.hub-user-menu-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:9px 10px;font-size:13px;font-weight:500;display:flex}.hub-user-menu-item:hover{background:var(--bg-secondary);color:var(--red,#ff6b6b)}.hub-body{width:100%;max-width:1180px;margin:0 auto;padding:40px 28px 80px}.hub-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.hub-head h1{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;font-size:26px}.hub-head p{color:var(--text-secondary);margin-top:6px;font-size:15px}.hub-actions{align-items:center;gap:10px;display:flex}.hub-search{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-muted);border-radius:9px;align-items:center;gap:8px;padding:8px 12px;display:flex}.hub-search input{color:var(--text-primary);background:0 0;border:none;outline:none;width:180px;font-size:14px}.hub-new{background:var(--gradient-accent);color:#1a0d02;font-family:var(--font-body);cursor:pointer;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #ff7a1a40}.hub-new:hover{filter:brightness(1.06)}.hub-new:disabled{opacity:.6;cursor:default}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;display:grid}.hub-card{border:1px solid var(--border);background:var(--bg-secondary);cursor:pointer;border-radius:13px;transition:border-color .15s,transform .15s;position:relative;overflow:hidden}.hub-card:hover{border-color:var(--accent-border);transform:translateY(-3px);box-shadow:0 14px 34px #0006}.hub-thumb{height:140px;position:relative;overflow:hidden}.hub-thumb:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0d,inset 0 -40px 40px -30px #08090bb3}.hub-thumb-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hub-card--new{border:1px dashed var(--border);min-height:198px;color:var(--text-muted);cursor:pointer;font-family:var(--font-body);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:13px;font-size:14px;transition:border-color .15s,color .15s,transform .15s,background .15s;display:flex}.hub-card--new:hover{border-color:var(--accent-border);color:var(--text-primary);background:color-mix(in srgb, var(--accent,#ff7a1a) 5%, transparent);transform:translateY(-3px)}.hub-card-new-plus{background:var(--bg-secondary);border:1px solid var(--border);width:48px;height:48px;color:var(--text-secondary);border-radius:13px;place-items:center;transition:border-color .15s,color .15s;display:grid}.hub-card--new:hover .hub-card-new-plus{border-color:var(--accent-border);color:var(--accent,#ff7a1a)}.hub-card-new-label{font-weight:600}.hub-shared{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-border);background:#0a0b0db3;border-radius:5px;padding:3px 7px;font-size:8.5px;position:absolute;top:10px;left:10px}.avatar-stack{z-index:3;flex-direction:row;display:flex;position:absolute;bottom:9px;right:9px}.avatar-dot{width:25px;height:25px;font-family:var(--font-display,system-ui);color:#0b0c0e;border:2px solid var(--bg-secondary,#14161b);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:-8px;font-size:11px;font-weight:700;display:flex;overflow:hidden;box-shadow:0 1px 5px #00000080}.avatar-dot:first-child{margin-left:0}.avatar-dot--more{background:var(--bg-elevated,#23272f);color:var(--text-secondary,#aeb6c2);opacity:.5;font-size:10px;font-weight:600}.avatar-img{object-fit:cover;width:100%;height:100%}.update-banner{z-index:9999;background:var(--bg-elevated,#23272f);color:var(--text-primary,#e6e8ec);border:1px solid var(--accent-border,#ff9a3d66);font-family:var(--font-body,system-ui);border-radius:10px;align-items:center;gap:10px;padding:9px 10px 9px 14px;font-size:13px;font-weight:500;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 32px #00000080,inset 0 0 0 1px #ff9a3d1a}.update-banner-text{white-space:nowrap}.update-banner-reload{background:var(--gradient-accent,#ff9a3d);color:#1a1208;font-family:var(--font-display,system-ui);cursor:pointer;border:none;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:600}.update-banner-reload:hover{filter:brightness(1.06)}.update-banner-dismiss{color:var(--text-tertiary,#8a92a0);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:17px;line-height:1}.update-banner-dismiss:hover{color:var(--text-primary,#e6e8ec)}.hub-card-body{padding:13px 14px}.hub-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.hub-card-meta{color:var(--text-muted);gap:6px;margin-top:4px;font-size:12.5px;display:flex}.hub-card-tools{opacity:0;gap:5px;transition:opacity .15s;display:flex;position:absolute;top:10px;right:10px}.hub-card:hover .hub-card-tools{opacity:1}.hub-card-tools button{border:1px solid var(--border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:#0a0b0db8;border-radius:7px;place-items:center;display:grid}.hub-card-tools button:hover{color:var(--text-primary);border-color:var(--accent-border)}.hub-card-tools button.hub-tool--on{color:var(--accent,#ff7a1a);border-color:var(--accent-border)}.hub-autolaunch-badge{font-family:var(--font-display);letter-spacing:.1em;color:var(--accent);border:1px solid var(--accent-border);z-index:1;background:#0a0b0db8;border-radius:5px;align-items:center;gap:4px;padding:3px 7px;font-size:8.5px;display:inline-flex;position:absolute;bottom:10px;left:10px}.hub-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:16px;padding:80px 0;display:flex}.hub-modal-bg{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.hub-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;width:440px;max-width:calc(100vw - 32px);padding:22px;box-shadow:0 24px 70px #0009}.hub-modal-head{justify-content:space-between;align-items:center;display:flex}.hub-modal-head h3{font-family:var(--font-display);color:var(--text-primary);font-size:17px}.hub-modal-head button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:16px}.hub-modal-sub{color:var(--text-secondary);margin:8px 0 16px;font-size:14px}.hub-share-row{gap:10px;display:flex}.hub-share-row select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;flex:1;padding:9px 12px;font-size:14px}.hub-link{gap:8px;margin-top:14px;display:flex}.hub-link input{background:var(--bg-primary);border:1px solid var(--accent-border);min-width:0;color:var(--text-primary);font-family:var(--font-mono);border-radius:8px;flex:1;padding:9px 12px;font-size:12.5px}.hub-link button{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:0 16px;font-weight:600}.hub-share-row{align-items:center}.hub-link-prefix{color:var(--text-secondary);white-space:nowrap;font-size:13.5px}.hub-team-assign{margin-top:14px}.hub-teams-row{flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 20px;display:flex}.hub-team-chip{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:13px;font-weight:500;transition:color .12s,background .12s;display:inline-flex}.hub-team-chip:hover{color:var(--text-primary)}.hub-team-chip--active{background:var(--accent,#ff9a3d);border-color:var(--accent,#ff9a3d);color:#14161b;font-weight:600}.hub-team-chip--active .hub-team-dot{box-shadow:0 0 0 2px #00000026}.hub-team-chip--new{color:var(--text-muted);border-style:dashed}.hub-team-chip--new:hover{color:var(--accent,#ff9a3d);border-color:var(--accent,#ff9a3d)}.hub-team-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.hub-team-gear{opacity:.85;margin-left:1px;font-size:12px}.hub-team-gear:hover{opacity:1}.hub-members-list{border-top:1px solid var(--border-subtle);margin-top:18px;padding-top:14px}.hub-members-title{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:9px}.hub-member{justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:14px;display:flex}.hub-member-id{flex-direction:column;gap:1px;min-width:0;display:flex}.hub-member-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hub-member-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.hub-member-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.hub-member-role{color:var(--text-muted);text-transform:capitalize;font-size:12.5px}.hub-member-remove{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:4px 9px;font-size:12px;line-height:1}.hub-member-remove:hover{color:var(--red,#e5484d);border-color:var(--red,#e5484d)}.invite-toast{z-index:4000;border-radius:10px;align-items:center;gap:12px;max-width:min(90vw,460px);padding:11px 14px;font-size:13.5px;font-weight:500;animation:.22s invite-toast-in;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0006}.invite-toast--ok{color:#d6ffe9;background:#173a2a;border:1px solid #22d38c66}.invite-toast--error{color:#ffd9da;background:#3a1a1c;border:1px solid #e5484d73}.invite-toast-x{color:inherit;opacity:.65;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.invite-toast-x:hover{opacity:1}@keyframes invite-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.presence-bar{align-items:center;margin-right:6px;display:inline-flex}.presence-avatar{color:#fff;border:2px solid var(--bg-secondary);width:24px;height:24px;box-shadow:0 0 0 1px var(--border);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.presence-more{color:var(--text-muted);font-size:11px;font-family:var(--font-mono);margin-left:4px}.hub-top-right{align-items:center;gap:14px;display:flex}.hub-bell{position:relative}.hub-bell-btn{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:grid;position:relative}.hub-bell-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border)}.hub-bell-dot{background:var(--accent,#ff9a3d);color:#14161b;min-width:15px;height:15px;font-size:9px;font-weight:800;font-family:var(--font-mono);border-radius:8px;place-items:center;padding:0 3px;display:grid;position:absolute;top:2px;right:2px}.hub-bell-menu{background:var(--bg-secondary);border:1px solid var(--border);z-index:60;border-radius:12px;width:320px;max-height:420px;padding:6px;position:absolute;top:42px;right:0;overflow-y:auto;box-shadow:0 16px 48px #00000080}.hub-bell-head{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:11px;font-family:var(--font-mono);padding:8px 10px 6px}.hub-bell-empty{color:var(--text-muted);text-align:center;padding:18px 12px;font-size:13px}.hub-bell-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:9px 10px;display:flex}.hub-bell-item:hover{background:var(--bg-tertiary)}.hub-bell-item--unread{background:color-mix(in srgb, var(--accent,#ff9a3d) 9%, transparent)}.hub-bell-text{color:var(--text-primary);font-size:13px;line-height:1.35}.hub-bell-time{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.version-modal{width:460px;max-width:92vw}.version-save-row{gap:8px;padding:4px 2px 12px;display:flex}.version-label-input{background:var(--bg-tertiary);border:1px solid var(--border);height:34px;color:var(--text-primary);border-radius:8px;flex:1;padding:0 10px;font-size:13px}.version-label-input:focus{border-color:var(--accent,#ff9a3d);outline:none}.version-save-btn{background:var(--accent,#ff9a3d);color:#14161b;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;height:34px;padding:0 14px;font-size:13px;font-weight:700}.version-save-btn:disabled{opacity:.5;cursor:default}.version-error{color:#ff6b6b;padding:0 2px 8px;font-size:12px}.version-list{flex-direction:column;gap:2px;max-height:50vh;display:flex;overflow-y:auto}.version-empty{color:var(--text-muted);text-align:center;padding:22px 6px;font-size:13px}.version-item{border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.version-item:hover{background:var(--bg-tertiary)}.version-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.version-item-name{color:var(--text-muted);font-size:13px}.version-item-name--labeled{color:var(--text-primary);font-weight:600}.version-item-meta{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.version-restore-btn{background:var(--bg-elevated,#20242c);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:7px;padding:5px 12px;font-size:12px}.version-restore-btn:hover:not(:disabled){border-color:var(--accent,#ff9a3d);color:var(--accent,#ff9a3d)}.version-restore-btn:disabled{opacity:.5;cursor:default}.comments-modal{flex-direction:column;width:460px;max-width:92vw;display:flex}.comments-list{flex-direction:column;gap:4px;max-height:52vh;padding:4px 2px;display:flex;overflow-y:auto}.comment-item{border-radius:8px;align-items:flex-start;gap:9px;padding:9px 8px;display:flex}.comment-item:hover{background:var(--bg-tertiary)}.comment-item:hover .comment-act{opacity:1}.comment-item--resolved{opacity:.55}.comment-avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:grid}.comment-main{flex:1;min-width:0}.comment-head{align-items:baseline;gap:8px;display:flex}.comment-author{color:var(--text-primary);font-size:13px;font-weight:600}.comment-time{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.comment-resolved-tag{color:#22d38c;text-transform:uppercase;letter-spacing:.04em;border:1px solid #22d38c66;border-radius:5px;padding:0 5px;font-size:10px}.comment-body{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-top:2px;font-size:13px}.comment-mention{color:var(--accent,#ff9a3d);font-weight:600}.comment-actions{flex-shrink:0;gap:2px;display:flex}.comment-act{opacity:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px 5px;font-size:13px;transition:opacity .12s}.comment-act:hover{background:var(--bg-elevated,#20242c);color:var(--text-primary)}.comment-act--del:hover{color:#ff6b6b}.comments-compose{border-top:1px solid var(--border-subtle);margin-top:6px;padding-top:10px;position:relative}.comment-mention-pop{background:var(--bg-elevated,#20242c);border:1px solid var(--border);z-index:5;border-radius:8px;flex-direction:column;gap:1px;min-width:160px;margin-bottom:6px;padding:4px;display:flex;position:absolute;bottom:100%;left:0;box-shadow:0 8px 24px #0006}.comment-mention-pop button{text-align:left;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 9px;font-size:13px}.comment-mention-pop button:hover{background:var(--accent,#ff9a3d);color:#14161b}.comment-input{box-sizing:border-box;resize:vertical;background:var(--bg-tertiary);border:1px solid var(--border);width:100%;min-height:42px;color:var(--text-primary);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13px}.comment-input:focus{border-color:var(--accent,#ff9a3d);outline:none}.comments-compose-row{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.comments-show-resolved{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.peer-cursors{pointer-events:none;z-index:9500;position:fixed;inset:0}.peer-cursor{will-change:left, top;transition:left 80ms linear,top 80ms linear;position:absolute;transform:translate(-2px,-2px)}.peer-cursor-label{color:#0b0c0e;white-space:nowrap;font-size:11px;font-weight:700;font-family:var(--font-mono);border-radius:6px;padding:1px 6px;position:absolute;top:12px;left:14px}.peer-locks{z-index:9400;background:var(--bg-secondary);border:1px solid var(--border);pointer-events:none;border-radius:10px;min-width:180px;max-width:280px;padding:8px 10px;position:fixed;bottom:14px;left:14px;box-shadow:0 10px 30px #00000073}.peer-locks-head{text-transform:uppercase;letter-spacing:.08em;color:var(--accent,#ff9a3d);font-size:10px;font-family:var(--font-mono);align-items:center;gap:6px;margin-bottom:6px;display:flex}.peer-lock-item{justify-content:space-between;align-items:center;gap:10px;padding:2px 0;display:flex}.peer-lock-res{color:var(--text-primary);font-size:12px;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.peer-lock-by{color:var(--text-muted);white-space:nowrap;font-size:11px}.confirm-overlay{z-index:10000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.confirm-modal{background:var(--bg-secondary,#16181d);border:1px solid var(--border);border-radius:14px;width:380px;max-width:calc(100vw - 32px);padding:22px;animation:.12s ease-out confirm-pop;box-shadow:0 24px 70px #0009}@keyframes confirm-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.confirm-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:16px}.confirm-msg{color:var(--text-secondary);margin:10px 0 0;font-size:13.5px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.confirm-btn{cursor:pointer;border:1px solid var(--border);border-radius:9px;padding:8px 16px;font-size:13.5px;font-weight:600}.confirm-cancel{background:var(--bg-tertiary,#1c1f26);color:var(--text-secondary)}.confirm-cancel:hover{color:var(--text-primary);border-color:var(--border-strong,#3a3f4a)}.confirm-ok{background:var(--gradient-accent,#ff7a1a);color:#1a0d02;border-color:#0000}.confirm-ok:hover{filter:brightness(1.06)}.confirm-ok--danger{color:#fff;background:#e0443a}.confirm-ok--danger:hover{background:#ef5046}.brain-inset{z-index:12;border:1px solid var(--border,#2b2f38);background:var(--bg-primary,#0b0c0e);border-radius:14px;width:460px;max-width:calc(100% - 28px);height:360px;max-height:calc(100% - 28px);animation:.2s cubic-bezier(.2,.8,.3,1.1) brain-pop;position:absolute;bottom:14px;right:14px;overflow:hidden;box-shadow:0 18px 50px #0000008c,inset 0 0 0 1px #ff9a3d1f,inset 0 0 50px #ff7a1a0f}.brain-inset .brain-view{width:100%;height:100%;box-shadow:none;border:none;border-radius:0;animation:none}.brain-inset .brain-legend,.brain-inset .brain-hint{display:none}.brain-inset .brain-header{padding:9px 12px}.brain-inset .brain-title{font-size:12px}.brain-overlay{z-index:9600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(circle at 50% 46%,#14161bbd 0%,#0b0c0ee6 68%,#08090bf5 100%);place-items:center;animation:.18s ease-out brain-fade;display:grid;position:fixed;inset:0}@keyframes brain-fade{0%{opacity:0}to{opacity:1}}.brain-view{border:1px solid var(--border,#2b2f38);background:var(--bg-primary,#0b0c0e);border-radius:18px;width:min(1500px,100vw - 48px);height:min(940px,100vh - 48px);animation:.22s cubic-bezier(.2,.8,.3,1.1) brain-pop;position:relative;overflow:hidden;box-shadow:0 40px 120px #000000b3,inset 0 0 0 1px #ff9a3d1a,inset 0 0 90px #ff7a1a14}@keyframes brain-pop{0%{opacity:.4;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.brain-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.brain-canvas:active{cursor:grabbing}.brain-header{pointer-events:none;background:linear-gradient(#0b0c0ec7 0%,#0b0c0e00 100%);justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:absolute;top:0;left:0;right:0}.brain-title{font-family:var(--font-display,"Martian Mono"), ui-monospace, monospace;letter-spacing:.01em;text-transform:uppercase;color:var(--text-primary,#cbd0d9);align-items:center;gap:9px;font-size:13.5px;font-weight:600;display:flex}.brain-title svg{color:var(--accent,#ff9a3d);filter:drop-shadow(0 0 8px #ff9a3d8c)}.brain-sub{font-family:var(--font-mono,"JetBrains Mono"), monospace;color:var(--text-muted,#646b78);letter-spacing:.02em;margin-left:4px;font-size:11.5px;font-weight:500}.brain-close{pointer-events:auto;background:var(--bg-elevated,#23272f);border:1px solid var(--border,#2b2f38);width:30px;height:30px;color:var(--text-secondary,#9aa1ad);cursor:pointer;border-radius:8px;place-items:center;transition:color .12s,border-color .12s,background .12s;display:grid}.brain-close:hover{color:var(--accent,#ff9a3d);border-color:var(--accent-border,#ff9a3d6b);background:var(--accent-dim,#ff9a3d21)}.brain-legend{background:var(--gradient-panel,linear-gradient(145deg, #121419 0%, #181b21 50%, #0f1115 100%));border:1px solid var(--border,#2b2f38);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;border-radius:11px;flex-direction:column;gap:5px;padding:11px 13px;display:flex;position:absolute;bottom:16px;left:16px;box-shadow:0 12px 32px #00000073}.brain-legend-row{align-items:center;gap:8px;font-size:11.5px;display:flex}.brain-legend-dot{border-radius:50%;flex:none;width:9px;height:9px}.brain-legend-label{font-family:var(--font-body,"Hanken Grotesk"), system-ui, sans-serif;color:var(--text-secondary,#9aa1ad);text-transform:capitalize;min-width:58px}.brain-legend-count{color:var(--text-muted,#646b78);font-family:var(--font-mono,"JetBrains Mono"), monospace;margin-left:auto;font-size:10.5px}.brain-hint{color:#969eaa8c;font-size:11px;font-family:var(--font-mono,monospace);letter-spacing:.02em;pointer-events:none;white-space:nowrap;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.brain-tooltip{z-index:5;background:var(--gradient-panel,linear-gradient(145deg, #121419 0%, #181b21 50%, #0f1115 100%));border:1px solid var(--border,#2b2f38);pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:10px;min-width:150px;max-width:230px;padding:9px 11px;position:absolute;box-shadow:0 14px 38px #0009,inset 0 0 0 1px #ff9a3d0d}.brain-tooltip-title{font-family:var(--font-body,"Hanken Grotesk"), system-ui, sans-serif;color:var(--text-primary,#cbd0d9);font-size:13px;font-weight:600;line-height:1.25}.brain-tooltip-meta{color:var(--text-secondary,#9aa1ad);align-items:center;gap:5px;margin-top:4px;font-size:11.5px;display:flex}.brain-tooltip-type{text-transform:capitalize;font-weight:600}.brain-tooltip-dot{color:var(--text-muted,#646b78)}.brain-tooltip-stats{color:var(--text-muted,#646b78);font-size:11px;font-family:var(--font-mono,"JetBrains Mono"), monospace;align-items:center;gap:5px;margin-top:3px;display:flex}.brain-tooltip-mem{color:var(--accent,#ff9a3d)}.brain-focus-card{z-index:5;background:var(--gradient-panel,linear-gradient(145deg, #121419 0%, #181b21 50%, #0f1115 100%));border:1px solid var(--accent-border,#ff9a3d6b);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;width:240px;padding:13px 14px;position:absolute;top:56px;right:16px;box-shadow:0 16px 44px #0009,0 0 28px #ff7a1a1a}.brain-focus-title{font-family:var(--font-body,"Hanken Grotesk"), system-ui, sans-serif;color:var(--text-primary,#cbd0d9);align-items:center;gap:8px;font-size:13.5px;font-weight:600;line-height:1.3;display:flex}.brain-focus-swatch{border-radius:50%;flex:none;width:10px;height:10px}.brain-focus-meta{color:var(--text-muted,#646b78);text-transform:capitalize;margin-top:6px;font-size:11.5px}.brain-focus-open{background:var(--accent-dim,#ff9a3d21);border:1px solid var(--accent-border,#ff9a3d6b);width:100%;color:var(--accent,#ff9a3d);cursor:pointer;border-radius:8px;margin-top:11px;padding:7px 10px;font-size:12px;font-weight:600;transition:background .12s,color .12s}.brain-focus-open:hover{background:var(--gradient-accent,#ff7a1a);color:#1a0d02;border-color:#0000}.brain-empty{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:0 40px;display:flex;position:absolute;inset:0}.brain-empty svg{color:#ff9a3d73;filter:drop-shadow(0 0 18px #ff7a1a40)}.brain-empty-title{font-family:var(--font-display,"Martian Mono"), ui-monospace, monospace;letter-spacing:.01em;color:var(--text-secondary,#9aa1ad);margin-top:4px;font-size:16px;font-weight:600}.brain-empty-sub{font-family:var(--font-body,"Hanken Grotesk"), system-ui, sans-serif;color:var(--text-muted,#646b78);max-width:360px;font-size:13px;line-height:1.55}.graph-template-btn--brain svg{color:var(--accent,#ff9a3d)}.graph-template-btn--brain:hover{border-color:var(--accent-border,#ff9a3d6b);color:var(--accent,#ff9a3d)}
