.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--app-bg: #f2f1ed;--surface: #faf9f6;--surface-raised: #ffffff;--surface-muted: #eceae4;--text: #2b2722;--text-secondary: #564e44;--text-muted: #857b6e;--border: #dad5cc;--border-strong: #c2b9aa;--flow-grid: #b0a594;--flow-edge: #525866;--accent: #0b6558;--accent-hover: #07584c;--accent-contrast: #ffffff;--accent-soft: #dff3ee;--accent-soft-2: #ecf6f1;--danger: #8a2d2d;--danger-strong: #b42318;--danger-soft: #fbf2ef;--danger-soft-2: #f3e4df;--success: #0b6558;--success-soft: #e6f2ef;--warning: #8a6d1b;--warning-soft: #faf2da;--info: #3d8a78;--info-soft: #e4eeea;--overlay: rgba(40, 30, 20, .45);--shadow: 0 8px 30px rgba(40, 30, 20, .18);--shadow-sm: 0 2px 8px rgba(40, 30, 20, .1);--code-bg: #eceae4;--code-text: #2b2722}[data-theme=dark]{--app-bg: #1b1814;--surface: #24201b;--surface-raised: #2c2722;--surface-muted: #1a1713;--text: #efe9e0;--text-secondary: #b3a99c;--text-muted: #847a6c;--border: #38312a;--border-strong: #4a4034;--flow-grid: #352c24;--flow-edge: #aab2c0;--accent: #d8a455;--accent-hover: #e6b977;--accent-contrast: #241805;--accent-soft: #3a2c14;--accent-soft-2: #2e2210;--danger: #f08a7a;--danger-strong: #f6a89a;--danger-soft: #2a1414;--danger-soft-2: #3a1a1a;--success: #7fb488;--success-soft: #16261a;--warning: #e0b341;--warning-soft: #2a2410;--info: #6ba88f;--info-soft: #2a231a;--overlay: rgba(0, 0, 0, .6);--shadow: 0 8px 30px rgba(0, 0, 0, .5);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--code-bg: #1a1713;--code-text: #efe9e0}[data-theme=dark] .react-flow__controls-button{background:var(--surface-raised);border-bottom:1px solid var(--border);color:var(--text)}[data-theme=dark] .react-flow__controls-button:hover{background:var(--surface-muted)}[data-theme=dark] .react-flow__controls-button svg{fill:var(--text)}[data-theme=dark] .react-flow__minimap{background:var(--surface)}[data-theme=dark] .react-flow__attribution{background:var(--surface);color:var(--text-muted)}.react-flow__edge-path{stroke:var(--flow-edge)}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--app-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;color:var(--text)}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit}button{border:0;color:inherit}#root{width:100vw;height:100vh;min-height:100vh;overflow:hidden}.workbench-shell{display:grid;grid-template-columns:280px minmax(0,1fr);width:100vw;height:100vh;min-height:0;color:var(--text);background:var(--app-bg);transition:grid-template-columns .18s ease}.workbench-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.workbench-shell.sidebar-collapsed .workbench-sidebar{transform:translate(-100%);opacity:0;visibility:hidden;pointer-events:none}.workbench-sidebar{display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto;gap:10px;min-height:0;padding:14px;border-right:1px solid var(--border);background:var(--surface);transition:transform .18s ease,opacity .18s ease}.sidebar-collapse-button{margin-left:auto}.workbench-brand{display:flex;align-items:center;gap:10px;min-width:0}.workbench-brand h1,.workbench-topbar h2,.project-tile h3,.empty-chat-placeholder h3{margin:0;letter-spacing:0}.workbench-brand h1{font-size:16px;line-height:1.2}.workbench-brand p,.workbench-topbar p,.project-tile p,.empty-chat-placeholder p{margin:3px 0 0;color:var(--text-secondary);font-size:12px}.workbench-new-chat{width:100%}.sidebar-nav-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:36px;padding:0 10px;border-radius:8px;color:var(--text);background:var(--surface-muted);cursor:pointer}.sidebar-nav-button.active,.sidebar-nav-button:hover{color:var(--accent-hover);background:var(--accent-soft)}.sidebar-search{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);background:var(--surface-raised)}.sidebar-search input{min-width:0;width:100%;border:0;outline:0;background:transparent}.sidebar-section-title{color:var(--text-secondary);font-size:11px;font-weight:800;text-transform:uppercase}.sidebar-chat-list{display:grid;align-content:start;gap:6px;min-height:0;overflow:auto}.sidebar-chat-item{display:grid;gap:3px;min-width:0;padding:9px 10px;border-radius:8px;color:var(--text);text-align:left;background:transparent;cursor:pointer}.sidebar-chat-item:hover,.sidebar-chat-item.active{background:var(--surface-muted)}.sidebar-chat-item.active{box-shadow:inset 3px 0 0 var(--accent)}.sidebar-chat-title,.sidebar-chat-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-chat-title{font-weight:700}.sidebar-chat-meta{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:11px}.sidebar-chat-preview,.sidebar-empty{color:var(--text-muted);font-size:12px}.sidebar-footer{display:flex;justify-content:flex-end}.workbench-main{display:grid;grid-template-rows:64px minmax(0,1fr);min-width:0;min-height:0}.workbench-topbar{display:flex;align-items:center;gap:12px;min-width:0;padding:0 18px;border-bottom:1px solid var(--border);background:var(--surface)}.workbench-topbar>div:first-child{min-width:0}.workbench-topbar h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.2}.workbench-content{min-width:0;min-height:0;padding:12px;overflow:hidden}.empty-chat-view,.projects-view,.project-board-view{display:grid;width:100%;height:100%;min-height:0}.empty-chat-view{grid-template-rows:minmax(0,1fr) auto;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);overflow:hidden}.empty-chat-feed{display:grid;place-items:center;grid-row:1;min-height:0;padding:24px}.empty-chat-placeholder{display:grid;justify-items:center;gap:10px;max-width:420px;text-align:center}.empty-chat-placeholder h3{font-size:18px}.empty-chat-composer.composer{grid-area:auto;grid-row:2;grid-column:1;border-top:1px solid var(--border)}.projects-view{grid-template-rows:auto minmax(0,1fr);gap:12px}.projects-toolbar{display:flex;justify-content:flex-end}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content:start;gap:10px;min-height:0;overflow:auto}.project-tile{display:grid;gap:14px;min-width:0;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised)}.project-tile h3{overflow-wrap:anywhere;font-size:15px}.project-tile-rename,.project-board-rename{width:100%;max-width:280px;padding:6px 8px;border:1px solid var(--border-strong);border-radius:6px;color:var(--text);background:var(--surface-raised);font-size:14px;outline:none}.loop-summary-actions{display:flex;gap:8px;flex-wrap:wrap}.compact-field-title{font-size:13px;font-weight:600;color:var(--text-secondary)}.compact-settings-grid .loop-settings-summary{display:grid;gap:8px}.compact-settings-grid .loop-summary-strip span.muted{color:var(--text-muted)}.project-tile-actions,.project-board-toolbar{display:flex;align-items:center;gap:8px}.project-board-view{grid-template-rows:auto minmax(0,1fr);gap:10px}.project-board-toolbar{min-height:42px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised)}.project-board-toolbar span{min-width:0;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.project-board-canvas{min-height:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.compact-settings-modal{width:min(720px,calc(100vw - 48px));height:min(760px,calc(100vh - 96px));grid-template-rows:auto minmax(0,1fr)}.compact-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0;padding:16px;overflow:auto}.compact-settings-grid label{display:grid;gap:6px;color:var(--text-secondary);font-size:12px;font-weight:700}.compact-settings-grid input,.compact-settings-grid select,.compact-settings-grid textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;padding:8px 9px;color:var(--text);background:var(--surface-raised)}.wide-label,.settings-actions,.compact-settings-grid .state-error{grid-column:1 / -1}.compact-settings-grid .compact-tool-list{display:grid;gap:6px}.compact-settings-grid .compact-tool-list label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;align-items:start;font-weight:400}.compact-settings-grid .compact-tool-list label small{grid-column:2;color:var(--text-muted);font-weight:400}.compact-settings-grid .compact-tool-list input[type=checkbox]{width:16px;height:16px;min-width:0;padding:0;border:none;background:none}@media (max-width: 760px){.workbench-shell{grid-template-columns:1fr}.workbench-sidebar{display:none}.compact-settings-grid{grid-template-columns:1fr}}.project-shell{display:grid;grid-template-rows:64px 1fr;min-height:100vh;background:var(--app-bg)}.topbar{display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--border);background:var(--surface);z-index:20}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--accent);background:var(--accent-soft)}.topbar h1,.drawer-header h2{margin:0;font-size:16px;line-height:1.2;letter-spacing:0}.topbar p,.drawer-header p{margin:2px 0 0;color:var(--text-secondary);font-size:12px}.topbar-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.workspace{position:relative;min-height:0}.react-flow{background:var(--app-bg)}.empty-state{display:grid;place-items:center;height:calc(100vh - 64px)}.muted-state{color:var(--text-secondary);font-size:14px}.state-error{max-width:min(560px,calc(100vw - 32px));color:var(--danger);text-align:center}.primary-button,.ghost-button,.icon-button,.checkbox-row,.context-menu button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;cursor:pointer;white-space:nowrap}.primary-button{min-height:36px;padding:0 14px;color:var(--surface-raised);background:var(--accent);box-shadow:0 1px 2px #281e1429}.primary-button:hover{background:var(--accent)}.primary-button:disabled{cursor:default;opacity:.45}.primary-button.large{min-height:44px;padding:0 18px;font-weight:700}.ghost-button{min-height:32px;padding:0 10px;color:var(--text-secondary);background:var(--surface-muted)}.ghost-button:hover{background:var(--border)}.icon-button{width:32px;height:32px;color:var(--text-secondary);background:var(--surface-muted)}.icon-button:hover{background:var(--border)}.icon-button.muted{color:var(--text-muted);background:transparent}.icon-button.danger{color:var(--danger);background:var(--danger-soft)}.icon-button.danger:hover{background:var(--danger-soft-2)}.icon-button.success{color:var(--success);background:var(--success-soft)}.icon-button.success:hover{background:var(--success-soft);filter:brightness(.96)}.confirm-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:50;display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:220px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);box-shadow:0 8px 24px #281e142e;font-size:13px}.confirm-popover span{color:var(--text)}.confirm-popover button{align-self:stretch}.agent-card{width:264px;min-height:154px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);box-shadow:0 8px 24px #281e141f}.agent-card.active{border-color:var(--accent-soft)}.agent-card.waiting{border-color:var(--warning)}.agent-card.frozen{border-color:var(--border-strong)}.agent-card-header,.agent-actions,.agent-meta,.drawer-header{display:flex;align-items:center}.agent-card-header{gap:9px}.agent-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:var(--info);background:var(--info-soft);flex:0 0 auto}.agent-title{min-width:0;flex:1}.agent-title strong,.agent-title span,.agent-meta span,.agent-task{overflow-wrap:anywhere}.agent-title strong{display:block;font-size:14px;line-height:1.25}.agent-title span{display:block;color:var(--text-secondary);font-size:12px;line-height:1.3}.agent-meta{justify-content:space-between;gap:8px;margin-top:11px;color:var(--text-secondary);font-size:12px}.status-pill{display:inline-flex;align-items:center;gap:5px;min-width:fit-content;padding:3px 7px;border-radius:999px;font-size:11px}.status-pill.active{color:var(--accent-hover);background:var(--accent-soft)}.status-pill.waiting{color:var(--warning);background:var(--warning-soft)}.status-pill.frozen{color:var(--text-secondary);background:var(--surface-muted)}.status-pill.lifecycle-running{color:var(--accent-hover);background:var(--accent-soft)}.status-pill.lifecycle-running .status-pill-dot{animation:lifecycle-pulse 1.6s ease-in-out infinite}.status-pill.lifecycle-waiting{color:var(--warning);background:var(--warning-soft)}.status-pill.lifecycle-idle{color:var(--text-secondary);background:var(--surface-muted)}.status-pill.lifecycle-disabled,.status-pill.lifecycle-pending,.status-pill.lifecycle-error{color:var(--danger);background:var(--danger-soft)}.status-pill-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}@keyframes lifecycle-pulse{0%,to{opacity:1}50%{opacity:.35}}.agent-card.lifecycle-running{border-color:var(--accent-soft)}.agent-card.lifecycle-waiting{border-color:var(--warning)}.agent-card.lifecycle-idle{border-color:var(--border-strong)}.agent-card.lifecycle-disabled,.agent-card.lifecycle-pending,.agent-card.lifecycle-error{border-color:var(--danger)}.sandbox-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.sandbox-pill{display:inline-flex;align-items:center;min-width:0;gap:6px;padding:3px 7px;border-radius:999px;color:var(--text-secondary);background:var(--surface-muted);font-size:11px;overflow-wrap:anywhere}.sandbox-pill.ready{color:var(--accent-hover);background:var(--accent-soft)}.sandbox-pill.busy{color:var(--warning);background:var(--warning-soft)}.sandbox-pill.error{color:var(--danger);background:var(--danger-soft)}.sandbox-dot{width:7px;height:7px;border-radius:999px;background:currentColor;flex:0 0 auto}.icon-button.small{width:26px;height:26px}.icon-button:disabled{cursor:default;opacity:.45}.sandbox-error{margin:6px 0 0;color:var(--danger);font-size:11px;line-height:1.3;overflow-wrap:anywhere}.agent-task{min-height:38px;margin:10px 0 12px;color:var(--text);font-size:13px;line-height:1.35}.agent-actions{justify-content:space-between}.node-handle{width:9px;height:9px;border:2px solid var(--surface-raised);background:var(--accent)}.context-menu{position:fixed;z-index:35;width:214px;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);box-shadow:0 16px 36px #281e142e}.context-title{padding:7px 8px 8px;color:var(--text-muted);font-size:12px}.context-menu button{justify-content:flex-start;width:100%;min-height:34px;padding:0 8px;color:var(--text);background:transparent}.context-menu button:hover{background:var(--surface-muted)}.context-menu .danger-menu-item{color:var(--danger)}.context-menu .danger-menu-item:hover{color:var(--danger);background:var(--danger-soft)}.context-muted{display:block;padding:8px;color:var(--text-muted);font-size:13px}.status-toast{position:fixed;right:18px;bottom:18px;z-index:50;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;max-width:min(520px,calc(100vw - 36px));padding:10px 12px;border:1px solid var(--danger-soft-2);border-radius:8px;color:var(--danger);background:var(--danger-soft)}.status-toast span{overflow-wrap:anywhere}.status-toast .icon-button{width:28px;height:28px;color:var(--danger);background:var(--danger-soft)}.modal-backdrop{position:fixed;top:64px;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:24px;background:#281e1447;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-window{display:grid;width:min(1180px,calc(100vw - 64px));height:min(820px,calc(100vh - 112px));border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 22px 60px #281e143d;overflow:hidden}.chat-modal{grid-template-areas:"header" "hint" "waiting" "feed" "composer";grid-template-rows:auto auto auto minmax(0,1fr) auto;min-height:0;align-content:stretch}.chat-modal .modal-header{grid-area:header}.settings-modal{align-content:stretch;grid-template-rows:auto auto minmax(0,1fr);width:min(980px,calc(100vw - 96px))}.settings-modal .drawer-header{min-height:56px;padding:10px 16px}.settings-form{display:grid;gap:14px;overflow:auto;padding:16px 0 18px}.settings-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1fr);gap:14px;min-height:0;overflow:auto;padding:16px}.settings-grid>section:only-child{grid-column:1 / -1}.general-settings-modal{grid-template-rows:auto auto minmax(0,1fr)}.general-settings-grid{grid-template-columns:1fr}.settings-tabs{display:flex;align-items:end;gap:0;min-height:36px;padding:4px 16px 0;border-bottom:1px solid var(--border);overflow-x:auto}.settings-tabs button{flex:0 0 auto;min-height:0;height:30px;margin-right:2px;padding:0 14px;border:1px solid var(--border);border-bottom:0;border-radius:7px 7px 0 0;color:var(--text-secondary);background:var(--surface-muted);cursor:pointer}.settings-tabs button.active{height:33px;color:var(--info);background:var(--surface-raised);box-shadow:inset 0 3px 0 var(--accent)}.settings-section{display:grid;align-content:start;gap:12px;min-width:0;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised)}.settings-section h3{margin:0;color:var(--text);font-size:14px;line-height:1.25}.wide-section{grid-column:1 / -1}.agent-settings-tasks{gap:14px}.agent-settings-task-counters{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px;font-weight:700}.agent-settings-task-counters span{padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.agent-settings-task-table{display:grid;min-width:0;overflow-x:auto;border:1px solid var(--border);border-radius:8px}.agent-settings-task-head,.agent-settings-task-row{display:grid;grid-template-columns:100px minmax(260px,1fr) 120px 120px;gap:10px;align-items:start;min-width:680px;padding:9px 10px}.agent-settings-task-head{color:var(--text-secondary);background:var(--surface);font-size:11px;font-weight:800;text-transform:uppercase}.agent-settings-task-row{border-top:1px solid var(--surface-muted);color:var(--text);font-size:12px;line-height:1.35}.agent-settings-task-row.completed{color:var(--text-muted)}.agent-settings-task-status{justify-self:start;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800}.agent-settings-task-status.open{color:var(--accent);background:var(--accent-soft)}.agent-settings-task-status.completed{color:var(--text-secondary);background:var(--surface-muted)}.agent-settings-task-main{display:grid;gap:3px;min-width:0}.agent-settings-task-main strong,.agent-settings-task-main small{overflow-wrap:anywhere}.agent-settings-task-main strong{color:inherit;font-size:13px}.agent-settings-task-main small{color:var(--text-secondary);font-size:12px}.agent-settings-task-row.completed .agent-settings-task-main strong{text-decoration:line-through}.sandbox-panel{grid-template-rows:auto auto auto minmax(0,1fr);width:min(1180px,calc(100vw - 72px));height:min(820px,calc(100vh - 112px))}.sandbox-panel-error{margin:10px 16px 0;padding:8px 10px;border:1px solid var(--danger-soft-2);border-radius:8px;color:var(--danger);background:var(--danger-soft);font-size:12px;overflow-wrap:anywhere}.sandbox-panel-empty{display:grid;place-items:center;min-height:0}.sandbox-panel-body{min-height:0;overflow:auto;padding:16px}.sandbox-status-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px}.sandbox-kv-grid{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 10px;align-items:center;color:var(--text-secondary);font-size:12px}.sandbox-kv-grid b{color:var(--text-secondary);font-size:11px;text-transform:uppercase}.sandbox-kv-grid code,.sandbox-chip-list code{min-width:0;padding:2px 5px;border-radius:4px;color:var(--text);background:var(--surface-muted);overflow-wrap:anywhere}.sandbox-chip-list{display:flex;flex-wrap:wrap;gap:6px}.sandbox-branch-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.sandbox-git-layout{display:grid;gap:14px}.sandbox-repo-selector{display:grid;gap:5px;margin-bottom:8px}.sandbox-repo-selector>label{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px}.sandbox-repo-selector select{width:100%}.sandbox-hook-banner{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-secondary);font-size:12px;font-weight:700}.sandbox-operation-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-secondary);font-size:12px;font-weight:700}.sandbox-operation-banner.success{border-color:var(--accent-soft);color:var(--accent);background:var(--accent-soft)}.sandbox-operation-banner.error{border-color:var(--danger-soft-2);color:var(--danger);background:var(--danger-soft)}.sandbox-operation-banner code{padding:2px 6px;border-radius:5px;color:inherit;background:color-mix(in srgb,var(--surface-raised) 70%,transparent);overflow-wrap:anywhere}.sandbox-git-history{display:grid;gap:8px;margin-top:12px}.sandbox-git-commit{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:start;padding:9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised)}.sandbox-git-commit code{padding:2px 5px;border-radius:4px;background:var(--surface-muted);color:var(--text);font-size:12px}.sandbox-git-commit div{display:grid;gap:4px;min-width:0}.sandbox-git-commit strong{color:var(--text);font-size:13px;overflow-wrap:anywhere}.sandbox-git-commit span{color:var(--text-secondary);font-size:12px}.sandbox-files-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:14px;min-height:0}.sandbox-file-browser,.sandbox-file-preview,.sandbox-log-view,.sandbox-exec-view{display:grid;align-content:start;gap:10px;min-width:0;min-height:0}.sandbox-path-bar,.sandbox-toolbar,.sandbox-file-preview-header{display:flex;align-items:center;gap:6px;min-width:0}.sandbox-path-bar button:not(.icon-button){min-height:26px;padding:0 8px;border-radius:7px;color:var(--info);background:var(--surface-muted)}.sandbox-file-list{display:grid;gap:4px;max-height:min(520px,calc(100vh - 300px));overflow:auto}.sandbox-file-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center;min-height:32px;padding:0 8px;border-radius:7px;color:var(--text);background:var(--surface);cursor:pointer}.sandbox-file-row:hover{background:var(--surface-muted)}.sandbox-file-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.sandbox-file-row small{color:var(--text-secondary);font-size:11px}.sandbox-file-preview pre,.sandbox-log-list,.sandbox-exec-view pre{min-height:220px;max-height:min(420px,calc(100vh - 360px));margin:0;overflow:auto;white-space:pre-wrap;border-radius:8px;background:var(--text);color:var(--info-soft);padding:10px;font-size:12px}.sandbox-log-list{display:grid;gap:6px}.sandbox-log-list pre{margin:0;white-space:pre-wrap}.sandbox-upload-box,.sandbox-exec-view{grid-template-columns:1fr}.sandbox-upload-box{display:grid;gap:8px}.sandbox-upload-box input,.sandbox-upload-box textarea,.sandbox-toolbar input,.sandbox-exec-view input,.sandbox-exec-view textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;padding:8px 9px;color:var(--text);background:var(--surface-raised)}.sandbox-upload-box textarea,.sandbox-exec-view textarea{min-height:90px;resize:vertical}.tool-summary{display:grid;gap:5px;color:var(--text-secondary);font-size:12px}.tool-summary span{width:fit-content;padding:3px 7px;border-radius:999px;color:var(--accent-hover);background:var(--accent-soft)}.tool-summary p{margin:0;overflow-wrap:anywhere}.sandbox-tool-card{gap:12px}.sandbox-tool-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.sandbox-tool-meta{display:grid;gap:3px;min-width:0}.sandbox-tool-meta strong,.sandbox-tool-meta span{overflow-wrap:anywhere}.sandbox-tool-meta span{color:var(--text-secondary);font-size:12px}.sandbox-tool-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.sandbox-tool-switch{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--accent-soft-2);border-radius:8px;background:var(--surface);color:var(--accent)}.sandbox-tool-switch div{display:grid;gap:2px;min-width:0}.sandbox-tool-switch strong,.sandbox-tool-switch small{overflow-wrap:anywhere}.sandbox-tool-switch small{color:var(--accent-soft);font-size:12px}.sandbox-resource-summary{display:flex;flex-wrap:wrap;gap:8px}.sandbox-resource-summary span{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 9px;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);background:var(--surface);font-size:12px}.sandbox-tool-error{margin:0;color:var(--danger);font-size:12px}.nested-modal{top:0;right:0;bottom:0;left:0;z-index:70}.compact-modal{width:min(430px,calc(100vw - 48px));height:auto;max-height:calc(100vh - 96px);grid-template-rows:auto auto auto}.sandbox-resource-form{display:grid;gap:12px;padding:16px}.sandbox-resource-form .settings-field>span{display:inline-flex;align-items:center;gap:6px}.compact-modal-actions{display:flex;justify-content:flex-end;padding:0 16px 16px}.spin-icon{animation:spinIcon .8s linear infinite}.git-settings-section{display:flex;flex-direction:column;gap:14px}.git-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.git-status-grid>div{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:8px;background:color-mix(in srgb,var(--surface-raised) 3%,transparent)}.git-status-grid span{font-size:12px;opacity:.7}.git-status-grid code{font-size:13px;word-break:break-all}.git-dirty{color:var(--warning)}.git-reset-field .git-reset-row{display:flex;align-items:center;gap:8px}.git-reset-row select{flex:1}.git-reset-hint{font-size:13px;line-height:1.5;opacity:.8;margin:0}.git-reset-notice{font-size:13px;color:var(--success);margin:0}.danger-button{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 14px;border-radius:8px;border:1px solid rgba(248,81,73,.5);background:#f851491f;color:var(--danger-strong);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.danger-button:hover:not(:disabled){background:#f8514933;border-color:#f85149b3}.danger-button:disabled{opacity:.5;cursor:not-allowed}.confirm-body{padding:4px 16px 0;font-size:14px;line-height:1.55}.confirm-body code{word-break:break-all}.model-advanced-row td{background:#7f7f7f0f}.model-advanced-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 18px;padding:10px 4px 4px}.model-advanced-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;opacity:.85}.model-advanced-grid label input,.model-advanced-grid label select{width:100%}.model-advanced-hint{margin:6px 4px 8px;font-size:12px;opacity:.6}@keyframes spinIcon{to{transform:rotate(360deg)}}@media (max-width: 720px){.sandbox-tool-header{grid-template-columns:1fr}.sandbox-tool-actions{justify-content:flex-start}}.sandbox-repo-summary{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--text-secondary);font-size:12px}.sandbox-repo-summary code{max-width:100%;padding:3px 6px;border-radius:6px;color:var(--text);background:var(--surface-muted);overflow-wrap:anywhere}.option-list,.skill-grid,.model-settings-list,.role-default-grid{display:grid;gap:10px}.model-settings-card{display:grid;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.model-settings-card strong{color:var(--text);font-size:14px}.model-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px}.model-checkbox-row{align-self:end;min-height:36px}.role-default-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.provider-model-groups,.mcp-server-list{display:grid;gap:12px}.provider-group,.mcp-server-card{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.provider-group-header{display:grid;grid-template-columns:auto minmax(160px,1fr) auto auto auto;gap:8px;align-items:center}.provider-group-header span{color:var(--text-secondary);font-size:12px}.provider-model-table{width:100%;border-collapse:collapse;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised)}.provider-model-table th,.provider-model-table td{padding:8px;border-bottom:1px solid var(--surface-muted);text-align:left;vertical-align:top}.provider-model-table th:first-child,.provider-model-table td:first-child{width:42px}.provider-model-table input{width:100%}.model-hidden-row{color:var(--text-muted);background:var(--surface)}.subtle-input{margin-top:6px;color:var(--text-secondary);background:var(--surface)}.provider-config-grid{display:grid;gap:12px}.provider-config-card{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised)}.provider-config-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--info-soft)}.provider-config-card-header>div:first-child{display:grid;gap:3px}.provider-config-card-header span,.settings-field small,.routing-section-header span,.catalog-modal header span,.catalog-search-bar input,.catalog-result span{color:var(--text-secondary);font-size:12px}.provider-card-actions{display:inline-flex;gap:6px;align-items:center}.provider-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.settings-field{display:grid;gap:5px}.settings-field>span,.routing-price-grid label span{color:var(--text-secondary);font-size:13px}.catalog-search-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.catalog-search-bar input{width:100%}.polza-routing-editor{display:grid;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.routing-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.routing-section-header>div:first-child{display:grid;gap:3px}.routing-presets{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised)}.routing-presets button{border:0;border-radius:6px;padding:6px 9px;color:var(--text-secondary);background:transparent;cursor:pointer}.routing-presets button.active{color:var(--accent);background:var(--accent-soft)}.routing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.routing-chip-row{display:flex;flex-wrap:wrap;gap:5px}.routing-chip-row span{padding:3px 7px;border-radius:999px;color:var(--info);background:var(--info-soft);font-size:11px}.routing-price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;align-items:end}.routing-price-grid>strong{align-self:center}.catalog-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#281e1459}.catalog-modal{display:grid;gap:12px;width:min(860px,calc(100vw - 48px));max-height:min(720px,calc(100vh - 48px));overflow:auto;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);box-shadow:0 22px 55px #281e1433}.catalog-modal header,.catalog-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.catalog-modal header>div,.catalog-result>div:first-child{display:grid;gap:3px}.catalog-results{display:grid;gap:8px}.catalog-result{grid-template-columns:minmax(0,1fr) auto auto;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.catalog-result-meta{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}.catalog-state{padding:24px;text-align:center;color:var(--text-secondary);border:1px dashed var(--border);border-radius:8px;background:var(--surface)}.error-state{color:var(--danger);background:var(--danger-soft)}.capability-badges{display:inline-flex;flex-wrap:wrap;gap:5px;margin-right:8px}.capability-badges span{padding:3px 7px;border-radius:999px;color:var(--accent-hover);background:var(--accent-soft);font-size:11px}.mcp-server-list.compact{gap:10px}.mcp-server-card.disabled-card{opacity:.78}.section-title-row.compact-row span{color:var(--text-muted);font-size:12px}.mcp-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px}.plain-toggle{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.mcp-tool-table{grid-template-columns:1fr}.mcp-tool-table-head,.mcp-tool-table .mcp-tool-row{display:grid;grid-template-columns:28px minmax(160px,.9fr) minmax(220px,1.4fr) auto;align-items:center}.mcp-tool-table-head{color:var(--text-muted);font-size:12px;font-weight:700;padding:0 8px}.mcp-tool-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised)}.mcp-tool-row.unavailable{color:var(--text-muted);background:var(--surface)}.mcp-tool-row small,.mcp-tool-row em,.empty-tools-state{color:var(--text-muted);font-size:12px}.skill-editor-list{display:grid;gap:10px}.skill-editor-row{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(180px,.9fr) minmax(220px,1fr) minmax(220px,1fr) auto auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.text-button{justify-self:start;min-height:0;padding:0;color:var(--accent);background:transparent;font-size:12px}.option-row{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(120px,.4fr) minmax(260px,1fr) auto;gap:10px;align-items:center}.checkbox-row,.skill-option{padding:0}.modal-header-actions{position:relative;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.chat-mode{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:999px;font-size:12px;line-height:1}.chat-mode.view{color:var(--text-secondary);background:var(--border)}.chat-mode.live{color:var(--accent-hover);background:var(--accent-soft)}.chat-mode.waiting{color:var(--warning);background:var(--warning-soft)}.chat-mode-hint{grid-area:hint;margin:0;padding:10px 16px;border-bottom:1px solid var(--border);color:var(--text-secondary);background:var(--surface);font-size:13px;line-height:1.4}.agent-waiting-notice{grid-area:waiting;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--warning);color:var(--warning);background:var(--warning-soft)}.agent-waiting-notice svg{color:var(--warning)}.agent-waiting-notice div{display:grid;gap:2px;min-width:0}.agent-waiting-notice strong,.agent-waiting-notice span{overflow-wrap:anywhere}.agent-waiting-notice strong{font-size:13px}.agent-waiting-notice span,.agent-waiting-notice time{font-size:12px}.agent-waiting-notice span{color:var(--warning)}.agent-waiting-notice time{color:var(--warning)}.modal-header,.loop-modal-header{cursor:move;-webkit-user-select:none;user-select:none}.drawer-header{justify-content:space-between;gap:14px;min-height:68px;padding:14px 16px;border-bottom:1px solid var(--border)}.event-feed-wrap{grid-area:feed;position:relative;min-height:0}.event-feed{min-height:0;height:100%;overflow:auto;padding:14px}.chat-history-loader{display:grid;place-items:center;width:100%;min-height:30px;margin:0 0 8px;border-radius:7px;color:var(--text-secondary);background:var(--surface-muted);font-size:12px;cursor:pointer}.chat-history-loader:disabled{cursor:default;color:var(--text-muted)}.chat-scroll-bottom-button{position:absolute;right:16px;bottom:14px;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:var(--surface-raised);color:var(--info);box-shadow:0 8px 20px #281e1429}.event-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;padding:10px 0;border-bottom:1px solid var(--border)}.event-row>div{min-width:0}.event-row.debug{opacity:.72}.event-row.debug>div>.event-content-row,.event-row.debug>div>.markdown-content{font-size:12.5px;color:var(--text-muted)}.debug-badge{display:inline-block;margin-left:7px;padding:1px 7px;border:1px solid var(--border);border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--text-muted);background:var(--surface-raised);vertical-align:middle}.icon-button.debug-active{color:var(--info);border-color:var(--info);background:color-mix(in srgb,var(--info) 12%,transparent)}.reasoning-block{margin:0 0 6px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.reasoning-block>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted);-webkit-user-select:none;user-select:none}.reasoning-block[open]>summary{margin-bottom:6px}.reasoning-block .markdown-content{font-size:13px;color:var(--text-secondary)}.continue-from-divider{position:relative;display:flex;align-items:center;justify-content:center;height:14px;margin:-7px 0 -7px 37px;z-index:1}.continue-from-divider span{position:absolute;left:0;right:0;height:1px;background:transparent}.continue-from-actions{position:absolute;top:-14px;display:inline-flex;gap:6px;opacity:0;pointer-events:none;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease}.continue-action-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-strong);border-radius:8px;color:var(--accent);background:var(--surface-raised);box-shadow:0 6px 16px #281e141f;cursor:pointer}.continue-from-divider:hover span,.continue-from-divider:focus-within span{background:var(--border-strong)}.continue-from-divider:hover .continue-from-actions,.continue-from-divider:focus-within .continue-from-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.continue-action-button:hover:not(:disabled){border-color:var(--accent-soft)}.continue-action-button:disabled{cursor:default;opacity:.45}.event-row svg{margin-top:2px}.event-row.tool svg{color:var(--info)}.event-row.thought svg{color:var(--warning)}.event-row.user svg{color:var(--accent)}.event-row.say svg,.event-row.system svg{color:var(--text-secondary)}.event-row.loading{align-items:center}.event-row.loading svg{color:var(--text-secondary)}.typing-dots{display:inline-flex;align-items:center;gap:5px;min-height:28px}.typing-dots span{width:7px;height:7px;border-radius:999px;background:var(--text-muted);opacity:.35;animation:typingDotPulse 1.1s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.16s}.typing-dots span:nth-child(3){animation-delay:.32s}.event-row.savings-hold{gap:8px;font-size:12.5px;color:var(--text-muted)}.event-row.savings-hold svg{color:var(--warning)}@keyframes typingDotPulse{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-3px);opacity:1}}.event-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text-secondary);font-size:12px}.event-content-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.markdown-content{display:grid;gap:6px;margin-top:5px;color:var(--text);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content pre,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content table{margin:0}.markdown-content hr{width:100%;height:1px;margin:4px 0;border:0;background:var(--border)}.markdown-content ul,.markdown-content ol{display:grid;gap:4px;padding-left:20px}.markdown-content h3,.markdown-content h4,.markdown-content h5{color:var(--text);font-size:13px;line-height:1.35}.markdown-content code{border-radius:4px;background:var(--surface-muted);padding:1px 4px;color:var(--text);font-size:12px}.markdown-content a{color:var(--accent);font-weight:700}.markdown-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:6px}.markdown-content table{width:100%;min-width:360px;border-collapse:collapse;background:var(--surface-raised)}.markdown-content th,.markdown-content td{padding:6px 8px;border-bottom:1px solid var(--border);border-right:1px solid var(--surface-muted);text-align:left;vertical-align:top}.markdown-content th:last-child,.markdown-content td:last-child{border-right:0}.markdown-content tbody tr:last-child td{border-bottom:0}.markdown-content th{color:var(--text-secondary);background:var(--surface-muted);font-weight:700}.markdown-code-block{max-height:220px;overflow:auto;white-space:pre-wrap;border-radius:6px;background:var(--text);color:var(--info-soft);padding:9px;font-size:12px}.markdown-code-block code{background:transparent;padding:0;color:inherit}.chat-jump-button{display:inline-flex;align-items:center;gap:6px;min-height:30px;white-space:nowrap;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--accent);font-size:12px}.tool-event-content{margin-top:5px;color:var(--text);font-size:13px;line-height:1.45}.sandbox-tool-label{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.sandbox-tool-label code{max-width:min(520px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;background:var(--surface-muted);padding:1px 5px;color:var(--text);font-size:12px}.tool-file-button{min-height:24px;padding:0 8px;border:1px solid var(--border);border-radius:6px;color:var(--accent);background:var(--surface-raised);cursor:default;font-size:12px;font-weight:700}.tool-line-range{color:var(--text-secondary);font-size:12px}.runtime-error-card{display:grid;gap:8px;margin-top:6px;padding:10px;border:1px solid var(--danger-soft-2);border-radius:8px;color:var(--danger);background:var(--danger-soft)}.runtime-error-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.runtime-error-header strong{color:var(--danger);font-size:13px}.runtime-error-header span{padding:3px 7px;border:1px solid var(--danger-soft-2);border-radius:999px;color:var(--danger);background:var(--surface-raised);font-size:11px;white-space:nowrap}.runtime-error-card p{margin:0;color:var(--danger);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.runtime-error-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}.runtime-error-grid span{display:grid;gap:3px;min-width:0;padding:7px 8px;border:1px solid var(--danger-soft-2);border-radius:6px;color:var(--danger);background:var(--surface-raised);font-size:12px;overflow-wrap:anywhere}.runtime-error-grid b{color:var(--danger);font-size:11px;text-transform:uppercase}.tool-event-details,.runtime-error-details,.branch-event-details,.context-event-details,.sandbox-event-details{margin-top:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.tool-event-details summary,.runtime-error-details summary,.branch-event-details summary,.context-event-details summary,.sandbox-event-details summary{cursor:pointer;padding:8px 10px;color:var(--text-secondary);font-size:12px;font-weight:700}.tool-event-details>div:not(.file-snippet-view):not(.tool-directory-view):not(.tool-agent-list):not(.tool-task-list):not(.tool-task-summary),.runtime-error-details>div{display:grid;gap:5px;padding:0 10px 10px}.tool-event-details>div>span,.context-detail-grid b{color:var(--text-secondary);font-size:11px;font-weight:700;text-transform:uppercase}.branch-event-details p{margin:0;padding:0 10px 10px;color:var(--text-secondary);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.branch-event-details pre,.runtime-error-details pre,.tool-event-details pre{max-height:220px;margin:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;background:var(--text);color:var(--info-soft);padding:9px;font-size:12px;line-height:1.45}.sandbox-tool-details .terminal-output-view,.runtime-error-details pre{margin:0 10px 10px}.tool-agent-list{display:grid;gap:8px;padding:0 10px 10px}.tool-agent-card{display:grid;gap:6px;padding:9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised)}.tool-agent-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.tool-agent-card strong{color:var(--text);font-size:13px}.tool-agent-card span,.tool-agent-card p,.tool-empty-state{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.45}.tool-chip-row{display:flex;flex-wrap:wrap;gap:5px}.tool-task-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 10px 8px}.tool-task-summary span{display:grid;gap:2px;padding:8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised);color:var(--text-secondary);font-size:13px;font-weight:800}.tool-task-summary b{color:var(--text-secondary);font-size:10px;text-transform:uppercase}.tool-task-list{display:grid;gap:8px;padding:0 10px 10px}.tool-task-card{display:grid;gap:6px;padding:9px;border:1px solid var(--border);border-left:4px solid var(--info);border-radius:7px;background:var(--surface-raised)}.tool-task-card.completed{border-left-color:var(--success);background:var(--success-soft)}.tool-task-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.tool-task-card strong{color:var(--text);font-size:13px}.tool-task-card span,.tool-task-card p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.45}.tool-directory-view{display:grid;max-height:360px;margin:0 10px 10px;overflow:auto;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised);font-size:12px}.tool-directory-header,.tool-directory-row{display:grid;grid-template-columns:minmax(180px,1fr) 86px 84px;gap:8px;align-items:center;min-width:0;padding:6px 8px;border-bottom:1px solid var(--surface-muted)}.tool-directory-header{position:sticky;top:0;z-index:1;color:var(--text-secondary);background:var(--surface);font-weight:700;text-transform:uppercase}.tool-directory-row:last-child{border-bottom:0}.tool-directory-view .tool-empty-state{padding:12px}.tool-directory-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-snippet-view{display:grid;max-height:360px;margin:0 10px 10px;overflow:auto;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45}.file-snippet-line{display:grid;grid-template-columns:56px minmax(0,1fr);min-width:0;border-bottom:1px solid var(--surface-muted)}.file-snippet-line:last-child{border-bottom:0}.file-line-number{padding:2px 8px;border-right:1px solid var(--border);color:var(--text-muted);background:var(--surface);text-align:right;-webkit-user-select:none;user-select:none}.file-line-content{min-width:0;padding:2px 9px;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.context-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:0 10px 10px}.context-detail-grid span{display:grid;gap:3px;min-width:0;padding:7px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised);color:var(--text-secondary);font-size:12px;overflow-wrap:anywhere}.context-artifact-list{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 10px}.context-artifact-list code{border:1px solid var(--border);border-radius:6px;background:var(--surface-muted);color:var(--info)}.context-event-details p,.sandbox-event-details p{margin:0;padding:0 10px 10px;color:var(--text-secondary);font-size:12px}.composer{grid-area:composer;display:flex;flex-direction:column;gap:10px;align-items:stretch;padding:12px 14px 14px;border-top:1px solid var(--border);background:var(--surface)}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.composer-actions{display:flex;align-items:center;gap:8px}.composer-attach-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;border-radius:8px;border:1px dashed var(--border);background:transparent;color:var(--text-muted);cursor:not-allowed;opacity:.6}.context-usage-ring{display:inline-flex;align-items:center;justify-content:center;cursor:help;line-height:0}.context-usage-ring svg{display:block}.retry-strip{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 10px;border:1px solid var(--warning);border-radius:8px;color:var(--warning);background:var(--warning-soft)}.retry-strip span{min-width:0;overflow-wrap:anywhere;font-size:12px}.retry-strip .ghost-button{background:var(--warning-soft)}.composer textarea,.settings-form textarea,.settings-form input,.settings-form select,.settings-grid textarea,.settings-grid input,.settings-grid select{width:100%;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface-raised);outline:none}.composer textarea,.settings-form textarea,.settings-grid textarea{resize:vertical;padding:10px;line-height:1.4}.composer textarea{min-height:42px;resize:none;overflow-y:auto}.composer textarea:disabled{cursor:default;color:var(--text-muted);background:var(--surface)}.chat-queue-panel{display:flex;flex-direction:column;min-height:0;max-height:40vh;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.chat-queue-panel.collapsed .chat-queue-list{display:none}.chat-queue-header{display:flex;align-items:center;gap:6px;padding:8px 10px;border:none;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;text-align:left;cursor:pointer}.chat-queue-list{list-style:none;margin:0;padding:0 8px 8px;display:flex;flex-direction:column;gap:6px;max-height:30vh;overflow-y:auto}.chat-queue-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised)}.chat-queue-item-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap;font-size:13px;color:var(--text)}.chat-queue-item-actions{display:flex;flex:0 0 auto;gap:4px}.chat-queue-item-send,.chat-queue-item-remove{flex:0 0 auto;width:26px;height:26px;min-height:26px;color:var(--text-muted)}.chat-queue-item-send:hover{color:var(--accent)}.chat-queue-item-remove:hover{color:var(--danger)}.composer-send-button{width:40px;height:40px;min-height:40px;padding:0;border-radius:8px;flex:0 0 auto}.settings-form label,.settings-grid label{display:grid;gap:6px;padding:0 16px;color:var(--text-secondary);font-size:12px}.settings-grid label{padding:0}.settings-form input,.settings-form select,.settings-grid input,.settings-grid select{height:36px;padding:0 10px}.settings-grid input[type=checkbox]{width:16px;height:16px;padding:0}.skill-option{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.skill-option span{display:grid;gap:4px}.skill-option small{color:var(--text-secondary);line-height:1.35}.skill-edit-button{align-self:center}.floating-child-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:#281e142e}.skill-note-modal{grid-template-rows:auto minmax(0,1fr)}.skill-note-editor{min-height:0;overflow:auto;padding:16px}.skill-note-editor label{display:grid;gap:8px;color:var(--text-secondary);font-size:12px}.skill-note-editor textarea{min-height:280px;padding:10px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface-raised);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.4;resize:vertical}.prompt-editor{min-height:240px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.section-title-row,.loop-modal-header,.loop-card-header,.loop-card-subtitle,.loop-edge-row{display:flex;align-items:center;gap:8px}.section-title-row,.loop-modal-header,.loop-card-header,.loop-card-subtitle{justify-content:space-between}.sandbox-settings-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.sandbox-connection-status{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:5px 8px;color:var(--text-secondary);background:var(--surface);font-size:12px}.sandbox-connection-status.ok{border-color:#16a34a40;color:var(--success);background:var(--success-soft)}.sandbox-connection-status.error{border-color:#dc262640;color:var(--danger-strong);background:var(--danger-soft)}.loop-settings-summary{gap:10px}.loop-summary-strip{display:flex;flex-wrap:wrap;gap:8px}.loop-summary-strip span{max-width:220px;padding:5px 8px;border-radius:6px;color:var(--text-secondary);background:var(--surface-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hook-binding-list{display:grid;gap:10px}.hook-binding-card{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) 100px auto auto 36px;gap:10px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.hook-binding-card label{min-width:0}.hook-binding-card .checkbox-row{align-self:center;padding-bottom:7px}.empty-state-inline{color:var(--text-muted);font-size:13px}.loop-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;padding:14px;background:#281e1457;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loop-fullscreen-modal{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 24px 70px #281e1447;overflow:hidden}.loop-modal-header{min-height:70px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-raised)}.loop-modal-header h2{margin:0;color:var(--text);font-size:17px;line-height:1.2}.loop-modal-header p{margin:3px 0 0;color:var(--text-secondary);font-size:12px}.loop-node-toolbar{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;max-width:min(860px,66vw);z-index:20}.loop-menu-bar{position:relative;display:inline-flex;align-items:center;gap:2px;max-width:100%;min-width:0;padding:3px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.loop-menu-root{position:relative}.loop-menu-trigger,.loop-menu-category-title,.loop-menu-dropdown button{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:0 9px;border-radius:5px;color:var(--text);background:transparent;font-size:12px;line-height:1;white-space:nowrap;cursor:pointer}.loop-menu-trigger:hover,.loop-menu-trigger.active,.loop-menu-category:hover>.loop-menu-category-title,.loop-menu-category:focus-within>.loop-menu-category-title,.loop-menu-dropdown button:hover{color:var(--accent);background:var(--accent-soft)}.loop-tpl-replace-trigger{display:inline-flex;align-items:center;gap:7px;min-height:28px;margin-left:10px;padding:0 11px;border:1px solid var(--warning);border-radius:5px;color:var(--warning);background:var(--warning-soft);font-size:12.5px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease}.loop-tpl-replace-trigger:hover{background:var(--warning);border-color:var(--warning)}.loop-menu-dropdown{position:absolute;top:100%;left:0;z-index:120;display:grid;min-width:210px;max-width:min(320px,calc(100vw - 16px));overflow:visible;padding:5px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised);box-shadow:0 16px 38px #281e1429}.loop-menu-dropdown.compact{min-width:160px}.loop-menu-dropdown.scrollable{max-height:min(420px,calc(100vh - 120px));overflow:auto;overscroll-behavior:contain}.loop-menu-category{position:relative}.loop-menu-category-title{justify-content:space-between;width:100%}.loop-menu-submenu{display:none;position:absolute;left:100%;top:-5px;min-width:190px;max-height:calc(100vh - 24px);overflow:auto;overscroll-behavior:contain;padding:5px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised);box-shadow:0 16px 38px #281e1429;z-index:121}.loop-menu-category:hover>.loop-menu-submenu,.loop-menu-category:focus-within>.loop-menu-submenu{display:grid}.loop-menu-submenu.flip-left{left:auto;right:100%;margin-right:2px}.loop-menu-dropdown button,.loop-menu-submenu .module-chip{justify-content:flex-start;width:100%}.loop-menu-category-title.static{cursor:default;pointer-events:none}.loop-template-hint{display:block;padding:6px 9px;font-size:12px;color:var(--text-muted);line-height:1.4}.loop-template-save-row{display:flex;gap:6px;padding:4px 9px 6px}.loop-template-save-row input{flex:1;min-width:0;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:5px;font-size:13px;color:var(--text)}.loop-template-save-row input:focus{outline:none;border-color:var(--accent)}.loop-template-save-row .ghost-button{flex-shrink:0;white-space:nowrap}.loop-template-row{display:flex;align-items:center;gap:2px;padding:0 4px 0 9px}.loop-template-insert{flex:1;justify-content:flex-start!important;width:auto!important}.tpl-replace-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:#281e146b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tpl-replace-dialog{display:flex;flex-direction:column;width:min(560px,100%);max-height:min(560px,calc(100% - 40px));overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface-raised);box-shadow:0 24px 70px #281e1452}.tpl-replace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--surface-muted)}.tpl-replace-head h3{margin:0;color:var(--text);font-size:16px;line-height:1.25}.tpl-replace-head p{margin:6px 0 0;color:var(--text-secondary);font-size:12.5px;line-height:1.45}.tpl-replace-list{display:flex;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px}.tpl-replace-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid transparent;border-radius:7px;background:transparent;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease}.tpl-replace-row:hover{background:var(--surface)}.tpl-replace-row.selected{border-color:var(--accent);background:var(--accent-soft)}.tpl-replace-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.tpl-replace-name{color:var(--text);font-size:14px;font-weight:600}.tpl-replace-role{color:var(--text-secondary);font-size:12px}.tpl-replace-role-warn{color:var(--warning)}.tpl-replace-resp{color:var(--text-muted);font-size:12px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.tpl-replace-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;color:var(--text-muted);font-size:11.5px}.tpl-replace-check{color:var(--accent)}.tpl-replace-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--surface-muted);background:var(--surface)}.primary-button.danger{background:var(--danger)}.primary-button.danger:hover:not(:disabled){background:var(--danger)}.loop-flow-shell{position:relative;min-height:0;overflow:hidden}.loop-flow-shell.placing-node .react-flow__pane{cursor:crosshair}.loop-node-placement-ghost{position:absolute;z-index:18;display:inline-flex;align-items:center;gap:6px;max-width:190px;transform:translate(-50%,-50%);pointer-events:none;padding:7px 10px;border:1px solid rgba(11,101,88,.45);border-radius:7px;color:var(--accent-hover);background:color-mix(in srgb,var(--accent-soft) 88%,transparent);box-shadow:0 10px 24px #281e1429;font-size:12px;font-weight:800;white-space:nowrap}.loop-flow-shell .react-flow{background:var(--surface)}.loop-flow-shell .react-flow__edge-path{stroke-linecap:round;stroke-linejoin:round}.loop-flow-shell .react-flow__edge{z-index:1}.loop-flow-shell .react-flow__node{z-index:2;overflow:visible}.loop-flow-card{position:relative;display:grid;gap:7px;width:232px;min-height:112px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);box-shadow:0 12px 28px #281e1424}.loop-flow-card.expanded{width:360px}.loop-flow-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #0b655840,0 12px 28px #281e1424}.loop-flow-card.start,.loop-flow-card.end{place-items:center;width:136px;height:136px;min-height:136px;border-radius:999px;text-align:center}.loop-flow-card.start .loop-node-kind,.loop-flow-card.end .loop-node-kind,.loop-flow-card.start small,.loop-flow-card.end small{display:none}.loop-flow-card.start strong,.loop-flow-card.end strong{font-size:17px}.loop-flow-card.start{border-color:var(--accent-soft)}.loop-flow-card.condition,.loop-flow-card.review{border-color:var(--warning)}.loop-flow-card.action{border-color:var(--border)}.loop-flow-card.hook{border-color:var(--accent-soft);background:var(--surface)}.loop-flow-card.handoff,.loop-flow-card.loop{border-color:var(--accent-soft)}.loop-flow-card.current{z-index:0;isolation:isolate}.loop-current-underlay{position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;z-index:-1;border-radius:18px;background:#22c55e17;pointer-events:none}.loop-current-underlay:after{content:"";position:absolute;top:-1px;left:50%;width:18px;height:5px;transform:translate(-50%);border-radius:999px;background:#22c55e17}.loop-flow-card.start .loop-current-underlay,.loop-flow-card.end .loop-current-underlay{border-radius:999px}.loop-current-runner{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.loop-current-runner path{fill:none;stroke:#16a34adb;stroke-width:2.2;stroke-linecap:butt;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:loop-current-march linear infinite}@keyframes loop-current-march{to{stroke-dashoffset:var(--loop-current-offset)}}.loop-node-handle{width:10px;height:10px;border:2px solid var(--surface-raised);background:var(--accent)}.loop-node-handle.condition-branch{width:12px;height:12px}.loop-node-handle.true-branch{background:var(--accent)}.loop-node-handle.false-branch{background:var(--danger-strong)}.loop-node-kind{width:max-content;max-width:100%;padding:3px 7px;border-radius:6px;color:var(--text-secondary);background:var(--surface-muted);font-size:11px}.loop-card-actions,.loop-card-title-row,.attached-module-strip,.module-dock,.loop-module-title-row,.loop-edge-label{display:inline-flex;align-items:center;gap:6px}.loop-card-title-row,.loop-module-title-row{width:100%;justify-content:space-between}.loop-card-title-row strong{min-width:0}.loop-flow-card strong{color:var(--text);font-size:15px;overflow-wrap:anywhere}.loop-flow-card p,.loop-flow-card small{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.loop-card-settings{display:grid;gap:10px;padding-top:6px;border-top:1px solid var(--surface-muted)}.loop-card-settings label{display:grid;gap:5px;color:var(--text-secondary);font-size:12px}.loop-card-settings input,.loop-card-settings select,.loop-card-settings textarea,.loop-edge-row input,.loop-edge-row select{width:100%;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface-raised);outline:none}.loop-card-settings input,.loop-card-settings select,.loop-edge-row input,.loop-edge-row select{height:34px;padding:0 9px}.loop-card-settings textarea{resize:vertical;padding:9px;line-height:1.4}.loop-card-options,.loop-edge-list,.loop-module-block{display:grid;gap:7px}.module-dock{flex-wrap:wrap;justify-content:flex-start;padding:8px;border:1px dashed var(--border);border-radius:8px;background:var(--surface)}.module-dock>span{width:100%;color:var(--text-secondary);font-size:12px;font-weight:700}.attached-module-strip{flex-wrap:wrap}.module-chip{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 9px;border:0;border-radius:7px;color:var(--text-secondary);background:var(--info-soft);font-size:12px;font-weight:700;cursor:grab}.attached-module-strip .module-chip{cursor:default}button.module-chip:disabled{cursor:default;opacity:.48}.module-chip.prompt{background:var(--info-soft)}.module-chip.skill{background:var(--accent-soft)}.module-chip.tool{background:var(--warning-soft)}.module-drop-target:hover{border-color:var(--info)}.loop-module-block{padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.loop-module-title{width:fit-content;padding:3px 7px;border-radius:6px;color:var(--text-secondary);background:var(--info-soft);font-size:12px;font-weight:700}.condition-module{border-color:var(--warning);background:var(--warning-soft)}.prompt-module,.skill-module,.tool-module{border-color:var(--border);background:var(--surface)}.review-module,.loop-module,.wait-module{border-color:var(--accent-soft);background:var(--surface)}.wait-target-grid{display:grid;gap:6px}.wait-target-grid label{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px;font-weight:700}.loop-tool-module-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-secondary);font-size:12px}.loop-tool-picker-modal{width:min(860px,calc(100vw - 56px));height:min(700px,calc(100vh - 56px));grid-template-rows:auto minmax(0,1fr)}.loop-tool-picker-modal .drawer-header{min-height:62px;padding:10px 14px}.loop-tool-picker-modal .drawer-header h2,.loop-tool-picker-modal .drawer-header p{margin:0}.loop-tool-picker-modal .drawer-header h2{color:var(--text);font-size:17px}.loop-tool-picker-modal .drawer-header p{color:var(--text-secondary);font-size:12px}.loop-tool-picker-body{min-height:0;overflow:auto;padding:14px;display:grid;align-content:start;gap:14px}.loop-tool-picker-section{min-width:0;display:grid;align-content:start;gap:8px}.loop-tool-picker-section>strong{color:var(--text-secondary);font-size:13px}.loop-tool-picker-table .mcp-tool-row{min-height:42px}.loop-module-block p,.loop-empty-settings{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.35}.loop-empty-settings{padding:9px 10px;border-radius:8px;background:var(--surface)}.loop-card-options{padding:8px;border-radius:8px;background:color-mix(in srgb,var(--surface-raised) 72%,transparent)}.loop-card-subtitle{color:var(--text-secondary);font-size:12px}.loop-edge-row{align-items:stretch;padding-left:8px;border-left:3px solid transparent}.loop-edge-row.true-branch-row{border-left-color:var(--accent)}.loop-edge-row.false-branch-row{border-left-color:var(--danger-strong)}.loop-edge-row select{min-width:130px}.loop-edge-row input{min-width:120px}.compact-module select{height:34px;padding:0 9px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface-raised);outline:none}.loop-node-context-menu{position:absolute;pointer-events:all;z-index:90;min-width:160px;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);box-shadow:0 16px 36px #281e142e}.loop-node-context-menu button{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;width:100%;min-height:32px;padding:0 8px;border-radius:7px;color:var(--danger);background:transparent;cursor:pointer}.loop-node-context-menu button:hover{background:var(--danger-soft)}.loop-node-context-menu span{display:block;padding:7px 8px;color:var(--text-secondary);font-size:12px}.loop-edge-hitarea{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:context-menu}.loop-edge-halo{fill:none;stroke:var(--surface);stroke-linecap:round;stroke-linejoin:round;stroke-width:8;pointer-events:none}.loop-edge-condition-label{position:absolute;pointer-events:none;padding:2px 7px;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);background:color-mix(in srgb,var(--surface-raised) 92%,transparent);font-size:11px;font-weight:700;box-shadow:0 4px 12px #281e141a}.loop-edge-context-menu{position:absolute;pointer-events:all;z-index:90;min-width:150px;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);box-shadow:0 16px 36px #281e142e}.loop-edge-context-menu button{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;width:100%;min-height:32px;padding:0 8px;border-radius:7px;color:var(--danger);background:transparent;cursor:pointer}.loop-edge-context-menu button:hover{background:var(--danger-soft)}.connect-create-menu{min-width:210px;display:grid;gap:6px}.connect-create-menu>span{color:var(--text-secondary);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:0 4px}.connect-create-menu button{color:var(--info)}.connect-create-menu button:hover{background:var(--info-soft)}.agent-workspace{display:grid;grid-template-rows:58px minmax(0,1fr);width:100vw;height:100vh;min-height:0;overflow:hidden;background:var(--app-bg)}.agent-workspace-header{display:flex;align-items:center;gap:12px;min-width:0;padding:0 14px;border-bottom:1px solid var(--border);background:var(--surface);z-index:30}.agent-workspace-nav,.agent-workspace-status{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.agent-workspace-title{display:grid;gap:2px;min-width:0;flex:1}.agent-workspace-title strong,.agent-workspace-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-workspace-title strong{color:var(--text);font-size:15px}.agent-workspace-title span{color:var(--text-secondary);font-size:12px}.agent-workspace-body{position:relative;display:grid;grid-template-columns:256px minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.agent-workspace.sidebar-hidden .agent-workspace-body{grid-template-columns:0 minmax(0,1fr)}.agent-workspace-sidebar{grid-column:1;grid-row:1;min-width:0;width:256px;padding:12px;border-right:1px solid var(--border);background:var(--surface);overflow:auto;transition:transform .16s ease,opacity .16s ease,visibility .16s ease;z-index:12}.agent-workspace.sidebar-hidden .agent-workspace-sidebar{position:absolute;inset:0 auto 0 0;transform:translate(calc(-100% - 8px));opacity:0;visibility:hidden;pointer-events:none}.sidebar-toggle-open{transform:rotate(180deg)}.workspace-nav-button{display:flex;align-items:center;width:100%;min-height:34px;padding:0 10px;border-radius:7px;color:var(--text);background:transparent;cursor:pointer;text-align:left}.workspace-nav-button:hover,.workspace-nav-button.active{background:var(--info-soft)}.workspace-nav-button.active{color:var(--accent);font-weight:800}.workspace-nav-button.nested{padding-left:24px;font-size:13px}.workspace-nav-group{display:grid;gap:2px;margin:8px 0}.workspace-nav-group>span{padding:8px 10px 4px;color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.agent-workspace-content{grid-column:2;grid-row:1;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;padding:12px}.agent-workspace.sidebar-hidden .agent-workspace-content{grid-column:2}.agent-workspace-content>.embedded-backdrop,.agent-workspace-content>.embedded-loop-backdrop{min-height:0}.embedded-backdrop,.embedded-loop-backdrop{position:static;inset:auto;z-index:auto;display:block;width:100%;height:100%;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.embedded-modal,.workspace-chat-panel,.workspace-sandbox-panel,.workspace-settings-panel{width:100%;height:100%;max-height:100%;min-height:0;border-radius:8px;box-shadow:none}.workspace-settings-panel{grid-template-rows:auto minmax(0,1fr)}.workspace-settings-panel .settings-grid{grid-template-columns:minmax(0,1fr);height:auto;min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain}.workspace-settings-panel .settings-section,.workspace-settings-panel .mcp-server-card,.workspace-settings-panel .mcp-tool-grid,.workspace-settings-panel .skill-grid,.workspace-settings-panel .agent-settings-tasks,.workspace-settings-panel .agent-settings-task-list{min-width:0;max-width:100%}.workspace-settings-panel .mcp-tool-grid{grid-template-columns:minmax(0,1fr)}.workspace-settings-panel .mcp-tool-table{overflow-x:auto;overscroll-behavior-x:contain}.workspace-settings-panel .mcp-tool-table-head,.workspace-settings-panel .mcp-tool-table .mcp-tool-row{grid-template-columns:28px minmax(120px,.75fr) minmax(180px,1fr) auto;min-width:560px}.workspace-settings-panel .prompt-settings-section{grid-template-rows:auto minmax(0,1fr);align-content:stretch;min-height:0;height:100%}.workspace-settings-panel .prompt-editor{height:100%;min-height:0;max-height:100%;resize:none}.workspace-sandbox-panel .sandbox-panel-body,.workspace-chat-panel .event-feed{min-height:0;overflow:auto;overscroll-behavior:contain}.workspace-sandbox-panel .sandbox-git-layout,.workspace-sandbox-panel .sandbox-git-history,.workspace-sandbox-panel .sandbox-git-commit,.workspace-sandbox-panel .sandbox-files-layout{min-width:0;max-width:100%}.workspace-sandbox-panel .sandbox-files-layout{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.loop-settings-inline{grid-column:1 / -1;min-height:0;height:100%}.loop-inline-editor{height:100%;min-height:0;border:0;border-radius:8px;box-shadow:none}.loop-inline-editor .loop-modal-header{min-height:58px;cursor:default}.agent-workspace-empty{display:grid;align-content:start;gap:8px;height:100%;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised)}.agent-workspace-empty h2,.agent-workspace-empty p{margin:0}@media (max-width: 900px){.settings-grid,.option-row,.model-settings-grid,.role-default-grid,.hook-binding-card{grid-template-columns:1fr}}@media (max-width: 720px){.topbar{gap:9px;padding:0 10px}.topbar p{display:none}.primary-button{padding:0 10px}.agent-card{width:238px}}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100vw;height:100vh;color:var(--text-secondary);background:var(--app-bg)}.login-spin{animation:login-spin .9s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.login-screen{display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;background:radial-gradient(circle at 30% 20%,var(--surface) 0%,var(--border) 70%);padding:24px}.login-card{display:flex;flex-direction:column;gap:16px;width:100%;max-width:360px;padding:28px;background:var(--surface-raised);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 48px #281e141f}.login-brand{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}.login-brand-mark{font-size:20px;font-weight:700;color:var(--accent);letter-spacing:.01em}.login-brand-sub{font-size:13px;color:var(--text-secondary)}.login-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text)}.login-field input{padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0b655826}.login-error{padding:9px 12px;border-radius:9px;background:var(--danger-soft);color:var(--danger-strong);font-size:13px}.login-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:9px;background:var(--accent);color:var(--surface-raised);font-weight:600;cursor:pointer;transition:background .15s ease,opacity .15s ease}.login-submit:hover:not(:disabled){background:var(--accent)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.topbar-account{display:inline-flex;align-items:center;gap:8px;margin-left:8px;padding-left:10px;border-left:1px solid var(--border)}.topbar-user{display:inline-flex;align-items:center;gap:6px;max-width:180px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;color:var(--text)}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:stretch;justify-content:center;background:#281e1473;padding:28px}.admin-shell{display:flex;flex-direction:column;width:100%;max-width:1180px;height:100%;background:var(--surface);border-radius:14px;overflow:hidden;box-shadow:0 24px 70px #281e1459}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--surface-raised);border-bottom:1px solid var(--border)}.admin-header-title{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--accent)}.admin-header-actions{display:inline-flex;align-items:center;gap:8px}.admin-body{display:grid;grid-template-columns:320px minmax(0,1fr);flex:1;min-height:0}.admin-users{display:flex;flex-direction:column;gap:12px;padding:16px;border-right:1px solid var(--border);background:var(--surface);overflow-y:auto}.admin-create{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surface-raised);border:1px solid var(--border);border-radius:11px}.admin-create-title{font-size:13px;font-weight:700;color:var(--text)}.admin-create input,.admin-create select,.admin-field input,.admin-field select,.admin-adjust input{padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);outline:none}.admin-create input:focus,.admin-create select:focus,.admin-field input:focus,.admin-field select:focus,.admin-adjust input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0b65581f}.admin-users-list{display:flex;flex-direction:column;gap:6px}.admin-user-item{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:9px 11px;border:1px solid transparent;border-radius:10px;background:var(--surface-raised);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.admin-user-item:hover{border-color:var(--border)}.admin-user-item.active{border-color:var(--accent);background:var(--surface-muted)}.admin-user-name{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text)}.admin-user-login{font-size:12px;color:var(--text-muted)}.admin-user-balance{grid-column:2;grid-row:1;align-self:center;font-weight:600;color:var(--accent)}.admin-user-balance.negative{color:var(--danger-strong)}.admin-user-flag{grid-column:2;grid-row:2;font-size:11px;color:var(--danger-strong)}.admin-detail{display:flex;flex-direction:column;min-height:0;padding:18px;overflow-y:auto}.admin-detail-empty{margin:auto}.admin-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-detail-head h3{margin:0;color:var(--text)}.admin-detail-head p{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.admin-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--info-soft);border-radius:9px}.admin-tabs button{padding:6px 12px;border-radius:7px;background:transparent;color:var(--text-secondary);font-weight:600;cursor:pointer}.admin-tabs button.active{background:var(--surface-raised);color:var(--accent)}.admin-section{display:flex;flex-direction:column;gap:12px;max-width:760px}.admin-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text)}.admin-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.admin-divider{height:1px;background:var(--border);margin:4px 0}.admin-wide{align-self:flex-start}.admin-status-ok{padding:8px 11px;border-radius:8px;background:var(--accent-soft);color:var(--accent-hover);font-size:13px}.admin-balance-current{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface-raised);border:1px solid var(--border);border-radius:11px;font-size:14px;color:var(--text)}.admin-balance-current strong{font-size:18px;color:var(--accent)}.admin-balance-current strong.negative{color:var(--danger-strong)}.admin-adjust{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.admin-table-title{margin-top:8px;font-size:13px;font-weight:700;color:var(--text)}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface-raised)}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{padding:8px 11px;text-align:left;border-bottom:1px solid var(--app-bg);white-space:nowrap}.admin-table th{color:var(--text-secondary);font-weight:600;background:var(--surface)}.admin-table td.positive{color:var(--accent)}.admin-table td.negative{color:var(--danger-strong)}.admin-muted{display:inline-flex;align-items:center;gap:8px;padding:8px 2px;color:var(--text-muted);font-size:13px}.admin-templates{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0;padding:18px 20px;overflow-y:auto}.admin-templates-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-templates-toolbar h3{margin:0;color:var(--text);font-size:15px}.admin-templates-list{display:flex;flex-direction:column;gap:8px}.admin-templates-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px;border:1px dashed var(--border);border-radius:10px;background:var(--surface)}.admin-template-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-raised);transition:border-color .12s ease}.admin-template-row:hover{border-color:var(--border)}.admin-template-main{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-template-name{font-weight:600;color:var(--text);font-size:14px}.admin-template-meta{font-size:12px;color:var(--text-muted)}.admin-template-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.admin-template-form{display:flex;flex-direction:column;gap:12px}.admin-template-card{display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-raised)}.admin-template-card label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--text-secondary)}.admin-template-card input,.admin-template-card select,.admin-template-card textarea{padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);outline:none;font:inherit}.admin-template-card input:focus,.admin-template-card select:focus,.admin-template-card textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0b65581f}.admin-template-card textarea{resize:vertical;min-height:80px}.admin-template-hint{margin:0;color:var(--text-muted);font-size:12px}.admin-nav{display:flex;gap:4px;margin:0 auto 0 24px}.admin-nav button{border:none;background:transparent;padding:8px 14px;border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer}.admin-nav button:hover{background:var(--surface-muted);color:var(--text)}.admin-nav button.active{background:var(--accent);color:var(--surface-raised)}.admin-models{display:flex;flex-direction:column;min-height:0;flex:1;overflow:auto}.admin-models-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface-raised);z-index:1}.admin-models-title{font-size:15px;font-weight:700;color:var(--text)}.admin-models-actions{display:inline-flex;align-items:center;gap:12px}.admin-models-error{max-width:320px}.repositories-manager{display:grid;gap:10px}.repositories-manager h3{margin:0;font-size:14px}.forgejo-account-section{display:grid;gap:10px;align-content:start}.forgejo-account-section h3{margin:0;font-size:14px;display:flex;align-items:center;gap:6px}.forgejo-account-actions{display:flex;flex-wrap:wrap;gap:8px}.forgejo-account-create{display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--border)}.forgejo-account-create label{display:grid;gap:4px;font-size:12px;font-weight:700;color:var(--text-secondary)}.forgejo-account-created{display:grid;gap:6px;font-size:12px}.forgejo-account-created p{margin:0}.repository-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:320px;overflow:auto}.repository-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.repository-row.attached{background:var(--accent-soft-2);border-color:var(--accent-soft-2)}.repository-row-main{display:grid;gap:2px;min-width:0}.repository-row-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.repository-row-title code{font-weight:600}.repository-row-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-muted);font-size:11px}.repository-row-actions{display:flex;gap:6px}.repository-create-form{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.repository-create-form label{display:grid;gap:4px;color:var(--text-secondary);font-size:12px;font-weight:600}.repository-create-form input,.repository-create-form textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:6px;padding:6px 8px;background:var(--surface-raised)}.repository-chips-field{display:grid;gap:8px;margin-top:6px}.repository-chips-header{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-secondary);font-weight:700}.chip-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:var(--info-soft);color:var(--text-secondary);font-size:12px}.chip-removable{padding-right:4px}.chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:999px;background:#0000001f;color:inherit;cursor:pointer}.chip-remove:hover:not(:disabled){background:#f8514952;color:var(--danger)}.chip-remove:disabled{opacity:.4;cursor:default}.chip-folder{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 55%,transparent);color:var(--text-secondary);font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;max-width:160px}.chip-folder:hover:not(:disabled){border-color:#00000047;background:var(--surface-raised)}.chip-folder:disabled{opacity:.5;cursor:default}.chip-folder-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-folder-input{width:120px;padding:1px 6px;border:1px solid var(--info);border-radius:999px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface-raised)}.repository-add-list{border-top:1px dashed var(--border);padding-top:8px}.repository-add-list summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:12px}.chip-add-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.chip-add-row{text-align:left;width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised);color:var(--text);font-size:12px;cursor:pointer}.chip-add-row:hover:not(:disabled){background:var(--accent-soft-2);border-color:var(--accent-soft-2)}.chip-add-row:disabled{opacity:.5;cursor:default}.repository-add-button{justify-self:start;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent)}.repository-picker-modal{width:min(560px,calc(100vw - 64px));height:min(560px,calc(100vh - 140px));grid-template-rows:auto 1fr auto}.repository-picker-body{display:grid;grid-template-rows:auto 1fr;gap:10px;padding:14px 16px;overflow:hidden}.repository-picker-search{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text-secondary)}.repository-picker-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:13px;color:var(--text)}.repository-picker-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;align-content:start;overflow-y:auto}.repository-picker-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised);color:var(--text);text-align:left;cursor:pointer;font-size:12px}.repository-picker-row:hover:not(:disabled){background:var(--accent-soft-2);border-color:var(--accent-soft-2)}.repository-picker-row:disabled{opacity:.55;cursor:default}.repository-picker-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.repository-picker-row-id{min-width:0;display:flex;align-items:center}.repository-picker-row-id code{overflow-wrap:anywhere;padding:2px 5px;border-radius:4px;color:var(--text);background:var(--surface-muted)}.repository-picker-row-name{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.repository-picker-row-action{color:var(--accent);flex-shrink:0;display:inline-flex;align-items:center}.repository-picker-empty{text-align:center;padding:24px 12px}.repository-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid var(--surface-muted)}.repository-picker-count{font-size:11px;color:var(--text-muted)}.repository-picker-create{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--accent-soft-2);border-radius:8px;background:var(--surface)}.repository-picker-create-row{display:flex;flex-direction:column;gap:4px}.repository-picker-create-row label{font-size:11px;color:var(--text-secondary)}.repository-picker-create-row input{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--text);background:var(--surface-raised)}.repository-picker-create-actions{display:flex;justify-content:flex-end;gap:8px}.repository-picker-create-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--accent);background:transparent;border:0;padding:4px 6px;cursor:pointer;border-radius:4px}.repository-picker-create-toggle:hover{background:var(--accent-soft-2)}.hint-text{margin:0;color:var(--text-muted);font-size:12px}.tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:600}.tag-green{color:var(--accent);background:var(--accent-soft)}.blocker-list{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}.blocker-list code{font-weight:600}.confirm-modal .settings-grid{padding:0}.modal-footer{padding:0 16px 16px}.savings-mode-toggle{display:flex;align-items:center;gap:8px;font-size:12px}.vision-capability-toggle{flex-direction:row;display:flex;align-items:center;gap:8px;font-size:12px}.media-result-view{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.media-result-image{max-height:320px;max-width:100%;border-radius:8px;cursor:zoom-in;border:1px solid var(--border-color, rgba(128, 128, 128, .25))}.media-result-loading,.media-result-failed{font-size:12px;opacity:.7}.media-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#000000d9;cursor:zoom-out}.media-lightbox img{max-width:95vw;max-height:90vh;border-radius:8px}.media-lightbox-name{color:#fff;font-size:13px;opacity:.85}.offpeak-editor{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:10px;border:1px solid var(--border-color, rgba(128, 128, 128, .25));border-radius:8px}.offpeak-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:600}.offpeak-actions{display:flex;gap:8px}.offpeak-window-row{display:grid;grid-template-columns:1fr 110px 110px auto;gap:8px;align-items:center}.offpeak-window-row input{width:100%}
