.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))}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #f7f3ea;--surface: #ffffff;--surface-2: #efeadb;--border: rgba(26, 22, 18, .09);--text: #1a1612;--text-dim: #6b6150;--accent: #72b02a;--accent-hover: #558622;--accent-rgb: 114 176 42;--user-bubble: #72b02a;--assistant-bubble: #ffffff;--radius: 12px;--overlay-1: rgba(26, 22, 18, .035);--overlay-2: rgba(26, 22, 18, .07);--overlay-3: rgba(26, 22, 18, .12);--status-healthy: #22c55e;--status-healthy-bg: rgba(34, 197, 94, .15);--status-warning: #fbbf24;--status-warning-bg: rgba(251, 191, 36, .15);--status-error: #ef4444;--status-error-bg: rgba(239, 68, 68, .15);--status-info: #60a5fa;--status-info-bg: rgba(96, 165, 250, .15);--status-degraded: #fb923c;--status-degraded-bg: rgba(251, 146, 60, .15);--status-frozen: #c4b5fd;--status-frozen-bg: rgba(196, 181, 253, .18);color-scheme:light}:root[data-theme=dark]{--bg: #0b0d10;--surface: #13161b;--surface-2: #1a1e24;--border: rgba(200, 220, 240, .08);--text: #e6e9ef;--text-dim: #9097a3;--accent: #9ace3e;--accent-hover: #b3de5e;--accent-rgb: 154 206 62;--user-bubble: #9ace3e;--assistant-bubble: #13161b;--overlay-1: rgba(200, 220, 240, .035);--overlay-2: rgba(200, 220, 240, .07);--overlay-3: rgba(200, 220, 240, .12);--status-healthy: #4ade80;--status-healthy-bg: rgba(74, 222, 128, .15);--status-warning: #fbbf24;--status-warning-bg: rgba(251, 191, 36, .15);--status-error: #f87171;--status-error-bg: rgba(248, 113, 113, .15);--status-info: #60a5fa;--status-info-bg: rgba(96, 165, 250, .15);--status-degraded: #fb923c;--status-degraded-bg: rgba(251, 146, 60, .15);--status-frozen: #c4b5fd;--status-frozen-bg: rgba(196, 181, 253, .18);color-scheme:dark}.panel-scroll::-webkit-scrollbar{width:4px}.panel-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg);color:var(--text);margin:0}#root{min-height:100vh}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:48px;min-height:48px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.topbar-right{position:relative;display:flex;align-items:center;gap:12px}.logo-btn{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s;flex-shrink:0}.logo-btn:hover{background:var(--surface-2)}.logo-icon{font-size:20px;color:var(--accent)}.logo-text{font-size:17px;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.project-selector{position:relative;min-width:0;flex:1;max-width:400px}.project-selector-btn{display:flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:5px 10px;color:var(--text);font-size:13px;cursor:pointer;width:100%;min-width:0;transition:border-color .15s}.project-selector-btn:hover{border-color:var(--accent)}.project-selector-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.project-selector-chevron{font-size:16px;color:var(--text-dim);flex-shrink:0;line-height:1}.project-selector-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:320px;max-height:400px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:50;display:flex;flex-direction:column;padding:4px}.project-selector-new{padding:8px 12px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--accent);font-size:13px;cursor:pointer;text-align:left;margin-bottom:4px;transition:background .12s;border-radius:4px}.project-selector-new:hover{background:rgb(var(--accent-rgb) / .08)}.project-selector-empty{padding:12px;color:var(--text-dim);font-size:13px;text-align:center}.project-selector-item{display:flex;align-items:center;padding:8px 12px;background:none;border:none;border-radius:6px;cursor:pointer;text-align:left;width:100%;transition:background .12s}.project-selector-item:hover{background:var(--surface-2)}.project-selector-item.active{background:rgb(var(--accent-rgb) / .12)}.project-selector-item-info{display:flex;flex-direction:column;gap:3px;min-width:0}.project-selector-item-name{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-selector-item-meta{display:flex;align-items:center;gap:6px}.app-body{display:flex;flex:1;min-height:0}.activity-bar{width:48px;min-width:48px;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:4px}.activity-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-left:2px solid transparent;color:var(--text-dim);cursor:pointer;border-radius:0;transition:all .15s}.activity-btn:hover{color:var(--text)}.activity-btn.active{color:var(--text);border-left-color:var(--accent)}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:0;flex-shrink:0;width:360px;min-width:360px}.sidebar-project-bar{display:flex;align-items:center;padding:6px 14px;background:var(--surface);border-bottom:1px solid var(--border);min-height:34px;flex-shrink:0}.sidebar-project-bar .project-selector{max-width:none;flex:1}.project-status{font-size:11px;color:var(--text-dim)}.project-status.done{color:var(--status-healthy)}.project-status.error{color:var(--status-error)}.project-status.generating,.project-status.queued{color:var(--status-warning)}.files-panel{flex:1;display:flex;flex-direction:column;min-height:0;padding:16px;overflow-y:auto;scrollbar-width:thin}.files-panel::-webkit-scrollbar{width:4px}.files-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.files-panel-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);padding:4px 0 12px;display:flex;align-items:center;justify-content:space-between}.files-panel-header .asset-upload-btn{background:none;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;padding:2px 6px;border-radius:4px;display:flex;align-items:center;font-size:10px;text-transform:none;letter-spacing:normal}.files-panel-header .asset-upload-btn:hover{color:var(--text);border-color:var(--text-dim)}.file-tree{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0}.file-tree-root{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-family:SF Mono,Fira Code,monospace;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-tree-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background:none;border:none;border-radius:4px;color:var(--text-dim);font-size:12px;font-family:SF Mono,Fira Code,monospace;cursor:pointer;text-align:left;transition:all .12s;white-space:nowrap;width:100%}.file-tree-item:hover{background:var(--surface-2);color:var(--text)}.file-tree-item.active{background:rgb(var(--accent-rgb) / .12);color:var(--accent)}.file-tree-dir{color:var(--text);font-weight:500}.file-tree-arrow{font-size:14px;width:14px;text-align:center;flex-shrink:0;color:var(--text);opacity:.7;line-height:1}.file-tree-icon{flex-shrink:0;display:flex;align-items:center}.design-system-section{border-top:1px solid var(--border);margin-top:12px;padding:8px 12px 0}.design-system-btn{display:flex;align-items:center;gap:6px;width:100%;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-size:12px;padding:6px 10px;cursor:pointer;transition:all .15s}.design-system-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--accent)}.design-system-btn.active{background:var(--surface-2);color:var(--accent);border-color:var(--accent)}.assets-section{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.assets-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.asset-upload-btn{display:flex;align-items:center;gap:4px;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:11px;padding:3px 8px;cursor:pointer;transition:all .15s}.asset-upload-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--accent)}.asset-upload-btn:disabled{opacity:.5;cursor:not-allowed}.asset-upload-progress{position:relative;height:18px;background:var(--surface-2);border-radius:4px;margin-bottom:8px;overflow:hidden}.asset-upload-progress-bar{height:100%;background:var(--accent);border-radius:4px;transition:width .2s}.asset-upload-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;color:var(--text);font-weight:600}.assets-list{display:flex;flex-direction:column;gap:2px}.asset-item{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:4px;font-size:11px;font-family:SF Mono,Fira Code,monospace;color:var(--text-dim);transition:background .12s}.asset-item:hover{background:var(--surface-2)}.asset-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.asset-item-size{font-size:10px;color:var(--text-dim);opacity:.6;flex-shrink:0}.asset-item-copy,.asset-item-delete{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-dim);opacity:.5;display:flex;align-items:center;transition:opacity .12s,color .12s;flex-shrink:0}.asset-item-copy:hover{opacity:1;color:var(--accent)}.asset-item-delete:hover{opacity:1;color:var(--status-error)}.assets-empty{font-size:11px;color:var(--text-dim);opacity:.5;padding:4px 8px}.history-panel{flex:1;display:flex;flex-direction:column;min-height:0;padding:16px;overflow-y:auto;scrollbar-width:thin}.history-panel::-webkit-scrollbar{width:4px}.history-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.version-timeline{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0;padding-left:4px}.version-item{display:flex;gap:12px;position:relative;padding-bottom:16px}.version-item:not(:last-child):before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:1px;background:var(--border)}.version-dot{width:11px;height:11px;min-width:11px;border-radius:50%;background:var(--border);margin-top:3px;z-index:1}.version-item.current .version-dot{background:var(--accent);box-shadow:0 0 6px var(--accent)}.version-content{flex:1;min-width:0}.version-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.version-hash{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:var(--accent);font-weight:600}.version-date{font-size:10px;color:var(--text-dim);white-space:nowrap}.version-message{font-size:12px;color:var(--text);line-height:1.4;word-break:break-word;margin-bottom:4px}.version-current-badge{font-size:10px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.version-restore-note{margin:8px 12px 0;padding:6px 10px;border-radius:4px;background:#50c8781a;border-left:3px solid var(--accent, #50c878);color:var(--text-dim);font-size:12px;line-height:1.4}.version-restore-note.warn{background:#fac8001a;border-left-color:#fac800}.version-data-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--accent, #50c878);border:1px solid var(--accent, #50c878);border-radius:999px;padding:0 6px;margin-left:6px;opacity:.85}.version-confirm-sub{display:block;margin-top:2px;font-size:11px;font-style:italic;color:var(--text-dim)}.version-restore-btn{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:11px;padding:2px 10px;cursor:pointer;transition:all .15s}.version-restore-btn:hover{border-color:var(--accent);color:var(--accent)}.version-restore-btn:disabled{opacity:.4;cursor:not-allowed}.version-confirm{display:flex;align-items:center;gap:6px;margin-top:2px}.version-confirm-text{font-size:11px;color:var(--text-dim)}.version-confirm-btn{background:none;border:1px solid var(--border);border-radius:4px;font-size:11px;padding:2px 8px;cursor:pointer;transition:all .15s}.version-confirm-btn.yes{color:var(--accent);border-color:var(--accent)}.version-confirm-btn.yes:hover{background:var(--accent);color:#fff}.version-confirm-btn.no{color:var(--text-dim)}.version-confirm-btn.no:hover{color:var(--text);border-color:var(--text-dim)}.version-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.stack-modal{max-width:800px!important}.stack-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stack-col{display:flex;flex-direction:column;gap:12px;min-width:0;overflow:hidden}.stack-col .stack-services-section{margin-top:0}@media (max-width: 600px){.stack-modal{max-width:95vw!important}.stack-columns{grid-template-columns:1fr}}.stack-info-row{display:flex;align-items:baseline;gap:12px;padding:6px 0}.stack-label{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:500;flex-shrink:0;min-width:80px}.stack-value{font-size:13px;color:var(--text);font-family:SF Mono,Fira Code,monospace;word-break:break-word}.stack-services-section{padding-top:8px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.stack-services-list{display:flex;flex-direction:column;gap:4px}.memory-budget-grid{display:flex;flex-direction:column;gap:4px;margin-top:4px}.memory-budget-row{display:grid;grid-template-columns:110px 1fr 130px;align-items:center;gap:8px;font-size:12px;padding:2px 0}.memory-budget-label{color:var(--text);font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memory-budget-bar{display:block;height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}.memory-budget-bar-fill{display:block;height:100%;background:rgb(var(--accent-rgb) / .55);border-radius:4px}.memory-kind-app .memory-budget-bar-fill{background:rgb(var(--accent-rgb) / .85)}.memory-kind-compute .memory-budget-bar-fill{background:rgb(var(--accent-rgb) / .55)}.memory-kind-headroom .memory-budget-bar-fill{background:rgb(var(--accent-rgb) / .25)}.memory-budget-value{font-size:11px;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,monospace;text-align:right;color:var(--text-dim);white-space:nowrap}.memory-budget-cpu{opacity:.7}.memory-budget-total{border-top:1px solid var(--border);margin-top:4px;padding-top:6px;font-weight:600}.memory-budget-total-value{color:var(--text)}.memory-budget-total-gb{color:var(--text-dim);font-weight:400}.memory-budget-note{font-size:11px;color:var(--text-dim);margin-top:6px;font-style:italic}.memory-budget-note code{background:var(--surface-2);padding:1px 4px;border-radius:3px;font-size:11px}.stack-cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stack-cost-cell{background:var(--surface-2);border-radius:6px;padding:8px 10px}.stack-cost-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:2px}.stack-cost-value{font-size:14px;font-weight:600}.stack-cost-sub{font-size:10px;color:var(--text-dim);margin-top:2px}.stack-cost-toggle{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;padding:4px 0;text-align:left}.stack-cost-toggle:hover{text-decoration:underline}.stack-cost-days{display:flex;flex-direction:column;gap:2px;margin-top:4px}.stack-cost-day{display:grid;grid-template-columns:100px 1fr 1fr 1fr;gap:8px;padding:4px 8px;font-size:12px;color:var(--text-dim);font-family:SF Mono,Fira Code,monospace}.stack-cost-day-total{color:var(--text);font-weight:600;text-align:right}.stack-cost-day-inf,.stack-cost-day-plat{text-align:right}.stack-service-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-2);border-radius:6px;font-size:13px}.resource-row{display:flex;align-items:center;gap:6px;justify-content:space-between}.resource-type-badge{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--overlay-2);color:var(--text-dim);padding:1px 5px;border-radius:3px;white-space:nowrap;flex-shrink:0}.resource-id{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text);font-family:SF Mono,Fira Code,monospace}.resource-delete-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:11px;padding:2px 4px;opacity:.4;transition:opacity .15s;flex-shrink:0}.resource-delete-btn:hover{opacity:1;color:var(--status-error)}.stack-service-name{color:var(--text);font-weight:500;flex:1}.stack-service-status{color:var(--text-dim);font-size:11px;font-family:SF Mono,Fira Code,monospace}.stack-service-health{color:var(--text-dim);font-size:11px}.service-init-badge{margin-left:6px;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:600;font-family:SF Mono,Fira Code,monospace;letter-spacing:.04em;text-transform:uppercase}.service-init-degraded{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.4)}.service-init-initializing{background:#eab3081f;color:#fbbf24;border:1px solid rgba(234,179,8,.35)}.service-init-provisioning{background:#6366f11f;color:#a5b4fc;border:1px solid rgba(99,102,241,.35)}.stack-loading,.stack-empty{font-size:13px;color:var(--text-dim);padding:8px 0}.archetype-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px;white-space:nowrap}.archetype-static{background:var(--status-info-bg);color:var(--status-info)}.archetype-node{background:var(--status-healthy-bg);color:var(--status-healthy)}.archetype-fullstack{background:var(--status-warning-bg);color:var(--status-warning)}.service-chips{display:flex;flex-wrap:wrap;gap:4px}.service-chip{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:2px 6px;border-radius:4px;background:rgb(var(--accent-rgb) / .15);color:var(--accent);white-space:nowrap}.service-chip.service-logical{display:inline-flex;align-items:center;gap:4px}.service-chip.service-logical .service-dot{width:6px;height:6px}.stack-add-service{margin-top:8px;border-top:1px solid var(--overlay-2);padding-top:8px}.service-catalog{display:flex;flex-direction:column;gap:6px;max-height:250px;overflow-y:auto;margin-top:6px}.service-catalog-group{display:flex;flex-direction:column;gap:2px}.service-catalog-category{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);padding:4px 0 2px}.service-catalog-item{display:flex;align-items:center;justify-content:space-between;background:var(--overlay-1);border:1px solid var(--overlay-2);border-radius:6px;padding:5px 8px;color:var(--text);cursor:pointer;font-size:11px;transition:all .15s}.service-catalog-item:hover{background:rgb(var(--accent-rgb) / .15);border-color:rgb(var(--accent-rgb) / .3)}.service-catalog-name{font-weight:500}.service-catalog-res{font-size:9px;opacity:.5;font-family:monospace}.service-remove-btn{background:none;border:1px solid var(--status-error-bg);border-radius:4px;color:var(--status-error);opacity:.7;cursor:pointer;padding:2px 4px;display:flex;align-items:center;transition:all .15s}.service-remove-btn:hover{background:var(--status-error-bg);color:var(--status-error);border-color:var(--status-error);opacity:1}.health-indicator{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:500;white-space:nowrap}.health-dot{width:6px;height:6px;border-radius:50%}.health-healthy{color:var(--status-healthy)}.health-healthy .health-dot{background:var(--status-healthy)}.health-partial{color:var(--status-warning)}.health-partial .health-dot{background:var(--status-warning)}.health-stopped{color:var(--status-error)}.health-stopped .health-dot{background:var(--status-error)}.health-unhealthy{color:var(--status-degraded)}.health-unhealthy .health-dot{background:var(--status-degraded);animation:pausePulse 2s ease-in-out infinite}.health-paused{color:var(--accent)}.health-paused .health-dot{background:var(--accent);animation:pausePulse 2s ease-in-out infinite}.health-frozen{color:var(--status-frozen)}.health-frozen .health-dot{background:var(--status-frozen);animation:pausePulse 2s ease-in-out infinite}@keyframes pausePulse{0%,to{opacity:.5}50%{opacity:1}}.sleep-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-left:2px}.health-deployed{color:var(--status-info)}.health-deployed .health-dot{background:var(--status-info)}.sandbox-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px;white-space:nowrap}.sandbox-dot{width:7px;height:7px;border-radius:50%}.sandbox-healthy{background:var(--status-healthy-bg);color:var(--status-healthy)}.sandbox-healthy .sandbox-dot{background:var(--status-healthy)}.sandbox-starting{background:var(--status-warning-bg);color:var(--status-warning)}.sandbox-starting .sandbox-dot{background:var(--status-warning)}.sandbox-degraded{background:var(--status-degraded-bg);color:var(--status-degraded)}.sandbox-degraded .sandbox-dot{background:var(--status-degraded)}.sandbox-off,.sandbox-unknown{background:var(--status-error-bg);color:var(--status-error)}.sandbox-off .sandbox-dot,.sandbox-unknown .sandbox-dot{background:var(--status-error)}.sandbox-spinner{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;border-top-color:currentColor;animation:spin .8s linear infinite}.info-bar-btn:disabled{opacity:.3;cursor:not-allowed}.info-bar-btn.rebuild.spinning{animation:spin 1s linear infinite}.orphan-banner{display:flex;align-items:center;justify-content:space-between;padding:4px 14px;background:var(--status-degraded-bg);border-bottom:1px solid rgba(251,146,60,.3);gap:10px}.orphan-banner-text{font-size:12px;color:var(--status-degraded);font-weight:500}.orphan-banner-btn{background:none;border:1px solid rgba(251,146,60,.4);color:var(--status-degraded);font-size:11px;padding:2px 10px;border-radius:4px;cursor:pointer;transition:all .15s}.orphan-banner-btn:hover{background:var(--status-degraded-bg);border-color:var(--status-degraded)}.project-info-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;background:var(--surface);border-bottom:1px solid var(--border);gap:12px;min-height:34px}.project-info-bar-left{display:flex;align-items:center;gap:10px}.project-info-bar-resources{font-size:11px;color:var(--text-dim);font-family:SF Mono,Fira Code,monospace}.project-info-bar-services{display:flex;align-items:center;gap:8px}.info-popover-anchor{position:relative}.popover-trigger{display:inline-flex;align-items:center;gap:4px}.popover-count{font-size:10px;font-weight:600;min-width:14px;height:14px;line-height:14px;text-align:center;border-radius:7px;background:rgb(var(--accent-rgb) / .25);color:var(--accent)}.sandbox-trigger{gap:4px}.sandbox-trigger.sandbox-healthy{color:var(--accent)}.sandbox-trigger.sandbox-healthy .popover-count{background:rgb(var(--accent-rgb) / .25);color:var(--accent)}.sandbox-trigger.sandbox-starting{color:var(--status-warning)}.sandbox-trigger.sandbox-starting .popover-count{background:var(--status-warning-bg);color:var(--status-warning)}.sandbox-trigger.sandbox-degraded{color:var(--status-degraded)}.sandbox-trigger.sandbox-degraded .popover-count{background:var(--status-degraded-bg);color:var(--status-degraded)}.sandbox-trigger.sandbox-frozen{color:var(--status-frozen)}.sandbox-trigger.sandbox-frozen .popover-count{background:var(--status-frozen-bg);color:var(--status-frozen)}.thaw-btn{color:var(--status-degraded)!important;animation:thaw-pulse 1.5s ease-in-out infinite}.thaw-btn:hover{color:#ff8c33!important;background:var(--status-degraded-bg)}@keyframes thaw-pulse{0%,to{opacity:1}50%{opacity:.6}}.freeze-btn{color:var(--status-frozen)}.freeze-btn:hover{color:var(--status-frozen);background:var(--status-frozen-bg)}.state-starting{color:var(--status-warning);cursor:default}.state-degraded{color:var(--status-degraded);cursor:default}.sandbox-trigger.sandbox-paused,.sandbox-trigger.sandbox-off,.sandbox-trigger.sandbox-stopped{color:var(--text-dim)}.sandbox-label{font-size:10px;font-weight:600;letter-spacing:.5px}.info-popover{display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border, rgba(255,255,255,.1));border-radius:8px;padding:10px 12px;z-index:100;min-width:180px;max-width:280px;box-shadow:0 8px 24px #0006;flex-direction:column;gap:6px}.info-popover:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--border, rgba(255,255,255,.1))}.info-popover:after{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid var(--surface)}.info-popover-anchor:hover .info-popover,.info-popover-anchor.pinned>.info-popover{display:flex}.info-popover-anchor.dismissed>.info-popover{display:none!important}.popover-trigger.pinned{background:#ffffff14;box-shadow:inset 0 1px 2px #00000059,inset 0 0 0 1px #ffffff0f;color:var(--accent)}.popover-trigger.pinned .popover-count{background:rgb(var(--accent-rgb) / .4)}.info-popover-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:2px;padding-right:18px}.info-popover-close{position:absolute;top:6px;right:6px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:3px;color:var(--text-dim);cursor:pointer;padding:0;z-index:1}.info-popover-close:hover{background:#ffffff14;color:var(--text)}.info-popover .service-chip{display:inline-block}.info-popover .service-badge{width:100%;justify-content:flex-start;white-space:nowrap}.service-status-label{margin-left:auto;font-size:10px;opacity:.6;white-space:nowrap}.info-popover-resources{font-size:10px;color:var(--text-dim);font-family:SF Mono,Fira Code,monospace;border-top:1px solid var(--border, rgba(255,255,255,.08));padding-top:6px;margin-top:2px}.info-popover-empty{font-size:11px;color:var(--text-dim);font-style:italic}.plan-popover-anchor.plan-popover-open .plan-popover{display:flex}.plan-popover{min-width:280px;max-width:420px;max-height:400px;overflow:hidden;padding:0}.plan-popover-header{position:sticky;top:0;background:var(--surface);padding:10px 12px 4px;z-index:1;border-bottom:1px solid rgba(255,255,255,.04)}.plan-popover-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-popover-body{overflow-y:auto;padding:4px 12px 12px;flex:1 1 auto;min-height:0}.plan-popover-version-groups{display:flex;flex-direction:column;gap:2px}.plan-popover-version-group{display:flex;flex-direction:column}.plan-popover-version-header{display:grid;grid-template-columns:12px auto 1fr auto;gap:6px;align-items:center;padding:4px;background:transparent;border:0;color:var(--text);text-align:left;cursor:pointer;font-size:11px;font-weight:600}.plan-popover-version-header:hover{background:#ffffff0a}.plan-popover-version-chevron{display:inline-block;transition:transform .08s ease;color:var(--text-dim)}.plan-popover-version-chevron.expanded{transform:rotate(90deg)}.plan-popover-version-title{color:var(--text);font-variant-numeric:tabular-nums}.plan-popover-version-reason{font-weight:400;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-popover-version-count{color:var(--text-dim);font-size:10px;font-weight:500}.plan-popover-version-rows{margin:0;padding:0 0 4px 16px;list-style:none}.plan-popover-anchor .plan-active{color:var(--accent, #6c63ff)}.plan-popover .plan-step-count{font-size:10px;background:var(--surface-2, rgba(255,255,255,.05));padding:0 5px;border-radius:8px;margin-left:auto}.plan-popover .plan-step-events{list-style:none;padding:2px 0 2px 22px;margin:0;font-size:11px;font-family:monospace;color:var(--text-dim)}.plan-popover .plan-step-event{padding:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px}.plan-popover .plan-timer{font-size:10px;font-family:monospace;color:var(--text-dim)}.plan-features{margin-top:8px;padding:6px 8px 8px;border-top:1px solid rgb(var(--accent-rgb) / .12);background:rgb(var(--accent-rgb) / .04);border-radius:0 0 4px 4px}.plan-features-header{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:4px}.plan-features-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.plan-features-counter{font-size:10px;color:var(--text-dim);font-variant-numeric:tabular-nums}.plan-features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.plan-feature{display:flex;flex-direction:column;gap:1px;padding:3px 0;font-size:12px;color:var(--text-dim);line-height:1.3}.plan-feature-row{display:flex;align-items:center;gap:6px}.plan-feature-check{flex-shrink:0;width:16px;text-align:center;font-size:13px}.plan-feature-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.plan-feature-fraction{font-size:10px;color:var(--text-dim);font-variant-numeric:tabular-nums;flex-shrink:0}.plan-feature-passing .plan-feature-check{color:var(--status-healthy)}.plan-feature-passing .plan-feature-name{color:var(--text);text-decoration:line-through;opacity:.7}.plan-feature-failing .plan-feature-check,.plan-feature-failing .plan-feature-name{color:var(--status-error)}.plan-feature-active .plan-feature-check{color:var(--accent);animation:pulse-step 1.5s ease-in-out infinite}.plan-feature-active .plan-feature-name{color:var(--text)}.plan-feature-blocked .plan-feature-check,.plan-feature-blocked .plan-feature-name{color:var(--status-degraded)}.plan-subtask-list{list-style:none;padding:0 0 0 22px;margin:1px 0 2px;display:flex;flex-direction:column;gap:1px}.plan-subtask{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text-dim);line-height:1.3}.plan-subtask-row{display:flex;align-items:center;gap:6px;min-width:0}.plan-subtask-row:hover{background:rgb(var(--accent-rgb) / .06);border-radius:3px}.plan-subtask-check{flex-shrink:0;width:14px;text-align:center;font-size:11px}.plan-subtask-name{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-subtask-passing .plan-subtask-check{color:var(--status-healthy)}.plan-subtask-passing .plan-subtask-name{text-decoration:line-through;opacity:.6}.plan-subtask-failing .plan-subtask-check,.plan-subtask-failing .plan-subtask-name{color:var(--status-error)}.plan-subtask-active .plan-subtask-check{color:var(--accent);animation:pulse-step 1.5s ease-in-out infinite}.plan-subtask-active .plan-subtask-name{color:var(--text)}.plan-subtask-blocked .plan-subtask-check,.plan-subtask-blocked .plan-subtask-name{color:var(--status-degraded)}.plan-subtask-caret{flex-shrink:0;font-size:10px;color:var(--text-dim);opacity:.6;width:10px;text-align:center}.plan-subtask-expanded .plan-subtask-caret{opacity:1}.plan-subtask-badge{flex-shrink:0;font-size:9px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:3px;line-height:1.4}.plan-subtask-badge-infra{background:rgb(var(--accent-rgb) / .12);color:var(--accent);border:1px solid rgb(var(--accent-rgb) / .25)}.plan-subtask-infra .plan-subtask-name{color:var(--text-dim);font-style:italic}.plan-subtask-details{margin:4px 0 8px 22px;padding:6px 10px;background:rgb(var(--accent-rgb) / .04);border-left:2px solid rgb(var(--accent-rgb) / .2);border-radius:3px;font-size:11px;color:var(--text)}.plan-subtask-meta{margin:4px 0}.plan-subtask-meta-label{font-weight:600;color:var(--text-dim);text-transform:uppercase;font-size:10px;letter-spacing:.04em}.plan-subtask-file{display:inline-block;margin:2px 4px 2px 0;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;background:var(--bg-2);border-radius:3px;color:var(--text)}.plan-subtask-accept{margin:2px 0 2px 14px;padding:0;color:var(--text)}.plan-subtask-accept li{margin:2px 0;line-height:1.4}.plan-subtask-evidence{background:rgb(var(--accent-rgb) / .06);padding:4px 8px;border-radius:3px;margin-top:6px}.plan-obligations{margin-top:8px;padding:6px 8px 8px;border-top:1px solid rgb(var(--accent-rgb) / .12);background:#e7aa000f;border-radius:0 0 4px 4px}.plan-obligations-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#b77f00;margin-bottom:4px}.plan-obligations-icon{font-size:12px}.plan-obligations-list{list-style:none;padding:0;margin:0;font-size:11px;max-height:180px;overflow-y:auto}.plan-obligation{display:flex;align-items:center;gap:5px;padding:2px 0;color:var(--text-dim);line-height:1.4}.plan-obligation-check{color:#b77f00;opacity:.7}.plan-obligation-target{font-family:var(--mono, ui-monospace, monospace);color:var(--text)}.plan-obligation-source{font-size:10px;opacity:.6;font-family:var(--mono, ui-monospace, monospace)}.plan-obligation-overflow{font-style:italic;opacity:.6}.popover-trigger.has-obligations{border-color:#e7aa00!important}.popover-badge-warn{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:14px;padding:0 4px;margin-left:2px;font-size:10px;font-weight:700;color:#fff;background:#e7aa00;border-radius:7px;line-height:14px}.plan-incomplete-banner{padding:6px 10px;margin:-4px -4px 4px;background:#e7aa002e;color:#8a5d00;font-size:11px;font-weight:600;border-bottom:1px solid rgb(231 170 0 / .3);border-radius:4px 4px 0 0}.ctx-indicator{cursor:default}.ctx-indicator .popover-count{min-width:32px;padding:0 5px;font-variant-numeric:tabular-nums;background:#ffffff0d;color:var(--text-dim)}.cost-trigger .popover-count{min-width:34px;padding:0 5px;font-variant-numeric:tabular-nums;background:rgb(var(--accent-rgb) / .12);color:var(--text-dim)}.cost-trigger:hover .popover-count,.cost-trigger.pinned .popover-count{color:var(--accent);background:rgb(var(--accent-rgb) / .25)}.cost-popover{min-width:280px;max-width:360px}.cost-popover-summary{display:flex;flex-direction:column;gap:2px;padding:4px 0 8px;border-bottom:1px solid var(--border, rgba(255,255,255,.08));margin-bottom:6px}.cost-popover-total{font-size:18px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.cost-popover-subtotal{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.cost-model-table{width:100%;border-collapse:collapse;font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.cost-model-table th{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px 4px 0;text-align:right;border-bottom:1px solid var(--border, rgba(255,255,255,.08));white-space:nowrap}.cost-model-table th:first-child{text-align:left;padding-left:0}.cost-model-table th:last-child{padding-right:0}.cost-model-table td{padding:3px 6px 3px 0;text-align:right;white-space:nowrap}.cost-model-table td:first-child{padding-left:0}.cost-model-table td:last-child{padding-right:0}.cost-model-table td.cost-model-name{text-align:left;overflow:hidden;text-overflow:ellipsis;max-width:140px}.cost-model-table td.cost-model-usd,.cost-model-table td.cost-model-tps{color:var(--text);font-weight:500}.project-info-bar-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.view-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;margin-right:12px}.view-toggle-label{font-size:11px;color:var(--text-dim);transition:color .2s,font-weight .2s}.view-toggle-label.active{color:var(--accent);font-weight:600}.view-toggle-track{width:36px;height:20px;background:var(--accent);border:1px solid var(--accent);border-radius:10px;position:relative;transition:background .2s}.view-toggle-thumb{width:14px;height:14px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s ease;box-shadow:0 1px 3px #0000004d}.view-toggle-track.toggled .view-toggle-thumb{transform:translate(16px)}.info-bar-btn.rebuild{font-size:16px;font-weight:700}.info-bar-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:5px 7px;border-radius:4px;transition:all .12s;display:flex;align-items:center;justify-content:center;font-size:14px;text-decoration:none}.info-bar-project-id{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;font-size:11px;font-family:Geist Mono,ui-monospace,SF Mono,JetBrains Mono,Menlo,monospace;color:var(--text-dim);cursor:pointer;transition:color .12s,border-color .12s,background .12s;white-space:nowrap}.info-bar-project-id:hover{color:var(--text);border-color:#1a161233;background:var(--surface)}.info-bar-project-id-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);opacity:.75}.info-bar-project-id-value{font-weight:500;color:var(--text);letter-spacing:-.01em}.info-bar-btn:hover{color:var(--text);background:var(--surface-2)}.info-bar-btn.play:hover{color:var(--status-healthy);background:var(--status-healthy-bg)}.info-bar-btn.stop:hover{color:var(--status-error);background:var(--status-error-bg)}.info-bar-btn.info-bar-stop-gen{gap:5px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.02em}.info-bar-stop-gen-label{display:inline-block;line-height:1}.info-bar-btn.info-bar-stop-gen.active{color:var(--status-error);border-color:var(--status-error);background:var(--status-error-bg)}.info-bar-btn.info-bar-stop-gen.active:hover{color:#fff;background:var(--status-error);border-color:var(--status-error)}.info-bar-btn.preview-link{color:var(--accent)}.info-bar-btn.preview-link:hover{color:var(--accent-hover);background:rgb(var(--accent-rgb) / .1)}.info-bar-btn.deploy-btn{color:var(--text-dim)}.info-bar-btn.deploy-btn:hover{color:var(--text);background:var(--overlay-2)}.undeploy-modal{max-width:420px}.undeploy-modal-body{font-size:13px;color:var(--text-dim);line-height:1.5;margin:10px 0 18px}.auth-btn.undeploy-confirm-btn{background:var(--status-error);border-color:var(--status-error);color:#fff}.auth-btn.undeploy-confirm-btn:hover{background:var(--status-error);border-color:var(--status-error)}.visibility-modal{max-width:520px}.visibility-intro{font-size:12px;color:var(--text-dim);margin-bottom:12px;line-height:1.45}.visibility-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.visibility-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2, rgba(255,255,255,.03))}.visibility-row-label{display:flex;flex-direction:column;gap:2px;min-width:0}.visibility-row-name{font-family:SF Mono,ui-monospace,monospace;font-size:13px;color:var(--text)}.visibility-row-state{font-size:11px;color:var(--text-dim)}.visibility-row-state.public{color:#86efac}.visibility-row-state.private{color:var(--text-dim)}.visibility-override-hint{color:var(--accent);font-style:italic}.visibility-row-actions{display:flex;gap:6px;align-items:center}.visibility-arm-btn,.visibility-confirm-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:30px;padding:0 10px;border-radius:4px;cursor:pointer;white-space:nowrap;line-height:1;transition:all .12s}.visibility-arm-btn{background:none;border:1px solid var(--border);font-size:14px;color:var(--text)}.visibility-arm-btn:hover{background:var(--surface-3);border-color:var(--text-dim)}.visibility-confirm-btn{background:var(--status-error);color:#fff;border:1px solid var(--status-error);font-size:11px;font-weight:600;letter-spacing:.3px;gap:5px;animation:pulse-confirm 1.2s ease-in-out infinite}.visibility-confirm-btn:hover{background:var(--status-error);border-color:var(--status-error)}.visibility-confirm-btn .check{font-size:13px;line-height:1}@keyframes pulse-confirm{0%,to{box-shadow:0 0 0 0 var(--status-error-bg)}50%{box-shadow:0 0 0 4px transparent}}.visibility-empty{font-size:12px;color:var(--text-dim);padding:8px 10px}.visibility-actions{display:flex;justify-content:flex-end}.info-bar-btn.deploy-btn.spinning,.info-bar-btn.undeploy-btn.spinning{animation:none}.info-bar-btn.deploy-btn.spinning svg,.info-bar-btn.undeploy-btn.spinning svg{animation:pulse-opacity 1.2s ease-in-out infinite}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.35}}.info-bar-btn.deploy-btn:disabled,.info-bar-btn.undeploy-btn:disabled{opacity:.6;cursor:not-allowed}.info-bar-btn.undeploy-btn{color:var(--text-dim)}.info-bar-btn.undeploy-btn:hover{color:var(--text);background:var(--overlay-2)}.info-bar-btn.production-link{color:#34d399;gap:5px}.info-bar-btn.production-link:hover{color:#6ee7b7;background:#34d3991a}.production-url-text{font-size:11px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deploy-toast{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.deploy-toast.success{background:#34d39926;color:#34d399}.deploy-toast.error{background:var(--status-error-bg);color:var(--status-error)}.deploy-toast a{color:inherit;text-decoration:underline}.deploy-toast-close{background:none;border:none;color:inherit;cursor:pointer;font-size:16px;padding:0 2px;opacity:.7}.deploy-toast-close:hover{opacity:1}.service-badge{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim);padding:2px 8px;border-radius:4px;background:var(--surface-2)}.service-badge-clickable{cursor:pointer;transition:background .15s,outline-color .15s}.service-badge-clickable:hover{background:var(--surface-3, rgba(255,255,255,.08))}.service-badge-active{outline:1px solid var(--accent, var(--accent));outline-offset:-1px}.service-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim)}.service-running .service-dot{background:var(--status-healthy)}.service-running.health-starting .service-dot,.service-running.health-unhealthy .service-dot{background:var(--status-warning)}.service-missing .service-dot,.service-crashloop .service-dot,.service-exited .service-dot,.service-dead .service-dot{background:var(--status-error)}.service-restarting .service-dot,.service-created .service-dot{background:var(--status-warning)}.service-logical .service-dot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--text-dim)}.service-logical.health-ready .service-dot{background:transparent;box-shadow:inset 0 0 0 1.5px #86efac}.service-logical.health-missing .service-dot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--status-error)}.service-logical.health-unknown .service-dot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--text-dim)}.service-logical .stack-service-name{opacity:.85}.service-logical .stack-service-status{font-style:italic;opacity:.7}.service-clickable{cursor:pointer;transition:background .15s}.service-clickable:hover{background:var(--surface-3, rgba(255,255,255,.08))}.service-selected{outline:1px solid var(--accent, var(--accent));outline-offset:-1px}.infobar-logs-panel{background:#0d1117;border-bottom:1px solid var(--border, rgba(255,255,255,.08));flex-shrink:0}.infobar-logs-panel .service-logs-content{max-height:200px}.service-logs-panel{margin-top:8px;background:#0d1117;border:1px solid var(--border, rgba(255,255,255,.08));border-radius:6px;overflow:hidden}.service-logs-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--overlay-1);border-bottom:1px solid var(--border, rgba(255,255,255,.08))}.ai-fix-btn{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.ai-fix-btn:hover:not(:disabled){background:#535bf2}.ai-fix-btn:disabled{opacity:.5;cursor:default}.service-logs-close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0 4px;line-height:1}.service-logs-close:hover{color:var(--text)}.service-logs-content{margin:0;padding:10px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px;line-height:1.5;color:var(--text);white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto}.chat{flex:1;display:flex;flex-direction:column;min-height:0;padding:16px}.messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0;display:flex;flex-direction:column;gap:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px}.empty-state p{font-size:16px;font-weight:500;color:var(--text-dim)}.suggestions{display:flex;flex-direction:column;gap:8px;width:100%}.suggestion{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:13px;cursor:pointer;text-align:left;transition:all .15s}.suggestion:hover{border-color:var(--accent);background:rgb(var(--accent-rgb) / .08)}.message{display:flex}.message.user{justify-content:flex-end}.message-bubble{max-width:85%;padding:10px 14px;border-radius:var(--radius);font-size:14px;line-height:1.5}.message.user .message-bubble{background:var(--user-bubble);color:#fff;border-bottom-right-radius:4px}.message.assistant .message-bubble{background:var(--assistant-bubble);color:var(--text);border-bottom-left-radius:4px}.message-bubble.error-bubble{background:var(--status-error-bg);border:1px solid var(--status-error-bg);color:var(--status-error)}.message-bubble.interrupted-bubble{opacity:.7;font-style:italic;border-left:2px solid var(--status-warn, #d4a017)}.interrupted-marker{font-size:.85em;opacity:.65;font-style:normal}.chat-msg-app-badge{display:inline-block;padding:1px 6px;margin-right:6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:lowercase;letter-spacing:.02em;background:#ffffff2e;color:inherit;opacity:.85;vertical-align:1px}.message.assistant .chat-msg-app-badge{background:var(--bg-2, rgba(0, 0, 0, .06))}.message.assistant.plan-approval-message{flex-direction:column;align-items:flex-start}.message-bubble.plan-approval-bubble{background:#3b82f614;border:1px solid rgba(59,130,246,.3);max-width:100%}.plan-approval-header{font-weight:600;margin-bottom:10px;color:var(--status-frozen);font-size:14px}.plan-approval-text{font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;max-height:400px;overflow-y:auto;padding:10px 12px;background:#0003;border-radius:6px;margin:0 0 12px;color:var(--text);font-family:var(--font-mono, "SF Mono", "Fira Code", "Cascadia Code", monospace)}.plan-approval-actions{display:flex;align-items:center;gap:12px}.plan-approve-btn{padding:8px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.plan-approve-btn:hover{background:#2563eb}.plan-approval-hint{font-size:12px;color:#8888a0;font-style:italic}.plan-approval-frozen-label{font-size:12px;color:var(--text-dim);font-style:italic}.chat-plan-summary{margin-top:6px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff05;overflow:hidden}.chat-plan-summary-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:none;color:var(--text);font-size:12px;cursor:pointer}.chat-plan-summary-header:hover{background:#ffffff0a}.chat-plan-summary-icon{font-size:10px;color:var(--text-dim);width:12px}.chat-plan-summary-title{font-weight:500}.chat-plan-summary-meta{margin-left:auto;font-size:11px;color:var(--text-dim)}.chat-plan-summary-list{list-style:none;margin:0;padding:4px 0 8px;border-top:1px solid rgba(255,255,255,.06);max-height:280px;overflow-y:auto}.chat-plan-summary-item{display:flex;align-items:center;gap:8px;padding:3px 12px;font-size:12px;color:var(--text-dim)}.chat-plan-summary-item.status-passing,.chat-plan-summary-item.status-passing-unverified{color:var(--text)}.chat-plan-summary-item.status-active{color:var(--accent)}.chat-plan-summary-item.status-failing,.chat-plan-summary-item.status-blocked{color:var(--status-error)}.chat-plan-summary-item.status-cancelled .chat-plan-summary-label{text-decoration:line-through;opacity:.6}.chat-plan-summary-item.status-split .chat-plan-summary-label{font-style:italic;opacity:.7}.chat-plan-summary-item.status-reopened{color:var(--status-degraded)}.chat-plan-summary-marker{width:12px;text-align:center;font-size:11px}.chat-plan-summary-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-plan-summary-origin{font-size:10px;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em;background:#ffffff0d;color:var(--text-dim);flex-shrink:0}.chat-plan-summary-origin.origin-producer-split{background:#8b5cf61f;color:#a78bfa}.chat-plan-summary-origin.origin-producer-added{background:#22c55e1a;color:#4ade80}.chat-plan-summary-origin.origin-playbook{background:#3b82f61a;color:#60a5fa}.reload-preview-btn{display:block;margin-top:8px;background:rgb(var(--accent-rgb) / .15);border:1px solid rgb(var(--accent-rgb) / .3);border-radius:6px;color:var(--accent);font-size:12px;padding:4px 10px;cursor:pointer;transition:all .15s}.reload-preview-btn:hover{background:rgb(var(--accent-rgb) / .25);border-color:var(--accent)}.generating{display:flex;align-items:center;gap:10px;color:var(--text-dim)}.message.plan-steps{justify-content:flex-start}.plan-frozen .plan-steps-card{opacity:.6}.plan-timer{font-size:10px;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--text-dim);opacity:.7;font-family:SF Mono,Fira Code,monospace;font-variant-numeric:tabular-nums}.plan-step-events{list-style:none;padding:0 0 0 26px;margin:0 0 4px;display:flex;flex-direction:column;gap:1px}.plan-step-event{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim);opacity:.7;padding:1px 0;font-family:SF Mono,Fira Code,monospace}.plan-event-name{color:var(--text-dim);font-weight:500}.plan-event-detail{opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-event-narration{border-left:2px solid rgb(var(--accent-rgb) / .4);padding-left:8px;margin:2px 0}.plan-event-narration-text{color:var(--text);font-style:italic;font-size:11px;line-height:1.4;white-space:normal;word-break:break-word}.message.todo-progress{justify-content:flex-start}.todo-card{background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--status-frozen-bg);border-radius:6px;padding:10px 14px;max-width:420px;width:100%}.todo-header{font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px}.todo-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.todo-item{display:flex;align-items:center;gap:8px;font-size:12px;padding:2px 0;color:var(--text-dim);transition:color .2s,opacity .2s}.todo-check{font-size:12px;flex-shrink:0;width:14px;text-align:center}.todo-label{flex:1;min-width:0}.todo-done .todo-check{color:var(--status-healthy)}.todo-done .todo-label{text-decoration:line-through;opacity:.6}.todo-pending .todo-check{color:var(--text-dim);opacity:.5}.message.activity{justify-content:flex-start}.activity-message{display:flex;gap:6px;align-items:flex-start;font-size:12px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;padding:3px 10px;line-height:1.4;max-width:85%}.activity-icon{flex-shrink:0;width:16px;text-align:center}.activity-text{word-break:break-word;color:var(--text-dim)}.activity-reasoning .activity-text{color:var(--accent);font-style:italic}.activity-tool .activity-text,.activity-tool-done .activity-text{color:var(--status-frozen)}.activity-file-edit .activity-text{color:var(--status-healthy)}.activity-error .activity-text{color:var(--status-error)}.activity-narration{flex-direction:column;background:rgb(var(--accent-rgb) / .06);border-left:2px solid rgb(var(--accent-rgb) / .4);border-radius:0 6px 6px 0;padding:8px 12px;margin:4px 0;max-width:90%}.activity-narration .activity-icon{display:none}.narration-text{color:var(--text)!important;font-style:italic;font-size:12px;line-height:1.5;white-space:normal}.narration-text .md-para{margin:0 0 6px}.narration-text .md-para:last-child{margin-bottom:0}.narration-text .md-list{margin:4px 0;padding-left:16px}.narration-cursor{display:inline-block;width:6px;height:14px;background:rgb(var(--accent-rgb) / .7);margin-left:2px;vertical-align:text-bottom;animation:cursorBlink 1s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.activity-thinking{flex-direction:column;background:#7f7f7f0d;border-left:2px solid rgb(127 127 127 / .3);border-radius:0 6px 6px 0;padding:6px 10px;margin:4px 0;max-width:90%;opacity:.85}.activity-thinking .activity-icon{display:none}.thinking-text{color:var(--text)!important;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,monospace;font-size:11px;line-height:1.45;white-space:normal;word-break:break-word;display:block}.thinking-source{display:inline-block;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:rgb(var(--accent-rgb) / .7);margin-right:6px;font-weight:600}.thinking-body{white-space:inherit}.message-bubble .md-para{margin:0 0 8px}.message-bubble .md-para:last-child{margin-bottom:0}.message-bubble .md-list{margin:4px 0;padding-left:18px}.message-bubble .md-list li{margin:2px 0}.message-bubble .md-code{background:var(--overlay-2);padding:1px 4px;border-radius:3px;font-family:SF Mono,Fira Code,monospace;font-size:.9em}.message-bubble strong{font-weight:600;color:inherit}.activity-status .activity-text{color:var(--text-dim)}.abort-btn{margin-left:12px;background:var(--status-error-bg);border:1px solid var(--status-error-bg);color:var(--status-error);font-size:11px;font-weight:600;padding:3px 10px;border-radius:4px;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.5px}.abort-btn:hover{background:var(--status-error-bg);border-color:var(--status-error)}.dot-pulse{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.thinking-bar{display:flex;align-items:center;gap:8px;margin-top:12px;padding:6px 10px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);font-size:12px;animation:thinking-bar-fade-in .12s ease-out}.thinking-bar-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:thinking-bar-pulse 1.2s ease-in-out infinite;flex-shrink:0}.thinking-bar-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes thinking-bar-pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes thinking-bar-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.input-area{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border);margin-top:12px;align-items:flex-end}.input-area textarea{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s;resize:none;overflow:hidden;min-height:40px;line-height:1.4}.input-area textarea:focus{border-color:var(--accent)}.input-area textarea::placeholder{color:var(--text-dim)}.input-area button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s;flex-shrink:0;align-self:flex-end}.input-area button:hover:not(:disabled){background:var(--accent-hover)}.input-area button:disabled{opacity:.5;cursor:not-allowed}.message.queued{justify-content:flex-end}.message.queued .queued-bubble{background:var(--user-bubble);color:#fff;border-bottom-right-radius:4px;position:relative;padding-right:32px;opacity:.7}.queued-label{display:inline-block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text);margin-right:8px;padding:1px 5px;border:1px solid var(--text-dim);border-radius:3px;vertical-align:middle}.queued-delete-btn{position:absolute;top:6px;right:6px;width:20px;height:20px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;border-radius:4px;font-size:12px;line-height:20px;text-align:center;padding:0;transition:background .15s,color .15s}.queued-delete-btn:hover{background:var(--overlay-3);color:#fff}.message.queued.queued-system{justify-content:flex-start}.queued-system-bubble{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;font-size:12px;color:var(--text-dim);background:var(--overlay-1);border-left:2px solid var(--overlay-3);border-radius:0 6px 6px 0;max-width:85%}.queued-system-label{color:var(--text-dim);border-color:var(--overlay-3)}.queued-system-text{font-family:SF Mono,Fira Code,Cascadia Code,monospace}.main{flex:1;display:flex;flex-direction:column;min-width:0}.editor-tabs{display:flex;background:var(--bg);border-bottom:1px solid var(--border);overflow-x:auto;min-height:35px}.editor-tabs::-webkit-scrollbar{height:0}.editor-tab{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface);border-right:1px solid var(--border);color:var(--text-dim);font-size:12px;font-family:SF Mono,Fira Code,monospace;cursor:pointer;white-space:nowrap;transition:all .12s;min-width:0}.editor-tab:hover{color:var(--text)}.editor-tab.active{background:var(--surface-2);color:var(--text);border-bottom:2px solid var(--accent);margin-bottom:-1px}.editor-tab-name{display:flex;align-items:center;gap:4px}.editor-tab-dirty{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}.editor-tab-close{background:none;border:none;color:var(--text-dim);font-size:11px;cursor:pointer;padding:0 2px;border-radius:3px;opacity:0;transition:all .12s;display:flex;align-items:center}.editor-tab:hover .editor-tab-close{opacity:1}.editor-tab-close:hover{background:var(--status-error-bg);color:var(--status-error)}.code-editor{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.code-editor .cm-editor{flex:1;overflow:auto;font-size:13px}.code-editor .cm-scroller{font-family:SF Mono,Fira Code,Cascadia Code,monospace!important}.code-viewer-loading{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-dim);font-size:14px}.editor-save-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:4px 12px;background:var(--surface);border-top:1px solid var(--border)}.editor-save-hint{font-size:11px;color:var(--text-dim)}.editor-save-btn{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:4px 14px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}.editor-save-btn:hover:not(:disabled){background:var(--accent-hover)}.editor-save-btn:disabled{opacity:.5;cursor:not-allowed}.editor-save-btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.editor-save-btn-ghost:hover:not(:disabled){background:var(--surface);border-color:var(--accent)}.editor-save-btn-danger{background:var(--danger, #dc2626);color:#fff;border:none}.editor-save-btn-danger:hover:not(:disabled){background:var(--danger-hover, #b91c1c)}.content-summary-panel{border-top:1px solid var(--border);background:var(--surface);padding:8px 12px;max-height:200px;overflow:auto;font-size:12px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;color:var(--text)}.content-summary-title{font-weight:500;margin-bottom:6px;display:flex;align-items:center;gap:6px}.content-summary-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2px}.content-summary-key{color:var(--text-dim)}.content-summary-create{color:var(--success, #16a34a)}.content-summary-update{color:var(--accent, #3b82f6)}.content-summary-delete{color:var(--danger, #dc2626)}.content-summary-warning{color:var(--warning, #d97706)}.content-summary-muted{color:var(--text-dim)}.content-summary-error{color:var(--danger, #dc2626);background:color-mix(in srgb,var(--danger, #dc2626) 12%,transparent);border:1px solid var(--danger, #dc2626);border-radius:3px;padding:6px 8px;margin-bottom:6px}.content-summary-error-inline{color:var(--danger, #dc2626)}.content-summary-icon-ok{color:var(--success, #16a34a)}.content-summary-icon-bad{color:var(--danger, #dc2626)}.preview-area{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column}.preview-tabs{display:flex;gap:2px;padding:4px 4px 0;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.preview-tab{padding:6px 14px;border:none;border-radius:6px 6px 0 0;background:transparent;color:var(--text-dim);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.preview-tab:hover{color:var(--text);background:var(--overlay-2)}.preview-tab.active{color:var(--text);background:rgb(var(--accent-rgb) / .15)}.preview-iframe{width:100%;height:100%;border:none;background:#fff;color-scheme:light}.preview-sleeping{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);gap:24px}.preview-sleeping-icon{width:80px;height:80px;border-radius:50%;background:rgb(var(--accent-rgb) / .1);border:1px solid rgb(var(--accent-rgb) / .25);display:flex;align-items:center;justify-content:center;position:relative;animation:sleeping-pulse 3s ease-in-out infinite}.sleeping-moon{width:32px;height:32px;border-radius:50%;background:transparent;box-shadow:inset -10px -2px 0 0 var(--accent)}.sleeping-moon:after,.sleeping-moon:before{content:"";position:absolute;border-radius:50%;background:rgb(var(--accent-rgb) / .45)}.sleeping-moon:after{width:5px;height:5px;top:16px;right:18px}.sleeping-moon:before{width:3px;height:3px;top:24px;right:26px}@keyframes sleeping-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.85}}.sleeping-frozen-icon{color:var(--accent)}.preview-sleeping-content{text-align:center}.preview-sleeping-content h2{margin:0 0 6px;font-size:18px;font-weight:600;color:var(--text);letter-spacing:-.01em}.preview-sleeping-content p{margin:0 0 20px;font-size:13px;color:var(--text-dim)}.sleeping-wake-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:rgb(var(--accent-rgb) / .12);border:1px solid rgb(var(--accent-rgb) / .35);border-radius:8px;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.sleeping-wake-btn:hover{background:rgb(var(--accent-rgb) / .22);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px)}.sleeping-wake-btn:active{transform:translateY(0)}.preview-progress-bar{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;border:2px solid transparent;border-radius:4px;animation:preview-glow 2s ease-in-out infinite}.preview-progress-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,var(--accent, #6d5dfc) 40%,var(--accent, #6d5dfc) 60%,transparent 100%);animation:progress-shimmer 1.5s ease-in-out infinite}.preview-progress-shimmer{display:none}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes preview-glow{0%,to{border-color:#6d5dfc26;box-shadow:inset 0 0 30px #6d5dfc08}50%{border-color:#6d5dfc59;box-shadow:inset 0 0 30px #6d5dfc0f}}.preview-build-toast{position:absolute;bottom:16px;right:16px;z-index:20;pointer-events:none;display:flex;align-items:center;gap:8px;padding:8px 14px;background:#0a0a0fd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--overlay-3);border-radius:20px;color:var(--text-dim, #8b8ba0);font-size:12px;font-family:inherit;animation:toast-fade-in .3s ease}.preview-build-toast-dot{width:6px;height:6px;border-radius:50%;background:#f59e0b;animation:toast-pulse 1s ease-in-out infinite}@keyframes toast-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-pulse{0%,to{opacity:1}50%{opacity:.3}}.quota-warning-toast{pointer-events:auto;cursor:pointer;border-color:#f973164d;color:#f97316;bottom:48px}.preview-placeholder{display:flex;align-items:center;justify-content:center;height:100%;background:var(--bg)}.placeholder-content{text-align:center;color:var(--text-dim)}.placeholder-icon{font-size:48px;color:var(--accent);opacity:.3;display:block;margin-bottom:16px}.placeholder-content h2{font-size:18px;font-weight:500;margin-bottom:8px;color:var(--text);opacity:.5}.placeholder-content p{font-size:14px}.placeholder-building h2{opacity:.8}.placeholder-building p{opacity:.6;margin-bottom:20px}.building-animation{position:relative;width:80px;height:80px;margin:0 auto 24px}.building-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid transparent;border-top-color:var(--accent);animation:building-spin 1.5s linear infinite}.building-ring-2{top:8px;right:8px;bottom:8px;left:8px;border-top-color:transparent;border-right-color:var(--accent);opacity:.4;animation-direction:reverse;animation-duration:2s}.building-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}@keyframes building-spin{to{transform:rotate(360deg)}}.building-dots{display:flex;gap:6px;justify-content:center}.building-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-dim);opacity:.3;animation:building-pulse 1.4s ease-in-out infinite}.building-dots span:nth-child(2){animation-delay:.2s}.building-dots span:nth-child(3){animation-delay:.4s}@keyframes building-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.db-browser{display:flex;flex-direction:column;height:100%;background:var(--bg)}.db-browser-content{display:flex;flex-direction:column;height:100%;position:relative}.db-browser-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface);font-size:12px;flex-shrink:0}.db-browser-table-name{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--text)}.db-browser-count{color:var(--text-dim);font-size:11px}.db-browser-pagination{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim)}.db-browser-pagination button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:2px 8px;cursor:pointer;font-size:13px;line-height:1}.db-browser-pagination button:disabled{opacity:.3;cursor:default}.db-browser-pagination button:not(:disabled):hover{background:var(--surface-3)}.db-table-wrapper{flex:1;overflow:auto}.db-table{width:100%;border-collapse:collapse;font-size:12px;font-family:SF Mono,Fira Code,monospace}.db-table th{position:sticky;top:0;background:var(--surface);padding:6px 10px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-dim);border-bottom:1px solid var(--border);white-space:nowrap;z-index:1}.db-table td{padding:5px 10px;border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis}.db-table tbody tr:hover{background:var(--surface-2)}.db-null{color:var(--text-dim);opacity:.5;font-style:italic}.db-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg);opacity:.5;z-index:2}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid var(--border);border-radius:50%;color:var(--text-dim);cursor:pointer;transition:all .15s;margin-right:8px}.theme-toggle-btn:hover{color:var(--text);border-color:var(--accent);background:var(--overlay-1)}.user-menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid var(--border);border-radius:50%;color:var(--text-dim);cursor:pointer;transition:all .15s}.user-menu-btn:hover{color:var(--text);border-color:var(--accent);background:var(--overlay-1)}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:50;padding:4px;display:flex;flex-direction:column}.user-menu-email{padding:8px 12px;font-size:12px;color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-item{padding:8px 12px;background:none;border:none;border-radius:4px;color:var(--text);font-size:13px;cursor:pointer;text-align:left;transition:background .12s}.user-menu-item:hover{background:var(--surface-2)}.user-menu-divider{height:1px;background:var(--border);margin:4px 0}.user-menu-identities{padding:4px 0}.user-menu-section-label{padding:4px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);opacity:.7}.user-menu-identity{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:var(--text-dim)}.identity-icon{display:flex;align-items:center;color:var(--accent)}.identity-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-unverified{color:#e5a83b;font-size:11px}.identity-unlink-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;opacity:.5;transition:opacity .12s,color .12s}.identity-unlink-btn:hover{opacity:1;color:var(--status-error)}.user-menu-link-btn{display:flex!important;align-items:center;gap:8px;font-size:12px!important;color:var(--accent)!important}.user-menu-link-form{display:flex;flex-direction:column;gap:6px;padding:8px 12px}.user-menu-link-form input{padding:6px 8px;font-size:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);outline:none}.user-menu-link-form input:focus{border-color:var(--accent)}.user-menu-link-form-actions{display:flex;gap:4px}.user-menu-link-form-actions button{flex:1;font-size:11px!important;text-align:center;padding:5px 8px!important}.user-menu-link-polling{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;color:var(--text-dim);flex-wrap:wrap}.user-menu-error{padding:4px 12px;font-size:11px;color:var(--status-error)}.twa-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg)}.twa-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:40px 20px;background:radial-gradient(1200px 520px at 20% -10%,rgba(114,176,42,.08),transparent 60%),radial-gradient(900px 480px at 90% 110%,rgba(114,176,42,.06),transparent 55%),var(--bg)}.auth-back{position:absolute;top:20px;left:24px;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-dim);font-size:13px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.auth-back:hover{color:var(--text);background:var(--surface);border-color:#1a161233}.auth-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:36px 36px 28px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px;box-shadow:0 1px #1a161205,0 10px 40px -18px #1a16122e,0 30px 80px -30px #72b02a1f}.auth-brand{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-weight:600;font-size:.98rem;letter-spacing:-.01em;color:var(--text);margin-bottom:6px}.auth-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--accent);color:#fff;font-size:.9rem;line-height:1;box-shadow:0 1px #00000014}.auth-brand-text{font-family:Geist,Inter,-apple-system,BlinkMacSystemFont,sans-serif}.auth-heading{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.auth-card h2{font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--text);line-height:1.15}.auth-card form{width:100%;display:flex;flex-direction:column;gap:10px}.auth-card input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.auth-card input:focus{border-color:var(--accent)}.auth-card input::placeholder{color:var(--text-dim)}.auth-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border:1px solid transparent;border-radius:10px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s}.auth-btn:disabled{cursor:not-allowed}.auth-telegram-btn{background:var(--accent);color:#fff;box-shadow:0 1px #00000014,0 8px 20px -12px #72b02a80}.auth-telegram-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.auth-telegram-btn:disabled{background:var(--surface-2);color:var(--text-dim);box-shadow:none;border-color:var(--border)}.auth-telegram-btn svg{flex-shrink:0}.auth-oauth-btn{background:var(--surface);color:var(--text);border-color:#1a161226;box-shadow:0 1px #00000005}.auth-oauth-btn:hover:not(:disabled){border-color:#1a16124d;transform:translateY(-1px)}.auth-oauth-btn:disabled{opacity:.5}.auth-oauth-logo{display:inline-block;flex-shrink:0}.auth-ghost-btn{background:transparent;color:var(--text);border-color:var(--border);text-decoration:none}.auth-ghost-btn:hover{background:var(--surface-2);border-color:#1a161238}.auth-link{background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;transition:color .15s}.auth-link:hover{color:var(--accent-hover)}.auth-error{background:#dc262614;border:1px solid rgba(220,38,38,.2);color:#b91c1c;font-size:13px;text-align:left;padding:10px 12px;border-radius:8px;margin:0}.auth-success{color:#15803d;font-size:13px;text-align:center}.auth-message{color:var(--text-dim);font-size:13px;text-align:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.modal h3{font-size:16px;font-weight:600;color:var(--text)}.modal-warning{font-size:13px;color:var(--status-error);line-height:1.5}.modal-pin{font-size:13px;color:var(--text-dim)}.modal-pin strong{color:var(--text);font-family:SF Mono,Fira Code,monospace;letter-spacing:2px}.modal-input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:16px;font-family:SF Mono,Fira Code,monospace;letter-spacing:4px;text-align:center;outline:none;transition:border-color .15s}.modal-input:focus{border-color:var(--accent)}.modal-input-text{font-family:inherit;letter-spacing:normal;text-align:left;font-size:14px}.modal-input-text::placeholder{font-family:inherit;letter-spacing:normal;opacity:.55}.modal-actions{display:flex;gap:8px;margin-top:4px}.modal-actions .auth-btn.secondary{flex:1}.modal-delete-btn{flex:1;padding:10px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;background:#dc2626;color:#fff;transition:all .15s}.modal-delete-btn:hover:not(:disabled){background:var(--status-error)}.modal-delete-btn:disabled{opacity:.4;cursor:not-allowed}.projects-dashboard{flex:1;overflow-y:auto;padding:32px 48px;background:var(--bg)}.projects-dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.projects-dashboard-header h2{font-size:22px;font-weight:600;color:var(--text)}.projects-dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0;color:var(--text-dim)}.projects-dashboard-empty h3{font-size:18px;font-weight:500;color:var(--text);opacity:.5;margin-top:12px}.projects-dashboard-empty p{font-size:14px;margin-top:6px}.projects-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.project-card{display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;text-align:left;transition:all .15s;width:100%}.project-card:hover{border-color:var(--accent);background:var(--surface-2)}.project-card-deleting{border-color:rgb(var(--status-error-rgb, 220 38 38) / .55);background:rgb(var(--status-error-rgb, 220 38 38) / .06);cursor:not-allowed;pointer-events:none;animation:project-card-deleting-pulse 1.4s ease-in-out infinite}.project-card-deleting>*{opacity:.55}.project-card-deleting .project-status.deleting{color:var(--status-error);background:rgb(var(--status-error-rgb, 220 38 38) / .12);font-weight:600;letter-spacing:.02em;opacity:1}.project-card-deleting:hover{border-color:rgb(var(--status-error-rgb, 220 38 38) / .55);background:rgb(var(--status-error-rgb, 220 38 38) / .06)}@keyframes project-card-deleting-pulse{0%,to{box-shadow:0 0 rgb(var(--status-error-rgb, 220 38 38) / 0)}50%{box-shadow:0 0 0 4px rgb(var(--status-error-rgb, 220 38 38) / .1)}}.projects-bulk-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.projects-bulk-count{font-size:13px;font-weight:600;color:var(--text)}.projects-bulk-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .12s}.projects-bulk-btn:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.projects-bulk-btn:disabled{opacity:.4;cursor:not-allowed}.projects-bulk-btn.danger{color:var(--status-error);border-color:rgb(var(--status-error-rgb, 220 38 38) / .45)}.projects-bulk-btn.danger:hover:not(:disabled){color:#fff;background:var(--status-error);border-color:var(--status-error)}.project-card-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.project-card-selected:hover{border-color:var(--accent)}.project-card-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;margin:0;border:1.5px solid var(--text-dim);border-radius:3px;background:transparent;cursor:pointer;flex-shrink:0;position:relative;transition:all .12s}.project-card-select:hover{border-color:var(--accent)}.project-card-select:checked{background:var(--accent);border-color:var(--accent)}.project-card-select:checked:after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.project-card-select:disabled{opacity:.4;cursor:not-allowed}.project-card-header{display:flex;align-items:center;gap:8px}.project-card-name{font-size:14px;font-weight:500;color:var(--text);line-height:1.4;word-break:break-word}.project-card-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}.project-card-action-btn{background:none;border:none;color:var(--text-dim);font-size:13px;cursor:pointer;padding:2px 4px;border-radius:3px;opacity:0;transition:all .12s;display:flex;align-items:center}.project-card-action-btn:first-of-type{margin-left:auto}.project-card:hover .project-card-action-btn{opacity:.6}.project-card-action-btn:hover{opacity:1!important;color:var(--accent);background:rgb(var(--accent-rgb) / .1)}.project-card-action-btn.delete:hover{color:var(--status-error);background:var(--status-error-bg)}.project-card-rename-input{width:100%;background:var(--surface-2);border:1px solid var(--accent);border-radius:6px;padding:6px 10px;color:var(--text);font-size:14px;font-family:inherit;outline:none}.project-card-id{font-size:11px;color:var(--text-dim);font-family:SF Mono,Fira Code,monospace}.project-card-services{display:flex;align-items:center;gap:4px}.role-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px;white-space:nowrap;background:rgb(var(--accent-rgb) / .15);color:var(--accent)}.role-badge.role-agency{background:var(--status-warning-bg);color:var(--status-warning)}.role-badge.role-viewer{background:#8888a026;color:var(--text-dim)}.obligations-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap;background:#e7aa002e;color:#8a5d00;border:1px solid rgb(231 170 0 / .4);cursor:help}.public-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px;white-space:nowrap;background:var(--status-healthy-bg);color:var(--status-healthy)}.info-bar-btn.share:hover{color:var(--accent);background:rgb(var(--accent-rgb) / .1)}.info-bar-btn.visibility{font-size:13px}.info-bar-btn.visibility.public{color:var(--text-dim)}.share-modal{max-width:480px}.share-add-row{display:flex;gap:6px;align-items:center}.share-email-input{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text);font-size:13px;outline:none;transition:border-color .15s;font-family:inherit}.share-email-input:focus{border-color:var(--accent)}.share-role-select{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px 6px;color:var(--text);font-size:12px;outline:none;cursor:pointer}.share-role-select.small{padding:4px;font-size:11px}.share-add-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 14px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s;white-space:nowrap}.share-add-btn:hover:not(:disabled){background:var(--accent-hover)}.share-add-btn:disabled{opacity:.5;cursor:not-allowed}.share-members-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto}.share-member-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-2);border-radius:6px;font-size:13px}.share-member-email{flex:1;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-remove-btn{background:none;border:none;color:var(--text-dim);font-size:12px;cursor:pointer;padding:2px 4px;border-radius:3px;transition:all .12s}.share-remove-btn:hover{color:var(--status-error);background:var(--status-error-bg)}.share-public-link{display:flex;align-items:center;gap:8px;padding:8px 0}.share-public-label{font-size:12px;color:var(--text-dim);white-space:nowrap}.share-link-input{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--accent);font-size:12px;font-family:SF Mono,Fira Code,monospace;outline:none;cursor:pointer}.share-link-input:focus{border-color:var(--accent)}@media (max-width: 768px){.app-body{flex-direction:column}.activity-bar{flex-direction:row;width:100%;min-width:unset;height:40px;min-height:40px;border-right:none;border-bottom:1px solid var(--border);padding:0 8px}.activity-btn{border-left:none;border-bottom:2px solid transparent}.activity-btn.active{border-left-color:transparent;border-bottom-color:var(--accent)}.sidebar{width:100%!important;min-width:unset!important;max-height:50vh;border-right:none;border-bottom:1px solid var(--border)}}.resource-confirm-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--overlay-1);border:1px solid var(--border);border-radius:6px}.resource-confirm-id{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-confirm-warning{font-size:13px;color:var(--text-dim);line-height:1.5}.resource-confirm-warning strong{color:var(--status-error)}.resource-confirm-warning p{margin:0}.info-bar-btn.restart{opacity:.5;padding:2px 4px}.info-bar-btn.restart:hover{opacity:1;color:var(--status-healthy)}.info-bar-btn.restart.spinning svg{animation:spin 1s linear infinite}.preview-mockup-container{position:relative;display:flex;flex-direction:column;height:100%}.mockup-badge{position:absolute;top:12px;right:12px;background:#646cffe6;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:12px;z-index:10;letter-spacing:.3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.preview-mockup-container .preview-iframe{flex:1;border:none;border-radius:0}.mockup-actions{display:flex;gap:8px;padding:10px 14px;background:var(--surface-2);border-top:1px solid var(--border);align-items:center}.mockup-approve-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s}.mockup-approve-btn:hover{background:#535bf2}.mockup-feedback-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px 12px;color:var(--text);font-size:13px;outline:none;transition:border-color .15s}.mockup-feedback-input:focus{border-color:var(--accent)}.mockup-feedback-input::placeholder{color:var(--text-dim)}.jobs-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.jobs-header h2{font-size:20px;font-weight:600;color:var(--text);margin-bottom:4px}.jobs-subtitle{font-size:13px;color:var(--text-dim)}.jobs-actions{display:flex;gap:8px;flex-shrink:0}.jobs-btn{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.jobs-btn:hover{background:var(--surface);border-color:var(--text-dim)}.jobs-btn:disabled{opacity:.5;cursor:not-allowed}.jobs-btn-danger{color:var(--status-error);border-color:var(--status-error-bg)}.jobs-btn-danger:hover{background:var(--status-error-bg);border-color:var(--status-error)}.jobs-empty{text-align:center;color:var(--text-dim);padding:4rem 1rem;font-size:14px}.jobs-list{display:flex;flex-direction:column;gap:6px}.job-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px;transition:border-color .15s}.job-card:hover{border-color:var(--overlay-3)}.job-card.job-active{border-left:3px solid #eab308}.job-card.job-waiting{border-left:3px solid #3b82f6}.job-card.job-failed{border-left:3px solid var(--status-error)}.job-card.job-completed{border-left:3px solid var(--status-healthy);opacity:.7}.job-card-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.job-card-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.job-state-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.job-dot-active{background:#eab308;animation:job-dot-pulse 1.5s ease-in-out infinite}.job-dot-waiting{background:#3b82f6}.job-dot-failed{background:var(--status-error)}.job-dot-completed{background:var(--status-healthy)}.job-dot-cancelled{background:var(--text-dim)}@keyframes job-dot-pulse{0%,to{opacity:1;box-shadow:0 0 #eab30866}50%{opacity:.7;box-shadow:0 0 0 4px #eab30800}}.job-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}.job-card-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-card-meta{font-size:11px;color:var(--text-dim);font-family:monospace}.job-card-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.job-state-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px}.job-resume-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;padding:1px 6px;margin-left:8px;border-radius:3px;background:#6366f126;color:#818cf8;text-transform:uppercase;letter-spacing:.4px}.job-hb-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;padding:1px 6px;margin-left:6px;border-radius:3px;text-transform:uppercase;letter-spacing:.4px}.job-hb-alive{background:#22c55e26;color:#4ade80}.job-hb-stale{background:#ef444426;color:#f87171}.job-resume-detail{display:block;font-size:11px;color:var(--text-muted, #6b7280);margin-top:2px;font-style:italic}.jobs-subtitle-resume{display:inline-flex;align-items:center;gap:4px;color:#818cf8}.job-badge-active{color:#eab308;background:#eab3081a}.job-badge-waiting{color:#3b82f6;background:#3b82f61a}.job-badge-failed{color:var(--status-error);background:var(--status-error-bg)}.job-badge-completed{color:var(--status-healthy);background:var(--status-healthy-bg)}.job-badge-cancelled{color:var(--text-dim);background:#ffffff0d}.job-duration{font-size:12px;color:var(--text-dim);font-family:monospace;min-width:48px;text-align:right}.job-kill-btn{background:none;border:1px solid transparent;cursor:pointer;padding:4px;border-radius:4px;color:var(--text-dim);display:flex;align-items:center;transition:color .15s,background .15s,border-color .15s}.job-kill-btn:hover{color:var(--status-error);background:var(--status-error-bg);border-color:var(--status-error-bg)}.job-progress-track{margin-top:8px;height:3px;background:var(--surface-2);border-radius:2px;overflow:hidden}.job-progress-value{height:100%;background:#eab308;border-radius:2px;transition:width .3s ease}.job-error{margin-top:8px;padding:6px 8px;font-size:11px;font-family:monospace;color:var(--status-error);background:var(--status-error-bg);border-radius:4px;word-break:break-all;line-height:1.4}.settings-page{flex:1;padding:40px;overflow-y:auto}.settings-layout{flex:1;display:grid;grid-template-columns:220px minmax(0,1fr);min-height:0;overflow:hidden}.settings-layout>.stack-nav{border-right:1px solid var(--border);border-bottom:none;padding:16px 10px;gap:2px;overflow-y:auto}.settings-content{overflow-y:auto;padding:32px 40px 56px}.settings-tab-body{max-width:720px;display:flex;flex-direction:column;gap:16px}.settings-tab-body.settings-tab-body-wide{max-width:none}.settings-tab-body>.settings-card+.settings-card{margin-top:0}.settings-tab-header{margin-bottom:4px}.settings-tab-header h2{font-size:22px;font-weight:600;color:var(--text);margin:0 0 4px;letter-spacing:-.01em}.settings-tab-header p{font-size:13px;color:var(--text-dim);margin:0;line-height:1.5}.settings-slot-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding:4px;background:var(--surface-2);border-radius:8px}.settings-slot-pill{flex:1;min-width:140px;display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-dim);text-align:center;transition:background .12s,color .12s}.settings-slot-pill:hover{color:var(--text);background:var(--surface)}.settings-slot-pill.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #1a16120f}.settings-slot-label{font-size:13px;font-weight:600;text-align:center;display:block}.settings-slot-desc{font-size:11px;opacity:.75;font-weight:400;text-align:center;display:block}.settings-slot-tabs-single-row{flex-wrap:nowrap;overflow-x:auto}.settings-slot-tabs-single-row .settings-slot-pill{flex:1 1 0;min-width:120px}.settings-slot-group-label{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);margin:4px 0 8px}.settings-source-badge{display:inline-block;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:var(--surface-2);border-radius:3px}.settings-readonly-grid{gap:8px;padding:14px 18px}.settings-readonly-row{display:grid;grid-template-columns:130px 1fr 90px 60px;gap:12px;font-size:12px;color:var(--text-dim);align-items:center}.settings-readonly-slot{font-weight:600;color:var(--text)}.settings-readonly-model{font-family:var(--font-mono, monospace);font-size:11px}.settings-readonly-provider{font-size:11px;opacity:.8}.settings-readonly-source{font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.7;text-align:right}.settings-pro-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px;margin-top:4px}.settings-pro-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;cursor:pointer;text-align:left;transition:all .15s}.settings-pro-chip:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))}.settings-pro-chip-label{font-size:12px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:6px}.settings-pro-chip-note{font-size:10px;color:var(--text-dim)}.settings-pro-chip.byok-required{border-color:#eab30866}.settings-pro-chip.byok-required:hover{border-color:#eab308cc;background:#eab3080f}.settings-card.settings-card-split{flex-direction:row;align-items:stretch;gap:18px}.settings-card.settings-card-split .settings-card-form{flex:1 1 240px;min-width:220px;display:flex;flex-direction:column;gap:14px}.settings-preset-panel{flex:1 1 260px;min-width:220px;display:flex;flex-direction:column;gap:10px;padding-left:16px;border-left:1px solid var(--border)}.settings-preset-panel-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.settings-preset-panel-header h4{margin:0;font-size:13px;font-weight:600;color:var(--text);letter-spacing:.01em}.settings-preset-panel-header .settings-muted{font-size:11px;color:var(--text-dim)}.settings-preset-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-preset-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:9px 10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:3px;min-width:0;transition:border-color .12s ease,background .12s ease,transform 60ms ease}.settings-preset-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))}.settings-preset-card:active{transform:translateY(1px)}.settings-preset-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-2));box-shadow:inset 0 0 0 1px var(--accent)}.settings-preset-card.byok-required{border-color:#eab30873}.settings-preset-card.byok-required:hover{border-color:#eab308e6;background:#eab30812}.settings-preset-card-head{display:flex;align-items:center;gap:6px}.settings-preset-card-label{font-size:12px;font-weight:600;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.settings-preset-card-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0}.settings-preset-card-model{font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-dim);background:var(--surface);padding:1px 4px;border-radius:4px;border:1px solid var(--border);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-preset-card-provider{font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);background:color-mix(in srgb,var(--border) 60%,transparent)}.settings-preset-card-provider.provider-zai{color:#93c5fd;background:#3b82f61f}.settings-preset-card-provider.provider-openrouter{color:#a8a29e;background:#78716c2e}.settings-preset-card-provider.provider-openai{color:#86efac;background:#22c55e1f}.settings-preset-card-provider.provider-anthropic{color:#fdba74;background:#f973161f}.settings-preset-card-provider.provider-nebius{color:#d8b4fe;background:#a855f71f}.settings-preset-card-note{font-size:10.5px;color:var(--text-dim);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.settings-preset-active-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}.settings-preset-footer{margin:6px 0 0;font-size:11px;color:var(--text-dim);line-height:1.4}.settings-card.settings-card-split{container-type:inline-size;container-name:settings-split}@container settings-split (max-width: 640px){.settings-card.settings-card-split{flex-direction:column}.settings-card.settings-card-split .settings-preset-panel{padding-left:0;border-left:none;border-top:1px solid var(--border);padding-top:16px}}@container settings-split (max-width: 420px){.settings-card.settings-card-split .settings-preset-cards{grid-template-columns:1fr}}@supports not (container-type: inline-size){@media (max-width: 820px){.settings-card.settings-card-split{flex-direction:column}.settings-card.settings-card-split .settings-preset-panel{padding-left:0;border-left:none;border-top:1px solid var(--border);padding-top:16px}}@media (max-width: 520px){.settings-card.settings-card-split .settings-preset-cards{grid-template-columns:1fr}}}.settings-byok-badge{display:inline-block;padding:1px 6px;font-size:9.5px;font-weight:700;letter-spacing:.05em;color:#ca8a04;background:#eab30826;border-radius:8px;text-transform:uppercase}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 22px;display:flex;flex-direction:column;gap:14px}.settings-card+.settings-actions-row{margin-top:16px}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field label{font-size:12px;font-weight:500;color:var(--text-dim);letter-spacing:.02em}.settings-field input,.settings-field select{width:100%;max-width:420px;padding:8px 10px;font-size:13px;font-family:inherit;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);transition:border-color .12s,box-shadow .12s}.settings-field input:focus,.settings-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .15)}.settings-link{color:var(--accent);font-size:13px;word-break:break-all}.settings-muted{font-size:13px;color:var(--text-dim)}.settings-error{color:var(--status-error);font-size:12px;margin:0}.settings-actions-row{display:flex;gap:10px;flex-wrap:wrap}.settings-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;min-width:120px;font-size:13px;font-weight:500;font-family:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .12s}.settings-btn:hover:not(:disabled){border-color:var(--text-dim);background:var(--surface-2)}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.settings-btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.settings-btn.danger{color:var(--status-error);border-color:var(--status-error-bg)}.settings-btn.danger:hover:not(:disabled){background:var(--status-error-bg);border-color:var(--status-error)}.settings-tab-body .auth-btn{width:auto;padding:8px 18px;font-size:13px;border-radius:6px}.settings-tab-body .auth-input{width:100%;max-width:260px;font-size:13px}.settings-tab-body .settings-card h3{font-size:15px;margin:0 0 4px;color:var(--text)}@media (max-width: 720px){.settings-layout{grid-template-columns:1fr}.settings-layout>.stack-nav{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;overflow-x:auto;padding:8px}.settings-content{padding:24px 20px 40px}}.settings-page-header h2{font-size:20px;font-weight:600;color:var(--text);margin-bottom:4px}.settings-subtitle{color:var(--text-dim);font-size:13px;margin-bottom:32px}.settings-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--surface);border-radius:8px;padding:4px;border:1px solid var(--border)}.settings-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer;transition:all .15s}.settings-tab:hover{background:var(--overlay-2);color:var(--text)}.settings-tab.active{background:rgb(var(--accent-rgb) / .15);color:var(--accent)}.settings-tab-label{font-size:13px;font-weight:600}.settings-tab-desc{font-size:9px;opacity:.6}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px}.project-card-name-row{display:flex;align-items:center;gap:6px;padding:6px 12px 2px}.project-card-name{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-edit-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;flex-shrink:0}.project-card-edit-btn:hover{color:var(--text);background:var(--overlay-2)}.project-card-services{display:flex;flex-wrap:wrap;gap:3px;padding:4px 12px}.split-editor{display:flex;flex:1;min-height:0;height:100%}.split-editor-left{flex:1;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--border)}.split-editor-left .cm-editor{flex:1;min-height:0}.split-editor-right{flex:1;min-width:0;display:flex;flex-direction:column;overflow:auto}.design-preview{display:flex;flex-direction:column;height:100%}.design-preview-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.design-preview-iframe{flex:1;border:none;background:var(--surface)}.arch-diagram{display:flex;flex-direction:column;height:100%;background:var(--bg)}.arch-diagram-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.arch-diagram-content{flex:1;padding:24px;overflow:auto;display:flex;justify-content:center}.arch-nodes{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:280px}.arch-node{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:4px 0;min-height:40px}.arch-node svg{justify-self:center}.arch-node-primary{padding:8px 0}.arch-node-info{display:flex;flex-direction:column;gap:0;min-width:0}.arch-node-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.3}.arch-node-detail{font-size:10px;color:var(--text-dim);font-family:SF Mono,Fira Code,Menlo,monospace;line-height:1.4}.arch-arrow{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;height:24px}.arch-arrow-line{width:1px;height:100%;background:var(--border);justify-self:center}.arch-arrow-label{font-size:9px;color:var(--border);font-family:SF Mono,Fira Code,Menlo,monospace;white-space:nowrap}.arch-app-group{display:flex;align-items:flex-start;gap:0}.arch-connected-services{display:flex;flex-direction:column;gap:2px;padding-top:8px;padding-left:4px}.arch-svc-item{display:flex;align-items:center;gap:8px;padding:4px 0}.arch-svc-item svg{flex-shrink:0}.arch-svc-connector{width:20px;height:1px;background:var(--border);flex-shrink:0}.stack-page{flex:1;display:flex;flex-direction:row;overflow:hidden;background:var(--bg)}.stack-sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:0;flex-shrink:0;width:360px;min-width:360px;overflow:visible}.stack-sidebar>.sidebar-project-bar{display:flex;align-items:center;padding:6px 14px;background:var(--surface);border-bottom:1px solid var(--border);min-height:34px;flex-shrink:0;position:relative;z-index:60}.stack-sidebar>.sidebar-project-bar .project-selector{max-width:none;flex:1}.stack-sidebar>.files-panel-header{padding:4px 16px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);flex-shrink:0}.stack-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.stack-page-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-dim)}.stack-page-empty h3{font-size:16px;font-weight:600;color:var(--text);margin:0}.stack-page-empty p{font-size:13px;margin:0}.stack-page-status-bar{display:flex;justify-content:flex-end;padding:4px 12px 8px}.stack-page-status-badge{font-size:11px;font-weight:600;padding:2px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}.stack-page-status-badge.status-healthy{background:var(--status-healthy-bg);color:var(--status-healthy)}.stack-page-status-badge.status-partial{background:#eab30826;color:#eab308}.stack-page-status-badge.status-stopped{background:var(--status-error-bg);color:var(--status-error)}.stack-page-status-badge.status-paused{background:rgb(var(--accent-rgb) / .15);color:var(--accent)}.stack-page-status-badge.status-frozen{background:var(--status-frozen-bg);color:var(--status-frozen)}.stack-page-actions{display:flex;gap:8px}.stack-page-btn{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:6px 14px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:all .15s}.stack-page-btn:hover{background:var(--surface-2);border-color:var(--text-dim)}.stack-page-btn.secondary{color:var(--text-dim)}.stack-nav{display:flex;flex-direction:column;padding:4px 8px;gap:1px;flex-shrink:0;border-bottom:1px solid var(--border)}.stack-nav-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;padding:7px 10px;border:none;background:none;color:var(--text-dim);cursor:pointer;border-radius:5px;transition:all .15s;text-align:left}.stack-nav-item:hover{color:var(--text);background:var(--surface-2)}.stack-nav-item.active{color:var(--text);background:var(--surface-2);font-weight:600}.stack-nav-item.active:before{content:"";position:absolute;left:8px;width:3px;height:18px;border-radius:2px;background:var(--accent)}.stack-nav-item{position:relative;padding-left:10px}.stack-nav-item.active{padding-left:18px}.stack-explorer{flex:1;overflow-y:auto;padding:8px;min-height:0}.stack-explorer-section{margin-bottom:12px}.stack-explorer-heading{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);padding:4px 6px 6px}.stack-explorer-tree{margin-bottom:1px}.stack-explorer-node{display:flex;align-items:center;gap:6px;width:100%;padding:4px 6px;border:none;background:none;color:var(--text);cursor:pointer;font-size:12px;font-family:inherit;border-radius:4px;transition:background .1s;text-align:left}.stack-explorer-node:hover{background:var(--surface-2)}.stack-explorer-schema .stack-explorer-table-name{font-weight:600;color:var(--accent)}.stack-explorer-schema .stack-explorer-count{color:var(--accent);opacity:.6}.stack-explorer-chevron{transition:transform .15s;flex-shrink:0}.stack-explorer-chevron.expanded{transform:rotate(90deg)}.stack-explorer-count{margin-left:auto;font-size:10px;color:var(--text-dim);background:var(--surface-2);padding:1px 5px;border-radius:8px}.stack-explorer-columns{padding-left:28px}.stack-explorer-col{display:flex;align-items:center;justify-content:space-between;padding:2px 6px;font-size:11px;color:var(--text-dim);border-radius:3px}.stack-explorer-col:hover{background:var(--surface-2);color:var(--text)}.stack-explorer-col-name{font-family:SF Mono,Fira Code,monospace}.stack-explorer-col-type{font-size:10px;opacity:.7;font-family:SF Mono,Fira Code,monospace}.stack-explorer-file{display:flex;align-items:center;gap:6px;padding:3px 6px;font-size:12px;color:var(--text-dim);border-radius:4px;overflow:hidden}.stack-explorer-file:hover{background:var(--surface-2);color:var(--text)}.stack-explorer-file.active{background:var(--accent);color:var(--bg)}.stack-explorer-file.active:hover{background:var(--accent)}.stack-explorer-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack-nav-divider{height:1px;background:var(--border);margin:4px 10px}.stack-explorer-inline{display:flex;flex-direction:column;gap:2px}.stack-explorer-table-name{font-weight:500}.stack-explorer-col-header{display:grid;grid-template-columns:1fr 1fr 60px 1fr;gap:8px;padding:6px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-dim);border-bottom:1px solid var(--border)}.stack-explorer-col-detail{display:grid;grid-template-columns:1fr 1fr 60px 1fr;gap:8px;padding:4px 12px;font-size:12px;color:var(--text-dim);border-radius:4px}.stack-explorer-col-detail:hover{background:var(--surface-2);color:var(--text)}.stack-explorer-col-nullable{font-size:11px;opacity:.7}.stack-explorer-col-default{font-size:11px;opacity:.7;font-family:SF Mono,Fira Code,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.neon-status-grid{display:flex;flex-direction:column;gap:6px}.neon-status-row{display:flex;align-items:baseline;gap:10px;font-size:12px}.neon-status-label{color:var(--text-secondary);min-width:90px;flex-shrink:0}.neon-status-value{color:var(--text-primary);font-family:SF Mono,Fira Code,monospace;font-size:11px;word-break:break-word}.neon-status-ok{color:var(--status-healthy)}.neon-status-err{color:var(--status-error)}.neon-status-sleep{color:#facc15}.neon-wake-btn,.neon-sleep-btn{margin-left:auto;padding:3px 10px;font-size:11px;border-radius:4px;border:1px solid var(--border);cursor:pointer;font-family:inherit;white-space:nowrap}.neon-wake-btn{background:var(--status-healthy-bg);color:var(--status-healthy)}.neon-wake-btn:hover:not(:disabled){background:#15803d}.neon-sleep-btn{background:transparent;color:var(--text-secondary)}.neon-sleep-btn:hover:not(:disabled){background:var(--bg-hover);color:#facc15}.neon-wake-btn:disabled,.neon-sleep-btn:disabled{opacity:.5;cursor:not-allowed}.monitoring-page{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;background:var(--bg)}.admin-dashboard .monitoring-page,.settings-dashboard .monitoring-page,.ops-dashboard .monitoring-page{padding:0}.admin-dashboard .monitoring-body,.settings-dashboard .settings-content{padding:20px 24px 32px}.ops-dashboard .jobs-header{padding:32px 40px 0}.ops-dashboard .monitoring-body{padding:0 40px 32px}.settings-dashboard .settings-content{overflow-y:auto}.admin-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 6px;border-radius:8px;background:#ef4444;color:#fff;font-size:10px;font-weight:600}.monitoring-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid var(--border)}.monitoring-header h2{font-size:16px;font-weight:600;color:var(--text)}.monitoring-refresh{display:flex;align-items:center;gap:6px;padding:5px 12px;font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);cursor:pointer;font-family:inherit}.monitoring-refresh:hover{background:var(--border);color:var(--text)}.monitoring-body{padding:16px 24px 32px;display:flex;flex-direction:column;gap:20px}.monitoring-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.monitoring-section-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:12px;display:flex;align-items:center;gap:8px}.monitoring-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.monitoring-card{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.ops-dashboard .monitoring-body{gap:28px}.ops-dashboard .monitoring-section{background:transparent;border:none;border-radius:0;padding:0}.ops-dashboard .monitoring-section-title{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px}.ops-dashboard .monitoring-card{background:var(--surface)}.monitoring-card-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.monitoring-card-value{font-size:18px;font-weight:600;color:var(--text)}.monitoring-card-detail{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-dim);font-family:SF Mono,Fira Code,monospace;margin-top:4px}.monitoring-mono,.monitoring-table .monitoring-mono{font-family:SF Mono,Fira Code,monospace;font-size:11px}.mon-ok{color:var(--status-healthy)}.mon-err{color:var(--status-error)}.mon-warn{color:#facc15}.mon-dim{color:var(--text-dim)}.branch-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;line-height:1;padding:2px 6px;border-radius:4px;letter-spacing:.2px;border:1px solid transparent;white-space:nowrap}.branch-main,.branch-prod{background:#4ade801f;color:#4ade80;border-color:#4ade804d}.branch-dev{background:#60a5fa1f;color:#60a5fa;border-color:#60a5fa4d}.branch-ckpt{background:#a78bfa1f;color:#a78bfa;border-color:#a78bfa4d}.branch-preview{background:#94a3b81f;color:#94a3b8;border-color:#94a3b84d}.branch-untracked{background:#f871711f;color:#f87171;border-color:#f8717159}.branch-serves{font-size:9px;font-weight:700;padding:1px 3px;border-radius:3px;background:#ffffff24;text-transform:uppercase}.monitoring-subhead{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);padding:9px 8px 4px;border-bottom:1px dashed var(--border);margin-top:4px}.monitoring-subhead.mon-err{color:var(--status-error)}.branch-topo{display:flex;flex-direction:column;gap:2px;margin-top:8px}.branch-topo-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:5px;font-size:12px;background:var(--surface-2);border:1px solid var(--border)}.branch-topo-fork{color:var(--text-dim);margin-right:-4px}.branch-topo-name{font-weight:600;min-width:90px}.branch-topo-tl{color:var(--text-secondary);font-size:11px}.branch-topo-parent{font-size:11px;color:var(--text-dim)}.branch-topo-origin{font-size:11px;color:var(--text-dim);margin-left:auto}.branch-topo-age{font-size:11px;color:var(--text-dim);min-width:32px;text-align:right}.monitoring-btn,.monitoring-btn-warn,.monitoring-btn-err{padding:3px 9px;font-size:11px;font-family:inherit;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--text);border-radius:3px;cursor:pointer;line-height:1.3}.monitoring-btn:hover:not(:disabled){background:#ffffff1a}.monitoring-btn-warn{background:#facc151a;border-color:#facc1559;color:#facc15}.monitoring-btn-warn:hover:not(:disabled){background:#facc152e}.monitoring-btn-err{background:#f871711a;border-color:#f8717159;color:#f87171}.monitoring-btn-err:hover:not(:disabled){background:#f871712e}.monitoring-btn:disabled,.monitoring-btn-warn:disabled,.monitoring-btn-err:disabled{opacity:.5;cursor:not-allowed}.monitoring-table{display:flex;flex-direction:column;font-size:12px}.monitoring-table-header{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;padding:6px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);border-bottom:1px solid var(--border)}.monitoring-table-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;padding:8px;border-bottom:1px solid var(--border);align-items:center}.monitoring-table-row:last-child{border-bottom:none}.monitoring-table-row:hover{background:var(--surface-2)}.traces-page{padding-bottom:32px}.traces-mono{font-family:SF Mono,Fira Code,monospace}.traces-filters{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;padding:14px 40px;border-bottom:1px solid var(--border);background:var(--bg)}.traces-filter-group{display:flex;align-items:center;gap:8px}.traces-filter-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.traces-filter-search{flex:1 1 260px;min-width:200px;position:relative}.traces-filter-icon{position:absolute;left:8px;color:var(--text-dim);pointer-events:none}.traces-filter-search .traces-input{padding-left:26px;width:100%}.traces-filter-clear{position:absolute;right:6px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:2px;border-radius:3px;display:flex}.traces-filter-clear:hover{color:var(--text);background:var(--surface-2)}.traces-segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px;gap:2px}.traces-segment{background:transparent;border:none;padding:3px 10px;font-size:12px;color:var(--text-dim);border-radius:4px;cursor:pointer;font-family:inherit;font-weight:500}.traces-segment:hover{color:var(--text)}.traces-segment.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000026}.traces-segment:disabled{cursor:default;opacity:.6}.traces-select,.traces-input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:4px 10px;border-radius:6px;font-size:12px;font-family:inherit;outline:none;min-width:0}.traces-select:focus,.traces-input:focus{border-color:var(--accent, #60a5fa)}.traces-select{padding-right:22px;cursor:pointer}.traces-table{margin:0 40px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.traces-table .monitoring-table-header{padding:8px 12px;background:var(--surface-2)}.traces-table .monitoring-table-row{padding:8px 12px;font-size:12px;transition:background .06s ease}.traces-row-notrace{opacity:.65}.traces-row.active,.traces-row.active:hover{background:var(--surface-2)}.traces-message{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.traces-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:600;font-family:SF Mono,Fira Code,monospace;text-transform:lowercase;letter-spacing:.2px;background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);white-space:nowrap}.traces-badge-action{color:var(--status-healthy, #4ade80);border-color:#4ade8040;background:#4ade8014}.traces-badge-proposal{color:#60a5fa;border-color:#60a5fa40;background:#60a5fa14}.traces-badge-escalate{color:#facc15;border-color:#facc1540;background:#facc1514}.traces-badge-chitchat{color:var(--text-dim)}.traces-badge-null{color:var(--status-error, #f87171);border-color:#f8717140;background:#f8717114}.traces-drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40;animation:traces-fade-in .15s ease}.traces-drawer{position:fixed;top:0;right:0;bottom:0;width:min(680px,100vw);background:var(--bg);border-left:1px solid var(--border);box-shadow:-12px 0 40px #00000059;z-index:41;display:flex;flex-direction:column;animation:traces-slide-in .2s ease}@keyframes traces-fade-in{0%{opacity:0}to{opacity:1}}@keyframes traces-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.traces-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--surface)}.traces-drawer-eyebrow{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.7px;margin-bottom:3px}.traces-drawer-title{font-size:13px;color:var(--text);word-break:break-all}.traces-drawer-close{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;border-radius:4px;display:flex}.traces-drawer-close:hover{color:var(--text);background:var(--surface-2)}.traces-drawer-body{flex:1;overflow-y:auto;padding:16px 22px 32px;display:flex;flex-direction:column;gap:16px}.traces-kv{display:flex;flex-direction:column;gap:2px}.traces-kv-row{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:6px 0;border-bottom:1px solid var(--border);align-items:baseline;font-size:12px}.traces-kv-row:last-child{border-bottom:none}.traces-kv-k{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.4px;font-weight:500}.traces-kv-v{color:var(--text);word-break:break-word}.traces-classifier-attempt{padding:8px 0;border-bottom:1px solid var(--border)}.traces-classifier-attempt:last-child{border-bottom:none}.traces-classifier-attempt .traces-kv-row{padding:3px 0;border-bottom:none}.monitoring-row-action{display:flex;align-items:center;justify-content:flex-end}.monitoring-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:1px solid transparent;border-radius:5px;color:var(--text-dim);cursor:pointer;transition:color .12s,background .12s,border-color .12s}.monitoring-delete-btn:hover:not(:disabled){color:#ef4444;background:#ef44441a;border-color:#ef444440}.monitoring-delete-btn:disabled{opacity:.6;cursor:default}.monitoring-spin{animation:monitoring-spin .8s linear infinite}@keyframes monitoring-spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.monitoring-grid{grid-template-columns:repeat(2,1fr)}}.stack-explorer-file-row{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:13px;color:var(--text);border-radius:4px}.stack-explorer-file-row:hover{background:var(--surface-2)}.stack-explorer-file-key{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:SF Mono,Fira Code,monospace;font-size:12px}.garage-bucket-tabs{display:flex;gap:0;margin-bottom:12px;border-bottom:1px solid var(--border)}.garage-bucket-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:12px;font-family:SF Mono,Fira Code,monospace;padding:6px 14px;cursor:pointer;transition:color .15s,border-color .15s}.garage-bucket-tab:hover{color:var(--text)}.garage-bucket-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.garage-bucket-tree{min-height:60px}.garage-file-tree .file-tree-item{font-size:12px;padding-top:3px;padding-bottom:3px}.stack-page-content{flex:1;overflow-y:auto;padding:16px}.stack-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 14px;margin-bottom:14px;border-bottom:1px solid var(--border)}.stack-page-header-main{display:inline-flex;align-items:center;gap:10px;min-width:0}.stack-page-header-name{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}.stack-tab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.stack-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.stack-card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border)}.stack-card-body{padding:14px 16px}.stack-card-empty{font-size:13px;color:var(--text-dim)}.stack-card-value{font-size:13px;color:var(--text);font-family:SF Mono,Fira Code,monospace}.stack-tab-content{max-width:700px}.stack-network-layout{display:flex;flex-direction:row;flex-wrap:nowrap;gap:16px;align-items:flex-start;width:100%}.stack-network-layout .stack-network-diagram{flex:1 1 0;min-width:0;max-width:none;order:0}.stack-network-layout .stack-network-uptime{flex:0 0 360px;min-width:0;max-width:360px;order:1}.stack-network-uptime .uptime-table{font-size:12px}.stack-network-uptime .uptime-table th,.stack-network-uptime .uptime-table td{padding:4px 6px}.stack-network-uptime .uptime-th-timeline,.stack-network-uptime .uptime-td-timeline{min-width:120px}.stack-network-uptime .uptime-service-name{font-size:12px;gap:5px}.stack-network-uptime .uptime-stats{font-size:10px;gap:6px}.stack-network-uptime .uptime-pct{font-size:12px}.stack-network-uptime .uptime-bar{height:3px}.stack-network-uptime .uptime-period-selector{transform:scale(.85);transform-origin:right center}.stack-network-uptime .stack-section-title{font-size:13px}@media (max-width: 900px){.stack-network-layout{flex-direction:column}.stack-network-layout .stack-network-uptime{flex:0 0 auto;max-width:none}}.stack-section{margin-bottom:24px}.stack-section-title{font-size:14px;font-weight:600;color:var(--text);margin:0 0 6px}.stack-section-desc{font-size:12px;color:var(--text-dim);margin:0 0 14px}.snap-take{display:flex;gap:8px;margin:10px 0 16px}.snap-take-input{flex:1;padding:8px 11px;font-size:12.5px;font-family:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;transition:border-color .15s}.snap-take-input:focus{outline:none;border-color:var(--accent)}.snap-take-input::placeholder{color:var(--text-dim);opacity:.7}.snap-take-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:8px 14px;font-size:12.5px;font-weight:500;font-family:inherit;color:#fff;background:var(--accent);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background .15s,transform .12s}.snap-take-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.snap-take-btn:disabled{opacity:.55;cursor:not-allowed}.snap-empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:26px 18px;color:var(--text-dim);border:1px dashed var(--border);border-radius:var(--radius)}.snap-empty svg{opacity:.35}.snap-empty-title{font-size:13px;font-weight:600;color:var(--text)}.snap-empty-sub{font-size:12px;max-width:300px;line-height:1.5}.snap-timeline{position:relative;margin-top:2px}.snap-timeline:before{content:"";position:absolute;left:6px;top:14px;bottom:14px;width:1px;background:var(--border)}.snap-row{position:relative;display:flex;align-items:flex-start;gap:12px;padding:10px 0}.snap-row+.snap-row{border-top:1px solid var(--border)}.snap-dot{flex:none;width:13px;height:13px;margin-top:3px;border-radius:50%;background:var(--surface);z-index:1}.snap-dot.manual{background:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .15)}.snap-dot.auto{background:var(--surface);border:2px solid var(--border)}.snap-dot.event{display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);background:var(--surface);border:1px solid var(--border)}.snap-main{flex:1;min-width:0}.snap-title-row{display:flex;align-items:center;gap:8px}.snap-label{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snap-event-label{font-size:12.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snap-event-label em{font-style:italic;color:var(--text);opacity:.85}.snap-tag{flex:none;font-size:9.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:1px 6px;border-radius:5px}.snap-tag.you{color:var(--accent);background:rgb(var(--accent-rgb) / .12)}.snap-tag.auto{color:var(--text-dim);background:var(--surface-2)}.snap-desc{font-size:11.5px;color:var(--text-dim);margin-top:2px}.snap-meta{font-size:11px;color:var(--text-dim);opacity:.8;margin-top:3px}.snap-actions{flex:none;display:flex;align-items:center;gap:4px}.snap-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:500;font-family:inherit;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:7px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.snap-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:rgb(var(--accent-rgb) / .08)}.snap-btn:disabled{opacity:.5;cursor:not-allowed}.snap-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;padding:0;color:var(--text-dim);background:transparent;border:1px solid transparent;border-radius:7px;cursor:pointer;opacity:0;transition:opacity .15s,color .15s,background .15s}.snap-row:hover .snap-icon-btn{opacity:1}.snap-icon-btn:hover:not(:disabled){color:var(--status-error);background:var(--status-error-bg)}.snap-icon-btn:disabled{cursor:not-allowed}.snap-more{display:inline-flex;align-items:center;gap:4px;margin-top:10px;padding:4px 2px;font-size:12px;font-family:inherit;color:var(--text-dim);background:none;border:none;cursor:pointer;transition:color .15s}.snap-more:hover{color:var(--accent)}.stack-env-add{display:flex;gap:8px;margin-bottom:14px}.stack-env-input{flex:1;font-size:13px;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:SF Mono,Fira Code,monospace}.stack-env-input:focus{outline:none;border-color:var(--accent)}.stack-env-input::placeholder{color:var(--text-dim);font-family:inherit}.stack-env-add-btn{font-size:12px;font-weight:500;padding:8px 16px;border-radius:6px;border:none;background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;transition:opacity .15s}.stack-env-add-btn:hover{opacity:.9}.stack-env-add-btn:disabled{opacity:.5;cursor:default}.stack-env-masked{font-size:11px;color:var(--text-dim);letter-spacing:2px;flex-shrink:0}.stack-apply-btn{width:100%;font-size:12px;font-weight:500;padding:8px 16px;margin-top:10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:all .15s}.stack-apply-btn:hover{background:var(--surface-2)}.stack-apply-btn:disabled{opacity:.5;cursor:default}.svc-discovery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.svc-discovery-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.svc-discovery-card.svc-coming-soon{opacity:.5}.svc-discovery-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.svc-discovery-name{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text)}.svc-discovery-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px;text-transform:uppercase;letter-spacing:.3px}.svc-badge-running,.svc-badge-available{background:var(--status-healthy-bg);color:var(--status-healthy)}.svc-badge-stopped,.svc-badge-exited{background:var(--status-error-bg);color:var(--status-error)}.svc-badge-embedded{background:rgb(var(--accent-rgb) / .12);color:#8b5cf6}.svc-badge-coming-soon{background:#eab3081f;color:#eab308}.svc-badge-unavailable{background:#6b72801f;color:var(--text-dim)}.svc-badge-connected{background:var(--status-healthy-bg);color:var(--status-healthy)}.svc-badge-not-provisioned{background:#eab3081f;color:#eab308}.svc-provision-btn{margin-top:8px;width:100%;font-size:12px;font-weight:500;padding:6px 12px;border-radius:6px;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;transition:all .15s}.svc-provision-btn:hover{background:var(--accent);color:#fff}.svc-provision-btn:disabled{opacity:.5;cursor:default}.svc-discovery-body{padding:10px 14px}.svc-discovery-action-btn{padding:4px 12px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;font-size:12px}.svc-discovery-action-btn:hover{background:var(--surface-2)}.svc-discovery-action-btn:disabled{opacity:.5;cursor:default}.svc-discovery-row{display:flex;align-items:baseline;gap:10px;padding:3px 0}.svc-discovery-label{font-size:11px;color:var(--text-dim);min-width:65px;flex-shrink:0}.svc-discovery-code{font-size:12px;color:var(--text);font-family:SF Mono,Fira Code,monospace;word-break:break-all}.svc-discovery-tags{display:flex;gap:4px;flex-wrap:wrap}.svc-discovery-tag{font-size:11px;font-family:SF Mono,Fira Code,monospace;background:var(--overlay-2);padding:1px 6px;border-radius:3px;color:var(--text)}.quota-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:12px;border-radius:8px;font-size:13px}.quota-banner.quota-ok{background:#4fc3f70f;border:1px solid rgba(79,195,247,.2)}.quota-banner.quota-exceeded{background:#f4433614;border:1px solid rgba(244,67,54,.25)}.quota-banner-icon{width:22px;height:22px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.quota-ok .quota-banner-icon{background:#4fc3f7}.quota-exceeded .quota-banner-icon{background:#f44336}.quota-banner-content{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#ccc}.quota-ok .quota-banner-content strong{color:#4fc3f7}.quota-exceeded .quota-banner-content strong{color:#f44336}.quota-increase-btn{padding:4px 12px;border-radius:6px;font-size:12px;cursor:pointer;margin-left:4px}.quota-ok .quota-increase-btn{border:1px solid rgba(79,195,247,.3);background:#4fc3f71a;color:#4fc3f7}.quota-ok .quota-increase-btn:hover{background:#4fc3f72e}.quota-exceeded .quota-increase-btn{border:1px solid rgba(244,67,54,.4);background:#f443361f;color:#f44336}.quota-exceeded .quota-increase-btn:hover{background:#f4433633}.resource-limits-card.resource-limits-exceeded{border-color:#f4433659;background:#f443360a}.resource-limits-card .stack-card-header{display:flex;align-items:center;gap:8px}.resource-limits-badge{margin-left:auto;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:10px}.resource-limits-badge.ok{background:#4fc3f71f;color:#4fc3f7}.resource-limits-badge.exceeded{background:#f4433624;color:#f44336}.resource-limits-note{margin:0 0 12px;color:#f44336;font-size:12px}.resource-usage-row{display:grid;grid-template-columns:56px 120px 1fr;align-items:center;gap:10px;margin-bottom:8px;font-size:12px}.resource-usage-label{font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.resource-usage-value{font-family:SF Mono,Fira Code,monospace;color:var(--text);font-size:12px;display:inline-flex;align-items:center;gap:6px}.resource-usage-row-over .resource-usage-value,.resource-usage-row-over .resource-usage-label{color:#f44336}.resource-usage-tag{display:inline-block;padding:1px 6px;border-radius:4px;background:#f4433629;color:#f44336;font-family:inherit;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.resource-usage-bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.resource-usage-bar-fill{height:100%;background:#4fc3f7;border-radius:3px;transition:width .25s ease}.resource-usage-bar-fill.warn{background:#f59e0b}.resource-usage-bar-fill.over{background:#f44336}.resource-limits-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;margin-top:10px;border-top:1px solid var(--border)}.resource-limits-footer .quota-increase-btn.btn-accent{border:1px solid rgba(79,195,247,.3);background:#4fc3f71a;color:#4fc3f7}.resource-limits-footer .quota-increase-btn.btn-accent:hover:not(:disabled){background:#4fc3f72e}.resource-limits-footer .quota-increase-btn.btn-danger{border:1px solid rgba(244,67,54,.4);background:#f443361f;color:#f44336}.resource-limits-footer .quota-increase-btn.btn-danger:hover:not(:disabled){background:#f4433633}.sec-posture-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.sec-posture-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);text-align:center}.sec-posture-icon{opacity:.9}.sec-posture-stat{font-size:16px;font-weight:600;color:var(--text)}.sec-posture-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.sec-posture-breakdown{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.sec-breakdown-item{font-size:10px;padding:0 5px;border-radius:6px}.sec-breakdown-frozen{background:#38bdf81f;color:#38bdf8}.sec-breakdown-crash{background:var(--status-error-bg);color:var(--status-error)}.sec-breakdown-stopped{background:#6b72801f;color:var(--text-dim)}.sec-good{border-color:#34d3994d}.sec-good .sec-posture-icon,.sec-good .sec-posture-stat{color:#34d399}.sec-warn{border-color:var(--status-warning-bg)}.sec-warn .sec-posture-icon,.sec-warn .sec-posture-stat{color:var(--status-warning)}.sec-bad{border-color:var(--status-error-bg)}.sec-bad .sec-posture-icon,.sec-bad .sec-posture-stat{color:var(--status-error)}.sec-neutral .sec-posture-icon{color:var(--text-dim)}.sec-platform-map{margin-top:12px}.sec-zone{border:1px dashed var(--border);border-radius:10px;padding:16px;position:relative}.sec-zone-platform{border-color:#34d39940;background:#34d39905}.sec-zone-label{position:absolute;top:-9px;left:16px;background:var(--surface);padding:0 8px;font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.sec-node-grid{display:flex;flex-wrap:wrap;gap:8px}.sec-node{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);font-size:12px}.sec-node-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sec-node-name{color:var(--text);font-weight:500}.sec-node-port{color:var(--text-dim);font-size:10px;font-family:monospace}.sec-edge-summary{margin-top:10px;font-size:11px;color:var(--text-dim)}.sec-tenant-list{display:flex;flex-direction:column;gap:2px;margin-top:12px}.sec-tenant{border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .15s}.sec-tenant:hover{border-color:var(--overlay-3)}.sec-tenant-open{border-color:var(--accent)}.sec-tenant-header{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.sec-tenant-header:hover{background:var(--overlay-1)}.sec-tenant-expand{color:var(--text-dim);flex-shrink:0}.sec-tenant-shield{flex-shrink:0}.sec-shield-ok{color:#34d399}.sec-shield-warn{color:var(--status-warning)}.sec-tenant-id{font-family:monospace;font-size:13px;font-weight:500;color:var(--text);min-width:110px}.sec-tenant-badges{display:flex;gap:4px;flex-wrap:wrap;flex:1}.sec-badge{padding:1px 7px;border-radius:10px;font-size:10px;font-weight:500;white-space:nowrap}.sec-badge-green{background:#34d3991f;color:#34d399;border:1px solid rgba(52,211,153,.2)}.sec-badge-blue{background:var(--status-frozen-bg);color:var(--status-frozen);border:1px solid var(--status-frozen-bg)}.sec-badge-red{background:var(--status-error-bg);color:var(--status-error);border:1px solid var(--status-error-bg)}.sec-badge-cyan{background:#38bdf81f;color:#38bdf8;border:1px solid rgba(56,189,248,.2)}.sec-badge-gray{background:#6b72801f;color:var(--text-dim);border:1px solid rgba(107,114,128,.2)}.sec-tenant-summary{display:flex;gap:12px;margin-left:auto;font-size:11px;color:var(--text-dim);flex-shrink:0}.sec-svc-count,.sec-policy-count{white-space:nowrap}.sec-tenant-detail{padding:0 14px 14px;border-top:1px solid var(--border)}.sec-detail-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;padding-top:12px}.sec-detail-col{min-width:0}.sec-detail-title{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.sec-no-data{font-size:11px;color:var(--text-dim);font-style:italic}.sec-policy-list{display:flex;flex-direction:column;gap:4px}.sec-policy-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);padding:3px 0}.sec-policy-item svg{color:#34d399;flex-shrink:0}.sec-policy-types{color:var(--text-dim);font-size:10px;margin-left:auto}.sec-svc-list{display:flex;flex-direction:column;gap:4px}.sec-svc-item{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--text);padding:4px 0}.sec-svc-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:5px}.sec-dot-ok{background:#34d399}.sec-dot-warn{background:var(--status-warning)}.sec-dot-bad{background:var(--status-error);animation:toast-pulse 1.5s ease-in-out infinite}.sec-dot-frozen{background:#38bdf8}.sec-dot-stopped{background:var(--text-dim)}.sec-svc-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.sec-svc-name{font-size:12px;color:var(--text)}.sec-svc-url{font-size:10px;color:var(--text-dim);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sec-svc-link{color:var(--status-frozen);text-decoration:none}.sec-svc-link:hover{text-decoration:underline}.sec-svc-badge{padding:1px 6px;border-radius:8px;font-size:9px;font-weight:500;white-space:nowrap;margin-left:auto;flex-shrink:0}.sec-svc-badge-ok{background:#34d3991f;color:#34d399}.sec-svc-badge-warn{background:var(--status-warning-bg);color:var(--status-warning)}.sec-svc-badge-bad{background:var(--status-error-bg);color:var(--status-error)}.sec-svc-badge-frozen{background:#38bdf81f;color:#38bdf8}.sec-svc-badge-stopped{background:#6b72801f;color:var(--text-dim)}.sec-quota-bars{display:flex;flex-direction:column;gap:8px}.sec-quota-row{display:flex;align-items:center;gap:8px}.sec-quota-label{font-size:11px;color:var(--text-dim);width:50px;flex-shrink:0}.sec-quota-track{flex:1;height:6px;background:var(--overlay-2);border-radius:3px;overflow:hidden}.sec-quota-fill{height:100%;border-radius:3px;background:#34d399;transition:width .3s}.sec-quota-high{background:var(--status-warning)}.sec-quota-exceeded{background:var(--status-error)}.sec-quota-text{font-size:10px;color:var(--text-dim);font-family:monospace;white-space:nowrap;min-width:90px;text-align:right}.sec-traffic-flow{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.sec-flow-diagram{display:flex;align-items:center;gap:6px;padding:8px 0;flex-wrap:wrap}.sec-flow-zone{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap}.sec-flow-external{background:rgb(var(--accent-rgb) / .14);border:1px solid rgb(var(--accent-rgb) / .14);color:var(--accent)}.sec-flow-ingress{background:var(--status-frozen-bg);border:1px solid var(--status-frozen-bg);color:var(--status-frozen)}.sec-flow-project{background:rgb(var(--accent-rgb) / .1);border:1px solid rgb(var(--accent-rgb) / .25);color:var(--accent)}.sec-flow-platform{background:#34d3991a;border:1px solid rgba(52,211,153,.25);color:#34d399}.sec-flow-arrow{color:var(--text-dim);display:flex;align-items:center}@media (max-width: 900px){.sec-posture-grid{grid-template-columns:repeat(2,1fr)}.sec-detail-row{grid-template-columns:1fr}}.svc-discovery-creds{margin-top:8px;padding:8px 10px;background:#ffa7260f;border:1px solid rgba(255,167,38,.15);border-radius:6px}.svc-discovery-creds .svc-discovery-label{font-size:11px;font-weight:600;color:#ffa726;margin-bottom:4px;display:block}.svc-discovery-creds-fields{display:flex;flex-direction:column;gap:2px}.svc-cred-secret{color:transparent;background:var(--surface-2);border-radius:3px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s,background .15s}.svc-cred-secret.revealed{color:var(--text);background:transparent;-webkit-user-select:all;user-select:all}.svc-cred-copy{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:2px 4px;display:flex;align-items:center;opacity:.6}.svc-cred-copy:hover{opacity:1;border-color:var(--primary)}.svc-discovery-envs{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.svc-discovery-env-row{display:flex;align-items:baseline;gap:8px;padding:2px 0}.svc-discovery-env-key{font-size:11px;font-family:SF Mono,Fira Code,monospace;color:var(--accent);flex-shrink:0}.svc-discovery-env-val{font-size:11px;font-family:SF Mono,Fira Code,monospace;color:var(--text-dim);word-break:break-all;min-width:0}.stack-job-row{padding:10px 12px}.stack-job-row.job-active{border-left:2px solid var(--accent)}.stack-job-row.job-completed{border-left:2px solid var(--status-healthy)}.stack-job-row.job-failed{border-left:2px solid var(--status-error)}.stack-job-row.job-waiting{border-left:2px solid #eab308}.stack-git-link{color:var(--accent);font-size:13px;text-decoration:none;font-family:SF Mono,Fira Code,monospace}.stack-git-link:hover{text-decoration:underline}.catalog-page{flex:1;display:flex;flex-direction:column;overflow:hidden}.catalog-header{display:flex;align-items:flex-end;justify-content:space-between;padding:28px 32px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.catalog-header h2{font-size:20px;font-weight:700;color:var(--text);margin:0 0 4px}.catalog-header p{font-size:13px;color:var(--text-dim);margin:0}.catalog-count{font-size:12px;color:var(--text-dim);font-weight:500;white-space:nowrap}.catalog-body{flex:1;overflow-y:auto;padding:20px 32px 40px;display:flex;flex-direction:column;gap:28px}.catalog-section-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.catalog-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.catalog-section-count{font-size:10px;color:var(--border);background:var(--overlay-1);padding:1px 6px;border-radius:8px}.catalog-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.catalog-card{background:var(--overlay-1);border:1px solid var(--border);border-radius:10px;padding:14px 16px;transition:all .15s;display:flex;flex-direction:column;gap:6px}.catalog-card:hover{border-color:rgb(var(--accent-rgb) / .3);background:rgb(var(--accent-rgb) / .04)}.catalog-card-top{display:flex;align-items:center;gap:8px}.catalog-card-name{font-size:14px;font-weight:600;color:var(--text)}.catalog-card-tag{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px;background:rgb(var(--accent-rgb) / .12);color:var(--accent)}.catalog-card-desc{font-size:12px;color:var(--text-dim);margin:0;line-height:1.5}.catalog-card-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.catalog-card-chip{font-size:10px;font-family:SF Mono,Fira Code,monospace;padding:1px 6px;border-radius:4px;background:var(--overlay-2);color:var(--text-dim)}.catalog-card-chip.dep{color:var(--accent);background:rgb(var(--accent-rgb) / .08)}.settings-sections{display:flex;flex-direction:column;gap:28px}.settings-field{margin-bottom:12px}.settings-field:last-child{margin-bottom:0}.settings-field label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:4px;font-weight:500}.settings-field input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 12px;color:var(--text);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s;box-sizing:border-box}.settings-field input:focus{border-color:var(--accent)}.settings-field input::placeholder{color:var(--text-dim)}.settings-actions{margin-top:28px;display:flex;gap:12px}.info-bar-btn.visual-edit.active{color:var(--accent);background:#646cff26}.preview-with-editor{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.preview-with-editor .preview-iframe{flex:1;min-width:0;width:auto;height:100%}.uptime-period-selector{display:flex;gap:2px;background:var(--overlay-2);border-radius:8px;padding:2px}.uptime-period-btn{padding:4px 12px;font-size:11px;font-weight:500;color:var(--text-secondary, #a1a1aa);background:none;border:none;border-radius:6px;cursor:pointer;transition:all .15s}.uptime-period-btn:hover{color:var(--text, #e4e4e7)}.uptime-period-btn.active{background:rgb(var(--accent-rgb) / .2);color:var(--accent)}.uptime-table{width:100%;border-collapse:separate;border-spacing:0 4px}.uptime-table thead th{font-size:10px;font-weight:500;color:var(--text-secondary, #71717a);text-transform:uppercase;letter-spacing:.05em;padding:0 8px 6px;text-align:left;border-bottom:1px solid var(--overlay-2)}.uptime-th-service{width:120px}.uptime-th-uptime{width:80px;text-align:right}.uptime-table-row td{padding:6px 8px;vertical-align:middle;background:transparent}.uptime-table-row td:first-child{border-radius:8px 0 0 8px}.uptime-table-row td:last-child{border-radius:0 8px 8px 0}.uptime-td-service{vertical-align:top;padding-top:10px!important}.uptime-td-timeline{padding:2px 4px!important}.uptime-td-uptime{text-align:right;vertical-align:top;padding-top:10px!important}.uptime-service-name{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text, #e4e4e7);white-space:nowrap}.uptime-pct{font-size:14px;font-weight:600;font-family:SF Mono,Fira Code,monospace;display:block}.uptime-pct.good{color:var(--status-healthy)}.uptime-pct.warn{color:var(--status-warning)}.uptime-pct.bad{color:var(--status-error)}.uptime-bar{height:4px;background:var(--status-error-bg);border-radius:2px;overflow:hidden;margin-top:4px}.uptime-bar-fill{height:100%;background:linear-gradient(90deg,var(--status-healthy),var(--status-healthy));border-radius:2px;transition:width .4s ease}.uptime-stats{display:flex;gap:8px;font-size:10px;color:var(--text-secondary, #71717a);margin-top:4px}.react-flow__panel{background:transparent!important}.react-flow__controls{background:var(--surface)!important;border:1px solid #333!important;border-radius:6px!important}.react-flow__controls-button{background:var(--surface)!important;color:#ccc!important;border-bottom-color:#333!important}.react-flow__controls-button:hover{background:var(--border)!important}.react-flow__minimap{background:#111!important;border:1px solid #333!important;border-radius:6px!important}.react-flow__edge-text{font-size:9px}.react-flow__attribution{display:none!important}.service-paused .service-dot,.stack-service-row.service-paused .service-dot{background:var(--accent);animation:pausePulse 2s ease-in-out infinite}.benchmarks-page{flex:1;padding:32px 40px;overflow-y:auto}.benchmarks-header h2{font-size:20px;font-weight:600;color:var(--text, #e4e4ef);margin-bottom:4px}.benchmarks-subtitle{font-size:13px;color:var(--text-dim, #6b6b80);margin-bottom:16px}.benchmarks-content{margin-top:16px}.benchmarks-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.benchmarks-trigger{display:flex;align-items:center;gap:6px}.bench-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-family:inherit;background:var(--surface-2, #1e1e2e);border:1px solid var(--border, #2a2a3a);border-radius:6px;color:var(--text-dim, #8b8ba0);cursor:pointer}.bench-btn:hover{background:var(--bg-hover, #2a2a3a);color:var(--text, #e4e4ef)}.bench-btn:disabled{opacity:.5;cursor:not-allowed}.bench-btn.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.bench-btn.primary:hover{background:#2563eb}.bench-btn-sm{padding:3px 8px;font-size:11px;font-family:inherit;background:var(--surface-2, #1e1e2e);border:1px solid var(--border, #2a2a3a);border-radius:4px;color:var(--text-dim, #8b8ba0);cursor:pointer}.bench-btn-sm:hover{background:var(--bg-hover, #2a2a3a);color:var(--text, #e4e4ef)}.bench-btn-accept{color:var(--status-healthy);border-color:var(--status-healthy-bg)}.bench-btn-accept:hover{background:var(--status-healthy-bg);color:#fff}.bench-btn-reject{color:var(--status-error);border-color:#7f1d1d}.bench-btn-reject:hover{background:#7f1d1d;color:#fff}.bench-select{padding:5px 10px;font-size:12px;font-family:inherit;background:var(--surface-2, #1e1e2e);border:1px solid var(--border, #2a2a3a);border-radius:6px;color:var(--text, #e4e4ef);cursor:pointer}.bench-select option{background:var(--surface)}.bench-table{display:flex;flex-direction:column;border:1px solid var(--border, #2a2a3a);border-radius:8px;overflow:hidden}.bench-table-header{display:flex;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim, #6b6b80);background:var(--surface-2, #16161e);border-bottom:1px solid var(--border, #2a2a3a)}.bench-table-row{display:flex;padding:8px 12px;font-size:13px;border-bottom:1px solid var(--border, #1e1e2e);color:var(--text, #c4c4d4);align-items:center}.bench-table-row:last-child{border-bottom:none}.bench-row-clickable{cursor:pointer}.bench-row-clickable:hover{background:var(--bg-hover, #1e1e2e)}.bench-row-failed{background:var(--status-error-bg)}.bench-col-id,.bench-col-version{flex:1;min-width:80px}.bench-col-name{flex:2;min-width:140px;display:flex;align-items:center;gap:4px}.bench-col-tier{flex:.7}.bench-col-score{flex:.8}.bench-col-pass{flex:.6}.bench-col-count{flex:.5}.bench-col-time{flex:1.2;font-size:12px;color:var(--text-dim)}.bench-col-status{flex:.8}.bench-col-dur{flex:.7}.bench-col-err{flex:2;font-size:11px;color:var(--status-error)}.bench-col-cat{flex:.8}.bench-col-services{flex:2;font-size:12px;color:var(--text-dim)}.bench-col-timeout,.bench-col-risk,.bench-col-files{flex:.6}.bench-mono{font-family:SF Mono,Fira Code,monospace;font-size:12px}.bench-empty{padding:24px;text-align:center;color:var(--text-dim);font-size:13px}.bench-error-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bench-status{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.bench-status-completed{background:var(--status-healthy-bg);color:var(--status-healthy)}.bench-status-failed{background:#7f1d1d;color:var(--status-error)}.bench-status-timeout{background:#78350f;color:var(--status-warning)}.bench-status-running{background:#1e3a5f;color:var(--status-frozen)}.bench-status-pending{background:var(--border);color:var(--text-dim)}.bench-tier{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.bench-tier-smoke{background:#1e3a5f;color:var(--status-frozen)}.bench-tier-standard{background:#1e3a2e;color:var(--status-healthy)}.bench-tier-full{background:#3b1f5f;color:#c084fc}.bench-cat{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.bench-cat-frontend,.bench-cat-fullstack,.bench-cat-adversarial,.bench-cat-catalog,.bench-cat-tools,.bench-cat-scaffold,.bench-cat-eval{background:var(--bg-surface, #1a1a2e);color:var(--text-dim)}.bench-cat-seed{background:var(--border);color:var(--text-dim)}.bench-cat-manual{background:#1e3a5f;color:var(--status-frozen)}.bench-cat-self-improve{background:#3b1f5f;color:#c084fc}.bench-risk{padding:2px 8px;border-radius:10px;font-size:11px}.bench-risk-low{background:var(--status-healthy-bg);color:var(--status-healthy)}.bench-risk-med{background:#78350f;color:var(--status-warning)}.bench-risk-high{background:#7f1d1d;color:var(--status-error)}.bench-detail{margin-top:12px}.bench-detail-title{font-size:15px;font-weight:600;color:var(--text);margin:12px 0 8px}.bench-task-detail{padding:8px 12px 12px 32px;background:var(--surface-2, #16161e);border-bottom:1px solid var(--border, #2a2a3a);font-size:12px;color:var(--text-dim)}.bench-task-prompt{white-space:pre-wrap;line-height:1.5;margin-bottom:8px}.bench-task-meta{margin-top:4px}.bench-compare-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.bench-compare-form .settings-field{flex:1;min-width:200px}.bench-compare-result{margin-top:16px}.bench-compare-aggregate{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.bench-compare-stat{background:var(--surface-2, #16161e);border:1px solid var(--border, #2a2a3a);border-radius:8px;padding:12px 20px;display:flex;flex-direction:column;align-items:center;min-width:100px}.bench-compare-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.bench-compare-value{font-size:20px;font-weight:600;color:var(--text)}.bench-delta-pos{color:var(--status-healthy)!important}.bench-delta-neg{color:var(--status-error)!important}.prompts-page{flex:1;padding:32px 40px;overflow-y:auto;display:flex;flex-direction:column}.prompts-content{display:flex;gap:16px;flex:1;min-height:0;margin-top:16px}.prompts-sidebar{width:300px;flex-shrink:0;border:1px solid var(--border, #2a2a3a);border-radius:8px;overflow-y:auto;background:var(--surface-2, #16161e)}.prompts-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);border-bottom:1px solid var(--border)}.prompts-key-btn{display:flex;flex-direction:column;width:100%;text-align:left;padding:10px 12px;border:none;background:none;cursor:pointer;border-bottom:1px solid var(--border, #1e1e2e);color:var(--text);font-family:inherit}.prompts-key-btn:hover{background:var(--bg-hover, #1e1e2e)}.prompts-key-btn.active{background:#3b82f61a;border-left:2px solid #3b82f6}.prompts-key-name{font-size:13px;font-weight:500}.prompts-key-meta{font-size:11px;color:var(--text-dim);margin-top:2px}.prompts-editor-area{flex:1;display:flex;flex-direction:column;min-width:0}.prompts-editor-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.prompts-editor-key{font-size:14px;font-weight:600;color:var(--text);font-family:SF Mono,monospace}.prompts-editor-version{font-size:12px;color:var(--text-dim)}.prompts-textarea{flex:1;min-height:300px;padding:12px;font-size:12px;font-family:SF Mono,Fira Code,monospace;line-height:1.6;background:var(--surface-2, #16161e);color:var(--text);border:1px solid var(--border, #2a2a3a);border-radius:8px;resize:vertical}.prompts-textarea:focus{outline:none;border-color:#3b82f6}.prompts-version-list{margin-top:16px}.prompts-version-list h4{font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.prompts-version-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:6px;font-size:12px;color:var(--text-dim)}.prompts-version-row:hover{background:var(--bg-hover, #1e1e2e)}.prompts-version-active{background:#3b82f60d}.prompts-version-num{font-weight:600;color:var(--text);min-width:30px}.prompts-version-date{font-size:11px}.prompts-version-badge{font-size:10px;font-weight:600;padding:1px 6px;background:var(--status-healthy-bg);color:var(--status-healthy);border-radius:8px}.prompts-empty{padding:24px;text-align:center;color:var(--text-dim);font-size:13px}.proposal-card{border:1px solid var(--border, #2a2a3a);border-radius:8px;margin-bottom:8px;overflow:hidden}.proposal-header{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;font-size:13px;color:var(--text)}.proposal-header:hover{background:var(--bg-hover, #1e1e2e)}.proposal-key{font-weight:600;font-family:SF Mono,monospace}.proposal-run-link{font-size:10px;font-family:SF Mono,monospace;color:var(--status-frozen);background:var(--status-frozen-bg);padding:1px 6px;border-radius:4px}.proposal-diff{padding:12px;background:var(--surface-2, #16161e)}.proposal-content{font-size:12px;font-family:SF Mono,monospace;color:var(--text-dim);white-space:pre-wrap;max-height:300px;overflow-y:auto}.proposal-card-expanded{border-color:var(--accent, #7c3aed)}.proposal-version-info{font-size:11px;font-family:SF Mono,monospace;color:var(--text-dim);background:var(--surface-2, #16161e);padding:2px 6px;border-radius:4px}.proposal-body{border-top:1px solid var(--border, #2a2a3a)}.bench-btn-confirm{animation:pulse-confirm .6s ease-in-out infinite alternate}.bench-btn-accept.bench-btn-confirm{background:var(--status-healthy-bg)!important;border-color:var(--status-healthy)!important}.bench-btn-reject.bench-btn-confirm{background:var(--status-error-bg)!important;border-color:var(--status-error)!important}@keyframes pulse-confirm{0%{opacity:.8}to{opacity:1}}.evolve-trigger{display:flex;align-items:center;gap:8px}.evolve-btn{background:var(--surface-2, #16161e);border-color:var(--accent, #7c3aed)!important;color:var(--accent, #7c3aed)}.evolve-btn:hover:not(:disabled){background:rgb(var(--accent-rgb) / .15)}.evolve-btn:disabled{opacity:.5;cursor:not-allowed}.evolve-result{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:12px}.evolve-result-success{background:var(--status-healthy-bg);border:1px solid var(--status-healthy-bg);color:var(--status-healthy)}.evolve-result-error{background:var(--status-error-bg);border:1px solid var(--status-error-bg);color:var(--status-error)}.evolve-result-info{background:var(--status-frozen-bg);border:1px solid var(--status-frozen-bg);color:var(--status-frozen)}.evolve-result-status{font-weight:600;text-transform:capitalize}.evolve-result-msg{color:var(--text-dim)}.evolve-result-count{margin-left:auto;font-size:12px;color:var(--text-dim)}.bench-job-status{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:13px}.bench-job-info{display:flex;align-items:center;gap:8px}.bench-job-label{font-weight:500}.bench-job-waiting,.bench-job-active{background:var(--status-frozen-bg);border:1px solid var(--status-frozen-bg);color:var(--status-frozen)}.bench-job-completed{background:var(--status-healthy-bg);border:1px solid var(--status-healthy-bg);color:var(--status-healthy)}.bench-job-failed{background:var(--status-error-bg);border:1px solid var(--status-error-bg);color:var(--status-error)}.bench-btn-sm{padding:3px 10px;font-size:11px}@keyframes bench-spin{to{transform:rotate(360deg)}}.bench-spinner{animation:bench-spin 1s linear infinite}.bench-task-card{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;overflow:hidden}.bench-task-card-failed{border-color:var(--status-error-bg)}.bench-task-card-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;gap:8px}.bench-task-card-header:hover{background:var(--overlay-1)}.bench-task-card-left{display:flex;align-items:center;gap:8px}.bench-task-card-right{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-dim)}.bench-task-card-name{font-weight:500}.bench-task-card-score{font-weight:600;font-size:14px;color:var(--text);font-family:SF Mono,monospace}.bench-task-card-dur{display:flex;align-items:center;gap:4px}.bench-task-card-stuck{display:flex;align-items:center;gap:4px;color:var(--status-warning);font-weight:500}.bench-task-card-body{padding:0 14px 14px;border-top:1px solid var(--border)}.bench-task-section{margin-top:12px}.bench-task-section-title{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;letter-spacing:.5px}.bench-task-error{font-size:12px;font-family:SF Mono,monospace;color:var(--status-error);background:var(--status-error-bg);padding:8px 10px;border-radius:6px;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto}.bench-dims{display:flex;flex-direction:column;gap:4px}.bench-dim-row{display:flex;align-items:center;gap:8px;font-size:12px}.bench-dim-label{width:130px;flex-shrink:0;color:var(--text-dim)}.bench-dim-bar-bg{flex:1;height:6px;background:var(--overlay-2);border-radius:3px;overflow:hidden}.bench-dim-bar{height:100%;border-radius:3px;transition:width .3s ease}.bench-dim-score{width:36px;text-align:right;font-weight:600;font-family:SF Mono,monospace;font-size:11px}.bench-phase-timeline{display:flex;flex-wrap:wrap;gap:4px}.bench-phase-step{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--status-frozen-bg);color:var(--status-frozen);border:1px solid var(--status-frozen-bg)}.bench-phase-dur{font-size:10px;color:var(--text-dim);font-family:SF Mono,monospace}.bench-phase-stuck{background:var(--status-error-bg);color:var(--status-error);border-color:var(--status-error-bg)}.bench-phase-active{background:var(--status-frozen-bg);border-color:var(--status-frozen-bg)}.bench-phase-badge{padding:2px 8px;border-radius:4px;font-size:11px;background:var(--status-frozen-bg);color:var(--status-frozen)}.bench-failed-dim{margin-bottom:8px}.bench-failed-dim-name{font-size:12px;font-weight:600;color:var(--status-error)}.bench-failed-list{margin:4px 0 0 16px;font-size:11px;color:var(--text-dim);font-family:SF Mono,monospace}.bench-failed-list li{margin-bottom:2px}.bench-keep-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);cursor:pointer;white-space:nowrap}.bench-keep-label input{accent-color:var(--status-frozen)}.bench-task-card-preview{display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--status-healthy-bg);color:var(--status-healthy);border:1px solid var(--status-healthy-bg);text-decoration:none;cursor:pointer}.bench-task-card-preview:hover{background:var(--status-healthy-bg)}.bench-col-actions{flex:1.2;display:flex;gap:4px;align-items:center;justify-content:flex-end}.bench-toolbar-info{font-size:12px;color:var(--text-dim)}.bench-proposals-section{margin-top:20px}.bench-proposal-card{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;overflow:hidden}.bench-proposal-active{border-color:var(--status-healthy-bg)}.bench-proposal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;gap:8px}.bench-proposal-header:hover{background:var(--overlay-1)}.bench-proposal-left{display:flex;align-items:center;gap:8px}.bench-proposal-right{display:flex;align-items:center;gap:8px;font-size:12px}.bench-proposal-key{font-weight:500;font-family:SF Mono,monospace;font-size:12px}.bench-proposal-version{font-size:11px;color:var(--text-dim)}.bench-proposal-delta{font-family:SF Mono,monospace;font-size:11px}.bench-btn-accept{background:var(--status-healthy-bg);color:var(--status-healthy);border:1px solid var(--status-healthy-bg)}.bench-btn-accept:hover{background:var(--status-healthy-bg)}.bench-btn-reject{background:var(--status-error-bg);color:var(--status-error);border:1px solid var(--status-error-bg)}.bench-btn-reject:hover{background:var(--status-error-bg)}.bench-proposal-body{padding:0 14px 14px;border-top:1px solid var(--border)}.bench-proposal-diff{margin-top:10px}.bench-diff-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px}.bench-diff-add{font-size:11px;font-family:SF Mono,monospace;background:var(--status-healthy-bg);color:var(--status-healthy);padding:8px 10px;border-radius:6px;border:1px solid var(--status-healthy-bg);white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto}.bench-diff-content{font-size:11px;font-family:SF Mono,monospace;background:var(--status-frozen-bg);color:var(--text-dim);padding:8px 10px;border-radius:6px;border:1px solid var(--status-frozen-bg);white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto}.bench-detail-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.simple-diff{font-size:12px;font-family:SF Mono,monospace;line-height:1.5}.diff-del{background:var(--status-error-bg);color:var(--status-error);padding:1px 4px}.diff-add{background:var(--status-healthy-bg);color:var(--status-healthy);padding:1px 4px}.diff-context{color:var(--text-dim);font-size:11px;padding:2px 4px}.catalog-templates-list{display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto;padding:8px 0;min-width:0;width:100%}.catalog-template-file{border:1px solid var(--border);border-radius:6px;overflow:hidden;width:100%}.catalog-template-header{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-surface);border-bottom:1px solid var(--border);font-size:12px;font-family:SF Mono,monospace;color:var(--text)}.catalog-template-name{flex:1}.catalog-template-editor{min-height:120px;max-height:300px;border-radius:0;border:none;border-top:none;font-size:12px;width:100%;box-sizing:border-box}.catalog-add-file{display:flex;gap:8px;align-items:center;padding:4px 0}.catalog-add-file-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--text);font-size:12px;font-family:SF Mono,monospace;flex:1;max-width:240px}.catalog-add-file-input:focus{outline:none;border-color:#3b82f6}.catalog-test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:12px 0}.catalog-test-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:12px}.catalog-test-card.passed{border-color:var(--status-healthy-bg)}.catalog-test-card.failed{border-color:var(--status-error-bg)}.catalog-test-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.catalog-test-card-title{font-size:13px;font-weight:600;color:var(--text)}.catalog-test-status{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px}.catalog-test-status.pass{color:var(--status-healthy);background:var(--status-healthy-bg)}.catalog-test-status.fail{color:var(--status-error);background:var(--status-error-bg)}.catalog-test-desc{font-size:11px;color:var(--text-dim);margin:2px 0 6px}.catalog-test-score{font-size:11px;color:var(--text-dim);margin-right:8px}.catalog-test-duration{font-size:11px;color:var(--text-dim)}.catalog-test-message{font-size:11px;color:var(--text-dim);margin:4px 0;font-style:italic}.catalog-test-check{display:flex;align-items:center;gap:4px;font-size:11px;padding:2px 0}.catalog-test-check.pass{color:var(--status-healthy)}.catalog-test-check.fail{color:var(--status-error)}.catalog-test-issue{color:var(--text-dim);margin-left:4px}.catalog-version-files{padding:4px 12px 8px 24px}.catalog-version-file{margin-bottom:8px}.catalog-version-file-content{font-size:11px;font-family:SF Mono,monospace;color:var(--text-dim);background:var(--bg-surface);padding:6px 8px;border-radius:4px;overflow-x:auto;white-space:pre;margin:4px 0 0;max-height:200px;overflow-y:auto}.prompts-version-failed{opacity:.7}.prompts-version-delta{font-size:11px;color:var(--status-healthy);font-weight:600}.prompts-version-parent{font-size:11px;color:var(--text-dim)}.scaffolds-layout{display:flex;gap:16px;flex:1;min-height:0;margin-top:16px}.scaffolds-sidebar{width:220px;flex-shrink:0;border:1px solid var(--border);border-radius:8px;overflow-y:auto;background:var(--surface-2, #16161e)}.scaffolds-main{flex:1;display:flex;flex-direction:column;min-width:0}.scaffolds-editor{flex:1;display:flex;flex-direction:column}.scaffolds-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:4px 0;overflow-y:auto}.scaffolds-tests{width:260px;flex-shrink:0;border:1px solid var(--border);border-radius:8px;overflow-y:auto;background:var(--surface-2, #16161e)}.scaffold-file-card{background:var(--bg-surface, #1a1a2e);border:1px solid var(--border);border-radius:8px;padding:12px;cursor:pointer;transition:border-color .15s}.scaffold-file-card:hover{border-color:#3b82f6}.scaffold-file-card-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.scaffold-file-name{font-size:13px;font-weight:600;font-family:SF Mono,monospace;color:var(--text);flex:1}.scaffold-file-version{font-size:11px;color:var(--text-dim)}.scaffold-file-preview{font-size:10px;font-family:SF Mono,monospace;color:var(--text-dim);background:var(--bg-surface);padding:6px;border-radius:4px;overflow:hidden;white-space:pre;max-height:80px;margin:0;line-height:1.4}.scaffold-file-meta{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:11px;color:var(--text-dim)}.scaffold-test-result{padding:8px 12px;border-bottom:1px solid var(--border)}.scaffold-test-result.passed{border-left:2px solid var(--status-healthy)}.scaffold-test-result.failed{border-left:2px solid var(--status-error)}.scaffold-test-result-header{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text)}.scaffold-test-result-header svg{flex-shrink:0}.scaffold-test-result.passed .scaffold-test-result-header svg{color:var(--status-healthy)}.scaffold-test-result.failed .scaffold-test-result-header svg{color:var(--status-error)}.scaffold-test-duration{margin-left:auto;font-size:11px;color:var(--text-dim)}.tools-search{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-2, #16161e);border:1px solid var(--border);border-radius:8px;margin-bottom:16px}.tools-search-input{flex:1;background:none;border:none;color:var(--text);font-size:13px;outline:none}.tools-search-input::placeholder{color:var(--text-dim)}.tools-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.tools-editor-modal{background:var(--bg, #0e0e14);border:1px solid var(--border);border-radius:12px;padding:20px;width:90%;max-width:700px;max-height:80vh;overflow-y:auto}.tools-categories{display:flex;flex-direction:column;gap:24px;overflow-y:auto}.tools-category-title{font-size:13px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.tools-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.tool-card{background:var(--bg-surface, #1a1a2e);border:1px solid var(--border);border-radius:8px;padding:12px;cursor:pointer;transition:border-color .15s}.tool-card:hover{border-color:#3b82f6}.tool-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.tool-card-name{font-size:13px;font-weight:600;font-family:SF Mono,monospace;color:var(--text)}.tool-card-version{font-size:11px;color:var(--text-dim)}.tool-card-desc{font-size:11px;color:var(--text-dim);line-height:1.5;margin:4px 0 8px}.tool-card-footer{display:flex;align-items:center;justify-content:space-between}.eval-layout{display:flex;gap:16px;flex:1;min-height:0;margin-top:16px}.eval-main{flex:1;display:flex;flex-direction:column;min-width:0}.eval-history{width:260px;flex-shrink:0;border:1px solid var(--border);border-radius:8px;overflow-y:auto;background:var(--surface-2, #16161e)}.eval-weights-list{display:flex;flex-direction:column;gap:12px;padding:12px 0}.eval-weight-row{display:flex;align-items:center;gap:12px}.eval-weight-label{display:flex;align-items:center;gap:8px;width:200px;flex-shrink:0}.eval-weight-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.eval-weight-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.eval-weight-desc{font-size:11px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:none}.eval-weight-controls{display:flex;align-items:center;gap:8px;flex:1}.eval-weight-bar-bg{flex:1;height:8px;background:var(--bg-surface, #1a1a2e);border-radius:4px;overflow:hidden}.eval-weight-bar-fill{height:100%;border-radius:4px;transition:width .2s}.eval-weight-input{width:60px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:3px 6px;color:var(--text);font-size:12px;font-family:SF Mono,monospace;text-align:right}.eval-weight-input:focus{outline:none;border-color:#3b82f6}.eval-weight-pct{font-size:12px;color:var(--text-dim);width:36px;text-align:right}.eval-distribution{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.eval-dist-bar{display:flex;height:24px;border-radius:6px;overflow:hidden}.eval-dist-segment{transition:width .3s;min-width:2px}.eval-dist-segment:first-child{border-radius:6px 0 0 6px}.eval-dist-segment:last-child{border-radius:0 6px 6px 0}.eval-extra-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.eval-extra-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text)}.eval-extra-dims{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.rsi-trace-panel{width:340px;flex-shrink:0;border:1px solid var(--border);border-radius:8px;overflow-y:auto;background:var(--surface-2, #16161e);max-height:calc(100vh - 200px)}.rsi-trace-panel .prompts-sidebar-header{position:sticky;top:0;background:var(--surface-2, #16161e);z-index:1}.rsi-trace-entry{display:flex;align-items:flex-start;gap:4px;font-size:11px;padding:3px 8px;line-height:1.4}.rsi-trace-entry svg{flex-shrink:0;margin-top:1px}.rsi-trace-entry.pass{color:var(--status-healthy)}.rsi-trace-entry.fail{color:var(--status-error)}.rsi-trace-entry.info{color:var(--status-frozen)}.rsi-trace-entry.evolve{color:#c084fc}.rsi-auto-section{padding:8px 12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.rsi-auto-section .bench-btn{width:100%;justify-content:center}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:8px 12px;border-bottom:2px solid var(--border);color:var(--text-secondary);font-weight:500;white-space:nowrap}.admin-table td{padding:8px 12px;border-bottom:1px solid var(--border)}.admin-table tr:hover{background:var(--bg-hover, rgba(255,255,255,.03))}.plan-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.plan-free{background:var(--surface-2);color:var(--text-dim)}.plan-starter{background:#1e3a5f;color:var(--status-frozen)}.plan-pro{background:#4c1d95;color:#c084fc}.plan-select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:12px;cursor:pointer}.plan-select:focus{outline:1px solid var(--accent)}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spinning 1s linear infinite}.cfg{flex:1;display:flex;min-height:0;min-width:0;background:var(--bg)}.cfg-nav{width:240px;min-width:200px;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-secondary, #1a1a2e)}.cfg-nav-tabs{display:flex;gap:0}.cfg-nav-tabs button{flex:1;padding:10px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:5px;transition:color .15s}.cfg-nav-tabs button:hover{color:var(--text-primary)}.cfg-nav-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.cfg-filter{padding:8px 10px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.cfg-filter input{flex:1;background:none;border:none;color:var(--text-primary);font-size:12px;outline:none}.cfg-filter input::placeholder{color:var(--text-secondary);opacity:.6}.cfg-list{flex:1;overflow-y:auto}.cfg-list-item{display:flex;align-items:center;width:100%;padding:8px 12px;background:none;border:none;border-left:3px solid transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;text-align:left;transition:all .1s}.cfg-list-item:hover{background:var(--overlay-1);color:var(--text-primary)}.cfg-list-item.on{background:#6366f114;color:var(--accent);border-left-color:var(--accent)}.cfg-list-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfg-list-arrow{opacity:0;flex-shrink:0}.cfg-list-item.on .cfg-list-arrow{opacity:1}.cfg-empty{padding:16px 12px;color:var(--text-secondary);font-size:12px;opacity:.6}.cfg-files{width:180px;min-width:140px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;background:var(--bg-secondary, #1a1a2e)}.cfg-files-head{padding:8px 12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.cfg-editor{flex:1;display:flex;flex-direction:column;min-width:0}.cfg-head{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary, #1a1a2e)}.cfg-head-left{display:flex;align-items:center;gap:10px}.cfg-head-title{font-size:14px;font-weight:600;color:var(--text-primary);font-family:JetBrains Mono,monospace}.cfg-badge-dirty{font-size:10px;padding:1px 6px;border-radius:8px;background:#f59e0b33;color:#f59e0b;font-weight:500}.cfg-head-actions{display:flex;gap:6px}.cfg-action{display:flex;align-items:center;gap:4px;padding:5px 10px;background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--text-secondary);cursor:pointer;font-size:12px;transition:all .15s}.cfg-action:hover{color:var(--text-primary);border-color:var(--text-primary)}.cfg-action:disabled{opacity:.35;cursor:default}.cfg-action.save{background:var(--accent);color:#fff;border-color:var(--accent)}.cfg-action.save:hover{opacity:.85}.cfg-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg-secondary, #1a1a2e)}.cfg-tabs button{padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;transition:color .15s}.cfg-tabs button:hover{color:var(--text-primary)}.cfg-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.cfg-body{flex:1;display:flex;min-height:0}.cfg-text{flex:1;width:100%;background:var(--bg);color:var(--text-primary);border:none;padding:16px 20px;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:12.5px;line-height:1.6;resize:none;outline:none;-moz-tab-size:2;tab-size:2}.cfg-text::placeholder{color:var(--text-secondary);opacity:.4}.cfg-versions{display:flex;align-items:center;gap:6px;padding:6px 16px;border-top:1px solid var(--border);background:var(--bg-secondary, #1a1a2e);overflow-x:auto}.cfg-versions-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-weight:500}.cfg-ver{padding:2px 7px;border-radius:3px;font-size:10px;font-family:monospace;background:var(--overlay-2);color:var(--text-secondary);white-space:nowrap;cursor:default}.cfg-ver.on{background:#6366f126;color:var(--accent);font-weight:600}.landing{--landing-max: 1120px;--landing-bg: #f7f3ea;--landing-bg-alt: #efeadb;--landing-surface: rgba(26, 22, 18, .025);--landing-surface-strong: rgba(26, 22, 18, .055);--landing-border: rgba(26, 22, 18, .09);--landing-border-strong: rgba(26, 22, 18, .18);--landing-text: #1a1612;--landing-text-dim: #6b6150;--landing-text-faint: #9e937d;--landing-accent: #72b02a;--landing-accent-deep: #558622;--landing-dark: #14110c;--landing-sans: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--landing-mono: "Geist Mono", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;min-height:100vh;background:var(--landing-bg);color:var(--landing-text);overflow-y:auto;font-family:var(--landing-sans);font-feature-settings:"ss01","ss03","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}.landing *{box-sizing:border-box}.landing a{color:inherit}.landing ol,.landing ul{list-style:none;padding:0;margin:0}.landing em{font-style:italic}.landing-nav{position:sticky;top:0;z-index:20;background:#f7f3ead1;backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--landing-border)}.landing-nav-inner{max-width:var(--landing-max);margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.landing-brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:1.02rem;text-decoration:none;letter-spacing:-.01em;color:var(--landing-text)}.landing-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--landing-accent);color:#fff;font-size:.85rem}.landing-nav-links{display:flex;gap:32px;font-size:.93rem;color:var(--landing-text-dim)}.landing-nav-links a{text-decoration:none;transition:color .2s}.landing-nav-links a:hover{color:var(--landing-text)}.landing-nav-cta{display:flex;gap:8px}@media (max-width: 720px){.landing-nav-links{display:none}}.landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border-radius:9px;font-size:.94rem;font-weight:500;letter-spacing:-.005em;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:background .18s,border-color .18s,transform .12s;font-family:inherit;white-space:nowrap}.landing-btn.small{padding:7px 14px;font-size:.88rem;border-radius:7px}.landing-btn.primary{background:var(--landing-accent);color:#fff;box-shadow:0 1px #00000014}.landing-btn.primary:hover{background:var(--landing-accent-deep);transform:translateY(-1px)}.landing-btn.ghost{background:transparent;color:var(--landing-text);border-color:var(--landing-border-strong)}.landing-btn.ghost:hover{background:var(--landing-surface);border-color:#1a161247}.landing-btn.oauth{background:#fff;color:#1a1612;border-color:#1a161226;box-shadow:0 1px #0000000a}.landing-btn.oauth:hover{transform:translateY(-1px);border-color:#1a16124d}.landing-btn.oauth.github{background:#14110c;color:#fff;border-color:transparent}.landing-btn.oauth.github:hover{background:var(--surface-2)}.landing-hero{position:relative;padding:88px 24px 80px;overflow:hidden;isolation:isolate}.landing-hero-inner{position:relative;z-index:1;max-width:var(--landing-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);align-items:center;gap:56px}@media (max-width: 980px){.landing-hero-inner{grid-template-columns:minmax(0,1fr);gap:48px}.landing-hero{padding:56px 24px}}.landing-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.landing-hero-spot{position:absolute;top:-10%;right:-5%;width:780px;height:780px;border-radius:50%;background:radial-gradient(circle,rgba(114,176,42,.09) 0%,transparent 65%);filter:blur(20px)}.landing-hero-content{position:relative;z-index:1;min-width:0}.landing-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 12px;border-radius:999px;background:var(--landing-surface);border:1px solid var(--landing-border);font-size:.82rem;font-weight:500;color:var(--landing-text-dim);margin-bottom:28px}.landing-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--landing-accent)}.landing-h1{font-family:var(--landing-sans);font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:1.02;letter-spacing:-.04em;font-weight:560;margin-bottom:24px;color:var(--landing-text);text-wrap:balance}.landing-h1 em{font-style:normal;color:var(--landing-accent);position:relative;display:inline-block;padding-bottom:.12em;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 12' preserveAspectRatio='none'><path d='M2 7 C 38 2, 74 11, 120 5 S 210 9, 238 4' stroke='%23c14a00' stroke-width='2.2' stroke-linecap='round' fill='none' opacity='0.85'/></svg>");background-repeat:no-repeat;background-position:0 100%;background-size:100% .32em}.landing-hero-sub{color:var(--landing-text-dim);font-size:1.12rem;line-height:1.55;max-width:540px;margin-bottom:36px}.landing-cta-row{display:flex;gap:10px;flex-wrap:wrap}.landing-cta-row.centered{justify-content:center}.landing-hero-note{margin-top:20px;font-size:.82rem;color:var(--landing-text-faint);letter-spacing:-.005em}.landing-hero-visual{position:relative;z-index:1}.landing-hero-visual .landing-window-body{min-height:420px}.landing-hero-visual .landing-window-preview-body{padding:40px}.landing-hero-visual .landing-mock-preview-card{padding:32px 40px;min-width:240px}.landing-hero-visual .landing-mock-streak{font-size:4.6rem}.landing-hero-visual .landing-mock-bars{height:58px;margin-top:22px}@media (max-width: 980px){.landing-hero-visual .landing-window-body{min-height:360px}.landing-hero-visual .landing-mock-streak{font-size:3.8rem}}.landing-window{background:var(--landing-dark);border:1px solid rgba(26,22,18,.22);border-radius:14px;overflow:hidden;min-width:0;max-width:100%;box-shadow:0 30px 60px -30px #1a161259,0 10px 20px -10px #1a16122e}.landing-window-sm{box-shadow:0 24px 60px -30px #00000080}.landing-window-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid rgba(255,240,220,.08);background:#00000040}.landing-mock-dot{width:9px;height:9px;border-radius:50%;background:var(--overlay-3)}.landing-window-bar>.landing-mock-dot:nth-of-type(1){background:#ff6159}.landing-window-bar>.landing-mock-dot:nth-of-type(2){background:#ffbd2e}.landing-window-bar>.landing-mock-dot:nth-of-type(3){background:#28ca41}.landing-window-url{margin-left:10px;font-size:.74rem;color:#fff0dc85;font-family:var(--landing-mono);letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-window-bar-tabs{padding:0;gap:0;align-items:stretch}.landing-window-dots{display:flex;align-items:center;gap:6px;padding:10px 14px;border-right:1px solid rgba(255,240,220,.08)}.landing-window-bar-tabs>.landing-window-dots>.landing-mock-dot:nth-of-type(1){background:#ff6159}.landing-window-bar-tabs>.landing-window-dots>.landing-mock-dot:nth-of-type(2){background:#ffbd2e}.landing-window-bar-tabs>.landing-window-dots>.landing-mock-dot:nth-of-type(3){background:#28ca41}.landing-code-tabs{display:flex;flex:1;align-items:stretch;overflow-x:auto}.landing-code-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-right:1px solid rgba(255,240,220,.08);padding:10px 18px;font-family:var(--landing-mono);font-size:.76rem;letter-spacing:-.005em;color:#fff0dc80;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.landing-code-tab:hover{color:#f4eee1;background:#fff0dc0a}.landing-code-tab.active{color:#f4eee1;background:var(--landing-dark);position:relative}.landing-code-tab.active:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--landing-accent)}.landing-window-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:320px}@media (max-width: 640px){.landing-window-body{grid-template-columns:minmax(0,1fr)}}.landing-window-chat{padding:20px;display:grid;gap:12px;align-content:start;border-right:1px solid rgba(255,240,220,.08);background:#0003}.landing-bubble{padding:10px 14px;border-radius:11px;font-size:.86rem;line-height:1.5}.landing-bubble-user{background:var(--landing-accent);color:#fff;margin-left:16px;border-bottom-right-radius:4px}.landing-bubble-ai{background:#fff0dc0f;border:1px solid rgba(255,240,220,.1);color:#f4eee1;margin-right:16px;border-bottom-left-radius:4px}.landing-mock-plan{margin-top:4px;display:grid;gap:8px;padding:12px 14px;background:#00000059;border-radius:9px;border:1px solid rgba(255,240,220,.08)}.landing-mock-plan li{font-size:.83rem;padding-left:22px;position:relative;color:#a39a87}.landing-mock-plan li:before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(255,240,220,.28)}.landing-mock-plan li.done{color:#f4eee1}.landing-mock-plan li.done:before{background:var(--landing-accent);border-color:var(--landing-accent)}.landing-mock-plan li.doing{color:#f4eee1}.landing-mock-plan li.doing:before{border-color:#a7d97a;border-top-color:transparent;animation:landing-spin .9s linear infinite}@keyframes landing-spin{to{transform:rotate(360deg)}}@keyframes landing-pulse{0%,to{opacity:1}50%{opacity:.55}}.landing-window-preview{display:flex;flex-direction:column;min-width:0;background:radial-gradient(circle at 30% 20%,rgba(114,176,42,.18),transparent 60%),radial-gradient(circle at 80% 100%,rgba(183,224,74,.1),transparent 55%),var(--landing-dark)}.landing-window-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;font-size:.7rem;color:#fff0dc80;font-family:var(--landing-mono);border-bottom:1px solid rgba(255,240,220,.08);background:#0000004d}.landing-window-preview-live{display:inline-flex;align-items:center;gap:5px;color:#7cf0a4;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--status-healthy);animation:landing-pulse 2s infinite}.landing-window-preview-body{flex:1;padding:24px;display:flex;align-items:center;justify-content:center}.landing-mock-preview-card{background:#fff0dc0f;border:1px solid rgba(255,240,220,.12);border-radius:12px;padding:22px 26px;text-align:center;min-width:200px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.landing-mock-streak{font-family:var(--landing-sans);font-size:3.4rem;font-weight:600;letter-spacing:-.05em;color:#f4eee1;line-height:1;font-variant-numeric:tabular-nums}.landing-mock-streak-label{font-size:.74rem;color:#fff0dc8c;margin-top:4px;letter-spacing:.08em;text-transform:uppercase}.landing-mock-bars{display:flex;align-items:flex-end;gap:5px;height:44px;margin-top:18px;justify-content:center}.landing-mock-bars span{width:8px;background:var(--landing-accent);border-radius:2px;opacity:.75}.landing-section{max-width:var(--landing-max);margin:0 auto;padding:96px 24px;position:relative}.landing-section-divider{border-top:1px solid var(--landing-border)}.landing-section-head{text-align:center;max-width:680px;margin:0 auto 56px}.landing-section-label{display:inline-block;padding:5px 11px;font-family:var(--landing-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--landing-text-dim);background:var(--landing-surface);border:1px solid var(--landing-border);border-radius:999px;margin-bottom:20px;font-weight:500}.landing-section-head h2{font-family:var(--landing-sans);font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.1;letter-spacing:-.032em;font-weight:560;margin-bottom:16px;color:var(--landing-text);text-wrap:balance}.landing-section-head p{color:var(--landing-text-dim);font-size:1.02rem;line-height:1.55}.landing-pricing-note{margin-top:10px;font-size:.88rem!important;color:var(--accent)!important}.landing-pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}@media (max-width: 820px){.landing-pillar-grid{grid-template-columns:1fr}}.landing-pillar{padding:32px 28px;border-radius:14px;background:var(--landing-surface);border:1px solid var(--landing-border);transition:border-color .25s,background .25s}.landing-pillar:hover{border-color:var(--landing-border-strong);background:var(--landing-surface-strong)}.landing-pillar-num{font-family:var(--landing-mono);font-size:.78rem;color:var(--landing-accent);letter-spacing:.08em;margin-bottom:20px}.landing-pillar h3{font-family:var(--landing-sans);font-size:1.22rem;font-weight:560;line-height:1.2;letter-spacing:-.025em;margin-bottom:14px;color:var(--landing-text)}.landing-pillar p{color:var(--landing-text-dim);font-size:.96rem;line-height:1.62}.landing-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:64px;align-items:center}@media (max-width: 900px){.landing-split{grid-template-columns:minmax(0,1fr);gap:40px}}.landing-split-copy,.landing-split-code{min-width:0}.landing-split-copy .landing-section-label{margin-bottom:18px}.landing-split-copy h2{font-family:var(--landing-sans);font-size:clamp(1.7rem,3.1vw,2.3rem);line-height:1.15;letter-spacing:-.03em;font-weight:560;margin-bottom:20px;color:var(--landing-text);text-wrap:balance}.landing-split-copy p{color:var(--landing-text-dim);font-size:1rem;line-height:1.65;margin-bottom:24px}.landing-check-list{display:grid;gap:12px}.landing-check-list li{padding-left:30px;position:relative;font-size:.94rem;color:var(--landing-text);line-height:1.5}.landing-check-list li:before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:#b7e04a1a;border:1px solid rgba(183,224,74,.3)}.landing-check-list li:after{content:"";position:absolute;left:6px;top:7px;width:8px;height:4px;border-left:1.8px solid var(--landing-accent);border-bottom:1.8px solid var(--landing-accent);transform:rotate(-45deg)}.landing-code{margin:0;padding:22px 24px;background:var(--landing-dark);color:#f4eee1b8;font-family:var(--landing-mono);font-size:.82rem;line-height:1.7;overflow-x:auto;white-space:pre;-moz-tab-size:2;tab-size:2;font-feature-settings:"ss02","cv01";min-height:500px;box-sizing:border-box}.landing-code .tok-k{color:#e68ab8}.landing-code .tok-i{color:#f4c789}.landing-code .tok-s{color:#b7c98a}.landing-code .tok-o{color:#cfa5e8}.landing-code .tok-c{color:var(--text-dim);font-style:italic}.landing-code-line{display:block;white-space:pre;min-height:1.5em}.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}@media (max-width: 820px){.landing-steps{grid-template-columns:1fr}}.landing-step{padding:32px 28px;border-radius:14px;background:var(--landing-surface);border:1px solid var(--landing-border)}.landing-step .step-number{display:inline-block;padding:4px 10px;border-radius:6px;background:#b7e04a14;border:1px solid rgba(183,224,74,.22);color:var(--landing-accent);font-family:var(--landing-mono);font-size:.76rem;margin-bottom:18px}.landing-step h3{font-family:var(--landing-sans);font-size:1.15rem;font-weight:560;line-height:1.2;letter-spacing:-.025em;margin-bottom:10px;color:var(--landing-text)}.landing-step p{color:var(--landing-text-dim);font-size:.94rem;line-height:1.6}.landing-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media (max-width: 820px){.landing-use-grid{grid-template-columns:1fr}}.landing-use-card{padding:28px;border-radius:14px;background:var(--landing-surface);border:1px solid var(--landing-border);transition:border-color .25s,background .25s}.landing-use-card:hover{border-color:var(--landing-border-strong);background:var(--landing-surface-strong)}.landing-use-tag{display:inline-block;padding:3px 10px;font-family:var(--landing-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--landing-accent);background:#b7e04a14;border:1px solid rgba(183,224,74,.22);border-radius:999px;margin-bottom:16px;font-weight:500}.landing-use-card h3{font-family:var(--landing-sans);font-size:1.08rem;font-weight:560;line-height:1.25;letter-spacing:-.022em;margin-bottom:10px;color:var(--landing-text)}.landing-use-card p{color:var(--landing-text-dim);font-size:.92rem;line-height:1.6}.landing-pricing-note{text-align:center;margin-top:32px;color:var(--landing-text-dim);font-size:.88rem}.landing .pricing-card{background:#fff;border:1px solid var(--landing-border);color:var(--landing-text);border-radius:14px;box-shadow:0 1px #1a16120a}.landing .pricing-card.popular{border-color:var(--landing-accent);box-shadow:0 20px 40px -20px #72b02a59}.landing .pricing-card.current{border-color:var(--landing-accent);background:#72b02a0a}.landing .pricing-badge{background:var(--landing-accent);color:#fff;font-family:var(--landing-mono);letter-spacing:.08em;font-weight:500}.landing .pricing-name{color:var(--landing-text);font-weight:560;letter-spacing:-.02em}.landing .pricing-amount{color:var(--landing-text);font-weight:600;letter-spacing:-.03em}.landing .pricing-unit,.landing .pricing-features li{color:var(--landing-text-dim)}.landing .pricing-cta{background:var(--landing-accent);color:#fff;font-weight:500}.landing .pricing-cta:hover{background:var(--landing-accent-deep)}.landing .pricing-current{color:var(--landing-accent)}.landing-faq-list{display:grid;gap:8px;max-width:760px;margin:0 auto}.landing-faq-item{all:unset;display:block;padding:20px 24px;border-radius:12px;background:var(--landing-surface);border:1px solid var(--landing-border);cursor:pointer;transition:border-color .2s,background .2s;font-family:inherit}.landing-faq-item:hover{border-color:var(--landing-border-strong)}.landing-faq-item.open{border-color:var(--landing-border-strong);background:var(--landing-surface-strong)}.landing-faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:1rem;font-weight:500;color:var(--landing-text)}.landing-faq-q svg{color:var(--landing-text-dim);transition:transform .2s}.landing-faq-item.open .landing-faq-q svg{transform:rotate(180deg);color:var(--landing-accent)}.landing-faq-a{margin-top:14px;color:var(--landing-text-dim);font-size:.94rem;line-height:1.65}.landing-final-cta{max-width:var(--landing-max);margin:0 auto;padding:40px 24px 120px}.landing-final-inner{text-align:center;padding:80px 40px;border-radius:20px;background:radial-gradient(circle at 20% 30%,rgba(114,176,42,.1),transparent 55%),radial-gradient(circle at 80% 80%,rgba(114,176,42,.06),transparent 55%),#efeadb;border:1px solid var(--landing-border-strong)}.landing-final-inner h2{font-family:var(--landing-sans);font-size:clamp(2rem,3.8vw,2.8rem);line-height:1.1;letter-spacing:-.032em;font-weight:560;margin-bottom:14px;color:var(--landing-text);text-wrap:balance}.landing-final-inner p{color:var(--landing-text-dim);margin-bottom:32px;font-size:1.02rem;max-width:520px;margin-left:auto;margin-right:auto}.landing-footer{border-top:1px solid var(--landing-border);padding:36px 24px}.landing-footer-inner{max-width:var(--landing-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;color:var(--landing-text-dim);font-size:.88rem}.landing-footer-links{display:flex;gap:24px;flex-wrap:wrap}.landing-footer-links a{color:var(--landing-text-dim);text-decoration:none;transition:color .2s}.landing-footer-links a:hover{color:var(--landing-text)}.pricing-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:relative;text-align:center}.pricing-card.popular{border-color:var(--accent)}.pricing-card.current{border-color:var(--accent);background:rgb(var(--accent-rgb) / .05)}.pricing-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;font-size:.7rem;font-weight:600;padding:2px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.pricing-name{font-size:1.2rem;font-weight:700;margin-bottom:8px}.pricing-price{margin-bottom:16px}.pricing-amount{font-size:2rem;font-weight:700}.pricing-unit{color:var(--text-dim);font-size:.9rem}.pricing-features{list-style:none;padding:0;margin:0 0 20px}.pricing-features li{padding:4px 0;color:var(--text-dim);font-size:.85rem}.pricing-cta{width:100%;padding:10px;border-radius:6px;background:var(--accent);color:#fff;border:none;font-weight:600;cursor:pointer;font-size:.9rem}.pricing-cta:hover{background:var(--accent-hover)}.pricing-cta:disabled{opacity:.5;cursor:default}.pricing-current{color:var(--accent);font-weight:600;font-size:.9rem}.auth-subtitle{color:var(--text-dim);font-size:.92rem;line-height:1.5;margin:0}.auth-polling-state{display:flex;flex-direction:column;gap:14px}.auth-polling-row{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;color:var(--text-dim);font-size:.88rem}.auth-polling-row .twa-spinner{width:16px;height:16px;flex-shrink:0}.bp{flex:1;overflow-y:auto;height:100%}.bp-inner{max-width:720px;margin:0 auto;padding:32px 40px}.bp-header{display:flex;align-items:baseline;gap:16px;margin-bottom:32px}.bp-header h2{font-size:1.5rem;font-weight:700;margin:0}.bp-cancel-note{color:var(--status-error);font-size:.8rem}.bp-usage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:36px}.bp-usage-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 20px}.bp-usage-card-action{display:flex;align-items:center;justify-content:center}.bp-usage-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:6px}.bp-usage-value{font-size:1.4rem;font-weight:700;margin-bottom:8px}.bp-usage-limit{font-size:.9rem;font-weight:400;color:var(--text-dim)}.bp-bar{height:5px;background:var(--surface-2);border-radius:3px;overflow:hidden}.bp-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.bp-buy-btn{padding:10px 20px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:.82rem;display:flex;align-items:center;gap:8px;transition:all .15s}.bp-buy-btn:hover{border-color:var(--accent);background:rgb(var(--accent-rgb) / .06)}.bp-buy-btn:disabled{opacity:.5;cursor:default}.bp-star-price{color:var(--accent);font-weight:600}.bp-wallet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.bp-wallet-cell{background:var(--surface-2);border-radius:8px;padding:12px 14px}.bp-wallet-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:6px}.bp-wallet-value{font-size:1.3rem;font-weight:700}.bp-wallet-unit{font-size:.85rem;font-weight:500;color:var(--text-dim)}.bp-wallet-sub{font-size:.72rem;color:var(--text-dim);margin-top:4px}.bp-plans{margin-bottom:36px}.bp-plans h3{font-size:1rem;font-weight:600;color:var(--text-dim);margin-bottom:16px}.bp-plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width: 680px){.bp-plans-grid{grid-template-columns:1fr}}.bp-plan-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px 20px;text-align:center;position:relative;transition:border-color .15s}.bp-plan-card:hover{border-color:var(--overlay-3)}.bp-plan-popular{border-color:var(--accent)}.bp-plan-current{border-color:var(--accent);background:rgb(var(--accent-rgb) / .04)}.bp-popular-tag{position:absolute;top:-9px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;font-size:.65rem;font-weight:700;padding:2px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.bp-plan-name{font-size:1.1rem;font-weight:700;margin-bottom:4px}.bp-plan-price{margin-bottom:16px}.bp-plan-amount{font-size:1.8rem;font-weight:700}.bp-plan-unit{color:var(--text-dim);font-size:.85rem}.bp-plan-features{list-style:none;padding:0;margin:0 0 20px}.bp-plan-features li{padding:3px 0;color:var(--text-dim);font-size:.82rem}.bp-plan-cta{width:100%;padding:10px;border-radius:8px;background:var(--accent);color:#fff;border:none;font-weight:600;cursor:pointer;font-size:.85rem;transition:background .15s}.bp-plan-cta:hover{background:var(--accent-hover)}.bp-plan-cta:disabled{opacity:.5;cursor:default}.bp-plan-current-label{color:var(--accent);font-weight:600;font-size:.85rem}.bp-tg-note{color:var(--text-dim);font-size:.78rem;margin-top:14px;text-align:center}.bp-cancel-section{margin-bottom:36px}.bp-cancel-btn{padding:8px 20px;border-radius:8px;border:1px solid var(--status-error-bg);background:transparent;color:var(--status-error);cursor:pointer;font-size:.82rem;transition:background .15s}.bp-cancel-btn:hover{background:var(--status-error-bg)}.bp-cancel-btn:disabled{opacity:.5;cursor:default}.bp-history{margin-bottom:36px}.bp-history h3{font-size:1rem;font-weight:600;color:var(--text-dim);margin-bottom:12px}.bp-history-list{display:flex;flex-direction:column}.bp-history-row{display:flex;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--overlay-1);font-size:.82rem}.bp-history-date{width:100px;color:var(--text-dim);flex-shrink:0}.bp-history-type{flex:1;text-transform:capitalize}.bp-history-amount{font-weight:600;flex-shrink:0}.bp-history-head{font-weight:600;color:var(--text-dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.bp-history-total{font-weight:600;border-top:1px solid var(--border)}.text-dim{color:var(--text-dim)}.miniapp-admin{min-height:100vh;background:var(--bg);color:var(--text);padding:0;display:flex;flex-direction:column}.miniapp-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.miniapp-header-left{display:flex;align-items:center;gap:8px}.miniapp-logo{color:var(--accent);font-size:1.4rem}.miniapp-title{font-weight:700;font-size:1.1rem}.miniapp-plan-badge{padding:3px 10px;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase}.miniapp-plan-badge.free{background:var(--overlay-2);color:var(--text-dim)}.miniapp-plan-badge.starter{background:rgb(var(--accent-rgb) / .15);color:var(--accent)}.miniapp-plan-badge.pro{background:#ffb42826;color:#ffb428}.miniapp-usage{padding:16px 20px;border-bottom:1px solid var(--border)}.miniapp-usage-row{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:6px}.miniapp-usage-bar{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.miniapp-usage-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.miniapp-usage-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.miniapp-credits{font-size:.8rem;color:var(--text-dim)}.miniapp-section{flex:1;padding:12px 20px;overflow-y:auto}.miniapp-loading{display:flex;align-items:center;justify-content:center;padding:40px}.miniapp-empty{text-align:center;padding:40px 20px}.miniapp-empty p{margin-bottom:4px}.miniapp-projects{display:flex;flex-direction:column;gap:8px}.miniapp-project-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:border-color .15s}.miniapp-project-card:hover{border-color:var(--accent)}.miniapp-project-card.active{border-color:var(--accent);background:rgb(var(--accent-rgb) / .06)}.miniapp-project-info{flex:1;min-width:0}.miniapp-project-name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.miniapp-project-status{font-size:.75rem;color:var(--text-dim);margin-top:2px}.miniapp-project-status.done{color:var(--status-healthy)}.miniapp-project-status.generating{color:var(--accent)}.miniapp-project-status.error{color:var(--status-error)}.miniapp-project-actions{display:flex;gap:2px;flex-shrink:0}.miniapp-action-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-dim);cursor:pointer;border-radius:8px;transition:background .15s,color .15s}.miniapp-action-icon:hover{background:var(--surface-2);color:var(--text)}.miniapp-action-icon.connected{color:#29b6f6}.miniapp-action-icon.connected:hover{background:#29b6f61a}.miniapp-action-icon.danger:hover{background:var(--status-error-bg);color:var(--status-error)}.miniapp-action-icon.miniapp-pin.pinned{color:var(--accent);background:rgb(var(--accent-rgb) / .12)}.miniapp-action-icon.miniapp-pin.pinned:hover{background:rgb(var(--accent-rgb) / .2)}.miniapp-project-detail{display:flex;flex-direction:column;gap:16px}.miniapp-detail-header{display:flex;align-items:center;gap:8px;padding-bottom:4px}.miniapp-detail-title{min-width:0;flex:1}.miniapp-detail-title .miniapp-project-name{font-size:1.05rem}.miniapp-detail-actions{display:flex;flex-direction:column;gap:8px}.miniapp-detail-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-size:.9rem}.miniapp-detail-btn.connected{color:#29b6f6;border-color:#29b6f6}.miniapp-detail-btn.connected:hover{background:#29b6f61a}.miniapp-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.miniapp-grid-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 8px;min-height:84px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:.85rem;font-weight:500;line-height:1.2;text-align:center;-webkit-tap-highlight-color:transparent;transition:background .12s,border-color .12s,transform 80ms}.miniapp-grid-btn:active:not(:disabled){transform:scale(.97);background:var(--border)}.miniapp-grid-btn:disabled{opacity:.45;cursor:default}.miniapp-grid-btn span{white-space:normal;word-break:break-word}.miniapp-grid-btn.active{border-color:var(--accent);background:rgb(var(--accent-rgb) / .08);color:var(--accent)}.miniapp-grid-btn.connected{border-color:#29b6f6;color:#29b6f6}.miniapp-grid-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.miniapp-grid-btn.primary:active:not(:disabled){background:var(--accent-hover)}.miniapp-endpoints{margin-top:14px;display:flex;flex-direction:column;gap:14px}.miniapp-endpoint-section{display:flex;flex-direction:column;gap:6px}.miniapp-endpoint-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--tg-theme-hint-color, #8888a0);padding:0 2px}.miniapp-endpoint-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 14px;border-radius:10px;cursor:pointer;background:var(--tg-theme-secondary-bg-color, #16161e);border:1px solid var(--tg-theme-section-separator-color, #2a2a3a);color:var(--tg-theme-text-color, #e4e4ef);font-size:.9rem;text-align:left}.miniapp-endpoint-row:active{opacity:.7}.miniapp-endpoint-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.miniapp-previews{display:flex;flex-direction:column;gap:10px;padding:4px 0}.miniapp-preview-tile{display:flex;align-items:stretch;gap:8px;border:1px solid var(--tg-theme-section-separator-color, #2a2a3a);border-radius:12px;overflow:hidden;background:var(--tg-theme-secondary-bg-color, #16161e)}.miniapp-preview-open{flex:1 1 auto;display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer;min-width:0;background:transparent;border:none;color:var(--tg-theme-text-color, #e4e4ef);font-size:.95rem;text-align:left}.miniapp-preview-open:active{opacity:.7}.miniapp-preview-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.miniapp-preview-copy{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 14px;cursor:pointer;min-width:64px;background:transparent;border:none;border-left:1px solid var(--tg-theme-section-separator-color, #2a2a3a);color:var(--tg-theme-hint-color, #8888a0);font-size:.7rem}.miniapp-preview-copy:active{opacity:.7}.miniapp-envform{padding:20px 16px;display:flex;flex-direction:column;gap:14px}.miniapp-envform-title{font-size:1.05rem;font-weight:600;color:var(--tg-theme-text-color, #e4e4ef)}.miniapp-envform-msg{font-size:.85rem;color:var(--tg-theme-hint-color, #8888a0)}.miniapp-envform-err{font-size:.8rem;color:#ff6b6b}.miniapp-envform-field{display:flex;flex-direction:column;gap:4px}.miniapp-envform-label{font-size:.8rem;font-weight:500;color:var(--tg-theme-text-color, #e4e4ef)}.miniapp-envform-desc{font-size:.72rem;color:var(--tg-theme-hint-color, #8888a0)}.miniapp-envform-field input{background:var(--tg-theme-secondary-bg-color, #16161e);border:1px solid var(--tg-theme-section-separator-color, #2a2a3a);border-radius:8px;padding:11px 12px;font-size:.95rem;color:var(--tg-theme-text-color, #e4e4ef);outline:none}.miniapp-envform-field input:focus{border-color:var(--tg-theme-button-color, #646cff)}.miniapp-detail-delete{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:auto;padding:12px 16px;font-size:.85rem}.miniapp-actions{padding:16px 20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.miniapp-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:.85rem;font-weight:500;text-decoration:none;text-align:center}.miniapp-btn:hover{background:var(--border)}.miniapp-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.miniapp-btn.primary:hover{background:var(--accent-hover)}.miniapp-btn.accent{background:transparent;color:var(--accent);border-color:var(--accent)}.miniapp-btn.accent:hover{background:rgb(var(--accent-rgb) / .1)}.miniapp-btn.danger{color:var(--status-error);border-color:var(--status-error-bg);font-size:.8rem;padding:6px 12px}.miniapp-btn.danger:hover{background:var(--status-error-bg)}.miniapp-btn.small{font-size:.75rem;padding:4px 10px}.miniapp-btn.full{width:100%}.miniapp-btn:disabled{opacity:.5;cursor:default}.miniapp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100;display:flex;align-items:flex-end;justify-content:center}.miniapp-sheet{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:420px;max-height:80vh;overflow-y:auto}.miniapp-sheet-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:10px auto}.miniapp-sheet-body{padding:8px 20px 24px;display:flex;flex-direction:column;gap:12px}.miniapp-sheet-title{font-weight:600;font-size:1.05rem}.miniapp-sheet-desc{font-size:.85rem;color:var(--text-dim);line-height:1.5;margin:0}.miniapp-sheet-bot-card{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg);border-radius:10px;border:1px solid var(--border)}.miniapp-sheet-bot-details{min-width:0}.miniapp-sheet-bot-name{font-weight:600;font-size:.95rem}.miniapp-sheet-bot-sub{font-size:.8rem;color:var(--text-dim);margin-top:1px}.miniapp-sheet-status{font-size:.8rem;padding:6px 12px;border-radius:8px;text-align:center}.miniapp-sheet-status.connected{background:var(--status-healthy-bg);color:var(--status-healthy)}.miniapp-sheet-error{color:var(--status-error);font-size:.8rem;padding:4px 0}.miniapp-sheet-link{background:none;border:none;color:var(--text-dim);font-size:.8rem;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:2px}.miniapp-sheet-link:hover{color:var(--text)}.miniapp-input{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.85rem;font-family:monospace;box-sizing:border-box}.miniapp-input:focus{outline:none;border-color:var(--accent)}.integrations-page{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.integrations-header{padding:28px 40px 0;border-bottom:1px solid var(--border)}.integrations-title{display:flex;align-items:center;gap:10px;color:var(--text)}.integrations-title h1{font-size:22px;font-weight:600;margin:0;letter-spacing:-.01em}.integrations-subtitle{color:var(--text-dim);font-size:13px;margin-left:auto}.integrations-tabs{display:flex;gap:4px;margin-top:24px;border-bottom:none;padding-bottom:0}.integrations-tab{background:transparent;border:none;color:var(--text-dim);font-size:13px;font-weight:500;padding:10px 16px;cursor:pointer;position:relative;display:inline-flex;align-items:center;gap:6px;border-radius:8px 8px 0 0;transition:color .12s;margin-bottom:-1px}.integrations-tab:hover,.integrations-tab.active{color:var(--text)}.integrations-tab.active:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.integrations-tab-badge{background:var(--surface-2);color:var(--text);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:600;line-height:1.4}.integrations-banner{margin:16px 40px 0;padding:10px 14px;border-radius:10px;font-size:13px;display:flex;align-items:center;gap:10px}.integrations-banner-ok{background:var(--status-healthy-bg);color:var(--status-healthy);border:1px solid var(--status-healthy-bg)}.integrations-banner-err{background:var(--status-error-bg);color:var(--status-error);border:1px solid var(--status-error-bg)}.integrations-banner-close{margin-left:auto;background:transparent;border:none;color:inherit;opacity:.6;cursor:pointer;padding:2px}.integrations-banner-close:hover{opacity:1}.integrations-body{flex:1;overflow-y:auto;padding:28px 40px 40px}.integrations-toolbar{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.integrations-search{position:relative;flex:0 1 320px;display:flex;align-items:center}.integrations-search svg{position:absolute;left:12px;color:var(--text-dim);pointer-events:none}.integrations-search input{width:100%;padding:9px 12px 9px 34px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;box-sizing:border-box;transition:border-color .1s}.integrations-search input:focus{outline:none;border-color:var(--accent)}.integrations-chips{display:flex;gap:6px;flex-wrap:wrap}.integrations-chip{background:transparent;border:1px solid var(--border);color:var(--text-dim);font-size:12px;padding:6px 12px;border-radius:999px;cursor:pointer;transition:all .12s}.integrations-chip:hover{border-color:var(--text-dim);color:var(--text)}.integrations-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.integrations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.integration-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;text-align:left;cursor:pointer;color:var(--text);display:flex;flex-direction:column;gap:10px;min-height:148px;transition:border-color .14s,transform .14s,box-shadow .14s;font-family:inherit}.integration-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 8px 24px -12px #0006}.integration-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.integration-card-connected{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--status-healthy);font-weight:500;background:var(--status-healthy-bg);border:1px solid var(--status-healthy-bg);padding:3px 8px;border-radius:999px}.integration-card-name{font-size:15px;font-weight:600;color:var(--text);margin-top:2px}.integration-card-tagline{font-size:12px;color:var(--text-dim);line-height:1.55;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.integration-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:6px}.integration-card-category{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-weight:600}.integration-card-cta{font-size:12px;font-weight:500;color:var(--accent);display:inline-flex;align-items:center;gap:4px}.integration-logo{border-radius:8px;object-fit:contain;flex-shrink:0}.integration-logo-fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:600;letter-spacing:-.02em}.integrations-empty{padding:40px 20px;text-align:center;color:var(--text-dim);font-size:13px}.integrations-empty-state{padding:60px 20px;text-align:center;color:var(--text-dim);display:flex;flex-direction:column;align-items:center;gap:12px}.integrations-empty-state h3{color:var(--text);font-size:16px;font-weight:600;margin:4px 0 0}.integrations-empty-state p{font-size:13px;max-width:360px;line-height:1.5;margin:0}.integrations-link-btn{background:transparent;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:4px 0;margin-top:8px}.catalog-card-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.catalog-tag{font-size:10px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 8px;line-height:1.4}.catalog-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.catalog-fact{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--text)}.catalog-fact-label{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-weight:500;white-space:nowrap}.catalog-fact-value{color:var(--text);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.catalog-fact-value code{font-family:SF Mono,Fira Code,monospace;font-size:11px;background:var(--surface-2);padding:1px 6px;border-radius:4px}.cfg-dashboard .integration-card-head{min-height:36px}.cfg-card-version-pill{font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-dim);letter-spacing:.02em}.cfg-tabs-row{display:flex;flex-wrap:wrap;gap:6px;padding:16px 0 4px;border-bottom:1px solid var(--border);margin-bottom:18px}.cfg-pill-tab{background:transparent;border:1px solid transparent;color:var(--text-dim);font-size:12.5px;font-weight:500;padding:6px 12px;border-radius:999px;cursor:pointer;transition:color .12s,background .12s,border-color .12s;font-family:inherit}.cfg-pill-tab:hover{color:var(--text);background:var(--surface-2)}.cfg-pill-tab.active{color:var(--accent);background:var(--surface-2);border-color:var(--border)}.cfg-editor-surface{width:100%;min-height:520px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:16px 18px;font-family:SF Mono,Fira Code,JetBrains Mono,monospace;font-size:12.5px;line-height:1.55;resize:vertical;-moz-tab-size:2;tab-size:2;outline:none;transition:border-color .12s}.cfg-editor-surface:focus{border-color:var(--accent)}.cfg-template-area{display:flex;flex-direction:column;gap:10px}.cfg-template-files{display:flex;flex-wrap:wrap;gap:6px}.cfg-template-file{font-family:SF Mono,Fira Code,monospace;font-size:11.5px;padding:5px 10px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:color .12s,border-color .12s}.cfg-template-file:hover{color:var(--text)}.cfg-template-file.active{color:var(--accent);border-color:var(--accent);background:transparent}.cfg-empty-inline{font-size:12px;color:var(--text-dim);padding:6px 2px}.cfg-actions-col{display:flex;flex-direction:column;gap:8px}.cfg-ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;background:transparent;border:1px solid var(--border);color:var(--text);padding:8px 12px;font-size:12.5px;font-weight:500;border-radius:8px;cursor:pointer;font-family:inherit;transition:border-color .12s,background .12s}.cfg-ghost-btn:hover:not(:disabled){border-color:var(--text-dim);background:var(--surface-2)}.cfg-ghost-btn:disabled{opacity:.5;cursor:not-allowed}.cfg-version-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cfg-version-list li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:12px;color:var(--text-dim)}.cfg-version-list li.active{background:var(--surface-2);color:var(--text)}.cfg-ver-num{font-family:SF Mono,Fira Code,monospace;font-size:11px;background:var(--bg);padding:1px 6px;border-radius:4px;color:var(--text)}.cfg-ver-meta{flex:1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfg-ver-check{color:var(--accent);flex-shrink:0}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:500;white-space:nowrap}.status-pill-sm{padding:2px 7px;font-size:10.5px}.status-pill.status-live{background:var(--status-healthy-bg);color:var(--status-healthy)}.status-pill.status-expiring{background:var(--status-warning-bg);color:var(--status-warning)}.status-pill.status-degraded,.status-pill.status-revoked{background:var(--status-error-bg);color:var(--status-error)}.status-dot{width:7px;height:7px;border-radius:999px;display:inline-block;flex-shrink:0}.status-dot.status-live{background:var(--status-healthy);box-shadow:0 0 0 2px var(--status-healthy-bg)}.status-dot.status-expiring{background:var(--status-warning)}.status-dot.status-degraded,.status-dot.status-revoked{background:var(--status-error)}.integrations-mine-filters{display:flex;gap:4px;margin-bottom:16px}.integrations-mini-tab{background:transparent;border:1px solid transparent;color:var(--text-dim);font-size:12px;padding:5px 12px;border-radius:6px;cursor:pointer}.integrations-mini-tab:hover{color:var(--text)}.integrations-mini-tab.active{background:var(--surface);border-color:var(--border);color:var(--text)}.integrations-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.integrations-table{width:100%;border-collapse:collapse}.integrations-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-weight:600;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--border)}.integrations-table td{padding:12px 14px;font-size:13px;border-bottom:1px solid var(--border);color:var(--text)}.integrations-table tbody tr:last-child td{border-bottom:none}.integrations-table tbody tr{cursor:pointer;transition:background .1s}.integrations-table tbody tr:hover{background:var(--overlay-1)}.integrations-cell-service{display:flex;align-items:center;gap:10px;font-weight:500}.integrations-cell-primary{color:var(--text)}.integrations-cell-sub{color:var(--text-dim);font-size:12px;margin-top:2px}.integrations-cell-scopes{display:flex;flex-wrap:wrap;gap:4px}.integrations-cell-scopes code{font-size:11px;background:var(--surface-2);padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,monospace}.integrations-cell-more{font-size:11px;color:var(--text-dim);align-self:center}.integrations-back{background:transparent;border:none;color:var(--text-dim);font-size:12px;cursor:pointer;padding:4px 0;display:inline-flex;align-items:center;gap:5px;margin-bottom:16px}.integrations-back:hover{color:var(--text)}.integration-detail-hero{display:flex;align-items:center;gap:16px;padding:18px 0 24px;border-bottom:1px solid var(--border)}.integration-detail-hero h2{font-size:24px;font-weight:600;margin:0;letter-spacing:-.01em}.integration-detail-hero p{font-size:13.5px;color:var(--text-dim);margin:4px 0 0;line-height:1.5}.integrations-docs-link{margin-left:auto;color:var(--text-dim);text-decoration:none;font-size:12.5px;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);padding:6px 10px;border-radius:8px;transition:all .12s}.integrations-docs-link:hover{color:var(--text);border-color:var(--text-dim)}.integration-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;padding-top:24px}@media (max-width: 960px){.integration-detail-grid{grid-template-columns:1fr}}.integration-detail-main{min-width:0}.integration-detail-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:0;align-self:flex-start}.integration-sidecard{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px}.integration-sidecard h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0 0 12px;font-weight:600}.integration-sidecard-muted{background:transparent;border-color:var(--border)}.integration-sidecard-scopes{margin-bottom:14px;padding:10px;background:var(--surface-2);border-radius:8px}.integration-sidecard-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:5px;margin-bottom:6px}.integration-sidecard-scopes ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px}.integration-sidecard-scopes li code{font-size:11px;background:var(--bg);padding:2px 7px;border-radius:4px}.integration-connect-btn{width:100%;background:var(--accent);border:none;color:#fff;padding:10px 14px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:background .1s;display:inline-flex;align-items:center;justify-content:center;gap:6px}.integration-connect-btn:hover{background:var(--accent-hover)}.integration-connect-btn:disabled{opacity:.5;cursor:default}.integration-connect-btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text);margin-top:10px}.integration-connect-btn-secondary:hover{border-color:var(--text-dim);background:var(--surface-2)}.integration-sidecard-hint{font-size:11.5px;color:var(--text-dim);line-height:1.5;margin:10px 0 0}.integration-apikey-form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.integration-apikey-form input{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:12.5px;color:var(--text);font-family:SF Mono,monospace}.integration-apikey-form input:focus{outline:none;border-color:var(--accent)}.integration-apikey-error{color:var(--status-error);font-size:11px}.integration-connected-list{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.integration-connected-row{display:flex;align-items:center;gap:10px;padding:10px;background:var(--surface-2);border-radius:8px}.integration-connected-main{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.integration-connected-name{font-size:13px;font-weight:500;color:var(--text)}.integration-connected-sub{font-size:11px;color:var(--text-dim);margin-top:2px}.integration-connected-actions{display:flex;gap:2px}.integration-connected-actions button{background:transparent;border:none;color:var(--text-dim);padding:6px;border-radius:5px;cursor:pointer;display:inline-flex}.integration-connected-actions button:hover{color:var(--text);background:var(--overlay-1)}.integration-datalist{list-style:none;margin:0;padding:0;color:var(--text-dim);font-size:12px;line-height:1.7}.integration-datalist li:before{content:"·";margin-right:8px;color:var(--text-dim)}.integration-revoke-modal{max-width:440px}.integration-revoke-modal h3{margin-top:0}.integration-revoke-modal p{color:var(--text-dim);font-size:13px;line-height:1.5}.auth-btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.auth-btn.danger:hover{background:var(--status-error)}.integration-readme{color:var(--text);font-size:14px;line-height:1.7}.integration-readme h2{font-size:18px;font-weight:600;margin:24px 0 8px;letter-spacing:-.01em}.integration-readme h2:first-child{margin-top:0}.integration-readme h3{font-size:14px;font-weight:600;margin:20px 0 6px;color:var(--text)}.integration-readme h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-weight:600;margin:18px 0 4px}.integration-readme p{margin:0 0 12px;color:var(--text)}.integration-readme ul{margin:0 0 12px;padding-left:20px}.integration-readme li{margin-bottom:4px;color:var(--text)}.integration-readme code{background:var(--surface-2);padding:2px 6px;border-radius:4px;font-size:12.5px;font-family:SF Mono,monospace}.stack-add-integration-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);font-size:11px;padding:3px 8px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.stack-add-integration-btn:hover{color:var(--text);border-color:var(--text-dim)}.stack-integration-row{align-items:flex-start;padding-top:8px;padding-bottom:8px}.stack-integration-title{font-size:12.5px;color:var(--text);font-weight:500;display:flex;align-items:center;gap:8px}.stack-integration-handle{font-size:11px;color:var(--text-dim);font-weight:400}.stack-integration-envs{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.stack-integration-envs code{font-size:10.5px;background:var(--bg);padding:1px 5px;border-radius:3px;font-family:SF Mono,monospace;color:var(--text-dim)}.stack-integration-picker{margin-top:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px;display:flex;flex-direction:column;gap:2px}.stack-integration-pick-item{background:transparent;border:none;color:var(--text);padding:7px 10px;border-radius:5px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px}.stack-integration-pick-item:hover{background:var(--surface)}.stack-integration-pick-name{font-size:12.5px;font-weight:500}.stack-integration-pick-sub{font-size:11px;color:var(--text-dim)}.legal-page{min-height:100vh;background:var(--bg, #0f0f10);color:var(--text, #e6e6e8);padding:48px 24px;overflow-y:auto}.legal-content{max-width:720px;margin:0 auto;font-size:15px;line-height:1.65}.legal-content h1{font-size:28px;margin:24px 0 4px}.legal-content h2{font-size:18px;margin:32px 0 8px;color:var(--text)}.legal-content p,.legal-content li{color:var(--text-dim, #b3b3b8)}.legal-content a{color:var(--accent)}.legal-content ul{padding-left:22px}.legal-updated{font-size:13px;color:var(--text-dim);margin-bottom:24px}.legal-back{display:inline-block;margin-bottom:24px;font-size:13px;color:var(--text-dim);text-decoration:none}.legal-back:hover{color:var(--text)}.legal-todo{margin-top:32px;padding:12px 16px;background:#fac80014;border-left:3px solid #fac800;border-radius:4px;font-size:13px}.landing-legal-links{display:flex;gap:20px;font-size:.85rem;color:var(--text-dim)}.landing-legal-links a{color:var(--text-dim);text-decoration:none;transition:color .2s}.landing-legal-links a:hover{color:var(--text)}.auth-terms-agree{display:flex;gap:10px;align-items:flex-start;margin:4px 0 0;padding:0;font-size:12.5px;line-height:1.5;color:var(--text-dim);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none}.auth-terms-agree input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:2px 0 0;flex-shrink:0;background:var(--surface);border:1.5px solid var(--accent);border-radius:4px;cursor:pointer;transition:background .15s,border-color .15s;position:relative}.auth-terms-agree input:hover{border-color:var(--accent)}.auth-terms-agree input:checked{background:var(--accent);border-color:var(--accent)}.auth-terms-agree input:checked:after{content:"";position:absolute;top:1px;left:5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.auth-terms-agree a{color:var(--accent);text-decoration:none;font-weight:500}.auth-terms-agree a:hover{text-decoration:underline}.integration-audit-section{margin-top:24px;border-top:1px solid var(--overlay-2);padding-top:16px}.integration-audit-toggle{background:none;border:none;color:var(--text-dim);font-size:13px;display:inline-flex;align-items:center;gap:6px;padding:4px 0;cursor:pointer}.integration-audit-toggle:hover{color:var(--text)}.integration-audit-list{margin-top:8px;font-size:12px;max-height:320px;overflow-y:auto;background:var(--overlay-1);border-radius:6px;padding:8px}.integration-audit-empty{padding:12px;color:var(--text-dim)}.integration-audit-row{display:grid;grid-template-columns:150px 90px 60px 1fr;gap:8px;padding:4px 8px;align-items:center;border-radius:4px}.integration-audit-row:hover{background:var(--overlay-1)}.audit-time{color:var(--text-dim);font-family:monospace}.audit-event{font-weight:500}.audit-outcome{text-transform:uppercase;font-size:10px;text-align:center;padding:2px 4px;border-radius:3px}.outcome-ok{background:#50c87826;color:#6fd08a}.outcome-fail{background:#dc505026;color:#e88787}.outcome-skip{background:#b4b4b41a;color:var(--text-dim)}.audit-detail{color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:monospace}.auth-separator{display:flex;align-items:center;gap:12px;text-align:center;color:var(--text-dim);font-size:11px;font-weight:500;margin:4px 0;text-transform:uppercase;letter-spacing:.08em}.auth-separator:before,.auth-separator:after{content:"";flex:1;height:1px;background:var(--border)}.auth-separator span{padding:0}.auth-oauth-list{display:flex;flex-direction:column;gap:8px}.auth-forgot-hint{text-align:center;margin:8px 0 0;font-size:12.5px;color:var(--text-dim)}.auth-forgot-hint a{color:var(--text-dim);text-decoration:none}.auth-forgot-hint a:hover{color:var(--text);text-decoration:underline}.auth-input{width:100%;padding:10px 12px;background:var(--bg-2, #14141a);border:1px solid var(--border, #2a2a35);border-radius:6px;color:var(--text, #e4e4ef);font-size:14px;margin-bottom:12px;font-family:inherit}.auth-input:focus{outline:none;border-color:var(--accent, #7c5cff)}.settings-label{display:block;font-size:12.5px;color:var(--text-dim, #8a8aa0);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.mfa-enroll-grid{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start;margin:16px 0}@media (max-width: 600px){.mfa-enroll-grid{grid-template-columns:1fr}}.mfa-recovery-block{margin-top:16px}.plan-page-header{display:flex;align-items:center;gap:8px;justify-content:space-between}.plan-page-header-title{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.plan-page-counter{font-size:11px;color:var(--text-dim);font-weight:400}.plan-revision-badge{font-size:10px;font-weight:600;font-family:SF Mono,Fira Code,monospace;text-transform:lowercase;letter-spacing:.3px;padding:2px 7px;border-radius:4px;white-space:nowrap;background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);cursor:help}.plan-revision-origin-extend{color:#60a5fa;border-color:#60a5fa4d;background:#60a5fa14}.plan-revision-origin-replace_full{color:#facc15;border-color:#facc154d;background:#facc1514}.plan-revision-origin-init{color:var(--accent);border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.08)}.plan-revision-origin-migration{color:var(--text-dim)}.plan-page-loading,.plan-page-empty-tree{padding:12px;color:var(--text-dim);font-size:13px;text-align:center}.plan-revision-group{display:flex;flex-direction:column;border-bottom:1px solid var(--border)}.plan-revision-group:last-child{border-bottom:none}.plan-revision-archived{opacity:.78}.plan-revision-active .plan-revision-header{background:rgba(var(--accent-rgb),.04)}.plan-revision-header{font-weight:600;font-size:12px;letter-spacing:.2px;color:var(--text);padding:8px 10px;text-transform:uppercase}.plan-revision-archived .plan-revision-header{color:var(--text-dim)}.plan-revision-title{white-space:nowrap}.plan-revision-reason{font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-dim);font-style:italic;flex:1;overflow:hidden;text-overflow:ellipsis}.plan-revision-active-pill{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;background:rgba(var(--accent-rgb),.15);color:var(--accent);text-transform:lowercase;letter-spacing:.3px;margin-left:auto}.plan-revision-group .plan-tree-feature-row{padding-left:22px}.plan-revision-group .plan-tree-subtask-row{padding-left:38px}.plan-tree-feature{display:flex;flex-direction:column}.plan-tree-node{display:flex;align-items:center;gap:6px;padding:5px 10px;background:transparent;border:none;color:var(--text);font-size:13px;cursor:pointer;text-align:left;width:100%}.plan-tree-node:hover{background:rgb(var(--accent-rgb) / .08)}.plan-tree-node.active{background:rgb(var(--accent-rgb) / .15);color:var(--text)}.plan-tree-feature-row{font-weight:500}.plan-tree-subtask-row{padding-left:28px;font-size:12.5px;color:var(--text-dim)}.plan-tree-status{display:inline-block;width:14px;text-align:center;font-size:11px}.plan-tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-tree-count{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:3px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);flex-shrink:0}.plan-tree-count.all-done{color:var(--status-healthy);background:#22c55e1a;border-color:#22c55e4d}.plan-tree-count.has-fail{color:var(--status-error);background:#ef44441a;border-color:#ef44444d}.plan-tree-feature-row.plan-feature-passing .plan-tree-status{color:var(--status-healthy)}.plan-tree-feature-row.plan-feature-failing .plan-tree-status{color:var(--status-error)}.plan-tree-feature-row.plan-feature-active .plan-tree-status{color:var(--accent)}.plan-tree-feature-row.plan-feature-blocked .plan-tree-status{color:var(--status-degraded)}.plan-tree-subtask-row.plan-subtask-passing .plan-tree-status{color:var(--status-healthy)}.plan-tree-subtask-row.plan-subtask-failing .plan-tree-status{color:var(--status-error)}.plan-tree-subtask-row.plan-subtask-active .plan-tree-status{color:var(--accent)}.plan-tree-subtask-row.plan-subtask-blocked .plan-tree-status{color:var(--status-degraded)}.plan-tree-subtask-row.plan-subtask-cancelled .plan-tree-label{text-decoration:line-through;opacity:.55}.plan-tree-subtask-row.plan-subtask-cancelled .plan-tree-status,.plan-tree-subtask-row.plan-subtask-split .plan-tree-status{color:var(--text-dim)}.plan-tree-subtask-row.plan-subtask-split .plan-tree-label{font-style:italic;opacity:.75}.plan-tree-subtask-row.plan-subtask-reopened .plan-tree-status,.plan-tree-subtask-row.plan-subtask-reopened .plan-tree-label{color:var(--status-degraded)}.plan-tree-origin-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;border-radius:3px;background:#ffffff0f;color:var(--text-dim);border:1px solid rgba(255,255,255,.1);flex-shrink:0}.plan-tree-origin-badge.origin-producer-split{background:#8b5cf61f;color:#a78bfa;border-color:#8b5cf64d}.plan-tree-origin-badge.origin-producer-added{background:#22c55e1a;color:#4ade80;border-color:#22c55e4d}.plan-tree-origin-badge.origin-playbook{background:#3b82f61a;color:#60a5fa;border-color:#3b82f64d}.plan-sidebar-panel{margin-top:12px;border-top:1px solid rgba(255,255,255,.06);padding-top:8px}.plan-sidebar-panel-header{display:flex;align-items:center;gap:6px;width:100%;padding:6px 12px;background:transparent;border:none;color:var(--text);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.plan-sidebar-panel-header:hover{background:#ffffff08}.plan-sidebar-panel-count{margin-left:auto;font-size:11px;font-weight:400;color:var(--text-dim);font-variant-numeric:tabular-nums}.plan-mutation-log{padding:4px 12px 8px;display:flex;flex-direction:column;gap:8px;font-size:12px}.plan-mutation-entry{padding:6px 8px;background:#ffffff08;border-radius:4px;border-left:2px solid rgba(255,255,255,.1)}.plan-mutation-time{font-size:10px;color:var(--text-dim);font-variant-numeric:tabular-nums;margin-bottom:2px}.plan-mutation-line{color:var(--text-dim);line-height:1.4}.plan-mutation-line strong{color:var(--text);font-weight:500;margin-right:4px}.plan-mutation-added{border-left-color:#22c55e66}.plan-mutation-added strong{color:#4ade80}.plan-mutation-split{border-left-color:#8b5cf666}.plan-mutation-split strong{color:#a78bfa}.plan-mutation-cancelled{border-left-color:#ef444466}.plan-mutation-cancelled strong{color:#f87171}.plan-mutation-entry .plan-mutation-added+.plan-mutation-split,.plan-mutation-entry .plan-mutation-split+.plan-mutation-cancelled{margin-top:4px}.plan-spec-viewer{padding:4px 12px 8px;font-size:12px;display:flex;flex-direction:column;gap:12px}.plan-spec-section{display:flex;flex-direction:column;gap:4px}.plan-spec-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.plan-spec-value{color:var(--text)}.plan-spec-value-json{margin:0;padding:6px 8px;background:#00000040;border-radius:4px;font-size:11px;color:var(--text);white-space:pre-wrap;overflow-x:auto;max-height:240px}.plan-spec-list{margin:0;padding-left:18px;color:var(--text);line-height:1.5}.plan-spec-list code{font-size:11px;background:#ffffff0f;padding:1px 4px;border-radius:3px}.plan-spec-feature{padding:6px 8px;background:#ffffff08;border-radius:4px;margin-top:4px}.plan-spec-feature-name{font-weight:500;color:var(--text)}.plan-spec-feature-desc{color:var(--text-dim);margin-top:2px;line-height:1.4}.plan-spec-acceptance{margin:4px 0 0;padding-left:18px;color:var(--text-dim);line-height:1.4}.plan-spec-meta{margin-top:4px;font-size:11px;color:var(--text-dim);font-style:italic}.plan-spec-config{font-size:11px;background:#00000040;padding:8px;border-radius:4px;color:var(--text-dim);overflow-x:auto;max-height:320px}.plan-version-groups{display:flex;flex-direction:column;gap:2px;padding:0 0 12px}.plan-version-group{display:flex;flex-direction:column}.plan-version-group-header{display:flex;align-items:stretch;background:transparent;color:var(--text)}.plan-version-group-header:hover{background:#ffffff0a}.plan-version-group-toggle{flex:1;display:grid;grid-template-columns:14px auto 1fr auto auto;gap:8px;align-items:center;padding:6px 12px;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;font-size:12px;font-weight:600;min-width:0}.plan-version-group-view{display:flex;align-items:center;justify-content:center;padding:0 10px;background:transparent;border:0;color:var(--text-dim);cursor:pointer;opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.plan-version-group-header:hover .plan-version-group-view,.plan-version-group-view:focus-visible{opacity:1}.plan-version-group-view:hover{color:var(--text)}.plan-version-group-header.active .plan-version-group-view{opacity:1;color:var(--text)}.plan-version-group-title{color:var(--text);font-variant-numeric:tabular-nums}.plan-version-group-reason{font-weight:400;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-version-group-count{color:var(--text-dim);font-size:11px;font-weight:500}.plan-version-group-date{color:var(--text-dim);font-size:11px;font-weight:400}.plan-version-group-rows{margin:0;padding:0 0 4px;list-style:none}.plan-version-group-rows li{padding:0}.plan-version-task{width:100%;display:grid;grid-template-columns:18px 1fr;gap:6px;align-items:center;padding:4px 12px 4px 28px;background:transparent;border:0;color:var(--text);text-align:left;cursor:pointer;font-size:12px}.plan-version-task:hover{background:#ffffff0a}.plan-version-task.active{background:#60a5fa26}.plan-version-task-status{color:var(--text-dim);font-size:12px}.plan-version-task-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-version-accordion{display:flex;flex-direction:column;padding:4px 0 12px}.plan-version-accordion>.plan-version-group{border-bottom:1px solid var(--border)}.plan-version-accordion>.plan-version-group:last-child{border-bottom:none}.plan-version-accordion>.plan-version-group.open{background:#ffffff04}.plan-version-group-header.active{background:#60a5fa1a}.plan-version-group-header.active:hover{background:#60a5fa24}.plan-version-iterations{display:flex;flex-direction:column;padding:0 0 6px 6px}.plan-version-iterations .plan-revision-group{border-bottom:none}.plan-version-iterations .plan-revision-header{padding:5px 10px 5px 22px;text-transform:none;letter-spacing:0;font-size:12px}.plan-version-iterations .plan-revision-archived{opacity:.82}.plan-version-iterations .plan-revision-archived .plan-revision-header{color:var(--text-dim)}.plan-version-empty-iterations{padding:6px 14px 10px 34px;color:var(--text-dim);font-size:11.5px;font-style:italic}.plan-spec-history{margin:0;padding:4px 0;list-style:none;max-height:280px;overflow-y:auto}.plan-spec-history li{padding:0}.plan-spec-history-row{width:100%;display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;padding:6px 12px;background:transparent;border:0;color:var(--text);text-align:left;cursor:pointer;font-size:12px}.plan-spec-history-row:hover{background:#ffffff0a}.plan-spec-history-row.active{background:#60a5fa26}.plan-spec-history-version{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px}.plan-spec-history-reason{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-spec-history-date{color:var(--text-dim);font-size:11px}.plan-spec-rev-meta{color:var(--text-dim);font-size:12px;margin:4px 0 16px;display:flex;gap:8px;flex-wrap:wrap}.plan-spec-rev-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-spec-rev-toggle{padding:6px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text);cursor:pointer;font-size:12px}.plan-spec-rev-toggle:hover:not(:disabled){background:#ffffff14}.plan-spec-rev-toggle:disabled{opacity:.45;cursor:not-allowed}.plan-spec-rev-toggle.active{background:#60a5fa26;border-color:#60a5fa59;color:var(--text)}.plan-spec-rev-actions{display:flex;align-items:center;gap:6px}.plan-spec-rev-run{padding:6px 12px;background:#4ade802e;border:1px solid rgba(74,222,128,.45);border-radius:4px;color:#86efac;cursor:pointer;font-size:12px;font-weight:600}.plan-spec-rev-run:hover:not(:disabled){background:#4ade8047;color:#bbf7d0}.plan-spec-rev-run:disabled{opacity:.5;cursor:not-allowed}.plan-spec-rev-pending{color:#facc15}.plan-spec-rev-error{margin:8px 0;padding:6px 10px;background:#f871711a;border-left:2px solid #f87171;color:#fca5a5;font-size:12px;border-radius:3px}.plan-spec-rev-editor{margin-top:8px;display:flex;flex-direction:column;gap:8px}.plan-spec-rev-editor-hint{font-size:11px;color:var(--text-dim);padding:6px 10px;background:#ffffff08;border-radius:4px;line-height:1.5}.plan-spec-rev-editor-hint code{font-size:10px;background:#ffffff0f;padding:1px 4px;border-radius:2px}.plan-spec-rev-textarea{width:100%;min-height:480px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;resize:vertical}.plan-spec-rev-textarea:focus{outline:none;border-color:var(--accent)}.plan-spec-rev-editor-actions{display:flex;justify-content:flex-end;gap:8px}.plan-spec-diff{display:flex;flex-direction:column;gap:16px;margin-top:4px}.plan-spec-diff-empty{color:var(--text-dim);font-style:italic;margin:4px 0}.plan-spec-diff-section{background:#ffffff05;border-radius:4px;padding:10px 12px}.plan-spec-diff-key{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:6px}.plan-spec-diff-added{color:#4ade80;font-size:13px;line-height:1.5}.plan-spec-diff-removed{color:#f87171;font-size:13px;line-height:1.5;text-decoration:line-through;text-decoration-color:#f8717166}.plan-spec-diff-changed{margin-top:6px;padding:6px 8px;background:#ffffff08;border-radius:3px}.plan-spec-diff-changed-name{color:#fbbf24;font-size:13px;font-weight:500;margin-bottom:4px}.plan-spec-diff-field{font-size:12px;line-height:1.5;padding-left:12px;color:var(--text)}.plan-spec-diff-field-key{color:var(--text-dim);font-size:11px;margin-right:6px}.plan-spec-diff-added-inline{color:#4ade80}.plan-spec-diff-removed-inline{color:#f87171;text-decoration:line-through;text-decoration-color:#f8717166}.plan-spec-feature.plan-spec-added{border-left:2px solid #4ade80;padding-left:8px;background:#4ade800d}.plan-spec-feature.plan-spec-changed{border-left:2px solid #fbbf24;padding-left:8px;background:#fbbf240d}.plan-spec-feature.plan-spec-removed{border-left:2px solid #f87171;padding-left:8px;background:#f871710d;opacity:.7}.plan-spec-feature.plan-spec-removed .plan-spec-feature-name{text-decoration:line-through}.plan-spec-section.plan-spec-changed .plan-spec-label{color:#fbbf24}.plan-spec-list li.plan-spec-added{color:#4ade80}.plan-spec-list li.plan-spec-changed{color:#fbbf24}.plan-spec-list li.plan-spec-removed{color:#f87171;text-decoration:line-through;text-decoration-color:#f8717166}.plan-spec-acceptance li.plan-spec-added{color:#4ade80}.plan-spec-acceptance li.plan-spec-removed{color:#f87171;text-decoration:line-through;text-decoration-color:#f8717166}.plan-spec-services-list{display:flex;flex-wrap:wrap;gap:6px}.plan-spec-service-chip{display:inline-block;padding:1px 6px;border-radius:3px;font-size:11px;background:#ffffff0d;color:var(--text)}.plan-spec-service-chip.plan-spec-added{background:#4ade8026;color:#4ade80}.plan-spec-service-chip.plan-spec-removed{background:#f871711f;color:#f87171;text-decoration:line-through;text-decoration-color:#f8717166}.plan-spec-diff-removed-block-wrap{margin-bottom:4px}.plan-spec-diff-cfg{margin-top:6px}.plan-spec-diff-cfg-head{font-size:12px;margin-bottom:4px;font-weight:500}.plan-spec-diff-cfg-added{color:#4ade80}.plan-spec-diff-cfg-removed{color:#f87171}.plan-spec-diff-cfg-changed{color:#fbbf24}.plan-spec-diff-added-block{margin:0 0 6px;padding:6px 8px;background:#4ade8014;border-left:2px solid #4ade80;font-size:11px;color:var(--text);white-space:pre-wrap;overflow-x:auto;max-height:320px}.plan-spec-diff-removed-block{margin:0 0 6px;padding:6px 8px;background:#f8717114;border-left:2px solid #f87171;font-size:11px;color:var(--text);white-space:pre-wrap;overflow-x:auto;max-height:320px}.plan-page-placeholder{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dim);gap:10px;padding:40px;text-align:center}.plan-page-placeholder h3{margin:0;font-size:16px;color:var(--text);font-weight:500}.plan-page-placeholder p{margin:0;font-size:13px}.plan-page-details{flex:1;min-height:0;padding:24px 40px 40px;color:var(--text);overflow-y:auto}.plan-page-details h2{margin:0;font-size:18px;font-weight:600}.plan-page-details h4{margin:18px 0 8px;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-weight:500}.plan-page-details ul{margin:0;padding-left:18px}.plan-page-details li{margin:4px 0;font-size:13.5px}.plan-page-details-header{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:12px}.plan-page-status-pill{margin-left:auto;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:10px;background:var(--bg-2);color:var(--text-dim)}.plan-page-status-pill.status-passing{color:var(--status-healthy)}.plan-page-status-pill.status-passing-unverified{color:var(--status-degraded)}.plan-page-status-pill.status-failing{color:var(--status-error)}.plan-page-status-pill.status-active{color:var(--accent)}.plan-page-status-pill.status-blocked{color:var(--status-degraded)}.plan-page-status-pill.status-cancelled{color:var(--text-dim);text-decoration:line-through}.plan-page-desc{margin:0 0 10px;font-size:13.5px;color:var(--text-dim)}.plan-page-breadcrumb{font-size:12.5px;color:var(--text-dim);margin-bottom:10px}.plan-page-inline-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.plan-page-inline-link:hover{opacity:.85}.plan-page-evidence{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgb(var(--accent-rgb) / .06);border-left:3px solid var(--status-degraded);border-radius:4px;margin:10px 0 14px;font-size:13px;color:var(--text)}.plan-page-evidence:empty{display:none}.plan-evidence-badge{display:inline-block;padding:2px 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-radius:10px;background:var(--bg-2);color:var(--text-dim);white-space:nowrap}.plan-evidence-badge-qa{color:var(--status-error);background:rgb(var(--status-error-rgb, 220 38 38) / .1)}.plan-evidence-badge-schema{color:var(--status-healthy);background:rgb(var(--status-healthy-rgb, 34 197 94) / .1)}.plan-evidence-badge-api{color:var(--accent);background:rgb(var(--accent-rgb) / .1)}.plan-evidence-badge-build{color:var(--status-error);background:rgb(var(--status-error-rgb, 220 38 38) / .1)}.plan-evidence-badge-failfast,.plan-evidence-badge-timeout{color:var(--status-degraded);background:rgb(var(--status-degraded-rgb, 234 179 8) / .12)}.plan-evidence-badge-poisoned{color:#ea580c;background:#ea580c1f}.plan-evidence-badge-idempotent{color:var(--text-dim);background:var(--bg-2)}.plan-evidence-badge-malformed-spec{color:var(--status-error);background:rgb(var(--status-error-rgb, 220 38 38) / .12)}.plan-evidence-badge-adherence-files{color:var(--status-error);background:rgb(var(--status-error-rgb, 220 38 38) / .1)}.plan-evidence-badge-adherence-coverage{color:var(--status-degraded);background:rgb(var(--status-degraded-rgb, 234 179 8) / .12)}.plan-tree-feature-row.plan-feature-passing-unverified .plan-tree-status,.plan-tree-subtask-row.plan-subtask-passing-unverified .plan-tree-status{color:var(--status-degraded);cursor:help}.plan-feature-adherence{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;margin:4px 0 12px;font-size:12.5px;background:var(--bg-2);border-radius:6px;color:var(--text-dim);cursor:help}.plan-feature-adherence-label{text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:10.5px;color:var(--text-dim)}.plan-feature-adherence-value{color:var(--text)}.plan-feature-adherence-low{background:rgb(var(--status-degraded-rgb, 234 179 8) / .12);color:var(--status-degraded)}.plan-feature-adherence-flag{font-weight:600;color:var(--status-degraded)}.adherence-section{padding:18px 40px 4px}.adherence-section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;gap:12px}.adherence-section-header h3{margin:0;font-size:13px;font-weight:600}.adherence-hint{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.adherence-subtask{display:inline-flex;align-items:center;gap:4px;min-width:0;overflow:hidden}.adherence-subtask-feat{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adherence-subtask-id{color:var(--text-dim);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adherence-arrow{color:var(--text-dim);flex:0 0 auto}.adherence-evidence{display:inline-flex;align-items:center;gap:6px;min-width:0}.adherence-evidence-text{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.adherence-table{margin:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface)}.adherence-table .monitoring-table-header{padding:8px 12px;background:var(--surface-2)}.adherence-table .monitoring-table-row{padding:8px 12px;font-size:12px}.monitoring-section .adherence-section-hint{margin-left:auto;font-size:10.5px;font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.adherence-empty{padding:20px 12px;font-size:12.5px;color:var(--text-dim);text-align:center;border:1px dashed var(--border);border-radius:6px}.adherence-zero{color:var(--text-dim);opacity:.5;font-variant-numeric:tabular-nums}.plan-page-subtask-inline-list{list-style:none;padding:0}.plan-page-subtask-inline-list li{display:flex;align-items:center;gap:8px;padding:4px 0}.plan-page-readonly-hint{padding:8px 12px;background:rgb(var(--accent-rgb) / .05);border:1px solid var(--border);border-radius:4px;font-size:12.5px;color:var(--text-dim);margin-bottom:14px}.plan-page-readonly-hint code{font-family:inherit;font-weight:500;color:var(--text)}.plan-page-field{display:block;margin:12px 0}.plan-page-field>span{display:block;font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.plan-page-field input,.plan-page-field textarea{width:100%;background:var(--bg-2);border:1px solid var(--border);border-radius:5px;color:var(--text);font-family:inherit;font-size:13px;padding:8px 10px;resize:vertical}.plan-page-field textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5}.plan-page-field input:focus,.plan-page-field textarea:focus{outline:none;border-color:var(--accent)}.plan-page-actions{display:flex;align-items:center;gap:12px;margin-top:16px}.plan-page-error{color:var(--status-error);font-size:12.5px}.plan-page-code{background:var(--bg-2);border:1px solid var(--border);border-radius:5px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text);max-height:360px;overflow:auto}.plan-subtask-details{display:flex;flex-direction:column;gap:18px}.plan-subtask-hero{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 120%);border:1px solid var(--border);border-radius:12px}.plan-subtask-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-subtask-hero-breadcrumb{background:none;border:none;padding:0;font:inherit;font-size:12px;color:var(--text-dim);cursor:pointer;transition:color .15s}.plan-subtask-hero-breadcrumb:hover{color:var(--accent)}.plan-subtask-hero-title{margin:4px 0 0;font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--text)}.plan-subtask-hero-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--text-dim);background:var(--bg-2);padding:2px 8px;border-radius:4px;align-self:flex-start}.plan-subtask-status-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 10px;font-size:11.5px;font-weight:600;letter-spacing:.02em;border-radius:999px;background:var(--bg-2);color:var(--text-dim);white-space:nowrap}.plan-subtask-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.plan-subtask-status-chip.status-passing{color:var(--status-healthy);background:rgb(var(--status-healthy-rgb, 34 197 94) / .12)}.plan-subtask-status-chip.status-passing-unverified{color:var(--status-degraded);background:rgb(var(--status-degraded-rgb, 234 179 8) / .12)}.plan-subtask-status-chip.status-failing{color:var(--status-error);background:rgb(var(--status-error-rgb, 220 38 38) / .12)}.plan-subtask-status-chip.status-active{color:var(--accent);background:rgb(var(--accent-rgb) / .12)}.plan-subtask-status-chip.status-blocked{color:var(--status-degraded);background:rgb(var(--status-degraded-rgb, 234 179 8) / .1)}.plan-subtask-status-chip.status-cancelled{color:var(--text-dim);background:var(--bg-2);text-decoration:line-through}.plan-subtask-lock-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2)}.plan-subtask-lock-banner.plan-subtask-lock-passing,.plan-subtask-lock-banner.plan-subtask-lock-passing-unverified{background:rgb(var(--status-healthy-rgb, 34 197 94) / .06);border-color:rgb(var(--status-healthy-rgb, 34 197 94) / .25)}.plan-subtask-lock-banner.plan-subtask-lock-failing{background:rgb(var(--status-error-rgb, 220 38 38) / .06);border-color:rgb(var(--status-error-rgb, 220 38 38) / .25)}.plan-subtask-lock-banner.plan-subtask-lock-blocked{background:rgb(var(--status-degraded-rgb, 234 179 8) / .06);border-color:rgb(var(--status-degraded-rgb, 234 179 8) / .25)}.plan-subtask-lock-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--surface);border:1px solid var(--border);font-size:13px;flex-shrink:0}.plan-subtask-lock-banner.plan-subtask-lock-passing .plan-subtask-lock-icon,.plan-subtask-lock-banner.plan-subtask-lock-passing-unverified .plan-subtask-lock-icon{color:var(--status-healthy);border-color:rgb(var(--status-healthy-rgb, 34 197 94) / .4)}.plan-subtask-lock-banner.plan-subtask-lock-failing .plan-subtask-lock-icon{color:var(--status-error);border-color:rgb(var(--status-error-rgb, 220 38 38) / .4)}.plan-subtask-lock-banner.plan-subtask-lock-blocked .plan-subtask-lock-icon{color:var(--status-degraded);border-color:rgb(var(--status-degraded-rgb, 234 179 8) / .4)}.plan-subtask-lock-text{display:flex;flex-direction:column;gap:2px;font-size:13px}.plan-subtask-lock-text strong{color:var(--text);font-weight:600}.plan-subtask-lock-text span{color:var(--text-dim);font-size:12px}.plan-subtask-lock-text code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;background:var(--surface);padding:1px 6px;border-radius:3px;color:var(--text)}.plan-subtask-edit-card{padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.plan-subtask-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.plan-subtask-section-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.plan-subtask-section-eyebrow{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.plan-subtask-section-count{font-size:10.5px;color:var(--text-dim);background:var(--bg-2);padding:1px 7px;border-radius:8px;font-weight:500}.plan-subtask-prompt{margin:0;font-family:inherit;font-size:13.5px;line-height:1.55;color:var(--text);white-space:pre-wrap;word-break:break-word}.plan-subtask-file-list,.plan-subtask-acceptance-list,.plan-subtask-dep-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.plan-subtask-file-item{display:flex;align-items:center;gap:10px;padding:7px 10px;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.plan-subtask-file-item code{background:none;padding:0;color:var(--text)}.plan-subtask-file-icon{font-size:12px;opacity:.65;flex-shrink:0}.plan-subtask-acceptance-item{display:flex;align-items:flex-start;gap:10px;padding:6px 0;font-size:13.5px;line-height:1.5;color:var(--text)}.plan-subtask-acceptance-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:rgb(var(--accent-rgb) / .12);color:var(--accent);font-size:11px;font-weight:600;flex-shrink:0;margin-top:1px}.plan-subtask-dep-list li{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--text-dim)}.plan-subtask-dep-list code{background:var(--bg-2);padding:2px 8px;border-radius:4px;color:var(--text)}.apps-panel{display:flex;flex-direction:column;height:100%}.apps-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.apps-panel-add{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:var(--bg-2);border:1px solid var(--border);color:var(--text);font-size:12px;cursor:pointer}.apps-panel-add:hover{background:var(--bg-3, var(--bg-2))}.apps-list{flex:1;overflow-y:auto;padding:8px 0}.apps-empty{padding:16px;font-size:12px;opacity:.6;text-align:center}.apps-list-item{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;border-bottom:1px solid var(--border)}.apps-list-item:hover{background:var(--bg-2)}.apps-list-name{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.apps-list-name span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apps-list-kind{font-size:10px;text-transform:uppercase;opacity:.5;letter-spacing:.05em}.apps-list-link{color:var(--text);opacity:.6;padding:4px;border-radius:4px;display:inline-flex;align-items:center}.apps-list-link:hover{opacity:1;background:var(--bg-2)}.apps-list-vis{background:transparent;border:none;padding:4px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;color:var(--text);opacity:.5;transition:opacity .15s,color .15s}.apps-list-vis:hover:not(:disabled){opacity:1;background:var(--bg-2)}.apps-list-vis:disabled{opacity:.3;cursor:not-allowed}.apps-list-vis-inherit{color:var(--text-dim)}.apps-list-vis-public{color:var(--status-healthy);opacity:.85}.apps-list-vis-private{color:var(--status-warning);opacity:.85}.apps-list-item{cursor:pointer}.apps-list-item.active{background:#60a5fa1f;border-left:3px solid #60a5fa;padding-left:13px}.chat-active-app{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;background:var(--bg-2);border-bottom:1px solid var(--border)}.chat-active-app-label{opacity:.6}.chat-active-app-name{font-weight:600}.app-selector{position:relative;padding:6px 12px;background:var(--bg-2);border-bottom:1px solid var(--border)}.app-selector-passive{display:flex;align-items:center;gap:8px;font-size:12px}.app-selector-button{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;color:var(--text);font-size:12px;cursor:pointer;padding:0;text-align:left}.app-selector-button:hover .app-selector-name{color:var(--text);opacity:1}.app-selector-label{opacity:.6}.app-selector-name{display:inline-flex;align-items:center;gap:4px;font-weight:600;flex:1;min-width:0}.app-selector-menu{position:absolute;top:100%;left:0;right:0;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000040;z-index:50;max-height:300px;overflow-y:auto;margin-top:2px}.app-selector-item{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:transparent;border:none;color:var(--text);font-size:13px;cursor:pointer;text-align:left}.app-selector-item:hover{background:var(--bg-2)}.app-selector-item.active{background:#60a5fa1f}.app-selector-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-selector-item-kind{font-size:10px;text-transform:uppercase;opacity:.5;letter-spacing:.05em}.preview-tab-add{padding:4px 10px;opacity:.7}.preview-tab-add:hover{opacity:1}.domains-tab{display:flex;flex-direction:column;gap:10px}.domains-header{display:flex;align-items:center;gap:6px;color:var(--text)}.domains-header h4{margin:0;font-size:13.5px;font-weight:600;flex:1}.domains-refresh-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:5px;padding:3px 6px;cursor:pointer}.domains-refresh-btn:hover{color:var(--text);border-color:var(--text-dim)}.domains-disabled-banner{padding:8px 10px;background:var(--status-warning-bg);border:1px solid rgba(251,191,36,.3);border-radius:6px;color:var(--text);font-size:12.5px}.domains-disabled-banner code{background:var(--overlay-2);padding:1px 5px;border-radius:3px;font-size:11.5px;font-family:SF Mono,Fira Code,monospace}.domains-global-error{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--status-error-bg);border:1px solid rgba(239,68,68,.3);border-radius:6px;color:var(--status-error);font-size:12.5px}.domains-error-dismiss{margin-left:auto;background:transparent;border:none;color:inherit;cursor:pointer;opacity:.7;display:inline-flex}.domains-error-dismiss:hover{opacity:1}.domains-endpoints{display:flex;flex-direction:column;gap:6px}.domains-endpoint{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.domains-endpoint:hover{border-color:var(--overlay-3)}.domains-endpoint-head{display:flex;align-items:center;gap:8px;padding:7px 10px;min-height:32px}.domains-endpoint-icon{color:var(--text-dim);flex-shrink:0}.domains-endpoint-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.domains-tag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px;white-space:nowrap}.domains-tag-app{background:rgb(var(--accent-rgb) / .15);color:var(--accent)}.domains-tag-service{background:var(--status-info-bg);color:var(--status-info)}.domains-endpoint-default{flex:1;min-width:0;font-family:SF Mono,Fira Code,monospace;font-size:11.5px;color:var(--text-dim);text-decoration:none;display:inline-flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.domains-endpoint-default:hover{color:var(--accent)}.domains-endpoint-default svg{opacity:.5;flex-shrink:0}.domains-add-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);font-size:11px;padding:2px 7px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;flex-shrink:0}.domains-add-btn:hover{color:var(--accent);border-color:var(--accent)}.domains-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid var(--border);font-size:12.5px}.domains-row:hover{background:var(--overlay-1)}.domains-hostname{flex:1;min-width:0;color:var(--text);font-family:SF Mono,Fira Code,monospace;font-size:12px;text-decoration:none;display:inline-flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.domains-hostname:hover{color:var(--accent)}.domains-hostname svg{opacity:.45;flex-shrink:0}.domains-status{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 6px;border-radius:3px;white-space:nowrap}.domains-status-active{background:var(--status-healthy-bg);color:var(--status-healthy)}.domains-status-pending{background:var(--status-warning-bg);color:var(--status-warning)}.domains-status-issuing{background:var(--status-info-bg);color:var(--status-info)}.domains-status-failed{background:var(--status-error-bg);color:var(--status-error)}.domains-action-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);font-size:10.5px;padding:2px 6px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.domains-action-btn:hover:not(:disabled){color:var(--text);border-color:var(--text-dim)}.domains-action-btn:disabled{opacity:.5;cursor:not-allowed}.domains-remove-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:3px;border-radius:3px;display:inline-flex;opacity:.5;transition:opacity .15s,color .15s}.domains-remove-btn:hover:not(:disabled){opacity:1;color:var(--status-error)}.domains-remove-btn:disabled{opacity:.3;cursor:not-allowed}.domains-add-form{display:flex;align-items:center;gap:6px;padding:7px 10px;border-top:1px solid var(--border);background:var(--overlay-1);flex-wrap:wrap}.domains-add-input{flex:1;min-width:160px;padding:4px 8px;font-size:12.5px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);font-family:SF Mono,Fira Code,monospace}.domains-add-input:focus{outline:none;border-color:var(--accent)}.domains-submit-btn{background:var(--accent);color:#fff;border:none;padding:4px 11px;font-size:12px;font-weight:600;border-radius:5px;cursor:pointer}.domains-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.domains-submit-btn:disabled{opacity:.5;cursor:not-allowed}.domains-cancel-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:3px 10px;font-size:12px;border-radius:5px;cursor:pointer}.domains-cancel-btn:hover{color:var(--text);border-color:var(--text-dim)}.domains-add-error{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--status-error)}.domains-orphans{padding:6px 10px;border:1px dashed rgba(239,68,68,.4);border-radius:8px;background:var(--status-error-bg)}.domains-orphans-title{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--status-error);margin-bottom:4px}.domains-orphans .domains-row{border-top-color:#ef444433}.domains-orphans .domains-row:first-of-type{border-top:none}.domains-dns-ref{display:flex;align-items:center;gap:14px;padding:7px 12px;background:var(--overlay-1);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;font-size:11.5px}.domains-dns-ref-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.domains-dns-ref-pair{display:inline-flex;align-items:center;gap:5px}.domains-dns-ref-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim)}.domains-dns-ref code{background:var(--overlay-2);padding:2px 6px;border-radius:3px;font-family:SF Mono,Fira Code,monospace;font-size:11.5px;color:var(--text)}.domains-copy-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;padding:2px 5px;border-radius:3px;display:inline-flex;align-items:center;transition:color .15s,border-color .15s;flex-shrink:0}.domains-copy-btn:hover{color:var(--accent);border-color:var(--accent)}.graph-tab{display:flex;flex-direction:column;height:100%;min-height:480px}.graph-empty{padding:32px;color:var(--text-dim);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:320px}.graph-toolbar{display:flex;flex-direction:column;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-sidebar);flex-shrink:0}.graph-toolbar-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.graph-toolbar-search{display:flex;align-items:center;gap:6px;background:var(--overlay-1);border:1px solid var(--border);border-radius:4px;padding:4px 8px;flex:1;max-width:240px;transition:border-color .15s}.graph-toolbar-search:focus-within{border-color:var(--accent)}.graph-toolbar-search input{background:transparent;border:none;outline:none;flex:1;font-size:12px;color:var(--text);font-family:inherit}.graph-toolbar-btn{display:inline-flex;align-items:center;gap:5px;background:var(--overlay-1);border:1px solid var(--border);border-radius:4px;padding:4px 10px;color:var(--text-dim);font-size:11px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.graph-toolbar-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.graph-toolbar-btn:disabled{opacity:.5;cursor:default}.graph-toolbar-age{font-size:10.5px;color:var(--text-dim);opacity:.7;margin-left:auto}.graph-spin{animation:graph-spin .8s linear infinite}@keyframes graph-spin{to{transform:rotate(360deg)}}.graph-chip{display:inline-flex;align-items:center;background:transparent;border:1px solid var(--border);border-radius:11px;padding:3px 9px;font-size:10.5px;color:var(--text-dim);cursor:pointer;transition:opacity .15s,background .15s;opacity:.55}.graph-chip.active{opacity:1}.graph-chip:hover{background:var(--overlay-1)}.graph-canvas{flex:1;position:relative;background:var(--bg)}.graph-node{background:var(--bg-sidebar);border:1.5px solid var(--border);border-radius:6px;padding:8px 10px;font-size:12px;color:var(--text);display:flex;flex-direction:column;gap:3px;box-shadow:0 2px 6px #00000040;cursor:pointer;transition:box-shadow .15s,transform .05s;font-family:inherit}.graph-node:hover{box-shadow:0 4px 10px #00000059}.graph-node-title{display:flex;align-items:center;gap:6px;font-weight:600}.graph-node-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.graph-node-meta{font-size:10.5px;color:var(--text-dim);opacity:.85;display:flex;align-items:center}.graph-node-count{background:var(--overlay-2);color:var(--text-dim);font-size:10px;padding:1px 6px;border-radius:8px;margin-left:auto;flex-shrink:0}.graph-node-app,.graph-node-service{padding:10px 12px}.graph-node-entity{padding:6px 8px}.graph-node-file{flex-direction:row;align-items:center;gap:5px;padding:5px 8px}.graph-drawer{position:absolute;top:0;right:0;bottom:0;width:320px;background:var(--bg-sidebar);border-left:1px solid var(--border);z-index:10;display:flex;flex-direction:column;box-shadow:-4px 0 12px #0000004d;animation:graph-drawer-slide .18s ease-out}@keyframes graph-drawer-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.graph-drawer-header{display:flex;align-items:center;padding:12px 14px;border-bottom:2px solid var(--border);font-size:13px;flex-shrink:0}.graph-drawer-close{background:transparent;border:none;color:var(--text-dim);cursor:pointer;margin-left:auto;padding:4px;border-radius:3px;display:inline-flex;align-items:center;transition:color .15s,background .15s}.graph-drawer-close:hover{color:var(--text);background:var(--overlay-1)}.graph-drawer-body{flex:1;overflow-y:auto;padding:12px 14px;font-size:12px}.graph-drawer-row{display:flex;margin-bottom:10px;gap:10px}.graph-drawer-key{color:var(--text-dim);font-size:10.5px;text-transform:uppercase;letter-spacing:.3px;min-width:90px;flex-shrink:0;padding-top:2px}.graph-drawer-val{flex:1;word-break:break-word;font-size:12px;color:var(--text)}.graph-node-symbol{display:flex;flex-direction:row;align-items:center;gap:5px;padding:5px 9px;background:var(--bg-sidebar);border-radius:4px}.graph-toolbar-rowlabel{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);opacity:.6;padding-right:4px;flex-shrink:0}.graph-drawer-section{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.graph-drawer-section-title{font-size:10.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-dim);margin-bottom:6px}.graph-drawer-section-body{display:flex;flex-direction:column;gap:3px;font-size:11px;font-family:SF Mono,Fira Code,monospace}.graph-drawer-section-row{padding:2px 0;word-break:break-word}.graph-canvas-3d{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#0b0b14}.graph-canvas{position:relative;overflow:hidden}.blog-root{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:Geist,Inter,system-ui,sans-serif;--blog-max: 760px}.blog-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--border)}.blog-nav-inner{max-width:1120px;margin:0 auto;padding:0 24px;height:60px;display:flex;align-items:center;gap:24px}.blog-brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:18px;color:var(--text);text-decoration:none}.blog-brand-mark{color:var(--accent);font-size:16px}.blog-nav-links{display:flex;gap:22px;margin-left:8px;flex:1}.blog-nav-links a{color:var(--text-dim);text-decoration:none;font-size:14px;font-weight:500;transition:color .15s}.blog-nav-links a:hover,.blog-nav-links a.active{color:var(--text)}.blog-nav-cta{display:flex;align-items:center;gap:10px}.blog-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;transition:color .15s,border-color .15s}.blog-theme-toggle:hover{color:var(--text);border-color:var(--text-dim)}.blog-lang{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 8px 0 10px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);transition:color .15s,border-color .15s}.blog-lang:hover{color:var(--text);border-color:var(--text-dim)}.blog-lang-select{border:none;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer;padding-right:2px;max-width:130px}.blog-lang-select:focus{outline:none}.blog-lang-select option{color:initial}.blog-lang-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.blog-i18n-notice{margin:0 0 24px;padding:11px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:13.5px;line-height:1.5}[dir=rtl] .blog-toc{direction:rtl}[dir=rtl] .blog-breadcrumb,[dir=rtl] .blog-post-meta,[dir=rtl] .blog-card-meta{flex-direction:row-reverse}[dir=rtl] .blog-post-nav-link.prev{text-align:right}[dir=rtl] .blog-post-nav-link.next{text-align:left}.blog-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:9px;background:var(--accent);color:#0b0d10;font-weight:600;font-size:14px;text-decoration:none;border:none;transition:background .15s,transform .15s}.blog-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.blog-main{flex:1}.blog-footer{border-top:1px solid var(--border);margin-top:80px}.blog-footer-inner{max-width:1120px;margin:0 auto;padding:36px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.blog-footer-links{display:flex;gap:20px;flex:1;flex-wrap:wrap}.blog-footer-links a{color:var(--text-dim);text-decoration:none;font-size:14px}.blog-footer-links a:hover{color:var(--text)}.blog-footer-copy{color:var(--text-dim);font-size:13px}.blog-list{max-width:1120px;margin:0 auto;padding:64px 24px 0}.blog-list-hero{max-width:720px;margin-bottom:44px}.blog-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--accent);text-transform:uppercase}.blog-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb) / .18)}.blog-list-hero h1{font-size:clamp(34px,5vw,52px);line-height:1.05;letter-spacing:-.02em;margin:16px 0 14px;font-weight:700}.blog-list-hero p{color:var(--text-dim);font-size:18px;line-height:1.6;max-width:600px}.blog-tagbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:36px}.blog-tag-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.blog-tag-pill:hover{color:var(--text);border-color:var(--text-dim)}.blog-tag-pill.active{background:var(--accent);border-color:var(--accent);color:#0b0d10}.blog-tag-count{opacity:.6;font-variant-numeric:tabular-nums}.blog-tag-pill.active .blog-tag-count{opacity:.8}.blog-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:22px}.blog-card{display:block;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px;transition:transform .18s,border-color .18s,box-shadow .18s}.blog-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:0 14px 40px -22px #00000080}.blog-card-tags,.blog-post-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.blog-card-tag{font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);background:rgba(var(--accent-rgb) / .12);padding:3px 8px;border-radius:6px}.blog-card h2{font-size:21px;line-height:1.25;letter-spacing:-.01em;margin:0 0 10px;font-weight:650}.blog-card-summary{color:var(--text-dim);font-size:14.5px;line-height:1.6;margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.blog-card-meta,.blog-post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;color:var(--text-dim);font-size:13px}.blog-card-meta span,.blog-post-meta span,.blog-post-meta time{display:inline-flex;align-items:center;gap:5px}.blog-empty{color:var(--text-dim);margin-top:40px}.blog-post{max-width:1080px;margin:0 auto;padding:0 24px;position:relative}.blog-progress{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:60;transition:width .1s linear}.blog-post-head{max-width:var(--blog-max);margin:0 auto;padding-top:48px}.blog-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);margin-bottom:22px}.blog-breadcrumb a{color:var(--accent);text-decoration:none}.blog-breadcrumb a:hover{text-decoration:underline}.blog-breadcrumb-current{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.blog-post-head h1{font-size:clamp(30px,4.4vw,44px);line-height:1.1;letter-spacing:-.02em;font-weight:700;margin:14px 0 16px}.blog-post-summary{font-size:19px;line-height:1.55;color:var(--text-dim);margin:0 0 22px}.blog-post-meta{padding-bottom:28px;border-bottom:1px solid var(--border);margin-bottom:8px}.blog-post-body{display:grid;grid-template-columns:1fr;gap:48px;padding-top:36px}@media (min-width: 1040px){.blog-post-body{grid-template-columns:minmax(0,var(--blog-max)) 220px;justify-content:center}.blog-toc{order:2}.blog-content{order:1}}.blog-toc{position:sticky;top:84px;align-self:start;font-size:13.5px;max-height:calc(100vh - 120px);overflow-y:auto}.blog-toc-title{display:flex;align-items:center;gap:6px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;color:var(--text-dim);margin-bottom:12px}.blog-toc ul{list-style:none;margin:0;padding:0;border-left:2px solid var(--border)}.blog-toc li{margin:0}.blog-toc li.lvl-3 a{padding-left:26px;font-size:13px}.blog-toc a{display:block;padding:5px 0 5px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--text-dim);text-decoration:none;line-height:1.4;transition:color .15s,border-color .15s}.blog-toc a:hover{color:var(--text)}.blog-toc li.active>a{color:var(--accent);border-left-color:var(--accent);font-weight:500}@media (max-width: 1039px){.blog-toc{display:none}}.blog-content{font-size:17px;line-height:1.75;color:var(--text);min-width:0}.blog-content>*:first-child{margin-top:0}.blog-content h1{display:none}.blog-content h2{font-size:27px;line-height:1.2;letter-spacing:-.01em;font-weight:680;margin:52px 0 18px;padding-top:8px;scroll-margin-top:90px}.blog-content h3{font-size:21px;line-height:1.3;font-weight:640;margin:36px 0 14px;scroll-margin-top:90px}.blog-content p{margin:0 0 20px}.blog-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.blog-content a:hover{color:var(--accent-hover)}.blog-content ul,.blog-content ol{margin:0 0 20px;padding-left:26px}.blog-content li{margin:0 0 9px}.blog-content li::marker{color:var(--text-dim)}.blog-content strong{font-weight:650;color:var(--text)}.blog-content em{font-style:italic}.blog-content hr{border:none;border-top:1px solid var(--border);margin:40px 0}.blog-content blockquote{margin:0 0 22px;padding:4px 0 4px 20px;border-left:3px solid var(--accent);color:var(--text-dim);font-style:italic}.blog-content img{max-width:100%;height:auto;border-radius:10px;margin:8px 0}.blog-content code{font-family:Geist Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:.88em;background:var(--surface-2);border:1px solid var(--border);padding:1.5px 6px;border-radius:6px}.blog-content pre{margin:0 0 24px;padding:18px 20px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;overflow-x:auto;font-size:14px;line-height:1.6}.blog-content pre code{background:none;border:none;padding:0;font-size:inherit;color:var(--text)}.blog-content table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:15px;display:block;overflow-x:auto}.blog-content th,.blog-content td{border:1px solid var(--border);padding:9px 13px;text-align:left}.blog-content th{background:var(--surface-2);font-weight:600}.blog-mermaid{margin:0 0 28px;padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:12px;text-align:center;overflow-x:auto}.blog-mermaid svg{max-width:100%;height:auto}.blog-mermaid-error{opacity:.7}.blog-content .hljs-comment,.blog-content .hljs-quote{color:var(--text-dim);font-style:italic}.blog-content .hljs-keyword,.blog-content .hljs-selector-tag,.blog-content .hljs-literal,.blog-content .hljs-section,.blog-content .hljs-name{color:#c678dd}.blog-content .hljs-string,.blog-content .hljs-meta-string,.blog-content .hljs-regexp{color:#98c379}.blog-content .hljs-number,.blog-content .hljs-built_in,.blog-content .hljs-builtin-name{color:#d19a66}.blog-content .hljs-title,.blog-content .hljs-title.function_,.blog-content .hljs-function .hljs-title{color:#61afef}.blog-content .hljs-attr,.blog-content .hljs-attribute,.blog-content .hljs-variable,.blog-content .hljs-template-variable{color:#e5c07b}.blog-content .hljs-type,.blog-content .hljs-class .hljs-title,.blog-content .hljs-title.class_,.blog-content .hljs-meta,.blog-content .hljs-meta .hljs-keyword{color:#56b6c2}.blog-content .hljs-symbol,.blog-content .hljs-bullet,.blog-content .hljs-link{color:#e06c75}.blog-content .hljs-emphasis{font-style:italic}.blog-content .hljs-strong{font-weight:700}.blog-post-nav{max-width:var(--blog-max);margin:56px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.blog-post-nav-link{display:flex;flex-direction:column;gap:7px;padding:18px 20px;border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text);background:var(--surface);transition:border-color .15s,transform .15s}.blog-post-nav-link:hover{border-color:var(--text-dim);transform:translateY(-2px)}.blog-post-nav-link.next{text-align:right;align-items:flex-end}.blog-post-nav-link .dir{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim)}.blog-post-nav-link .ttl{font-size:15px;font-weight:600;line-height:1.35}.blog-cta{max-width:var(--blog-max);margin:64px auto 0;padding:40px;border-radius:18px;background:var(--surface);border:1px solid var(--border);text-align:center}.blog-cta h2{font-size:25px;letter-spacing:-.01em;margin:0 0 10px;font-weight:680}.blog-cta p{color:var(--text-dim);font-size:16px;margin:0 0 22px}.blog-notfound{max-width:var(--blog-max);margin:0 auto;padding:100px 24px;text-align:center}.blog-notfound h1{font-size:36px;margin:0 0 12px}.blog-notfound p{color:var(--text-dim);margin:0 0 24px}.blog-notfound .blog-btn{margin-top:8px}@media (max-width: 600px){.blog-nav-links{display:none}.blog-post-nav{grid-template-columns:1fr}.blog-cta{padding:28px 20px}}.stack-explorer-folder-row{display:flex;align-items:center;width:100%}.stack-explorer-chevron-btn{border:none;background:none;cursor:pointer;color:var(--text);display:flex;align-items:center;padding:4px 2px 4px 0;border-radius:4px;flex-shrink:0}.stack-explorer-chevron-btn:hover{background:var(--surface-2)}.stack-explorer-folder-label{flex:1;min-width:0}.file-viewer{width:100%;height:100%;overflow:auto;background:var(--bg)}.file-viewer-image,.file-viewer-media,.file-viewer-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px}.file-viewer-image img{max-width:100%;max-height:100%;object-fit:contain}.file-viewer-pdf{padding:0}.file-viewer-caption{font-size:12px;color:var(--text-dim)}.file-viewer-state{display:flex;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--text-dim);font-size:13px}.file-viewer-error{color:var(--danger, #fca5a5)}.file-viewer-card-name{font-size:14px;font-weight:600;color:var(--text);word-break:break-all;text-align:center}.file-viewer-card-meta{font-size:11px;color:var(--text-dim)}.file-viewer-parse-error{font-size:11px;color:var(--danger, #fca5a5);margin-top:6px}.file-viewer-pdfjs{display:flex;flex-direction:column;height:100%}.pdf-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface);flex:0 0 auto}.pdf-tool-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:4px 6px;cursor:pointer;text-decoration:none}.pdf-tool-btn:hover{background:var(--surface)}.pdf-tool-zoom,.pdf-tool-pages{font-size:12px;color:var(--text-dim);min-width:44px;text-align:center}.pdf-tool-spacer{flex:1 1 auto}.pdf-scroll{flex:1 1 auto;overflow:auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px;background:var(--bg)}.pdf-page-wrap{box-shadow:0 1px 6px #0000004d;background:#fff}.file-viewer-sheet-fortune-wrap{display:flex;flex-direction:column;width:100%;height:100%}.file-viewer-sheet-fortune{position:relative;flex:1 1 auto;width:100%;min-height:0;overflow:hidden}.file-viewer-sheet-fortune .fortune-container{width:100%;height:100%}.sheet-save-bar{flex:0 0 auto}.file-viewer-sheet{display:flex;flex-direction:column}.file-viewer-sheet-tabs{display:flex;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border);flex-wrap:wrap}.file-viewer-sheet-tab{border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:11px;padding:3px 10px;border-radius:4px;cursor:pointer}.file-viewer-sheet-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.file-viewer-truncated{padding:8px;font-size:11px;color:var(--text-dim);text-align:center}.file-viewer-doc{padding:24px;display:flex;justify-content:center}.file-viewer-doc-page{max-width:800px;width:100%;background:var(--surface);color:var(--text);padding:40px 48px;border-radius:6px;line-height:1.6;font-size:14px}.file-viewer-doc-page img{max-width:100%}.file-viewer-doc-page table{border-collapse:collapse}.file-viewer-doc-page td,.file-viewer-doc-page th{border:1px solid var(--border);padding:4px 8px}.file-viewer-pptx{padding:16px;display:flex;flex-direction:column;gap:16px;align-items:center}.file-viewer-pptx-note{font-size:11px;color:var(--text-dim)}.file-viewer-slide{width:100%;max-width:720px;aspect-ratio:16 / 9;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:24px;overflow:auto;position:relative}.file-viewer-slide-num{position:absolute;top:8px;right:12px;font-size:10px;color:var(--text-dim)}.file-viewer-slide-text{margin:0 0 8px;font-size:14px;color:var(--text)}.file-viewer-slide-img{max-width:100%;max-height:240px;display:block;margin:8px 0}.file-gallery{width:100%;height:100%;overflow:auto;display:flex;flex-direction:column}.file-gallery-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text)}.file-gallery-count{margin-left:auto;font-size:11px;font-weight:400;color:var(--text-dim)}.file-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;padding:16px}.file-gallery-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border:1px solid var(--border);background:var(--surface);border-radius:6px;cursor:pointer;color:var(--text);font-family:inherit;transition:border-color .1s,background .1s}.file-gallery-card:hover{border-color:var(--accent);background:var(--surface-2)}.file-gallery-thumb,.file-gallery-thumb-loading,.file-gallery-icon{width:100%;aspect-ratio:1;border-radius:4px;display:flex;align-items:center;justify-content:center}.file-gallery-thumb{object-fit:cover;background:var(--surface-2)}.file-gallery-thumb-loading{background:var(--surface-2)}.file-gallery-icon{background:var(--surface-2);color:var(--text-dim)}.file-gallery-card-name{font-size:11px;width:100%;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-gallery-card-meta{font-size:10px;color:var(--text-dim)}.file-gallery-folder{justify-content:center}.file-gallery-folder svg{color:var(--accent)}.files-content-section{border-top:1px solid var(--border);margin-top:8px;padding-top:4px}.files-content-header{display:flex;align-items:center;gap:4px;padding:4px 8px}.files-content-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);flex:1}.files-content-section .asset-upload-btn{margin-left:auto}
