@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}::selection{color:#fff;background:#6b62d9}:root{--canvas:#f4f4f4;--surface:#fbfbfb;--surface-raised:#fff;--ink:#111;--muted:#5d5d5d;--faint:#6f6f6f;--line:#1111111a;--line-strong:#1113;--line-faint:#1111110f;--pass:#176b43;--warn:#8a5b08;--fail:#a33838;--pass-soft:#eef4f0;--warn-soft:#f7f2e8;--fail-soft:#f6eeee;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--text-mono:10px;--text-xs:12px;--text-sm:14px;--text-body:14px;--text-lg:16px;--text-xl:20px;--text-2xl:28px;--text-3xl:40px;--weight-light:300;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--font-ui:"Geist", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"Geist Mono", "SFMono-Regular", ui-monospace, monospace;--shadow-raise:0 1px 2px #1111110a, 0 10px 24px #1111110d;--focus:0 0 0 2px #111;--paper:var(--canvas);--surface-soft:#f6f6f6;--ink-soft:var(--muted);--ink-faint:var(--faint);--violet:#111;--violet-dark:#000;--violet-soft:#ececec;--gold:#8a5b08;--danger:#a33838;--shadow:var(--shadow-raise)}html,body{font-family:var(--font-ui)}body{-webkit-font-smoothing:antialiased}.vq-frame{position:relative}.vq-frame:before,.vq-frame:after{content:"";border-color:var(--line-strong);border-style:solid;width:10px;height:10px;position:absolute}.vq-frame:before{border-width:1px 0 0 1px;top:-1px;left:-1px}.vq-frame:after{border-width:0 1px 1px 0;bottom:-1px;right:-1px}.vq-mono{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);font-size:10px}.asset-summary>div,.asset-summary>div:nth-child(2),.asset-summary>div:nth-child(3){border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)!important}.asset-summary strong{letter-spacing:-.02em;font-weight:600;color:var(--ink)!important}.asset-summary .section-kicker,.asset-summary span:last-child{color:var(--faint)!important}.tab-count{color:var(--muted)!important;background:#1111110f!important}.filter-tabs button.is-active .tab-count{color:#fff!important;background:#fff3!important}.template-card:hover{border-color:var(--line-strong);box-shadow:0 1px 0 var(--line)}.asset-toolbar{align-items:stretch;gap:var(--space-3);flex-direction:column;display:flex}.asset-toolbar .inline-search{align-self:stretch;max-width:560px;width:100%!important;margin:0!important}.filter-tabs{gap:var(--space-1);padding:0 0 var(--space-1);border-bottom:1px solid var(--line);scrollbar-width:none;flex-wrap:nowrap;display:flex;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tabs button{white-space:nowrap;padding:var(--space-2) var(--space-2);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none}.filter-tabs button.is-active{border-bottom-color:var(--ink);background:0 0}:root{--ink:#25231f;--ink-soft:#6f6a61;--ink-faint:#9d978b;--paper:#f5f3ee;--surface:#fffefa;--surface-soft:#f0eee8;--line:#e6e2da;--line-strong:#d9d4ca;--violet:#6b62d9;--violet-dark:#4f49b7;--violet-soft:#eceaff;--gold:#d4a447;--danger:#c86d68;--shadow:0 18px 42px #342b1c14}*{box-sizing:border-box}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;color:var(--ink);background:var(--paper);letter-spacing:-.01em;font-family:Manrope,Noto Sans SC,sans-serif;display:flex}.sidebar{border-right:1px solid var(--line);background:#eeece6;flex-direction:column;flex:0 0 244px;width:244px;min-height:100vh;padding:24px 16px 16px;transition:width .2s,flex-basis .2s,padding .2s;display:flex}.sidebar--collapsed{flex-basis:74px;width:74px;padding-left:12px;padding-right:12px}.brand-lockup{align-items:center;gap:12px;padding:0 12px 24px;display:flex}.brand-mark{color:#fff;background:var(--ink);border-radius:10px 10px 10px 3px;place-items:center;width:30px;height:30px;font-size:16px;display:grid;box-shadow:0 6px 12px #25231f29}.brand-lockup strong{font-size:14px;line-height:1.1;display:block}.brand-lockup span{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:12px;display:block}.workspace-switcher{background:#fffefa9e;border:1px solid #25231f14;border-radius:12px;align-items:center;gap:8px;margin:0 2px 24px;padding:12px;display:flex}.workspace-avatar,.profile-avatar,.avatar-button{color:#fff;background:#a66d5f;border-radius:8px;place-items:center;font-size:12px;font-weight:700;display:grid}.workspace-avatar{width:28px;height:28px}.workspace-meta{flex:1;min-width:0}.workspace-meta strong,.workspace-meta span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-meta strong{font-size:12px}.workspace-meta span{color:var(--ink-faint);margin-top:2px;font-size:12px}.primary-nav,.secondary-nav{gap:3px;display:grid}.nav-section-label{color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;margin:32px 12px 8px;font-size:12px;font-weight:700}.nav-item{color:#716d65;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:40px;padding:0 12px;transition:background .15s,color .15s;display:flex;position:relative}.nav-item:hover{color:var(--ink);background:#fffefa8c}.nav-item.is-active{color:#4e47aa;background:var(--violet-soft);font-weight:700}.nav-item.is-active:before{content:"";background:var(--violet);border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;left:-14px}.nav-item span{flex:1;font-size:12px}.nav-item em{color:#4e47aa;text-align:center;background:#dbd8ff;border-radius:6px;min-width:20px;padding:2px 4px;font-size:12px;font-style:normal}.nav-item--compact{justify-content:center;padding:0}.nav-item--compact.is-active:before{left:-12px}.sidebar-bottom{gap:4px;margin-top:auto;display:grid}.profile-chip{color:var(--ink-soft);border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:12px;padding:8px;display:flex}.profile-avatar{background:#5f6b92;width:28px;height:28px}.profile-chip>div:nth-child(2){flex:1;min-width:0}.profile-chip strong,.profile-chip span{display:block}.profile-chip strong{color:var(--ink);font-size:12px}.profile-chip span{color:var(--ink-faint);margin-top:2px;font-size:12px}.main-shell{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fffefabf;justify-content:space-between;align-items:center;height:68px;padding:0 32px;display:flex}.topbar-left,.topbar-actions,.breadcrumbs,.heading-actions,.tool-group{align-items:center;display:flex}.topbar-left{gap:16px}.breadcrumbs{color:var(--ink-faint);gap:8px;font-size:12px}.breadcrumbs strong{color:var(--ink);font-weight:700}.icon-button,.tool-icon{width:34px;height:34px;color:var(--ink-soft);background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;transition:background .15s,border-color .15s,color .15s;display:grid}.icon-button:hover,.tool-icon:hover{color:var(--ink);background:var(--surface);border-color:var(--line)}.has-dot{position:relative}.has-dot:after{content:"";background:var(--violet);border:2px solid var(--surface);border-radius:50%;width:5px;height:5px;position:absolute;top:6px;right:6px}.topbar-actions{gap:8px}.search-box,.inline-search{color:var(--ink-faint);background:#f0eee8;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;display:flex}.search-box{width:270px;height:34px;padding:0 8px}.search-box:focus-within,.inline-search:focus-within{border-color:#c9c2f4;box-shadow:0 0 0 3px #6b62d914}.search-box input,.inline-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:12px}.search-box input::placeholder,.inline-search input::placeholder{color:#aaa49a}.search-box kbd{color:#9d978b;background:#fffefab3;border:1px solid #dfdbd2;border-radius:4px;padding:2px 4px;font-family:DM Mono,monospace;font-size:12px}.avatar-button{background:#5f6b92;border:0;width:32px;height:32px}.content-wrap{flex:1;min-width:0;overflow:auto}.page{max-width:1520px;margin:0 auto;padding:32px 48px 48px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.page-heading--canvas{margin-bottom:24px}.eyebrow,.section-kicker,.panel-kicker,.hero-label,.run-kicker{color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.eyebrow-dot{background:var(--violet);width:6px;height:6px;box-shadow:0 0 0 4px var(--violet-soft);border-radius:50%}.page-heading h1{letter-spacing:-.045em;text-wrap:balance;margin:12px 0 8px;font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.1}.page-heading p{max-width:570px;color:var(--ink-soft);margin:0;font-size:14px;line-height:1.7}.heading-actions{white-space:nowrap;gap:8px}.button{border:1px solid var(--line-strong);border-radius:9px;justify-content:center;align-items:center;gap:8px;height:36px;padding:0 12px;font-size:12px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.button:active{transform:scale(.97)}.button:disabled{cursor:wait;opacity:.65}.button--ghost{color:var(--ink-soft);background:#fffefa8c}.button--ghost:hover{color:var(--ink);background:var(--surface);box-shadow:0 4px 12px #342b1c0d}.button--primary{color:#fff;background:var(--ink);border-color:var(--ink);box-shadow:0 5px 14px #25231f26}.button--primary:hover{background:#403d37}.save-state{color:var(--ink-faint);align-items:center;gap:8px;margin-right:8px;font-size:12px;display:flex}.save-dot{background:#6a9c78;border-radius:50%;width:6px;height:6px}.canvas-layout{grid-template-columns:minmax(0,1fr) 304px;gap:16px;min-height:670px;display:grid}.canvas-stage{border:1px solid var(--line);min-width:0;min-height:670px;box-shadow:var(--shadow);background:#fbfaf6;border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.canvas-toolbar{border-bottom:1px solid var(--line);background:#fffefadb;flex:0 0 53px;justify-content:space-between;align-items:center;height:53px;padding:0 16px;display:flex}.tool-group{gap:4px}.tool-button{height:30px;color:var(--ink-soft);background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.tool-button:hover,.tool-button.is-active{color:var(--ink);background:#efede7}.tool-icon{border-radius:7px;width:29px;height:29px}.tool-divider{background:var(--line);width:1px;height:18px;margin:0 4px}.zoom-label{color:var(--ink-soft);background:0 0;border:0;padding:0 8px;font-family:DM Mono,monospace;font-size:12px}.canvas-viewport{flex:1;min-height:0;position:relative}.react-flow{background:#f7f5ef}.react-flow__controls{border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 6px 18px #342b1c14}.react-flow__controls-button{border-bottom-color:var(--line);background:#fffefaeb;width:28px;height:28px}.react-flow__minimap{border:1px solid var(--line);background:#fffefacc;border-radius:9px;bottom:15px;right:15px;overflow:hidden}.react-flow__edge-path{stroke-linecap:round}.react-flow__attribution{display:none}.canvas-note{color:var(--ink-faint);pointer-events:none;background:#fffefad4;border:1px solid #e6e2dae6;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex;position:absolute;bottom:16px;left:16px}.live-pulse{background:var(--violet);width:6px;height:6px;box-shadow:0 0 0 4px var(--violet-soft);border-radius:50%}.canvas-node{width:220px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:12px;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative;overflow:visible;box-shadow:0 8px 20px #342b1c14}.canvas-node:hover,.canvas-node.is-selected{border-color:var(--node-accent,var(--violet));box-shadow:0 0 0 3px color-mix(in srgb,var(--node-accent,var(--violet)) 14%,transparent),0 12px 24px #342b1c1f}.canvas-node--agent{border-top:3px solid var(--node-accent)}.node-handle{background:var(--surface);border:2px solid var(--node-accent,var(--violet));width:7px;height:7px}.node-topline,.node-label,.node-meta,.setting-row,.adapter-row,.run-dock-head,.run-dock-foot,.reference-row{align-items:center;display:flex}.node-topline{justify-content:space-between}.node-label{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;gap:8px;font-size:12px;font-weight:700}.node-icon{width:21px;height:21px;color:var(--node-accent);background:color-mix(in srgb,var(--node-accent) 12%,transparent);border-radius:6px;place-items:center;display:grid}.status-dot{border-radius:50%;flex:0 0 6px;width:6px;height:6px;display:inline-block}.status-dot--ready{background:#b4aea3}.status-dot--running{background:var(--violet);box-shadow:0 0 0 4px var(--violet-soft);animation:1.4s infinite pulse}.status-dot--success{background:#6c9c79}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.node-art{border-radius:8px;place-items:center;height:62px;margin:12px 0 8px;display:grid;overflow:hidden}.node-art span{color:#ffffffe6;font-family:Georgia,serif;font-size:20px;font-style:italic}.node-art--c77d5a{background:radial-gradient(circle at 67% 26%,#f5dbc6,#0000 25%),linear-gradient(130deg,#b56a50,#dbac79)}.node-art--7b88b8{background:linear-gradient(135deg,#dfe6fa 0 40%,#a6afd8 40% 42%,#566385 42%)}.node-art--text{background:#e8e8f6}.agent-node-mark{height:62px;color:var(--violet);background:#f1efff;border:1px dashed #c5c0fa;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin:12px 0 8px;font-size:12px;font-weight:700;display:flex}.output-node-preview{background:linear-gradient(135deg,#f7dfae,#fff8df 60%,#dac98f);border-radius:8px;height:62px;margin:12px 0 8px;padding:12px;position:relative;overflow:hidden}.preview-bar{background:#52401a66;border-radius:2px;height:3px;margin-bottom:4px}.preview-bar--one{width:42%}.preview-bar--two{width:62%}.preview-copy{color:#6e5c32;font-family:Georgia,serif;font-size:12px;line-height:1.2}.node-copy strong,.node-copy span{display:block}.node-copy strong{letter-spacing:-.02em;font-size:12px}.node-copy span{color:var(--ink-soft);margin-top:4px;font-size:12px;line-height:1.4}.node-meta{color:var(--ink-faint);border-top:1px solid #efebe3;justify-content:space-between;margin-top:12px;padding-top:8px;font-family:DM Mono,monospace;font-size:12px}.run-dock{z-index:5;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffefaf0;border-radius:11px;width:min(560px,100% - 36px);padding:12px 16px;position:absolute;bottom:18px;left:18px;right:auto;box-shadow:0 12px 25px #342b1c1f}.run-dock-head{justify-content:space-between}.run-kicker{margin-bottom:4px;font-size:12px}.run-dock-head strong{font-size:12px;display:block}.run-status{border-radius:5px;padding:4px 8px;font-family:DM Mono,monospace;font-size:12px;font-weight:500}.run-status--running{color:var(--violet-dark);background:var(--violet-soft)}.run-status--success{color:#477355;background:#eaf5ec}.run-progress{background:#ece9e2;border-radius:3px;height:4px;margin:12px 0 8px;overflow:hidden}.run-progress span{background:var(--violet);border-radius:inherit;height:100%;transition:width .5s;display:block}.run-dock-foot{color:var(--ink-faint);gap:16px;font-size:12px}.run-dock-foot span{align-items:center;gap:4px;display:inline-flex}.run-dock-foot button{color:var(--ink-soft);background:0 0;border:0;align-items:center;gap:4px;margin-left:auto;font-size:12px;font-weight:700;display:inline-flex}.inspector-panel{border:1px solid var(--line);background:#f1efe9;border-radius:16px;flex-direction:column;min-height:670px;display:flex}.inspector-head{justify-content:space-between;align-items:flex-start;padding:24px 16px 16px;display:flex}.inspector-head h2{letter-spacing:-.03em;margin:8px 0 0;font-size:16px}.panel-kicker{font-size:12px}.inspector-tabs{border-bottom:1px solid var(--line);gap:16px;padding:0 16px;display:flex}.inspector-tabs button{color:var(--ink-faint);background:0 0;border:0;padding:0 0 12px;font-size:12px;font-weight:700;position:relative}.inspector-tabs button.is-active{color:var(--ink)}.inspector-tabs button.is-active:after{content:"";background:var(--violet);height:2px;position:absolute;bottom:-1px;left:0;right:0}.inspector-tabs span{color:#6b62d9;background:#e4e1ff;border-radius:4px;padding:2px 4px;font-size:12px}.inspector-section{border-bottom:1px solid var(--line);padding:16px}.inspector-section--quiet{padding-bottom:24px}.field-label{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:700}.type-pill,.adapter-row{background:#fffefab8;border:1px solid #d9d4cacc;border-radius:9px;align-items:center;gap:8px;padding:12px;display:flex}.type-pill-icon{width:26px;height:26px;color:var(--violet);background:var(--violet-soft);border-radius:7px;place-items:center;display:grid}.type-pill strong,.type-pill span{display:block}.type-pill strong{font-size:12px}.type-pill span{color:var(--ink-faint);margin-top:3px;font-size:12px;line-height:1.3}.reference-list{gap:8px;margin-bottom:8px;display:grid}.reference-row{background:#fffefa80;border-radius:8px;gap:8px;padding:8px}.mini-thumb{color:#fff;border-radius:6px;place-items:center;width:27px;height:27px;font-family:Georgia,serif;font-size:12px;font-style:italic;display:grid}.mini-thumb--terracotta{background:#bb7658}.mini-thumb--indigo{color:#4e5684;background:#dfe3f8}.reference-row>div:nth-child(2){flex:1;min-width:0}.reference-row strong,.reference-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.reference-row strong{font-size:12px}.reference-row span{color:var(--ink-faint);margin-top:3px;font-size:12px}.reference-check{color:#6e9b77}.reference-button{width:100%;height:32px;color:var(--violet-dark);background:var(--violet-soft);border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.setting-row{min-height:33px;color:var(--ink-soft);justify-content:space-between;font-size:12px}.switch{background:#d9d5cb;border:0;border-radius:10px;width:31px;height:18px;padding:2px;transition:background .15s}.switch span{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;display:block;box-shadow:0 1px 2px #0000001f}.switch.is-on{background:var(--violet)}.switch.is-on span{transform:translate(13px)}.adapter-row{margin-top:0}.adapter-mark{color:#fff;background:var(--ink);border-radius:7px;place-items:center;width:24px;height:24px;font-family:Georgia,serif;font-size:14px;display:grid}.adapter-row>div{flex:1}.adapter-row strong,.adapter-row span{display:block}.adapter-row strong{font-size:12px}.adapter-row span{color:var(--ink-faint);margin-top:2px;font-size:12px}.connection-state{color:#477355;background:#eaf5ec;border-radius:5px;padding:4px 8px;font-size:12px;font-weight:700}.inspector-footer{gap:8px;margin-top:auto;padding:12px 16px;display:flex}.inspector-footer .button{flex:1;height:31px;font-size:12px}.inspector-empty{color:var(--ink-faint);text-align:center;place-items:center;gap:12px;padding:64px 24px;display:grid}.inspector-empty p{margin:0;font-size:12px;line-height:1.6}.overview-grid{grid-template-columns:minmax(0,1fr) 286px;gap:24px;display:grid}.hero-card{color:#fff;min-height:206px;box-shadow:var(--shadow);background:#2f2d3a;border-radius:16px;justify-content:space-between;padding:32px;display:flex;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;background:radial-gradient(circle at 78% 32%,#847cdf52,#0000 23%),radial-gradient(circle at 70% 110%,#cc9d5933,#0000 28%);position:absolute;inset:0}.hero-card>div:first-child{z-index:1;max-width:390px;position:relative}.hero-label{color:#aaa7c6}.hero-card h2{letter-spacing:-.045em;margin:12px 0 8px;font-size:28px}.hero-card p{color:#bab8c4;margin:0;font-size:12px;line-height:1.7}.text-button{color:#e4e2ff;background:0 0;border:0;align-items:center;gap:8px;margin-top:24px;padding:0;font-size:12px;font-weight:700;display:inline-flex}.hero-orbit{z-index:1;width:250px;position:relative}.orbit{border:1px solid #c4bfff4d;border-radius:50%;position:absolute;transform:rotate(-25deg)}.orbit--one{width:210px;height:84px;top:42px;left:16px}.orbit--two{border-color:#d5aa5259;width:160px;height:58px;top:57px;left:42px;transform:rotate(32deg)}.orbit-dot{border-radius:50%;width:8px;height:8px;position:absolute}.orbit-dot--one{background:#aaa5ff;top:49px;left:50px;box-shadow:0 0 16px #aaa5ff}.orbit-dot--two{background:#dbad65;top:105px;right:24px;box-shadow:0 0 14px #dbad65}.hero-spark{color:#fff;text-shadow:0 0 20px #c7c3ffb3;font-size:40px;position:absolute;top:67px;left:112px}.section-heading{justify-content:space-between;align-items:flex-end;margin:32px 0 16px;display:flex}.section-heading h2,.side-card h3{letter-spacing:-.035em;margin:8px 0 0;font-size:16px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.project-card{color:var(--ink);background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:12px;padding:0;transition:transform .16s,box-shadow .16s;overflow:hidden}.project-card:hover,.agent-card:hover,.asset-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #342b1c14}.project-art{white-space:pre-line;letter-spacing:-.05em;height:116px;padding:16px;font-size:16px;font-weight:800;line-height:1.1;position:relative}.project-art svg{width:25px;height:25px;color:var(--ink);background:#fffefa8c;border-radius:6px;padding:4px;position:absolute;top:14px;right:14px}.project-art--warm{color:#6f4934;background:linear-gradient(135deg,#e9c8a8,#f4e4cf 45%,#bf8f70)}.project-art--cool{color:#47467e;background:linear-gradient(135deg,#dcdaf7,#f3f0ff 58%,#b4b1e3)}.project-art--sage{color:#47725c;background:linear-gradient(135deg,#c8d8c5,#f1f4e9 55%,#a2baa0)}.project-card-copy{padding:12px 16px 16px}.project-card-copy strong,.project-card-copy span{display:block}.project-card-copy strong{font-size:12px}.project-card-copy span{color:var(--ink-faint);margin-top:4px;font-size:12px}.overview-side{align-content:start;gap:16px;display:grid}.side-card{border:1px solid var(--line);background:#fffefab8;border-radius:14px;padding:16px}.side-card-head{justify-content:space-between;display:flex}.side-card-head>svg{color:var(--violet)}.side-card p{color:var(--ink-soft);margin:12px 0 0;font-size:12px;line-height:1.6}.quick-action{width:100%;color:var(--ink);border:0;border-top:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:8px;margin-top:12px;padding:8px 0;display:flex}.quick-action:first-of-type{margin-top:16px}.quick-action>span:nth-child(2){flex:1}.quick-action strong,.quick-action small{display:block}.quick-action strong{font-size:12px}.quick-action small{color:var(--ink-faint);margin-top:3px;font-size:12px}.quick-action>svg{color:var(--ink-faint)}.quick-icon{width:28px;height:28px;color:var(--violet);background:var(--violet-soft);border-radius:8px;place-items:center;display:grid}.side-card--adapter{background:#eeebff;border-color:#dfdafd}.side-card--adapter .section-kicker,.side-card--adapter p{color:#716c9e}.adapter-metrics{color:#706ba2;gap:16px;margin-top:16px;font-size:12px;display:flex}.adapter-metrics strong{color:var(--violet-dark);font-size:16px;display:block}.stats-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--line);background:#fffefab8;border-radius:12px;padding:16px}.stat-card span,.stat-card small{color:var(--ink-faint);font-size:12px;display:block}.stat-card strong{letter-spacing:-.04em;margin:12px 0 4px;font-size:28px;display:block}.stat-card small.positive{color:#579065}.agent-toolbar,.asset-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.inline-search{border-color:var(--line);background:#fffefab8;width:280px;height:34px;padding:0 12px}.view-switch{background:#ece9e2;border-radius:8px;gap:3px;padding:3px;display:flex}.view-switch button{width:28px;height:25px;color:var(--ink-faint);background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.view-switch button.is-active{color:var(--ink);background:var(--surface);box-shadow:0 2px 5px #342b1c12}.agent-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.agent-card{min-height:210px;color:var(--ink);background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:13px;padding:16px;transition:transform .16s,box-shadow .16s}.agent-avatar{border-radius:12px;place-items:center;width:42px;height:42px;margin-bottom:16px;display:grid}.agent-avatar--violet{color:var(--violet-dark);background:var(--violet-soft)}.agent-avatar--blue{color:#546b9d;background:#e6ebf7}.agent-avatar--sage{color:#4b7959;background:#e6f0e6}.agent-card-head{justify-content:space-between;gap:8px;display:flex}.agent-card-head strong,.agent-card-head span{display:block}.agent-card-head strong{font-size:14px}.agent-card-head span{color:var(--ink-faint);margin-top:4px;font-size:12px}.agent-card p{min-height:38px;color:var(--ink-soft);margin:16px 0;font-size:12px;line-height:1.55}.agent-card-foot{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.tag-row{flex-wrap:wrap;gap:4px;display:flex}.tag{color:var(--ink-faint);background:#f0eee8;border-radius:5px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.agent-status{white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.agent-status--live{color:var(--violet-dark)}.agent-status--published{color:#4b7959}.agent-status--draft{color:var(--ink-faint)}.asset-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px;display:grid}.asset-summary>div{background:#eceaff;border-radius:12px;align-items:baseline;gap:12px;padding:16px;display:flex}.asset-summary>div:nth-child(2){background:#edf3ec}.asset-summary>div:nth-child(3){background:#f6eedf}.asset-summary strong{letter-spacing:-.04em;font-size:28px}.asset-summary span:last-child{color:var(--ink-faint);font-size:12px}.filter-tabs{gap:4px;display:flex}.filter-tabs button{height:31px;color:var(--ink-faint);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:12px}.filter-tabs button.is-active{color:var(--ink);background:#e8e5dd;font-weight:700}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.asset-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:transform .16s,box-shadow .16s;overflow:hidden}.asset-card-art{justify-content:space-between;align-items:flex-end;height:150px;padding:12px;display:flex;position:relative}.asset-card-art svg{color:#fffc;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.asset-card-art span{color:#ffffffc2;font-size:12px}.asset-card-art button{color:#ffffffd9;background:#25231f2e;border:0;border-radius:6px;place-items:center;width:26px;height:26px;display:grid}.asset-card-art--terracotta{background:radial-gradient(circle at 65% 36%,#f2ddca 0 18%,#0000 19%),linear-gradient(135deg,#b26c54,#d7ab7d)}.asset-card-art--indigo{background:linear-gradient(135deg,#e2e5f7 0 33%,#aeb7dc 33% 36%,#5e6e9d 36%)}.asset-card-art--sage{background:radial-gradient(circle at 35% 35%,#f2ead0 0 16%,#0000 17%),linear-gradient(135deg,#94ad91,#d9e2ce)}.asset-card-art--gold{background:linear-gradient(135deg,#d0a456,#f1d89f)}.asset-card-art--blue{background:linear-gradient(135deg,#6d8bab,#dbe6f2)}.asset-card-art--rose{background:linear-gradient(135deg,#c8878c,#f0d3c3)}.asset-card-copy{justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 16px 8px;display:flex}.asset-card-copy strong,.asset-card-copy span{display:block}.asset-card-copy strong{font-size:12px}.asset-card-copy>div span{color:var(--ink-faint);margin-top:4px;font-size:12px}.asset-card-copy>.tag{white-space:nowrap;margin-top:1px}.asset-card-actions{gap:8px;padding:0 16px 12px;display:flex}.asset-card-actions button{color:var(--ink-faint);background:0 0;border:0;align-items:center;gap:4px;padding:4px 0;font-size:12px;display:inline-flex}.asset-card-actions button:first-child{color:var(--violet-dark);font-weight:700}.run-summary{gap:12px;margin-bottom:24px;display:flex}.run-summary>div{border:1px solid var(--line);background:#fffefab8;border-radius:11px;align-items:center;gap:12px;min-width:168px;padding:12px 16px;display:flex}.summary-icon{border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.summary-icon--green{color:#4b7959;background:#e7f0e7}.summary-icon--violet{color:var(--violet-dark);background:var(--violet-soft)}.summary-icon--red{color:var(--danger);background:#fbe7e5}.run-summary strong,.run-summary small{display:block}.run-summary strong{font-size:20px}.run-summary small{color:var(--ink-faint);margin-top:2px;font-size:12px}.run-table{border:1px solid var(--line);background:#fffefab8;border-radius:13px;overflow:hidden}.run-table-head,.run-row{grid-template-columns:2fr 1.2fr 1fr .8fr 1fr 32px;align-items:center;column-gap:16px;padding:0 16px;display:grid}.run-table-head{height:43px;color:var(--ink-faint);border-bottom:1px solid var(--line);font-size:12px;font-weight:700}.run-row{min-height:63px;color:var(--ink-soft);border-bottom:1px solid var(--line);font-size:12px}.run-row:last-child{border-bottom:0}.run-name{color:var(--ink);align-items:center;gap:8px;display:flex}.run-file{width:27px;height:27px;color:var(--violet);background:var(--violet-soft);border-radius:7px;place-items:center;display:grid}.table-status{align-items:center;gap:8px;display:inline-flex}.table-status--success{color:#4b7959}.table-status--running{color:var(--violet-dark)}.table-status--error{color:var(--danger)}.mono{font-family:DM Mono,monospace;font-size:12px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-card{border:1px solid var(--line);background:#fffefab8;border-radius:14px;padding:24px}.settings-card-head{justify-content:space-between;align-items:flex-start;display:flex}.settings-card-head h2{margin:8px 0 0;font-size:16px}.settings-card-head>svg{color:var(--ink-faint)}.adapter-large{background:#efedff;border:1px solid #dfdafd;border-radius:11px;align-items:center;gap:12px;margin-top:24px;padding:16px;display:flex}.adapter-large>div{flex:1}.adapter-large strong,.adapter-large span{display:block}.adapter-large strong{font-size:12px}.adapter-large span{color:var(--ink-faint);margin-top:3px;font-size:12px}.adapter-mark--large{width:34px;height:34px;font-size:16px}.adapter-large .button{height:29px;padding:0 8px;font-size:12px}.capability-list{gap:0;margin-top:16px;display:grid}.capability-row,.form-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:48px;display:flex}.capability-row:last-child,.form-row:last-child{border-bottom:0}.capability-row span{color:var(--ink-soft);font-size:12px}.capability-row strong{color:#4b7959;font-size:12px}.capability-row strong.is-muted{color:var(--ink-faint)}.form-row{gap:16px}.form-row strong,.form-row span{display:block}.form-row strong{font-size:12px}.form-row span{color:var(--ink-faint);margin-top:3px;font-size:12px}.select-like{color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:7px;align-items:center;gap:8px;padding:8px;font-size:12px;display:inline-flex}.toast{z-index:30;color:#fff;background:#2f2d3a;border-radius:9px;align-items:center;gap:8px;padding:12px;font-size:12px;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #25231f2e}.toast svg{color:#b8b2ff}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#25231f47;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.create-modal{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:min(470px,100%);padding:24px;animation:.2s ease-out modal-in;box-shadow:0 24px 70px #25231f33}.modal-head{justify-content:space-between;display:flex}.modal-head h2{letter-spacing:-.04em;margin:8px 0 0;font-size:20px}.create-options{gap:8px;margin-top:24px;display:grid}.create-options button{color:var(--ink);border:1px solid var(--line);text-align:left;background:#f5f3ee;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.create-options button:hover{background:#f1efff;border-color:#c9c2f4}.create-option-icon{border-radius:9px;place-items:center;width:35px;height:35px;display:grid}.create-option-icon--violet{color:var(--violet-dark);background:var(--violet-soft)}.create-option-icon--gold{color:#9a742b;background:#f6ecd5}.create-options button span:nth-child(2){flex:1}.create-options strong,.create-options small{display:block}.create-options strong{font-size:12px}.create-options small{color:var(--ink-faint);margin-top:3px;font-size:12px}.modal-foot{color:var(--ink-faint);align-items:center;gap:8px;margin-top:16px;font-size:12px;display:flex}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1120px){.canvas-layout{grid-template-columns:minmax(0,1fr) 276px}.overview-grid{grid-template-columns:1fr}.overview-side{grid-template-columns:repeat(2,1fr)}.hero-card{min-height:190px}.hero-orbit{transform-origin:100%;transform:scale(.84)}}@media (width<=840px){.sidebar{flex-basis:74px;width:74px;padding-left:12px;padding-right:12px}.brand-lockup{justify-content:center;padding-left:0;padding-right:0}.workspace-switcher,.nav-section-label,.sidebar .nav-item span,.sidebar .nav-item em,.profile-chip>div:nth-child(2){display:none}.nav-item{justify-content:center;padding-left:0;padding-right:0}.nav-item.is-active:before{left:-12px}.profile-chip{border-top:0;justify-content:center;padding-left:0;padding-right:0}.topbar{padding:0 24px}.search-box{width:200px}.page{padding:32px 24px 48px}.canvas-layout{grid-template-columns:1fr}.inspector-panel{min-height:0}.inspector-footer{margin-top:0}.stats-row,.asset-grid{grid-template-columns:repeat(2,1fr)}.agent-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.topbar{height:60px;padding:0 16px}.breadcrumbs span{display:none}.topbar-actions .search-box{width:34px;padding:0 8px}.search-box input,.search-box kbd{display:none}.page{padding:24px 16px 32px}.page-heading{flex-direction:column;align-items:flex-start;margin-bottom:24px}.heading-actions{width:100%}.heading-actions .button{flex:1}.page-heading--canvas .save-state{display:none}.canvas-layout{display:block}.canvas-stage{min-height:610px}.inspector-panel{display:none}.canvas-toolbar{overflow:auto}.canvas-toolbar .tool-group:last-child{display:none}.overview-side,.project-grid,.agent-grid,.asset-grid,.settings-grid{grid-template-columns:1fr}.hero-card{min-height:235px;padding:24px}.hero-orbit{opacity:.75;position:absolute;bottom:-18px;right:-32px;transform:scale(.7)}.stats-row,.asset-summary{grid-template-columns:1fr 1fr}.stat-card:last-child{grid-column:span 2}.asset-summary>div{flex-wrap:wrap;gap:4px 8px}.asset-summary>div strong{width:100%}.asset-toolbar,.agent-toolbar{flex-direction:column;align-items:stretch}.inline-search{width:100%}.filter-tabs,.run-summary{overflow:auto}.run-table{overflow-x:auto}.run-table-head,.run-row{min-width:680px}.run-dock-foot span:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.canvas-workspace{grid-template-columns:236px minmax(0,1fr) 304px;align-items:stretch;gap:16px;display:grid;position:relative}.canvas-workspace.no-rail{grid-template-columns:minmax(0,1fr) 304px}.rail-toggle{z-index:6;width:26px;height:26px;color:var(--ink-soft);border:1px solid var(--line);background:#fffefaf0;border-radius:7px;place-items:center;display:grid;position:absolute;top:60px;left:8px;transform:rotate(90deg);box-shadow:0 4px 12px #342b1c14}.asset-rail{border:1px solid var(--line);background:#f1efe9;border-radius:16px;flex-direction:column;min-height:670px;display:flex;overflow:hidden}.asset-rail-head{justify-content:space-between;align-items:flex-start;gap:8px;padding:16px 12px 12px;display:flex}.asset-rail-head strong{letter-spacing:-.03em;margin-top:4px;font-size:14px;display:block}.rail-search{height:30px;color:var(--ink-faint);border:1px solid var(--line);background:#fffefab3;border-radius:8px;align-items:center;gap:8px;margin:0 12px 8px;padding:0 8px;display:flex}.rail-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:12px}.asset-rail-list{align-content:start;gap:3px;padding:0 8px 8px;display:grid;overflow:auto}.rail-item{cursor:grab;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:8px;transition:background .14s,border-color .14s;display:flex}.rail-item:hover{background:#fffefab8}.rail-item.is-referenced{background:#fffefaf0;border-color:#e2ddfa;box-shadow:0 4px 10px #342b1c0d}.rail-item:active{cursor:grabbing}.rail-thumb{color:#ffffffeb;border-radius:7px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-family:Georgia,serif;font-size:12px;font-style:italic;display:grid}.rail-thumb--terracotta{background:linear-gradient(135deg,#b56a50,#dbac79)}.rail-thumb--indigo{background:linear-gradient(135deg,#a6afd8,#566385)}.rail-thumb--sage{background:linear-gradient(135deg,#94ad91,#d9e2ce)}.rail-thumb--gold{background:linear-gradient(135deg,#d0a456,#f1d89f)}.rail-thumb--blue{background:linear-gradient(135deg,#8d9ac0,#5f6b92)}.rail-thumb--rose{background:linear-gradient(135deg,#c98b8b,#e6c0bd)}.rail-copy{flex:1;min-width:0}.rail-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.rail-copy span{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-faint);margin-top:2px;font-size:12px;display:block;overflow:hidden}.rail-add{width:22px;height:22px;color:var(--ink-faint);border:1px solid var(--line);background:0 0;border-radius:6px;flex:0 0 22px;place-items:center;display:grid}.rail-add:hover{color:var(--violet-dark);background:#f4f2ff;border-color:#c9c2f4}.rail-check{color:#6c9c79;flex:none}.asset-rail-foot{color:var(--ink-faint);border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:auto;padding:12px;font-size:12px;display:flex}.canvas-workspace .canvas-stage,.canvas-workspace .inspector-panel{min-height:670px}.run-events{gap:3px;margin:8px 0;display:grid}.run-event{align-items:flex-start;gap:8px;padding:3px 0;display:flex}.run-event-icon{align-items:center;height:12px;display:flex}.run-event strong{font-size:12px;font-weight:600;display:block}.run-event span{color:var(--ink-faint);margin-top:1px;font-size:12px;display:block}.run-event--completed strong{color:#477355}.add-node{position:relative}.add-node-menu{z-index:12;background:var(--surface);border:1px solid var(--line);border-radius:10px;width:154px;padding:4px;animation:.14s ease-out toast-in;position:absolute;top:34px;left:0;box-shadow:0 14px 30px #342b1c29}.add-node-menu button{width:100%;height:30px;color:var(--ink-soft);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 8px;font-size:12px;display:flex}.add-node-menu button:hover{color:var(--violet-dark);background:#f1efff}.inspector-section--grow{flex:1}.param-row{border-bottom:1px solid #e6e2dab3;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;font-size:12px;display:flex}.param-row:last-child{border-bottom:0}.param-row span{color:var(--ink-faint)}.param-row strong{text-align:right;max-width:64%;font-size:12px;font-weight:600}.reference-remove{width:20px;height:20px;color:var(--ink-faint);background:0 0;border:0;border-radius:5px;flex:0 0 20px;place-items:center;display:grid}.reference-remove:hover{color:var(--danger);background:#fbeceb}.empty-hint{color:var(--ink-faint);margin:0;font-size:12px;line-height:1.6}.editor-layout{grid-template-columns:206px minmax(0,1fr) 356px;align-items:start;gap:16px;display:grid}.editor-steps{border:1px solid var(--line);background:#f1efe9;border-radius:16px;flex-direction:column;min-height:640px;padding:16px 12px;display:flex}.editor-steps-head{justify-content:space-between;align-items:center;gap:8px;padding:0 4px 12px;display:flex}.editor-steps nav{gap:2px;display:grid}.editor-step{width:100%;color:var(--ink-soft);text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:flex-start;gap:8px;padding:8px;display:flex}.editor-step:hover{background:#fffefa99}.editor-step.is-active{color:var(--ink);background:var(--surface);border-color:var(--line);box-shadow:0 4px 10px #342b1c0d}.editor-step-index{width:20px;height:20px;color:var(--ink-faint);background:#e7e4dc;border-radius:6px;flex:0 0 20px;place-items:center;margin-top:1px;font-family:DM Mono,monospace;font-size:12px;display:grid}.editor-step.is-active .editor-step-index{color:#fff;background:var(--violet)}.editor-step strong{font-size:12px;font-weight:600;display:block}.editor-step small{color:var(--ink-faint);margin-top:2px;font-size:12px;display:block}.adapter-card{background:#eeebff;border:1px solid #dfdafd;border-radius:11px;margin-top:auto;padding:12px}.adapter-card-head{align-items:center;gap:8px;display:flex}.adapter-card-head strong{font-size:12px;display:block}.adapter-card-head span{color:#716c9e;margin-top:2px;font-size:12px;display:block}.adapter-card p{color:#716c9e;margin:8px 0;font-size:12px;line-height:1.55}.adapter-card .connection-state{display:inline-block}.editor-main{background:var(--surface);border:1px solid var(--line);min-height:640px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;display:flex}.editor-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 16px;display:flex}.editor-panel-head h2{letter-spacing:-.03em;margin:8px 0 0;font-size:16px}.editor-panel-head .mono{color:var(--ink-faint);font-size:12px}.editor-form{gap:16px;padding:24px;display:grid}.field{gap:8px;display:grid}.field>span{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.field input,.field textarea{width:100%;color:var(--ink);border:1px solid var(--line);resize:vertical;background:#fbfaf6;border-radius:9px;outline:0;padding:8px 12px;font-size:12px;line-height:1.6;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus{border-color:#c9c2f4;box-shadow:0 0 0 3px #6b62d914}.field small{color:var(--ink-faint);font-size:12px}.field-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field .select-like.is-wide{justify-content:space-between;width:100%}.prompt-area{font-family:DM Mono,monospace;font-size:12px!important;line-height:1.75!important}.slider-row{align-items:center;gap:12px;padding:8px 0;display:flex}.slider-row input[type=range]{accent-color:var(--violet);flex:1}.slider-row strong{font-size:12px}.tone-row{gap:8px;display:flex}.tone-swatch{color:#0000;border:1px solid #0000;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.tone-swatch--violet{background:var(--violet-soft)}.tone-swatch--blue{background:#e6ebf7}.tone-swatch--sage{background:#e6f0e6}.tone-swatch.is-active{color:var(--violet-dark);border-color:#c9c2f4;box-shadow:0 0 0 3px #6b62d912}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{height:26px;color:var(--ink-soft);border:1px solid var(--line);background:#f2f0ea;border-radius:7px;align-items:center;gap:4px;padding:0 8px;font-size:12px;display:inline-flex}.chip:hover{color:var(--violet-dark);background:#f1efff;border-color:#d8d3fa}.chip--mono{font-family:DM Mono,monospace;font-size:12px}.skill-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.skill-option{color:var(--ink);border:1px solid var(--line);text-align:left;background:#fbfaf6;border-radius:11px;gap:8px;padding:12px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid}.skill-option:hover{background:#fdfcff;border-color:#cfc9f6}.skill-option.is-active{background:#f6f4ff;border-color:#b8b0f4;box-shadow:0 0 0 3px #6b62d90f}.skill-option-head{color:var(--violet);justify-content:space-between;align-items:center;display:flex}.skill-category{color:#6b62d9;background:#e4e1ff;border-radius:5px;padding:2px 8px;font-size:12px;font-weight:700}.skill-option strong{font-size:12px}.skill-option p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.55}.skill-output{color:var(--ink-faint);align-items:center;gap:4px;font-size:12px;display:inline-flex}.tool-table{border:1px solid var(--line);border-radius:11px;gap:0;display:grid;overflow:hidden}.tool-row-item{border-bottom:1px solid var(--line);background:#fbfaf6;grid-template-columns:minmax(0,1fr) 46px 96px 54px;align-items:center;gap:12px;padding:12px;display:grid}.tool-row-item:last-child{border-bottom:0}.tool-row-item.is-active{background:#fffefa}.tool-row-item.is-planned{opacity:.72}.tool-row-main strong{font-size:12px;display:block}.tool-row-main span{color:var(--ink-faint);margin-top:2px;font-size:12px;display:block}.tool-scope,.tool-adapter{color:var(--ink-faint);font-size:12px}.tool-planned{color:#a58a4a;font-size:12px}.form-note{color:var(--ink-faint);align-items:flex-start;gap:8px;margin:0;font-size:12px;line-height:1.6;display:flex}.io-block{gap:8px;display:grid}.io-block-head{justify-content:space-between;align-items:flex-end;display:flex}.io-block-head small{color:var(--ink-faint);margin-top:3px;font-size:12px;display:block}.io-table{border:1px solid var(--line);background:#fbfaf6;border-radius:11px;overflow:hidden}.io-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 96px 54px 34px;align-items:center;gap:12px;padding:8px 12px;display:grid}.io-row:last-child{border-bottom:0}.io-row--head{color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;background:#f1efe9;padding:8px 12px;font-size:12px;font-weight:700}.io-row input{background:var(--surface);border:1px solid var(--line);border-radius:6px;outline:0;padding:4px 8px;font-size:12px}.io-row input:focus{border-color:#c9c2f4}.io-row .select-like{padding:4px 8px;font-size:12px}.editor-main-foot{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding:16px 24px;display:flex}.editor-side{align-content:start;gap:16px;display:grid}.test-panel{background:var(--surface);border:1px solid var(--line);min-height:388px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;display:flex}.test-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex}.test-panel-head h3{letter-spacing:-.03em;margin:8px 0 0;font-size:14px}.test-messages{align-content:start;gap:8px;max-height:326px;padding:12px 16px;display:grid;overflow:auto}.test-empty{color:var(--violet);justify-items:start;gap:8px;padding:8px 2px;display:grid}.test-empty p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.6}.suggest-row{flex-wrap:wrap;gap:4px;display:flex}.test-message{align-items:flex-start;gap:8px;display:flex}.test-message p{margin:0;font-size:12px;line-height:1.6}.test-message small{color:var(--ink-faint);margin-top:2px;font-size:12px;display:block}.test-message--step p{color:var(--ink-soft)}.test-step-dot{background:var(--violet);width:6px;height:6px;box-shadow:0 0 0 3px var(--violet-soft);border-radius:50%;flex:0 0 6px;margin-top:4px}.test-step-dot.is-live{animation:1.2s infinite pulse}.test-message--assistant{background:#f5f3ff;border:1px solid #e2ddfa;border-radius:10px;padding:12px}.test-message--assistant p{font-size:12px;line-height:1.7}.test-input{border-top:1px solid var(--line);gap:8px;margin-top:auto;padding:12px 16px 16px;display:grid}.test-input textarea{color:var(--ink);border:1px solid var(--line);resize:none;background:#fbfaf6;border-radius:9px;outline:0;padding:8px 12px;font-size:12px;line-height:1.6}.test-input textarea:focus{border-color:#c9c2f4;box-shadow:0 0 0 3px #6b62d914}.test-input .button{justify-content:center}.readiness-panel{border:1px solid var(--line);background:#fffefab8;border-radius:14px;gap:12px;padding:16px;display:grid}.readiness-head{justify-content:space-between;align-items:center;display:flex}.readiness-head strong{font-family:DM Mono,monospace;font-size:12px}.readiness-list{gap:8px;display:grid}.readiness-row{color:var(--ink-faint);align-items:center;gap:8px;font-size:12px;display:flex}.readiness-row.is-pass{color:var(--ink-soft)}.readiness-mark{color:#a5a096;background:#efede7;border-radius:5px;flex:0 0 16px;place-items:center;width:16px;height:16px;display:grid}.readiness-row.is-pass .readiness-mark{color:#4b7959;background:#e7f0e7}.button.is-block{width:100%}.react-flow__node{width:auto;box-shadow:none;font-size:inherit;background:0 0;border:0;border-radius:0;padding:0}.react-flow__node:focus,.react-flow__node:focus-visible{outline:none}.react-flow__minimap{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffefadb;border-radius:10px;width:150px;height:96px;margin:0;bottom:14px;right:14px}.react-flow__minimap-mask{fill:#f5f3eeb8}.react-flow__controls{margin:0 0 64px 16px}.app-shell{height:100vh;overflow:hidden}.content-wrap{min-height:0}.page--canvas,.page--editor{flex-direction:column;height:100%;padding-bottom:24px;display:flex}.page--canvas .page-heading,.page--editor .page-heading{flex:none}.canvas-workspace,.editor-layout{flex:1;min-height:0}.canvas-workspace .canvas-stage,.canvas-workspace .asset-rail,.canvas-workspace .inspector-panel,.editor-main,.editor-steps,.editor-side{min-height:0}.editor-main{overflow:hidden}.editor-form{overflow:auto}.editor-side{align-content:start;overflow:auto}@media (width<=900px){.app-shell{height:auto;min-height:100vh;overflow:visible}.page--canvas,.page--editor{height:auto}}@media (width<=1520px){.canvas-workspace{grid-template-columns:200px minmax(0,1fr) 280px}.editor-layout{grid-template-columns:188px minmax(0,1fr) 316px}}@media (width<=1440px){.canvas-workspace,.canvas-workspace.no-rail{grid-template-columns:minmax(0,1fr) 276px}.canvas-workspace .asset-rail{z-index:8;border-radius:0 0 16px 16px;width:246px;display:flex;position:absolute;top:53px;bottom:0;left:0;box-shadow:0 20px 44px #342b1c33}.canvas-workspace.no-rail .asset-rail{display:none}.editor-layout{grid-template-columns:176px minmax(0,1fr) 300px}.skill-grid{grid-template-columns:1fr}}@media (width<=1150px){.canvas-workspace,.canvas-workspace.no-rail{grid-template-columns:minmax(0,1fr);overflow:auto}.canvas-workspace .canvas-stage{min-height:520px}.canvas-workspace .inspector-panel{min-height:460px}.editor-layout{grid-template-columns:minmax(0,1fr) 316px}.editor-steps{display:none}}@media (width<=900px){.canvas-workspace,.canvas-workspace.no-rail{grid-template-columns:minmax(0,1fr)}.canvas-workspace .canvas-stage{min-height:520px}.canvas-workspace .inspector-panel{min-height:440px}.editor-layout{grid-template-columns:minmax(0,1fr);height:auto}.editor-main{min-height:600px}.editor-side{height:auto}.field-grid{grid-template-columns:1fr}.tool-row-item{grid-template-columns:minmax(0,1fr) 54px}.tool-scope,.tool-adapter{display:none}}.page--canvas,.page--editor{max-width:1620px}.inspector-panel{overflow:hidden}.inspector-body{flex:1;min-height:0;overflow:auto}.inspector-footer{background:#f1efe9;margin-top:auto;position:relative}.react-flow__minimap{opacity:.92;background:#fffefa8c;width:144px!important;height:92px!important;bottom:14px!important;right:14px!important}*{scrollbar-width:thin;scrollbar-color:#cfc9bd transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d5cfc3 padding-box padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#c2bbac padding-box padding-box}.editor-step.is-done .editor-step-index{color:#4b7959;background:#e7f0e7}.test-input{align-items:flex-end;gap:8px;display:flex}.test-input textarea{flex:1}.test-input .button{flex:none;height:34px}.field input[type=range]{appearance:none;background:linear-gradient(90deg,var(--violet) 0 40%,#e3e0d8 40%);border:0;border-radius:3px;height:4px;padding:0}.field input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid var(--violet);background:#fff;border-radius:50%;width:14px;height:14px;box-shadow:0 2px 6px #342b1c29}.test-message--user{justify-content:flex-end}.test-message--user p{color:#fff;background:var(--ink);border-radius:10px 10px 3px;padding:8px 12px;font-size:12px;line-height:1.6}.test-message--assistant{box-shadow:0 6px 16px #342b1c0f}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.icon-button{border:1px solid var(--line);width:30px;height:30px;color:var(--ink-soft);background:#fffefa99;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{color:var(--ink);background:var(--surface)}.button--tiny{border-radius:7px;gap:4px;height:28px;padding:0 12px;font-size:12px}.button--danger{color:var(--danger);background:#fbf1f0;border-color:#e8cfcc}.button--danger:hover{background:#f8e7e5}.status-pill{border:1px solid var(--line);height:30px;color:var(--ink-soft);background:#fffefab3;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.status-pill .status-dot{background:var(--ink-faint);border-radius:50%;width:6px;height:6px}.status-pill.is-live .status-dot{background:#4b7959;box-shadow:0 0 0 3px #4b795924}.status-pill.is-mock .status-dot{background:var(--gold);box-shadow:0 0 0 3px #d4a44729}.status-pill.is-error{color:#a5544f;background:#fcf2ee;border-color:#e8cfcc}.status-pill.is-error .status-dot{background:var(--danger);box-shadow:0 0 0 3px #c86d6829}.select--compact{border:1px solid var(--line-strong);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239d978b' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;height:34px;color:var(--ink-soft);border-radius:9px;padding:0 24px 0 12px;font-size:12px}.radar-toolbar{border:1px solid var(--line);background:#fffefab8;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px;display:flex}.radar-toolbar .filter-tabs{margin:0}.radar-search{flex:260px;min-width:220px}.radar-banner{color:#8a6a2f;background:#fdf5e6;border:1px solid #efe0c2;border-radius:11px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px;font-size:12px;line-height:1.6;display:flex}.radar-banner svg{flex:none;margin-top:1px}.radar-banner--error{color:#a5544f;background:#fbeeed;border-color:#e8c9c6}.radar-banner--quota{color:#8f4b45;background:#fcf2ee;border-color:#e8cfcc}.radar-banner--quota a{color:var(--violet);margin-left:8px;font-weight:700;text-decoration:underline}.radar-banner--quota strong{font-weight:800}.radar-summary{color:var(--ink-faint);align-items:center;gap:24px;margin-bottom:16px;font-size:12px;display:flex}.radar-summary strong{color:var(--ink);margin-right:4px;font-family:DM Mono,monospace;font-size:14px}.radar-summary-note{margin-left:auto}.radar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.radar-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden}.radar-card:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 16px 32px #342b1c17}.radar-cover{aspect-ratio:16/10;background:var(--surface-soft);place-items:center;display:grid;position:relative;overflow:hidden}.radar-cover img{object-fit:cover;width:100%;height:100%;display:block}.radar-cover--tone0{background:linear-gradient(135deg,#efe3d4,#e3cdb6)}.radar-cover--tone1{background:linear-gradient(135deg,#e6e6f6,#d5d4ee)}.radar-cover--tone2{background:linear-gradient(135deg,#e6ece2,#d2ddcf)}.radar-cover--tone3{background:linear-gradient(135deg,#f2e5e7,#e4cfd4)}.radar-cover-fallback{letter-spacing:.22em;color:#25231f6b;text-transform:uppercase;font-family:DM Mono,monospace;font-size:12px}.radar-cover--tone0 .radar-cover-fallback,.radar-cover--tone1 .radar-cover-fallback,.radar-cover--tone2 .radar-cover-fallback,.radar-cover--tone3 .radar-cover-fallback{letter-spacing:.08em;color:#ffffff8c;text-transform:none;font-family:Noto Sans SC,sans-serif;font-size:40px;font-weight:800;position:absolute}.radar-cover:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 30% 20%,#ffffff5c,#0000 55%);position:absolute;inset:0}.radar-hover{z-index:2}.radar-badge,.radar-duration{z-index:3}.radar-badge{color:var(--ink);background:#fffefae6;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;position:absolute;top:9px;left:9px;box-shadow:0 2px 6px #25231f14}.radar-duration{color:#fff;background:#25231fb8;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-family:DM Mono,monospace;font-size:12px;display:inline-flex;position:absolute;bottom:9px;right:9px}.radar-hover{opacity:0;background:#25231f70;place-content:center;justify-items:center;gap:8px;transition:opacity .18s;display:grid;position:absolute;inset:0}.radar-cover:hover .radar-hover,.radar-hover:focus-visible{opacity:1}.radar-hover-pill{background:var(--surface);color:var(--violet);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:800;display:inline-flex;box-shadow:0 8px 20px #14120e3d}.radar-hover-hint{color:#fffefad1;letter-spacing:.02em;font-size:12px}.radar-copy{flex-direction:column;gap:4px;padding:12px 12px 8px;display:flex}.radar-title{-webkit-line-clamp:2;letter-spacing:-.015em;-webkit-box-orient:vertical;font-size:12px;font-weight:700;line-height:1.55;display:-webkit-box;overflow:hidden}.radar-author{color:var(--ink-faint);font-size:12px}.radar-stats{color:var(--ink-soft);gap:12px;margin-top:2px;font-family:DM Mono,monospace;font-size:12px;display:flex}.radar-stats span{align-items:center;gap:4px;display:inline-flex}.radar-stats svg{color:#a8a294}.radar-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:8px 12px 12px;display:flex}.radar-empty{border:1px dashed var(--line-strong);color:var(--ink-faint);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:64px 24px;display:flex}.radar-empty svg{color:var(--violet)}.radar-empty strong{color:var(--ink);font-size:14px}.radar-empty span{max-width:360px;font-size:12px;line-height:1.7}.radar-empty .button{margin-top:8px}.radar-card--skeleton{padding:0 0 16px}.skeleton{background:linear-gradient(90deg,#efece5,#f7f5f0,#efece5) 0 0/200% 100%;border-radius:8px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.skeleton--cover{aspect-ratio:16/10;border-radius:0}.skeleton--line{height:12px;margin:12px 12px 0}.skeleton--short{width:55%}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.replicate-modal{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:min(600px,100%);max-height:86vh;display:flex;overflow:hidden;box-shadow:0 30px 70px #25231f3d}.replicate-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 24px;display:flex}.replicate-head>div{flex-direction:column;gap:4px;min-width:0;display:flex}.replicate-head strong{letter-spacing:-.02em;font-size:16px;font-weight:800;line-height:1.4}.replicate-sub{color:var(--ink-faint);font-size:12px}.replicate-body{flex-direction:column;gap:16px;padding:16px 24px;display:flex;overflow:auto}.replicate-field{flex-direction:column;gap:8px;display:flex}.replicate-field label{color:var(--ink-soft);font-size:12px;font-weight:700}.replicate-field input{border:1px solid var(--line-strong);height:38px;color:var(--ink);background:#fff;border-radius:9px;padding:0 12px;font-size:12px}.replicate-field input:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 3px #6b62d91f}.replicate-source{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.source-chip{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink-soft);border-radius:7px;align-items:center;gap:8px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.source-chip.is-ready{color:#4b7959;background:#eef4ee;border-color:#cfd8cd}.source-chip.is-off{color:#8a6a2f;background:#fdf5e6;border-color:#ecdcbd}.replicate-hint{color:var(--ink-faint);font-size:12px}.replicate-checks{gap:8px;font-size:12px;display:grid}.replicate-checks .is-ok:before{content:"✓ ";font-weight:800}.replicate-checks .is-warn:before{content:"! ";font-weight:800}.replicate-checks .is-ok{color:#4b7959}.replicate-checks .is-warn{color:#8a6a2f}.replicate-foot{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.replicate-progress{color:var(--ink-soft);align-items:center;gap:12px;font-family:DM Mono,monospace;font-size:12px;display:flex}.replicate-progress-bar{background:#e9e5dc;border-radius:99px;flex:1;height:6px;overflow:hidden}.replicate-progress-bar span{background:linear-gradient(90deg,var(--violet),#8f88e6);border-radius:99px;height:100%;transition:width .5s;display:block}.replicate-steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.replicate-step{opacity:.5;align-items:flex-start;gap:8px;display:flex}.replicate-step.is-active,.replicate-step.is-done{opacity:1}.replicate-step-icon{border:1px solid var(--line-strong);width:18px;height:18px;color:var(--ink-faint);border-radius:50%;flex:none;place-items:center;margin-top:1px;display:grid}.replicate-step.is-active .replicate-step-icon{border-color:var(--violet);color:var(--violet);background:var(--violet-soft)}.replicate-step.is-done .replicate-step-icon{color:#4b7959;background:#eef4ee;border-color:#cfd8cd}.replicate-step div{flex-direction:column;gap:2px;display:flex}.replicate-step strong{font-size:12px;font-weight:700}.replicate-step span{color:var(--ink-faint);font-size:12px}.replicate-logs{max-height:104px;color:var(--ink-soft);background:#f6f4ef;border-radius:9px;padding:8px 12px;font-family:DM Mono,monospace;font-size:12px;overflow:auto}.replicate-log{gap:8px;padding:2px 0;line-height:1.5;display:flex}.replicate-log span{color:var(--ink-faint);flex:none}.replicate-note{color:var(--ink-faint);margin:0;font-size:12px;line-height:1.6}.replicate-done{align-items:center;gap:12px;display:flex}.replicate-done-icon{background:var(--violet-soft);width:32px;height:32px;color:var(--violet);border-radius:50%;place-items:center;display:grid}.replicate-done div{flex-direction:column;gap:3px;display:flex}.replicate-done strong{font-size:14px}.replicate-done span{color:var(--ink-faint);font-size:12px}.replicate-preview{gap:8px;display:flex}.replicate-preview img{object-fit:cover;border:1px solid var(--line);border-radius:6px;width:72px;height:44px}.replicate-hook{background:#f6f4ef;border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.replicate-hook p{margin:0;font-size:12px;line-height:1.65}.replicate-tags{flex-wrap:wrap;gap:4px;display:flex}.replicate-error{color:#a5544f;background:#fbeeed;border:1px solid #e8c9c6;border-radius:9px;gap:8px;padding:12px;font-size:12px;line-height:1.6;display:flex}.replicate-foot-note{border-top:1px solid var(--line);color:var(--ink-faint);align-items:center;gap:8px;padding:12px 24px;font-size:12px;display:flex}.replicate-foot-note a{color:var(--ink-soft)}.template-summary{background:0 0}.template-type-tabs{flex-wrap:wrap}.tab-count{background:#25231f14;border-radius:99px;justify-content:center;align-items:center;min-width:14px;margin-left:4px;padding:0 4px;font-size:12px;line-height:1.5;display:inline-flex}.filter-tabs button.is-active .tab-count{background:#ffffff38}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.template-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:14px;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden}.template-card:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 16px 32px #342b1c17}.template-cover{aspect-ratio:16/9;background:var(--surface-soft);position:relative;overflow:hidden}.template-cover img{object-fit:cover;width:100%;height:100%;display:block}.template-cover-empty{letter-spacing:.2em;height:100%;color:var(--ink-faint);place-items:center;font-family:DM Mono,monospace;font-size:12px;display:grid}.template-type{background:#fffefaeb;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;position:absolute;top:9px;left:9px}.template-copy{flex-direction:column;gap:8px;padding:12px;display:flex}.template-copy>strong{letter-spacing:-.015em;font-size:12px;font-weight:700;line-height:1.5}.template-hook{-webkit-line-clamp:2;color:var(--ink-soft);-webkit-box-orient:vertical;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.template-meta{color:var(--ink-faint);gap:12px;font-family:DM Mono,monospace;font-size:12px;display:flex}.template-foot{border-top:1px solid var(--line);color:var(--ink-faint);justify-content:space-between;gap:8px;margin-top:2px;padding-top:8px;font-size:12px;display:flex}@keyframes drawer-in{0%{opacity:.5;transform:translate(24px)}to{opacity:1;transform:none}}.drawer-backdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#25231f3d;justify-content:flex-end;display:flex;position:fixed;inset:0}.template-drawer{background:var(--paper);border-left:1px solid var(--line);flex-direction:column;width:min(580px,100%);height:100%;animation:.22s drawer-in;display:flex;box-shadow:-24px 0 60px #25231f29}@media (prefers-reduced-motion:reduce){.template-drawer{animation:none}}.drawer-head{border-bottom:1px solid var(--line);background:#fffefa99;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 16px;display:flex}.drawer-head>div{flex-direction:column;gap:4px;min-width:0;display:flex}.drawer-head strong{letter-spacing:-.02em;font-size:16px;font-weight:800;line-height:1.4}.drawer-sub{color:var(--ink-faint);font-family:DM Mono,monospace;font-size:12px}.drawer-body{flex-direction:column;flex:1;gap:24px;padding:16px 24px 24px;display:flex;overflow:auto}.drawer-section{flex-direction:column;gap:8px;display:flex}.drawer-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer-section-head h3{letter-spacing:.02em;margin:0;font-size:12px;font-weight:800}.drawer-section-head h4{color:var(--ink-soft);margin:0;font-size:12px;font-weight:700}.drawer-section-head span{color:var(--ink-faint);font-size:12px}.drawer-section-head--tight{margin-top:2px}.drawer-quote{border-left:2px solid var(--violet);background:#f6f4ef;border-radius:0 8px 8px 0;margin:0;padding:12px;font-size:12px;line-height:1.7}.drawer-tags{flex-wrap:wrap;gap:4px;display:flex}.beat-list{border-left:1px solid var(--line-strong);flex-direction:column;gap:0;margin:0;padding:0 0 0 12px;list-style:none;display:flex}.beat-item{grid-template-columns:74px minmax(0,1fr);gap:12px;padding:8px 0;display:grid;position:relative}.beat-item:before{content:"";background:var(--violet);width:7px;height:7px;box-shadow:0 0 0 3px var(--paper);border-radius:50%;position:absolute;top:14px;left:-17px}.beat-time{color:var(--ink-faint);padding-top:2px;font-family:DM Mono,monospace;font-size:12px}.beat-item strong{font-size:12px}.beat-item p{color:var(--ink-soft);margin:3px 0 0;font-size:12px;line-height:1.65}.beat-onscreen{background:var(--violet-soft);color:var(--violet-dark);border-radius:5px;margin-top:4px;padding:2px 8px;font-size:12px;display:inline-block}.shot-table{flex-direction:column;gap:12px;display:flex}.shot-row{border:1px solid var(--line);background:#fffefab3;border-radius:11px;grid-template-columns:118px minmax(0,1fr);gap:12px;padding:8px;display:grid}.shot-frame{position:relative}.shot-frame img{aspect-ratio:16/10;object-fit:cover;background:var(--surface-soft);border-radius:7px;width:100%;display:block}.shot-frame em{color:var(--ink-faint);margin-top:4px;font-family:DM Mono,monospace;font-size:12px;font-style:normal;display:block}.shot-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.shot-copy strong{font-size:12px;line-height:1.6}.shot-copy p{color:var(--ink-faint);margin:0;font-size:12px;line-height:1.6}.shot-tags{flex-wrap:wrap;gap:4px;display:flex}.shot-tags span{background:var(--surface-soft);color:var(--ink-soft);border-radius:4px;padding:2px 8px;font-size:12px}.drawer-list{color:var(--ink-soft);flex-direction:column;gap:8px;margin:0;padding-left:16px;font-size:12px;line-height:1.65;display:flex}.drawer-list--rules li::marker{color:var(--violet)}.drawer-source{border:1px solid var(--line);color:var(--ink-soft);background:#fffefab3;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:12px;font-size:12px;display:flex}.drawer-source a{color:var(--violet);align-items:center;gap:4px;font-weight:700;display:inline-flex}.is-muted{color:var(--ink-faint)}.drawer-foot{border-top:1px solid var(--line);background:#fffefab3;justify-content:flex-end;align-items:center;gap:8px;padding:16px 24px;display:flex}.drawer-foot .button--danger{margin-right:auto}.drawer-loading{color:var(--ink-soft);align-items:center;gap:8px;padding:24px;font-size:12px;display:flex}@media (width<=1560px){.radar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1240px){.radar-grid,.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.radar-grid,.template-grid{grid-template-columns:minmax(0,1fr)}.radar-toolbar{padding:12px}.radar-summary{flex-wrap:wrap;gap:12px}.radar-summary-note{margin-left:0}.template-drawer{width:100%}.shot-row{grid-template-columns:92px minmax(0,1fr)}}.replicate-progress-bar{background:#11111114}.replicate-progress-bar span{background:var(--ink)}.field input[type=range]{background:#1111111f!important}.field input[type=range]::-webkit-slider-thumb{background:var(--ink);box-shadow:none}.radar-cover--tone0,.radar-cover--tone1,.radar-cover--tone2,.radar-cover--tone3{background:#efeeea}.radar-cover:after{background:0 0}.rail-thumb--terracotta,.rail-thumb--indigo,.rail-thumb--sage,.rail-thumb--gold,.rail-thumb--blue,.rail-thumb--rose{background:#efeeea}.vq-scope{--canvas:#f4f4f4;--surface:#fbfbfb;--surface-raised:#fff;--ink:#111;--muted:#5d5d5d;--faint:#6f6f6f;--line:#1111111a;--line-strong:#1113;--line-faint:#1111110f;--pass:#176b43;--warn:#8a5b08;--fail:#a33838;--pass-soft:#eef4f0;--warn-soft:#f7f2e8;--fail-soft:#f6eeee;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--font-ui:"Geist", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"Geist Mono", "SFMono-Regular", ui-monospace, monospace;--shadow-raise:0 1px 2px #1111110a, 0 10px 24px #1111110d;--paper:var(--canvas);--surface-soft:#f0f0f0;--ink-soft:var(--muted);--ink-faint:var(--faint);--violet:var(--ink);--violet-dark:#000;--violet-soft:#ececec;--gold:var(--warn);--danger:var(--fail);--shadow:var(--shadow-raise);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}.vq-scope *,.vq-scope :before,.vq-scope :after{box-sizing:border-box}.vq-scope button,.vq-scope input{font:inherit}.vq-scope button{cursor:pointer}.vq-scope button:disabled{cursor:default}.vq-button{border-radius:var(--radius-sm);height:30px;color:var(--ink);white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:500;line-height:1;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.vq-button--primary{background:var(--ink);color:#fff}.vq-button--primary:hover:not(:disabled){background:#000}.vq-button--ghost{border-color:var(--line-strong);background:var(--surface-raised);color:var(--ink)}.vq-button--ghost:hover:not(:disabled){border-color:var(--ink)}.vq-button--quiet{color:var(--muted)}.vq-button--quiet:hover:not(:disabled){background:var(--line-faint);color:var(--ink)}.vq-button--danger{border-color:var(--line);color:var(--fail)}.vq-button--danger:hover:not(:disabled){background:var(--fail-soft);border-color:#a3383847}.vq-button--block{width:100%;height:38px;font-size:12px}.vq-button:disabled{opacity:.55}.vq-link{color:var(--muted);background:0 0;border:0;align-items:center;gap:4px;padding:2px 0;font-size:12px;display:inline-flex}.vq-link:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.vq-pill{height:17px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:3px;align-items:center;gap:4px;padding:0 8px;font-size:10px;display:inline-flex}.vq-pill--pass{color:var(--pass);background:var(--pass-soft)}.vq-pill--warn{color:var(--warn);background:var(--warn-soft)}.vq-pill--fail{color:var(--fail);background:var(--fail-soft)}.vq-tag{border:1px solid var(--line);height:17px;color:var(--faint);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:3px;align-items:center;padding:0 8px;font-size:10px;display:inline-flex}.vq-note{border-top:1px solid var(--line-faint);color:var(--faint);align-items:flex-start;gap:8px;margin:16px 0 0;padding-top:16px;font-size:12px;line-height:1.6;display:flex}.vq-note svg{flex:none;margin-top:1px}.vq-shell{background:var(--canvas);height:100vh;display:flex;overflow:hidden}.vq-sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:0 0 236px;width:236px;height:100%;padding:16px 12px;transition:width .18s,flex-basis .18s,padding .18s;display:flex;overflow:visible}.vq-sidebar-scroll{scrollbar-width:thin;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.vq-sidebar--collapsed{flex-basis:68px;width:68px;padding-left:12px;padding-right:12px}.vq-brand{align-items:center;gap:8px;min-height:38px;padding:0 8px;display:flex}.vq-brand-dot{background:var(--ink);border-radius:1px;flex:none;width:7px;height:7px}.vq-brand-text{letter-spacing:.01em;white-space:nowrap;font-size:14px;font-weight:600}.vq-sidebar--collapsed .vq-brand{justify-content:center;gap:0;padding:0}.vq-sidebar--collapsed .vq-brand-text{display:none}.vq-lockup{color:var(--ink);align-items:center;gap:8px;display:inline-flex}.vq-lockup-text{gap:1px;display:grid}.vq-lockup-text strong{letter-spacing:.01em;font-size:14px;font-weight:600;line-height:1.1}.vq-lockup-text small{color:var(--faint);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:10px;line-height:1.1}.vq-workspace{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);text-align:left;background:0 0;align-items:center;gap:8px;margin:16px 0;padding:8px;display:flex}.vq-workspace:hover{border-color:var(--line-strong);background:var(--surface-raised)}.vq-workspace-avatar{background:var(--ink);color:#fff;border-radius:5px;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:grid}.vq-workspace-meta{flex:1;gap:1px;min-width:0;display:grid}.vq-workspace-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.vq-workspace-meta span{color:var(--faint);font-family:var(--font-mono);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;overflow:hidden}.vq-workspace svg{color:var(--faint);flex:none}.vq-nav{gap:1px;display:grid}.vq-nav-item{border-radius:var(--radius-sm);width:100%;min-height:34px;color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 12px;font-size:12px;transition:background .14s,color .14s;display:flex;position:relative}.vq-nav-item:hover{background:var(--line-faint);color:var(--ink)}.vq-nav-item.is-active{color:var(--ink);background:#1111110f;font-weight:500}.vq-nav-item.is-active:before{background:var(--ink);content:"";border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.vq-nav-item svg{flex:none}.vq-nav-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.vq-nav-item em{border:1px solid var(--line);min-width:18px;color:var(--faint);font-family:var(--font-mono);text-align:center;border-radius:3px;padding:1px 4px;font-size:10px;font-style:normal}.vq-nav-item--compact{justify-content:center;padding:0}.vq-nav-item--compact.is-active:before{display:none}.vq-sidebar-bottom{gap:4px;margin-top:12px;padding-top:12px;display:grid}.vq-nav-divider{background:var(--line);height:1px;margin:2px 12px 8px}.vq-nav--utility .vq-nav-item,.vq-nav-item--utility{min-height:29px;color:var(--faint);font-size:12px}.vq-nav--utility .vq-nav-item:hover,.vq-nav-item--utility:hover{color:var(--ink)}.vq-nav--utility .vq-nav-item.is-active,.vq-nav-item--utility.is-active{font-weight:500}.vq-nav--utility .vq-nav-item.is-active:before,.vq-nav-item--utility.is-active:before{top:8px;bottom:8px}.vq-sidebar-account{margin-top:8px;position:relative}.vq-sidebar-account-row{border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:4px 8px;display:flex}.vq-sidebar-account-row:hover,.vq-sidebar-account-row[aria-expanded=true]{border-color:var(--line);background:var(--surface-raised)}.vq-sidebar-account-avatar{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:grid}.vq-sidebar-account-copy{flex:1;gap:1px;min-width:0;display:grid}.vq-sidebar-account-copy strong,.vq-sidebar-account-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vq-sidebar-account-copy strong{font-size:12px;font-weight:500}.vq-sidebar-account-copy small{color:var(--faint);font-family:var(--font-mono);letter-spacing:.02em;font-size:10px}.vq-sidebar-account-more{color:var(--faint);flex:none}.vq-sidebar-account-action{color:var(--muted);flex:none;align-items:center;gap:4px;font-size:12px;display:inline-flex}.vq-sidebar-account-row--guest:hover .vq-sidebar-account-action{color:var(--ink)}.vq-menu.vq-sidebar-account-menu{width:216px;inset:auto auto calc(100% + 6px) 0}.vq-sidebar-account-menu-meta{border-bottom:1px solid var(--line);color:var(--faint);justify-content:space-between;gap:8px;margin-bottom:4px;padding:8px;display:flex}.vq-version{margin-top:2px}.vq-version-trigger{border-radius:var(--radius-sm);width:100%;min-height:28px;color:var(--faint);font-family:var(--font-mono);letter-spacing:.04em;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0 12px;font-size:10px;display:flex}.vq-version-trigger:hover{background:var(--line-faint);color:var(--ink)}.vq-version-dot{background:var(--faint);width:5px;height:5px;box-shadow:0 0 0 2px var(--line-faint);border-radius:50%;flex:none}.vq-version-label{letter-spacing:.02em}.vq-version-action{letter-spacing:.08em;margin-left:auto;font-size:12px}.vq-sidebar--collapsed .vq-sidebar-account-row{justify-content:center;padding:0}.vq-sidebar--collapsed .vq-sidebar-account-copy,.vq-sidebar--collapsed .vq-sidebar-account-more,.vq-sidebar--collapsed .vq-sidebar-account-action span,.vq-sidebar--collapsed .vq-version-label,.vq-sidebar--collapsed .vq-version-action{display:none}.vq-sidebar--collapsed .vq-version-trigger{justify-content:center;padding:0}.vq-main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.vq-topbar{background:var(--canvas);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 24px;display:flex}.vq-topbar-left,.vq-topbar-right{align-items:center;gap:8px;min-width:0;display:flex}.vq-breadcrumb{color:var(--faint);align-items:center;gap:8px;font-size:12px;display:flex}.vq-breadcrumb strong{color:var(--ink);font-weight:500}.vq-icon-button{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--muted);background:0 0;border:1px solid #0000;place-items:center;display:grid}.vq-icon-button:hover{border-color:var(--line);background:var(--surface-raised);color:var(--ink)}.vq-has-dot{position:relative}.vq-has-dot:after{border:1px solid var(--canvas);background:var(--ink);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:8px;right:8px}.vq-search{border-radius:var(--radius-sm);width:min(280px,28vw);height:30px;color:var(--faint);background:#1111110b;border:1px solid #0000;align-items:center;gap:8px;padding:0 8px;display:flex}.vq-search:focus-within{border-color:var(--line-strong);background:var(--surface-raised);box-shadow:0 0 0 2px #1111110f}.vq-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:12px}.vq-search input::placeholder{color:var(--faint)}.vq-search kbd{border:1px solid var(--line);color:var(--faint);font-family:var(--font-mono);border-radius:3px;padding:1px 4px;font-size:10px}.vq-user-menu{position:relative}.vq-user-trigger{border-radius:var(--radius-sm);color:var(--ink);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:3px 8px 3px 3px;display:flex}.vq-user-trigger:hover,.vq-user-trigger[aria-expanded=true]{border-color:var(--line);background:var(--surface-raised)}.vq-avatar{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:grid}.vq-user-trigger-text{text-align:left;gap:1px;max-width:132px;display:grid}.vq-user-trigger-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.vq-user-trigger-text small{color:var(--faint);font-family:var(--font-mono);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.vq-user-trigger>svg{color:var(--faint);flex:none}.vq-menu{z-index:40;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);width:236px;box-shadow:var(--shadow-raise);padding:4px;position:absolute;top:calc(100% + 6px);right:0}.vq-menu-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:8px;margin-bottom:4px;padding:8px;display:flex}.vq-menu-head>div{gap:2px;min-width:0;display:grid}.vq-menu-head strong{font-size:12px;font-weight:600}.vq-menu-head span{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.vq-menu-head .vq-mono{font-size:12px}.vq-menu button{border-radius:var(--radius-sm);width:100%;color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px;font-size:12px;display:flex}.vq-menu button:hover{background:var(--line-faint);color:var(--ink)}.vq-menu button.is-danger{color:var(--fail)}.vq-menu button.is-danger:hover{background:var(--fail-soft)}.vq-menu-sep{background:var(--line);height:1px;margin:4px 0}.vq-content{flex:1;min-width:0;min-height:0;overflow:auto}.vq-toast{z-index:60;border-radius:var(--radius-sm);background:var(--ink);color:#fff;box-shadow:var(--shadow-raise);align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex;position:fixed;bottom:24px;right:24px}.vq-login{background:var(--canvas);grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.vq-login-brand{background:var(--ink);color:#fff;flex-direction:column;padding:32px 48px 24px;display:flex;position:relative;overflow:hidden}.vq-login-watermark-text{color:#fff;letter-spacing:-.05em;opacity:.06;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(120px,16vw,232px);font-weight:600;line-height:.8;position:absolute;bottom:-46px;right:-22px}.vq-login-brand-head{align-items:center;gap:8px;display:flex;position:relative}.vq-login-brand-dot{background:#fff;border-radius:1px;width:7px;height:7px}.vq-login-wordmark{letter-spacing:.01em;font-size:14px;font-weight:600}.vq-login-divider{background:#ffffff38;width:1px;height:13px;margin:0 2px}.vq-login-brand .vq-mono{color:#ffffff80}.vq-login-brand-body{gap:16px;max-width:520px;margin-top:9vh;display:grid;position:relative}.vq-login-brand-body h1{letter-spacing:-.02em;margin:0;font-size:40px;font-weight:500;line-height:1.22}.vq-login-lede{color:#ffffffa3;max-width:46ch;margin:0;font-size:12px;line-height:1.8}.vq-login-facts{border-top:1px solid #ffffff24;gap:16px;margin:4px 0 0;padding:24px 0 0;list-style:none;display:grid}.vq-login-facts li{align-items:baseline;gap:16px;display:flex}.vq-login-facts .vq-mono{color:#ffffff61;font-size:12px}.vq-login-facts strong{font-size:12px;font-weight:500;display:block}.vq-login-facts p{color:#ffffff85;margin:3px 0 0;font-size:12px;line-height:1.65}.vq-login-evidence{border-radius:var(--radius-md);background:#ffffff08;border:1px solid #ffffff29;max-width:470px;margin-top:auto;padding:12px 16px;position:relative}.vq-login-evidence-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.vq-login-verdict{color:#e3bd7e;font-family:var(--font-mono);letter-spacing:.06em;border:1px solid #e0b7766b;border-radius:3px;padding:1px 8px;font-size:10px}.vq-login-evidence p{color:#ffffffc7;margin:8px 0;font-size:12px;line-height:1.6}.vq-login-evidence-meta{color:#ffffff6b;align-items:center;gap:8px;display:flex}.vq-login-evidence-meta .vq-mono{color:#ffffff6b;font-size:12px}.vq-login-brand-foot{border-top:1px solid #ffffff1f;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;display:flex;position:relative}.vq-login-brand-foot .vq-mono{color:#ffffff5c;font-size:12px}.vq-login-panel{justify-content:center;align-items:center;padding:48px 32px;display:flex}.vq-login-form-wrap{gap:16px;width:100%;max-width:356px;display:grid}.vq-login-form-head{gap:8px;margin-bottom:2px;display:grid}.vq-login-form-head h2{letter-spacing:-.015em;margin:0;font-size:28px;font-weight:500}.vq-login-form-head p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.vq-banner{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--muted);align-items:flex-start;gap:8px;padding:8px 12px;font-size:12px;line-height:1.55;display:flex}.vq-banner svg{flex:none;margin-top:1px}.vq-banner--error{background:var(--fail-soft);color:var(--fail);border-color:#a3383840}.vq-field{gap:8px;margin-bottom:12px;display:grid}.vq-field-label{color:var(--muted);align-items:baseline;gap:8px;font-size:12px;font-weight:500;display:flex}.vq-field-label .vq-mono{color:var(--faint);font-size:12px}.vq-input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);height:38px;color:var(--faint);align-items:center;gap:8px;padding:0 12px;transition:border-color .14s,box-shadow .14s;display:flex}.vq-input:focus-within{border-color:var(--ink);color:var(--ink);box-shadow:0 0 0 2px #1111110f}.vq-input.is-invalid{border-color:var(--fail)}.vq-input input{min-width:0;color:var(--ink);font-family:var(--font-ui);background:0 0;border:0;outline:0;flex:1;font-size:12px}.vq-input input::placeholder{color:var(--faint)}.vq-input-action{width:22px;height:22px;color:var(--faint);background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.vq-input-action:hover{background:var(--line-faint);color:var(--ink)}.vq-field-error{color:var(--fail);font-size:12px}.vq-login-row{justify-content:space-between;align-items:center;gap:12px;margin:2px 0 16px;display:flex}.vq-check{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:inline-flex}.vq-check input{width:13px;height:13px;accent-color:var(--ink);margin:0}.vq-or{color:var(--faint);align-items:center;gap:12px;margin:2px 0;font-size:12px;display:flex}.vq-or:before,.vq-or:after{background:var(--line);content:"";flex:1;height:1px}.vq-demo{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.vq-demo>div{gap:2px;min-width:0;display:grid}.vq-demo strong{color:var(--ink);font-family:var(--font-mono);letter-spacing:.02em;text-overflow:ellipsis;font-size:10px;overflow:hidden}.vq-demo-sub{color:var(--faint);font-size:12px}.vq-demo .vq-button{flex:none}.vq-login-foot{color:var(--faint);align-items:flex-start;gap:8px;margin:0;font-size:12px;line-height:1.55;display:flex}.vq-login-foot svg{flex:none;margin-top:1px}.vq-spin{animation:.9s linear infinite vq-spin}@keyframes vq-spin{to{transform:rotate(360deg)}}.vq-login-modes{background:#1111110a;border-radius:7px;grid-template-columns:1fr 1fr;gap:2px;padding:2px;display:grid}.vq-login-mode{color:var(--muted);font-family:var(--font-ui);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:8px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s}.vq-login-mode:hover:not(:disabled){color:var(--ink);background:#1111110a}.vq-login-mode[aria-pressed=true]{border-color:var(--line-strong);background:var(--surface-raised);color:var(--ink)}.vq-login-mode:focus-visible{outline:none;box-shadow:0 0 0 2px #11111124}.vq-login-mode:disabled{cursor:default;opacity:.6}@media (prefers-reduced-motion:reduce){.vq-spin{animation:none}}.vq-settings-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:start;gap:16px;display:grid}.vq-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}.vq-card--wide{grid-column:1/-1}.vq-card-head{border-bottom:1px solid var(--line-faint);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex}.vq-card-head h2{letter-spacing:-.01em;margin:3px 0 0;font-size:14px;font-weight:500}.vq-card-head p{color:var(--faint);margin:4px 0 0;font-size:12px}.vq-card-body{padding:4px 16px 12px}.vq-account{align-items:center;gap:12px;padding:16px;display:flex}.vq-account-avatar{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:14px;font-weight:600;display:grid}.vq-account-meta{flex:1;gap:2px;min-width:0;display:grid}.vq-account-meta strong{font-size:14px;font-weight:600}.vq-account-meta span{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.vq-account-actions{flex:none;gap:8px;display:flex}.vq-row{border-bottom:1px solid var(--line-faint);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.vq-row:last-child{border-bottom:0}.vq-row-copy strong{font-size:12px;font-weight:500;display:block}.vq-row-copy span{color:var(--faint);margin-top:2px;font-size:12px;display:block}.vq-row-value{color:var(--muted);text-align:right;flex:none;font-size:12px}.vq-row-value.vq-mono{color:var(--faint);text-transform:none;font-size:12px}.vq-switch{border:1px solid var(--line-strong);background:var(--line-faint);border-radius:10px;flex:none;width:34px;height:19px;padding:0;position:relative}.vq-switch:after{background:var(--faint);content:"";border-radius:50%;width:13px;height:13px;transition:left .14s,background .14s;position:absolute;top:2px;left:2px}.vq-switch.is-on{border-color:var(--ink);background:var(--ink)}.vq-switch.is-on:after{background:#fff;left:16px}.vq-settings-foot{border-top:1px solid var(--line);color:var(--faint);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:16px;font-size:12px;display:flex}.vq-modal-backdrop{z-index:80;background:#11111157;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.vq-update-modal{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);width:min(440px,100%);box-shadow:var(--shadow-raise);padding:16px 24px}.vq-update-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.vq-update-head h2{margin-top:4px;font-size:16px;font-weight:500}.vq-update-rows{border-top:1px solid var(--line);margin:16px 0 12px;display:grid}.vq-update-rows>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:12px;display:flex}.vq-update-rows span{color:var(--faint)}.vq-update-rows strong{color:var(--ink);font-weight:500}.vq-update-rows strong.vq-mono{text-transform:none}.vq-update-note{color:var(--muted);font-size:12px;line-height:1.65}.vq-update-note code{border:1px solid var(--line);font-family:var(--font-mono);border-radius:3px;padding:1px 4px;font-size:10px}.vq-update-message{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--line-faint);color:var(--ink);margin-top:12px;padding:8px 12px;font-size:12px;line-height:1.55}.vq-update-actions{gap:8px;margin-top:16px;display:flex}.vq-update-foot{border-top:1px solid var(--line);color:var(--faint);margin-top:16px;padding-top:12px;font-size:12px}@media (width<=1180px){.vq-settings-grid{grid-template-columns:1fr}}@media (width<=980px){.vq-login{grid-template-columns:1fr}.vq-login-brand{padding:24px}.vq-login-brand-body{margin-top:24px}.vq-login-brand-body h1{font-size:28px}.vq-login-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vq-login-facts li{gap:8px;display:grid}.vq-login-evidence{display:none}.vq-login-panel{align-items:flex-start;padding:32px 24px 48px}.vq-login-form-wrap{margin:0 auto}}@media (width<=900px){.vq-shell{height:auto;min-height:100vh;overflow:visible}.vq-sidebar{flex-basis:68px;align-self:flex-start;width:68px;height:100vh;padding-left:12px;padding-right:12px;position:sticky;top:0}.vq-brand,.vq-nav-item:not(.vq-nav-item--compact){justify-content:center}.vq-workspace,.vq-workspace-meta,.vq-brand-text,.vq-lockup-text,.vq-nav-item span,.vq-nav-item em,.vq-sidebar-account-copy,.vq-sidebar-account-more,.vq-sidebar-account-action span,.vq-version-label,.vq-version-action{display:none}.vq-sidebar-account-row,.vq-version-trigger{justify-content:center;padding:0}.vq-search{width:30px;padding:0 8px}.vq-search input,.vq-search kbd{display:none}}@media (width<=640px){.vq-login-facts{grid-template-columns:1fr}.vq-topbar{padding:0 12px}.vq-breadcrumb span{display:none}.vq-settings-foot{flex-direction:column;align-items:flex-start}}.vq-edition{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:12px 12px 4px;padding:8px 12px 12px}.vq-edition-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.vq-edition-kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-size:10px}.vq-edition-mono{font-family:var(--font-mono);letter-spacing:.12em;color:var(--ink);border:1px solid var(--line-strong);border-radius:3px;padding:1px 4px;font-size:10px}.vq-edition-track{background:#1111110a;border-radius:7px;gap:2px;padding:2px;display:grid}.vq-edition-option{color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:8px;padding:8px;font-size:12px;transition:background .12s,color .12s;display:flex}.vq-edition-option:hover{color:var(--ink);background:#1111110a}.vq-edition-option.is-active{background:var(--surface-raised);border-color:var(--line-strong);color:var(--ink);font-weight:500}.vq-edition-hint{color:var(--faint);margin:8px 0 0;font-size:12px;line-height:1.5}.vq-edition-compact{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:9px;place-items:center;margin:12px auto 4px;display:grid}.vq-edition-compact:hover{border-color:var(--line-strong);color:var(--ink)}.vq-console{flex-direction:column;gap:16px;display:flex}.vq-console-head .vq-mono{color:var(--faint);letter-spacing:.14em}.vq-console-head h1{letter-spacing:-.02em;margin:8px 0;font-size:28px}.vq-console-head p{color:var(--muted);margin:0;font-size:12px}.vq-console-card{border:1px dashed var(--line-strong);background:var(--surface);border-radius:10px;padding:24px}.vq-console-card strong{font-size:14px;display:block}.vq-console-card p{color:var(--muted);margin:8px 0 12px;font-size:12px}.vq-console-card ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.vq-console-card li{border:1px solid var(--line);color:var(--faint);border-radius:999px;padding:3px 8px;font-size:12px}.vq-console-card li.is-active{border-color:var(--ink);color:var(--ink)}.vq-boot{background:var(--paper,#faf9f7);min-height:100vh;color:var(--ink,#14120f);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.vq-boot-mark{font-family:var(--font-display,var(--font-ui,inherit));letter-spacing:-.01em;font-size:16px;font-weight:600}.vq-boot-text{color:var(--muted,#7a746b);font-size:14px}.vq-edition-bar{border:1px solid var(--line);background:var(--surface);border-radius:9px;align-items:center;gap:8px;height:34px;margin:12px 12px 8px;padding:0 8px 0 12px;display:flex}.vq-edition-seg{background:#1111110d;border-radius:6px;gap:1px;padding:2px;display:inline-flex}.vq-edition-seg-btn{width:24px;height:20px;color:var(--faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;transition:background .12s,color .12s;display:grid}.vq-edition-seg-btn:hover{color:var(--ink)}.vq-edition-seg-btn.is-active{background:var(--surface-raised);border-color:var(--line-strong);color:var(--ink)}.vq-edition-current{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:12px;overflow:hidden}.vq-edition-bar{justify-content:space-between;gap:var(--space-2)}.vq-edition-bar .vq-edition-kicker{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:0;text-transform:none;color:var(--muted);flex:auto;overflow:hidden}.vq-edition-bar .vq-edition-seg{flex:none}.vq-model{position:relative}.vq-model-trigger{align-items:center;gap:var(--space-1,4px);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);max-width:208px;height:30px;color:var(--ink);padding:0 8px;font-size:12px;display:flex}.vq-model-trigger:hover{border-color:var(--line-strong)}.vq-model-trigger.is-empty{color:var(--faint);border-style:dashed}.vq-model-name{white-space:nowrap;text-overflow:ellipsis;max-width:148px;font-family:var(--font-mono);font-size:11px;overflow:hidden}.vq-model-trigger.is-empty .vq-model-name{font-family:var(--font-ui);font-size:12px}.vq-model-pop{z-index:30;border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;width:288px;padding:8px;position:absolute;top:36px;right:0;box-shadow:0 8px 24px #11111114}.vq-model-pop-head{border-bottom:1px solid var(--line);color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px 8px;font-size:10px;display:flex}.vq-model-source{color:var(--muted);letter-spacing:0;text-transform:none;font-size:11px}.vq-model-list{margin:0;padding:4px 0;list-style:none}.vq-model-item{border-radius:var(--radius-sm);width:100%;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.vq-model-item:hover{background:#1111110a}.vq-model-item.is-active{background:#1111110f}.vq-model-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.vq-model-item-main strong{white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-mono);font-size:12px;font-weight:500;overflow:hidden}.vq-model-item-main small{color:var(--faint);font-size:11px}.vq-model-empty{color:var(--muted);margin:0;padding:12px 8px;font-size:12px}.vq-model-hint{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:8px;font-size:11px;line-height:1.6}.vq-model-warn{color:var(--faint);margin:0;padding:0 8px 8px;font-size:11px;line-height:1.6}.vq-page{width:100%;max-width:1280px;margin:0 auto;padding:32px 32px 48px}.vq-page-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;padding-bottom:24px;display:flex}.vq-page-head h1{letter-spacing:-.02em;margin:8px 0 0;font-size:28px;font-weight:500;line-height:1.2}.vq-page-head p{max-width:64ch;color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.7}.vq-page-head .vq-mono{color:var(--faint);font-size:12px}.vq-page-actions{flex:none;align-items:center;gap:8px;padding-bottom:2px;display:flex}.vq-section{min-width:0}.vq-section-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.vq-section-head h2{letter-spacing:-.01em;margin:4px 0 0;font-size:16px;font-weight:500}.vq-section-head .vq-mono{font-size:12px}.vq-task-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.vq-task{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);text-align:left;gap:8px;padding:16px 16px 12px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.vq-task:hover{border-color:var(--line-strong);box-shadow:var(--shadow-raise);transform:translateY(-1px)}.vq-task-index{color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;font-size:10px}.vq-task strong{font-size:14px;font-weight:600;line-height:1.4}.vq-task p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.vq-task-foot{border-top:1px solid var(--line-faint);justify-content:space-between;align-items:center;gap:8px;margin-top:2px;padding-top:12px;display:flex}.vq-task-foot .vq-mono{font-size:12px}.vq-task-go{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.vq-task:hover .vq-task-go{color:var(--ink)}.vq-overview-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:16px;margin-top:32px;display:grid}.vq-table{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);overflow:hidden}.vq-table-head,.vq-table-row{grid-template-columns:minmax(160px,1.7fr) minmax(112px,1.1fr) 58px 62px 82px 66px;align-items:center;gap:12px;padding:0 16px;display:grid}.vq-table-head{border-bottom:1px solid var(--line);background:var(--surface);height:32px;color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.vq-table-row{border-bottom:1px solid var(--line-faint);min-height:46px;color:var(--muted);font-size:12px}.vq-table-row:last-child{border-bottom:0}.vq-table-row:hover{background:#11111105}.vq-table-name{gap:2px;min-width:0;display:grid}.vq-table-name strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.vq-table-name .vq-mono{font-size:12px}.vq-table-row .vq-pill{justify-self:start}.vq-review{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);width:100%;color:var(--ink);text-align:left;gap:12px;padding:12px;display:flex}.vq-review+.vq-review{margin-top:8px}.vq-review:hover{border-color:var(--line-strong)}.vq-review-frame{background:#e8e8e8;flex:none;width:72px;height:92px;display:block;overflow:hidden}.vq-frame img{object-fit:cover;width:100%;height:100%;display:block}.vq-review-body{align-content:start;gap:4px;min-width:0;display:grid}.vq-review-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.vq-review-top .vq-mono{font-size:12px}.vq-review strong{font-size:12px;font-weight:500;line-height:1.4}.vq-review-note{color:var(--muted);font-size:12px;line-height:1.55}.vq-overview-foot{border-top:1px solid var(--line);color:var(--faint);justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding-top:16px;font-size:12px;display:flex}.vq-overview-foot .vq-mono{font-size:12px}.vq-review-empty{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);align-items:flex-start;gap:24px;padding:32px;display:flex}.vq-review-empty-frame{background:var(--surface);width:118px;height:148px;color:var(--faint);flex:none;place-items:center;display:grid}.vq-review-empty h2{letter-spacing:-.01em;margin:8px 0 0;font-size:16px;font-weight:500}.vq-review-empty p{max-width:62ch;color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.7}.vq-review-empty code{border:1px solid var(--line);background:var(--surface);font-family:var(--font-mono);border-radius:3px;padding:1px 4px;font-size:10px}.vq-review-empty .vq-mono{margin-top:16px;font-size:12px;display:block}@media (width<=1180px){.vq-task-grid,.vq-overview-grid{grid-template-columns:1fr}}@media (width<=820px){.vq-page{padding:24px 16px 32px}.vq-page-head{flex-direction:column;align-items:flex-start}.vq-table-head{display:none}.vq-table-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 16px}.vq-table-row>:nth-child(2),.vq-table-row>:nth-child(3),.vq-table-row>:nth-child(4),.vq-table-row>:nth-child(5){display:none}.vq-review-empty{flex-direction:column}}.page.cv-page{max-width:1760px;padding:24px 32px}.cv-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px;display:flex}.cv-head-main{min-width:0}.cv-eyebrow{color:var(--faint);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;font-size:10px;display:flex}.cv-eyebrow:before{content:"";background:var(--line-strong);width:14px;height:1px}.cv-title-row{align-items:center;gap:12px;min-width:0;margin-top:8px;display:flex}.cv-flow-name{width:min(560px,42vw);color:var(--ink);font-family:var(--font-ui);letter-spacing:-.035em;background:0 0;border:1px solid #0000;border-radius:6px;margin-left:-8px;padding:1px 8px;font-size:28px;font-weight:500;line-height:1.2}.cv-flow-name:hover{border-color:var(--line)}.cv-flow-name:focus{border-color:var(--line-strong);background:var(--surface-raised);outline:none}.cv-flow-name:disabled{color:var(--faint)}.cv-save{color:var(--faint);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;flex:none;align-items:center;gap:8px;font-size:10px;display:inline-flex}.cv-save-dot{background:var(--faint);border-radius:50%;width:5px;height:5px}.cv-save.is-saved .cv-save-dot{background:var(--ink)}.cv-save.is-dirty .cv-save-dot{background:var(--warn)}.cv-save.is-saving .cv-save-dot{background:var(--ink);animation:1.2s ease-in-out infinite cv-pulse}.cv-save.is-error{color:var(--fail)}.cv-save.is-error .cv-save-dot{background:var(--fail)}.cv-sub{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.cv-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.cv-flow-select{align-items:center;display:inline-flex;position:relative}.cv-flow-select select{appearance:none;max-width:220px;height:32px;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);font-family:var(--font-ui);border-radius:7px;padding:0 32px 0 12px;font-size:12px}.cv-flow-select select:focus{border-color:var(--ink);outline:none}.cv-flow-select svg{color:var(--faint);pointer-events:none;position:absolute;right:8px}.cv-btn{height:32px;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);font-family:var(--font-ui);white-space:nowrap;cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.cv-btn:hover:not(:disabled){border-color:var(--ink)}.cv-btn:disabled{opacity:.42;cursor:not-allowed}.cv-btn--primary{color:#fff;background:var(--ink);border-color:var(--ink)}.cv-btn--primary:hover:not(:disabled){background:#000}.cv-btn--danger{color:var(--fail);border-color:#a3383847}.cv-icon-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;display:grid}.cv-icon-btn:hover:not(:disabled){color:var(--ink);border-color:var(--line-strong);background:var(--surface-raised)}.cv-icon-btn:disabled{opacity:.42;cursor:not-allowed}.cv-sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cv-state{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:flex-start;gap:12px;padding:24px;display:flex}.cv-state strong{font-size:14px;display:block}.cv-state p{max-width:560px;color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.6}.cv-state .cv-btn{margin-left:auto}.cv-workspace{grid-template-columns:minmax(0,1fr) 316px;gap:12px;height:calc(100vh - 226px);min-height:460px;display:grid}.cv-workspace:has(.cv-palette){grid-template-columns:212px minmax(0,1fr) 316px}.cv-palette-close{border:1px solid var(--line);width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;place-items:center;margin-left:auto;display:grid}.cv-palette-close:hover{border-color:var(--line-strong);color:var(--ink)}.cv-palette{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.cv-palette-head{align-items:flex-start;gap:8px;padding:16px 16px 8px;display:flex}.cv-kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-size:10px}.cv-palette-head p{color:var(--muted);margin:8px 0 0;font-size:12px}.cv-palette-body{flex:1;min-height:0;padding:0 8px 8px;overflow:auto}.cv-palette-group{margin-top:8px}.cv-palette-label{color:var(--faint);border-top:1px solid var(--line-faint);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;padding:8px 8px 4px;font-size:10px}.cv-palette-group:first-child .cv-palette-label{border-top:0}.cv-palette-item{width:100%;color:var(--ink);text-align:left;cursor:grab;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:8px;margin-bottom:2px;padding:8px;display:flex}.cv-palette-item:hover{border-color:var(--line);background:#f5f5f5}.cv-palette-item:active{cursor:grabbing}.cv-palette-item:disabled{opacity:.5;cursor:not-allowed}.cv-palette-icon{width:26px;height:26px;color:var(--muted);background:var(--surface-raised);border:1px solid var(--line);border-radius:6px;flex:none;place-items:center;display:grid}.cv-palette-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cv-palette-copy strong{font-size:12px;font-weight:500}.cv-palette-copy span{color:var(--faint);font-family:var(--font-mono);letter-spacing:.12em;font-size:10px}.cv-palette-plus{color:var(--faint);opacity:0;flex:none;transition:opacity .12s}.cv-palette-item:hover .cv-palette-plus{opacity:1}.cv-palette-foot{border-top:1px solid var(--line);color:var(--faint);font-family:var(--font-mono);gap:12px;padding:8px 16px;font-size:10px;display:flex}.cv-stage{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.cv-toolbar{border-bottom:1px solid var(--line);background:var(--surface);flex:0 0 42px;justify-content:space-between;align-items:center;gap:8px;height:42px;padding:0 8px;display:flex}.cv-toolbar-group{align-items:center;gap:2px;min-width:0;display:flex}.cv-tool{height:27px;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-size:12px;display:inline-flex}.cv-tool:hover:not(:disabled){color:var(--ink);border-color:var(--line);background:#f4f4f4}.cv-tool:disabled{opacity:.38;cursor:not-allowed}.cv-divider{background:var(--line);width:1px;height:15px;margin:0 4px}.cv-toolbar-count{color:var(--faint);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;padding:0 8px;font-size:10px}.cv-zoom{color:var(--faint);font-family:var(--font-mono);padding:0 8px;font-size:10px}.cv-canvas{flex:1;min-height:0;position:relative}.cv-canvas .react-flow{background:var(--canvas)}.cv-canvas .react-flow__controls{border:1px solid var(--line);box-shadow:none;border-radius:7px;overflow:hidden}.cv-canvas .react-flow__controls-button{width:26px;height:26px;color:var(--muted);background:var(--surface-raised);border-bottom:1px solid var(--line)}.cv-canvas .react-flow__controls-button:hover{color:var(--ink);background:#f4f4f4}.cv-canvas .react-flow__controls-button svg{fill:currentColor}.cv-canvas .react-flow__minimap{border:1px solid var(--line);background:#ffffffe0;border-radius:7px;overflow:hidden;width:148px!important;height:108px!important}.cv-canvas .react-flow__edge-text{fill:var(--faint);font-family:var(--font-mono);font-size:10px}.cv-canvas .react-flow__edge-textbg{fill:var(--canvas)}.cv-canvas .react-flow__edge.selected .react-flow__edge-path{stroke:var(--ink)}.cv-canvas .react-flow__node{cursor:grab}.cv-canvas .react-flow__node:active{cursor:grabbing}.cv-overlay{text-align:center;color:var(--muted);pointer-events:none;background:#f4f4f4bd;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;font-size:12px;display:flex;position:absolute;inset:0}.cv-overlay strong{color:var(--ink);font-size:14px;font-weight:600}.cv-overlay p{max-width:340px;margin:0;line-height:1.65}.cv-overlay--empty{background:0 0}.cv-hint{color:var(--faint);border:1px solid var(--line);pointer-events:none;background:#ffffffe6;border-radius:6px;align-items:center;gap:8px;padding:8px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px}.cv-hint-dot{background:var(--faint);border-radius:50%;width:5px;height:5px}.cv-hint-dot[data-running=true]{background:var(--ink);animation:1.2s ease-in-out infinite cv-pulse}.cv-node{width:240px;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:9px;padding:12px;transition:border-color .15s,box-shadow .15s;position:relative;box-shadow:0 1px 2px #11111108}.cv-node:hover{border-color:#11111152}.cv-node.is-selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.cv-node[data-status=running]{border-color:var(--ink)}.cv-node[data-status=error]{border-color:#a338388c}.cv-node-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.cv-node-type{color:var(--faint);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:10px}.cv-node-state{color:var(--faint);font-family:var(--font-mono);white-space:nowrap;align-items:center;gap:4px;font-size:10px;display:inline-flex}.cv-dot{background:#c9c9c9;border-radius:50%;flex:none;width:5px;height:5px}.cv-dot[data-status=running]{background:var(--ink);animation:1.2s ease-in-out infinite cv-pulse}.cv-dot[data-status=done]{background:var(--ink)}.cv-dot[data-status=error]{background:var(--fail)}.cv-dot[data-status=skipped]{background:var(--faint)}.cv-dot[data-status=unsupported]{background:var(--warn)}.cv-node-heading{align-items:center;gap:8px;min-width:0;margin-top:8px;display:flex}.cv-node-icon{width:22px;height:22px;color:var(--muted);border:1px solid var(--line);border-radius:5px;flex:none;place-items:center;display:grid}.cv-node-heading strong{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.cv-node-desc{min-height:31px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.cv-node-foot{border-top:1px solid var(--line-faint);color:var(--faint);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding-top:8px;font-size:10px;display:flex}.cv-node-summary{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cv-node-ms{flex:none}.cv-handle{background:var(--surface-raised);border:1px solid var(--ink);border-radius:50%;width:7px;height:7px}.cv-handle:hover{background:var(--ink)}.cv-handle-tags{color:var(--faint);font-family:var(--font-mono);pointer-events:none;flex-direction:column;gap:16px;font-size:10px;display:flex;position:absolute;top:31%;right:-33px}.cv-inspector{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.cv-inspector--empty>.cv-kicker{padding:16px 16px 0}.cv-inspector-head{border-bottom:1px solid var(--line);padding:16px 16px 12px}.cv-type-row{align-items:flex-start;gap:8px;margin-top:8px;display:flex}.cv-type-mono{color:var(--muted);border:1px solid var(--line-strong);font-family:var(--font-mono);letter-spacing:.1em;border-radius:4px;flex:none;margin-top:1px;padding:3px 4px;font-size:10px}.cv-type-row div{flex:1;min-width:0}.cv-type-row strong{letter-spacing:-.01em;font-size:14px;font-weight:600;display:block}.cv-type-row div span{color:var(--faint);margin-top:3px;font-size:12px;line-height:1.45;display:block}.cv-type-status{color:var(--faint);font-family:var(--font-mono);white-space:nowrap;flex:none;font-size:10px}.cv-type-status[data-status=error]{color:var(--fail)}.cv-type-status[data-status=done]{color:var(--ink)}.cv-inspector-body{flex:1;min-height:0;overflow:auto}.cv-section{border-bottom:1px solid var(--line);gap:12px;padding:16px;display:grid}.cv-section-title{color:var(--faint);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:10px}.cv-field{gap:4px;display:grid}.cv-field-label{color:var(--muted);font-size:12px}.cv-field-hint{color:var(--faint);font-size:12px;line-height:1.5}.cv-input,.cv-textarea,.cv-select{box-sizing:border-box;width:100%;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);font-family:var(--font-ui);border-radius:6px;padding:8px;font-size:12px}.cv-input:focus,.cv-textarea:focus,.cv-select:focus{border-color:var(--ink);outline:none}.cv-input--mono,.cv-textarea--mono{font-family:var(--font-mono);letter-spacing:.02em;font-size:10px}.cv-textarea{resize:vertical;min-height:64px;line-height:1.55}.cv-textarea--short{min-height:44px}.cv-select{appearance:none}.cv-range-row{align-items:center;gap:12px;display:flex}.cv-range{accent-color:var(--ink);flex:1}.cv-range-value{color:var(--muted);font-family:var(--font-mono);font-size:10px}.cv-meta-row{color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.cv-meta-row strong{color:var(--ink);font-size:12px;font-weight:500}.cv-mono{font-family:var(--font-mono);letter-spacing:.03em;font-size:10px}.cv-node-error{color:var(--fail);background:var(--fail-soft);word-break:break-word;border:1px solid #a3383833;border-radius:5px;margin:0;padding:8px;font-size:12px;line-height:1.5}.cv-inspector-foot{border-top:1px solid var(--line);gap:8px;padding:12px 16px;display:flex}.cv-inspector-empty{justify-items:start;gap:12px;padding:24px 16px;display:grid}.cv-inspector-empty p{max-width:250px;color:var(--muted);margin:0;font-size:12px;line-height:1.65}.cv-empty-mark{width:38px;height:38px;color:var(--faint);border:1px dashed var(--line-strong);font-family:var(--font-mono);border-radius:8px;place-items:center;font-size:12px;display:grid}.cv-muted{color:var(--faint)}.cv-drawer{z-index:25;background:var(--surface);border-left:1px solid var(--line-strong);flex-direction:column;width:min(400px,92vw);transition:transform .18s;display:flex;position:fixed;top:64px;bottom:0;right:0;transform:translate(102%);box-shadow:-18px 0 42px #11111114}.cv-drawer.is-open{transform:translate(0)}.cv-drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex}.cv-drawer-head strong{letter-spacing:-.01em;margin-top:8px;font-size:14px;font-weight:600;display:block}.cv-drawer-head-right{align-items:center;gap:8px;display:flex}.cv-run-badge{color:var(--muted);border:1px solid var(--line-strong);font-family:var(--font-mono);letter-spacing:.12em;border-radius:4px;padding:3px 8px;font-size:10px}.cv-run-badge.is-running,.cv-run-badge.is-done{color:var(--ink)}.cv-run-badge.is-error{color:var(--fail);border-color:#a3383859}.cv-drawer-meta{color:var(--faint);justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;font-size:12px;display:flex}.cv-drawer-progress{background:var(--line);height:2px;margin:0 16px}.cv-drawer-progress span{background:var(--ink);height:100%;transition:width .2s;display:block}.cv-drawer-body{flex:1;min-height:0;padding:12px 16px 16px;overflow:auto}.cv-drawer-empty{color:var(--muted);padding:16px 0;font-size:12px;line-height:1.65}.cv-drawer-error{color:var(--fail);background:var(--fail-soft);border:1px solid #a3383838;border-radius:6px;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.cv-drawer-error strong{font-size:12px}.cv-drawer-error p{word-break:break-word;margin:3px 0 0;font-size:12px;line-height:1.5}.cv-run-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.cv-run-item{background:var(--surface-raised);border:1px solid var(--line);border-radius:7px;overflow:hidden}.cv-run-item.is-error{border-color:#a338384d}.cv-run-item-head{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:20px 14px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 12px;display:grid}.cv-run-item-head:hover{background:#f7f7f7}.cv-run-index{color:var(--faint);font-family:var(--font-mono);font-size:10px}.cv-run-status{color:var(--faint);place-items:center;display:grid}.cv-run-item.is-success .cv-run-status{color:var(--ink)}.cv-run-item.is-error .cv-run-status{color:var(--fail)}.cv-run-item.is-unsupported .cv-run-status{color:var(--warn)}.cv-run-title{flex-direction:column;gap:2px;min-width:0;display:flex}.cv-run-title strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.cv-run-title .cv-mono{color:var(--faint);font-size:12px}.cv-run-ms{color:var(--muted);font-family:var(--font-mono);font-size:10px}.cv-run-state{color:var(--faint);font-family:var(--font-mono);font-size:10px}.cv-run-output{max-height:180px;color:var(--muted);border-top:1px solid var(--line-faint);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;background:#fafafa;margin:0;padding:8px 12px;font-size:10px;line-height:1.65;overflow:auto}.cv-run-output--final{background:var(--surface-raised);border:1px solid var(--line);border-radius:6px;max-height:220px;margin-top:8px}.cv-run-error{color:var(--fail);background:var(--fail-soft);border-top:1px solid #a338382e;margin:0;padding:8px 12px;font-size:12px;line-height:1.5}.cv-run-message{color:var(--faint);border-top:1px solid var(--line-faint);margin:0;padding:8px 12px;font-size:12px}.cv-run-final{margin-top:16px}.cv-run-final .cv-section-title{margin-bottom:0}.cv-drawer-foot{color:var(--faint);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;font-size:12px;display:flex}@keyframes cv-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (width<=1280px){.page.cv-page{padding:24px 24px 16px}.cv-workspace{grid-template-columns:188px minmax(0,1fr) 288px;height:calc(100vh - 214px)}.cv-flow-name{width:min(420px,36vw);font-size:20px}.cv-head-actions .cv-btn{padding:0 8px}}@media (width<=1024px){.cv-head{flex-direction:column;align-items:stretch}.cv-head-actions{justify-content:flex-start}.cv-workspace{grid-template-rows:auto minmax(440px,1fr);grid-template-columns:minmax(0,1fr) 272px;height:auto;min-height:620px}.cv-palette{flex-direction:row;grid-column:1/-1;align-items:stretch}.cv-palette-head{display:none}.cv-palette-body{gap:4px;padding:8px;display:flex;overflow-x:auto}.cv-palette-group{align-items:center;gap:4px;margin:0;display:flex}.cv-palette-label{display:none}.cv-palette-item{width:auto;margin:0}.cv-palette-plus,.cv-palette-foot{display:none}}@media (width<=760px){.cv-workspace{grid-template-rows:auto minmax(420px,1fr) auto;grid-template-columns:minmax(0,1fr);min-height:0}.cv-inspector{max-height:420px}.cv-flow-name{width:100%}.cv-head-actions .cv-btn{flex:1;justify-content:center}}.cv-bdc-bar{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:12px;margin:0 0 12px;padding:8px 12px;display:flex}.cv-bdc-bar p{color:var(--muted);flex:1;margin:0;font-size:12px}.cv-bdc-bar .vq-mono{color:var(--faint)}.cv-bdc-frame{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;height:calc(100vh - 250px);min-height:480px}.cv-head--bdc{padding-bottom:16px}.cv-bdc-name{font-family:var(--font-display,inherit);letter-spacing:-.015em;color:var(--ink);font-size:20px;font-weight:600}.cv-head--bdc+.cv-bdc-frame{height:calc(100vh - 214px)}.page.cv-page.is-bdc{flex-direction:column;max-width:none;height:calc(100dvh - 56px);padding:0;display:flex}.cv-bdc-strip{border-bottom:1px solid var(--line);background:var(--canvas);flex:none;align-items:center;gap:12px;height:42px;padding:0 12px 0 24px;display:flex}.cv-bdc-label{color:var(--faint);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-size:10px}.cv-bdc-state{color:var(--faint);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;align-items:center;gap:8px;font-size:10px;display:inline-flex}.cv-bdc-state .cv-save-dot{background:var(--ink)}.cv-bdc-spacer{flex:auto}.cv-bdc-url{color:var(--line-strong);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;margin-right:4px;font-size:10px}.is-bdc .cv-bdc-frame{background:var(--canvas);border:0;border-radius:0;flex:auto;width:100%;height:auto;min-height:0;display:block}.is-bdc .cv-state{margin:32px}.agx-page{--canvas:#f4f4f4;--paper:#f4f4f4;--surface:#fbfbfb;--surface-raised:#fff;--surface-soft:#f6f6f6;--ink:#111;--ink-soft:#5d5d5d;--ink-faint:#6f6f6f;--muted:#5d5d5d;--faint:#6f6f6f;--line:#1111111a;--line-strong:#1113;--line-faint:#1111110f;--pass:#176b43;--warn:#8a5b08;--fail:#a33838;--fail-soft:#f6eeee;--pass-soft:#eef4f0;max-width:1200px;min-height:100%;color:var(--ink);font-family:var(--font-ui);letter-spacing:-.005em;padding:32px 32px 64px}.agx-page button:focus-visible,.agx-page select:focus-visible,.agx-page input:focus-visible,.agx-page textarea:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.agx-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:32px;padding-bottom:24px;display:flex}.agx-head h1{letter-spacing:-.035em;margin:12px 0 8px;font-size:28px;font-weight:500;line-height:1.04}.agx-head p{max-width:520px;color:var(--muted);margin:0;font-size:14px;line-height:1.7}.agx-eyebrow{color:var(--faint);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;font-size:10px;display:flex}.agx-eyebrow:before{content:"";background:var(--line-strong);width:14px;height:1px}.agx-head-actions{flex:none;align-items:center;gap:8px;padding-top:4px;display:flex}.agx-back{margin-bottom:16px;padding-left:0}.agx-btn{height:34px;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,transform .15s,opacity .15s;display:inline-flex}.agx-btn:hover{background:var(--surface)}.agx-btn:active{transform:translateY(1px)}.agx-btn:disabled{cursor:not-allowed;opacity:.45}.agx-btn--ink{color:#fff;background:var(--ink);border-color:var(--ink)}.agx-btn--ink:hover{background:#000}.agx-btn--quiet{color:var(--muted);background:0 0;border-color:#0000}.agx-btn--quiet:hover{color:var(--ink);background:var(--surface-soft)}.agx-btn--danger{color:var(--fail);background:var(--fail-soft);border-color:#a3383847}.agx-btn em{color:var(--faint);background:var(--line-faint);font-family:var(--font-mono);border-radius:3px;padding:1px 4px;font-size:10px;font-style:normal}.agx-mono{color:var(--faint);font-family:var(--font-mono);letter-spacing:.03em;font-size:10px}.agx-kicker{color:var(--faint);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:10px;display:block}.agx-history-wrap{position:relative}.agx-backdrop{z-index:15;cursor:default;background:0 0;border:0;position:fixed;inset:0}.agx-popover{z-index:20;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:10px;width:312px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 34px #1111111a}.agx-popover-head{border-bottom:1px solid var(--line-faint);color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px 8px;font-size:10px;display:flex}.agx-popover-empty{color:var(--faint);text-align:center;margin:0;padding:16px 8px;font-size:12px}.agx-history-item{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;padding:8px;display:block}.agx-history-item:hover{background:var(--surface-soft)}.agx-history-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;display:block;overflow:hidden}.agx-history-item span{color:var(--faint);font-family:var(--font-mono);margin-top:3px;font-size:10px;display:block}.agx-stage{padding:24px 0 8px}.agx-composer-wrap{width:min(900px,100%);margin:0 auto}.agx-thread-head{border-bottom:1px solid var(--line-faint);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.agx-thread-head .agx-btn{height:28px;padding:0 8px;font-size:12px}.agx-thread{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.agx-msg{flex-direction:column;gap:8px;max-width:84%;display:flex}.agx-msg--user{align-self:flex-end;align-items:flex-end}.agx-msg--agent{align-self:flex-start;align-items:flex-start}.agx-bubble{color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:10px 10px 10px 3px;padding:12px 16px;font-size:14px;line-height:1.75}.agx-msg--user .agx-bubble{color:#fff;background:var(--ink);border-color:var(--ink);border-radius:10px 10px 3px}.agx-bubble--running{border-style:solid;width:min(520px,100%)}.agx-msg-meta{color:var(--faint);font-family:var(--font-mono);letter-spacing:.02em;align-items:center;gap:8px;font-size:10px;display:flex}.agx-msg-meta button{color:var(--faint);font-family:var(--font-mono);background:0 0;border:0;align-items:center;gap:3px;padding:0;font-size:10px;display:inline-flex}.agx-msg-meta button:hover{color:var(--ink)}.agx-running{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.agx-running-dot{background:var(--ink);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite agx-pulse}@keyframes agx-pulse{0%,to{opacity:1}50%{opacity:.25}}.agx-skeleton{gap:8px;margin-top:12px;display:grid}.agx-skeleton span{background:var(--line-faint);border-radius:2px;height:7px}.agx-skeleton span:first-child{width:92%}.agx-skeleton span:nth-child(2){width:78%}.agx-skeleton span:nth-child(3){width:54%}.agx-failure{background:var(--fail-soft);border:1px solid #a3383842;border-left:2px solid var(--fail);border-radius:8px;align-self:flex-start;gap:8px;width:min(640px,100%);padding:12px 16px;display:grid}.agx-failure strong{color:var(--fail);font-size:12px}.agx-failure p{color:#5d2b2b;margin:0;font-size:12px;line-height:1.7}.agx-failure-suggestion{color:#6f3a3a!important}.agx-failure small{color:var(--fail);font-family:var(--font-mono);font-size:10px}.agx-failure>div{gap:8px;margin-top:4px;display:flex}.agx-failure .agx-btn{height:28px;color:var(--fail);font-size:12px}.agx-composer{background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:12px;padding:16px 16px 12px;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #11111108}.agx-composer:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #1111110d}.agx-composer.is-disabled{background:var(--surface)}.agx-textarea{width:100%;min-height:78px;max-height:220px;color:var(--ink);resize:none;font:400 14.5px/1.7 var(--font-ui);letter-spacing:-.01em;background:0 0;border:0;outline:0;padding:2px 0;display:block}.agx-textarea::placeholder{color:#9b9b9b}.agx-textarea:disabled{cursor:not-allowed}.agx-params{border-top:1px solid var(--line-faint);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.agx-capsule{height:28px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:7px;align-items:center;gap:8px;padding:0 8px;display:inline-flex;position:relative}.agx-capsule>span{color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.agx-capsule select{max-width:168px;color:var(--ink);font:500 11.5px var(--font-ui);text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;outline:0;padding:0 16px 0 0;overflow:hidden}.agx-capsule select:disabled{cursor:not-allowed;opacity:.55}.agx-capsule svg{color:var(--faint);pointer-events:none;position:absolute;right:8px}.agx-capsule--static{color:var(--ink);gap:8px}.agx-capsule--static b{font-family:var(--font-mono);font-size:12px;font-weight:500}.agx-composer-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.agx-hint{color:var(--faint);font-family:var(--font-mono);letter-spacing:.02em;font-size:10px}.agx-send{color:#fff;background:var(--ink);border:0;border-radius:9px;place-items:center;width:36px;height:36px;transition:background .15s,opacity .15s;display:grid}.agx-send:hover:not(:disabled){background:#000}.agx-send:disabled{color:#fff;cursor:not-allowed;background:#cfcfcf}.agx-library{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.agx-library-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.agx-library-head h2{letter-spacing:-.025em;margin:8px 0 0;font-size:16px;font-weight:500}.agx-tabs{border-bottom:1px solid var(--line-faint);flex-wrap:wrap;gap:24px;margin:16px 0;display:flex}.agx-tabs button{color:var(--faint);background:0 0;border:0;padding:0 0 12px;font-size:12px;transition:color .15s;position:relative}.agx-tabs button:hover{color:var(--ink)}.agx-tabs button.is-active{color:var(--ink);font-weight:600}.agx-tabs button.is-active:after{content:"";background:var(--ink);height:1px;position:absolute;bottom:-1px;left:0;right:0}.agx-tabs em{color:var(--faint);font-family:var(--font-mono);margin-left:4px;font-size:10px;font-style:normal;font-weight:400}.agx-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.agx-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:10px;flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.agx-card:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 1px 2px #1111110a,0 10px 24px #1111110d}.agx-card-main{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:10px 10px 0 0;flex:1;padding:16px 16px 12px;display:block}.agx-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.agx-card-name{letter-spacing:-.01em;font-size:14px;font-weight:600}.agx-tag{color:var(--faint);border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.04em;border-radius:4px;flex:none;padding:2px 8px;font-size:10px}.agx-card-role{min-height:40px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 16px;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.agx-card-meta{gap:4px;display:grid}.agx-card-meta>span{color:var(--faint);justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.agx-card-meta .agx-mono{max-width:64%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;display:inline-flex;overflow:hidden}.agx-card-actions{border-top:1px solid var(--line-faint);justify-content:flex-end;gap:2px;padding:8px;display:flex}.agx-icon-btn{width:26px;height:26px;color:var(--faint);background:0 0;border:0;border-radius:6px;place-items:center;transition:background .15s,color .15s;display:grid}.agx-icon-btn:hover{color:var(--ink);background:var(--surface-soft)}.agx-icon-btn.is-armed{color:var(--fail);background:var(--fail-soft)}.agx-empty{border:1px dashed var(--line-strong);text-align:center;background:#ffffff80;border-radius:10px;justify-items:center;gap:12px;padding:48px 24px;display:grid}.agx-empty strong{font-size:14px;font-weight:600}.agx-empty p{max-width:380px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.agx-empty-icon{width:38px;height:38px;color:var(--faint);background:var(--surface-raised);border:1px solid var(--line);border-radius:10px;place-items:center;display:grid}.agx-empty .agx-btn{margin-top:4px}.agx-skeleton-card{background:var(--surface);border:1px solid var(--line-faint);border-radius:10px;height:166px}.agx-alert{color:var(--fail);background:var(--fail-soft);border:1px solid #a338383d;border-radius:8px;align-items:center;gap:8px;margin:16px 0;padding:12px;font-size:12px;line-height:1.6;display:flex}.agx-alert span{flex:1}.agx-alert .agx-btn{height:26px;color:var(--fail);padding:0 8px;font-size:12px}.agx-editor-layout{grid-template-columns:minmax(0,1fr) 318px;align-items:start;gap:32px;margin-top:24px;display:grid}.agx-editor-main{border-top:1px solid var(--line);display:grid}.agx-form-section{border-bottom:1px solid var(--line);gap:16px;padding:24px 0;display:grid}.agx-form-section header{align-items:baseline;gap:12px;display:flex}.agx-form-section header .agx-mono{margin-left:auto}.agx-form-section h2{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:500}.agx-field{gap:8px;display:grid}.agx-field>span{color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:12px;font-size:10px;display:flex}.agx-field>span b{text-transform:none;letter-spacing:.02em;font-weight:400}.agx-field input,.agx-field textarea,.agx-field select{width:100%;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);font:400 13px/1.65 var(--font-ui);border-radius:8px;outline:0;padding:8px 12px;transition:border-color .15s,box-shadow .15s}.agx-field textarea{resize:vertical;min-height:96px}.agx-field input::placeholder,.agx-field textarea::placeholder{color:#a3a3a3}.agx-field input:focus,.agx-field textarea:focus,.agx-field select:focus{border-color:var(--ink);box-shadow:0 0 0 3px #1111110d}.agx-field small{color:var(--faint);font-size:12px;line-height:1.6}.agx-field-grid{grid-template-columns:1.5fr 1fr;gap:12px;display:grid}.agx-select-wrap{position:relative}.agx-select-wrap select{appearance:none;cursor:pointer;padding-right:32px}.agx-select-wrap svg{color:var(--faint);pointer-events:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.agx-slider-row{align-items:center;gap:12px;padding:8px 0;display:flex}.agx-slider-row input[type=range]{accent-color:var(--ink);flex:1}.agx-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.agx-tool{color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);text-align:left;border-radius:8px;align-items:flex-start;gap:8px;padding:12px;transition:border-color .15s,box-shadow .15s;display:flex}.agx-tool:hover{border-color:var(--line-strong)}.agx-tool.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.agx-tool-check{color:#fff;border:1px solid var(--line-strong);background:0 0;border-radius:3px;flex:0 0 14px;place-items:center;width:14px;height:14px;margin-top:1px;display:grid}.agx-tool.is-active .agx-tool-check{background:var(--ink);border-color:var(--ink)}.agx-tool strong{font-size:12px;font-weight:600;display:block}.agx-tool span span{color:var(--faint);margin-top:2px;font-size:12px;line-height:1.5;display:block}.agx-editor-foot{justify-content:space-between;align-items:center;gap:12px;padding-top:24px;display:flex}.agx-editor-foot>div{gap:8px;display:flex}.agx-editor-side{gap:12px;display:grid;position:sticky;top:16px}.agx-side-panel{background:var(--surface-raised);border:1px solid var(--line);border-radius:10px;gap:12px;padding:16px;display:grid}.agx-side-panel--quiet{background:var(--surface)}.agx-side-head{color:var(--faint);justify-content:space-between;align-items:center;gap:12px;display:flex}.agx-side-head .agx-mono{font-size:12px}.agx-preview{background:var(--surface-raised);border:1px solid var(--line);border-radius:8px;padding:12px}.agx-preview .agx-card-role{min-height:34px;margin:8px 0 12px}.agx-check-row{color:var(--faint);align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;display:flex}.agx-check-row.is-pass{color:var(--ink)}.agx-check-mark{color:#fff;border:1px solid var(--line);border-radius:4px;flex:0 0 15px;place-items:center;width:15px;height:15px;margin-top:1px;display:grid}.agx-check-row.is-pass .agx-check-mark{background:var(--pass);border-color:var(--pass)}.agx-side-copy{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.agx-side-copy code{color:var(--ink);background:var(--surface-soft);border:1px solid var(--line-faint);font-family:var(--font-mono);border-radius:4px;padding:1px 4px;font-size:10px}.agx-side-note{color:var(--faint);font-size:12px;line-height:1.7;display:block}.agx-side-panel .agx-btn{height:30px;font-size:12px}@media (width<=1080px){.agx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agx-editor-layout{grid-template-columns:minmax(0,1fr)}.agx-editor-side{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (width<=760px){.agx-page{padding:24px 16px 48px}.agx-head{flex-direction:column;gap:16px}.agx-head-actions{width:100%}.agx-grid,.agx-editor-side,.agx-field-grid,.agx-tool-grid{grid-template-columns:1fr}.agx-msg{max-width:94%}.agx-textarea{min-height:68px}}@media (prefers-reduced-motion:reduce){.agx-running-dot{animation:none}.agx-card,.agx-btn,.agx-send,.agx-composer{transition:none}}.agx-msg--agent .agx-bubble{white-space:normal}.agx-md{font-size:14px;line-height:1.75}.agx-md p{margin:0 0 12px}.agx-md p:last-child,.agx-md ul:last-child,.agx-md ol:last-child,.agx-md .agx-md-table:last-child,.agx-md .agx-md-code:last-child{margin-bottom:0}.agx-md-heading{color:var(--ink);letter-spacing:-.01em;margin:16px 0 8px;font-size:14px;font-weight:600}.agx-md-heading:first-child{margin-top:0}.agx-md-list{margin:0 0 12px;padding-left:16px}.agx-md-list li{margin:3px 0}.agx-md-code{background:var(--surface-soft);border:1px solid var(--line-faint);font-family:var(--font-mono);border-radius:6px;margin:0 0 12px;padding:12px;font-size:12px;line-height:1.6;overflow:auto}.agx-md code{background:var(--surface-soft);border:1px solid var(--line-faint);font-family:var(--font-mono);border-radius:3px;padding:1px 4px;font-size:12px}.agx-md-code code{background:0 0;border:0;padding:0}.agx-md-table{border:1px solid var(--line);border-radius:6px;margin:0 0 12px;overflow-x:auto}.agx-md-table table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.6}.agx-md-table th{color:var(--faint);background:var(--surface);border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:8px;font-size:10px;font-weight:500}.agx-md-table td{border-top:1px solid var(--line-faint);vertical-align:top;padding:8px}.agx-md-table tbody tr:first-child td{border-top:0}.agx-md strong{font-weight:600}.review-page{flex-direction:column;gap:24px;display:flex}.review-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.review-head h1{letter-spacing:-.02em;margin:8px 0;font-size:28px;font-weight:500}.review-head p{max-width:76ch;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.review-head-status{gap:8px;padding-top:4px;display:flex}.vq-chip{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);background:var(--surface-raised);text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:10px;display:inline-flex}.vq-chip.is-pass{color:var(--pass);background:var(--pass-soft);border-color:#176b4347}.vq-chip.is-warn{color:var(--warn);background:var(--warn-soft);border-color:#8a5b0847}.vq-chip.is-fail{color:var(--fail);background:var(--fail-soft);border-color:#a3383847}.review-body{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:24px;display:grid}.review-picker{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:16px;padding:16px;display:flex}.review-picker-head{justify-content:space-between;align-items:baseline;display:flex}.review-picker-head h2{margin:0;font-size:14px;font-weight:500}.review-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.review-thumb{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);text-align:left;padding:0;display:block;position:relative;overflow:hidden}.review-thumb img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.review-thumb-fallback{aspect-ratio:16/10;width:100%;font-family:var(--font-mono);color:var(--faint);place-items:center;font-size:10px;display:grid}.review-thumb-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:8px;font-size:12px;display:block;overflow:hidden}.review-thumb.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.review-empty{color:var(--faint);margin:0;font-size:12px;line-height:1.6}.review-manual{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.review-manual label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);font-size:10px}.review-manual-row{gap:8px;display:flex}.review-manual-row input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);min-width:0;color:var(--ink);flex:1;padding:8px;font-size:12px}.review-stage{flex-direction:column;gap:16px;min-width:0;display:flex}.review-canvas{flex-direction:column;gap:12px;display:flex}.review-canvas-frame{border:1px solid var(--line);background:#0f0f0f;justify-content:center;padding:12px;display:flex}.review-canvas-shot{max-width:100%;line-height:0;display:inline-block;position:relative}.review-canvas-frame img{width:auto;max-width:100%;height:auto;max-height:400px;display:block}.review-anchor{background:#ffffff0f;border:1px solid #ffffff80;transition:background .15s,border-color .15s;position:absolute}.review-anchor.is-minor,.review-anchor.is-info{border-color:#ffffff59}.review-anchor.is-major{background:#d4a4471a;border-color:#d4a447e6}.review-anchor.is-blocker{background:#a3383824;border-color:#a33838f2}.review-anchor.is-active{background:#fff3;border-color:#fff}.review-canvas-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-empty-state{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:24px;padding:24px;display:flex}.review-empty-head{color:var(--muted);align-items:flex-start;gap:12px;display:flex}.review-empty-head strong{color:var(--ink);font-size:14px;font-weight:600;display:block}.review-empty-head span{color:var(--muted);margin-top:3px;font-size:12px;display:block}.review-steps{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.review-steps li{border-top:1px solid var(--line-faint);grid-template-columns:28px 1fr;gap:12px;padding-top:16px;display:grid}.review-steps strong{font-size:12px;font-weight:600;display:block}.review-steps p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.65}.review-empty-note{border-top:1px solid var(--line-faint);color:var(--faint);margin:0;padding-top:12px;font-size:12px;line-height:1.6}.review-error{border-radius:var(--radius-sm);background:var(--fail-soft);color:var(--fail);border:1px solid #a3383847;align-items:center;gap:8px;padding:12px;font-size:12px;display:flex}.review-result{flex-direction:column;gap:16px;padding-top:4px;display:flex}.review-verdict{grid-template-columns:auto 1fr;align-items:center;gap:8px 12px;display:grid}.review-verdict p{color:var(--ink);margin:0;font-size:14px;line-height:1.7}.review-verdict .vq-mono{grid-column:1/-1}.vq-chip.is-verdict{padding:4px 12px;font-size:12px}.vq-chip.is-verdict.is-pass{color:var(--pass);border-color:#176b434d}.vq-chip.is-verdict.is-needs_review{color:var(--warn);background:var(--warn-soft);border-color:#8a5b084d}.vq-chip.is-verdict.is-fail{color:var(--fail);background:var(--fail-soft);border-color:#a338384d}.review-observations{border-top:1px solid var(--line);flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.review-obs{border-bottom:1px solid var(--line);cursor:default;border-left:2px solid #0000;flex-direction:column;gap:4px;padding:12px;display:flex}.review-obs.is-active{background:var(--surface-raised);border-left-color:var(--ink)}.review-obs.sev-blocker{border-left-color:var(--fail)}.review-obs.sev-major{border-left-color:var(--warn)}.review-obs-head{align-items:center;gap:8px;display:flex}.review-obs p{color:var(--ink);margin:0;font-size:12px;line-height:1.68}.vq-chip.is-sev{padding:2px 8px;font-size:12px}.vq-chip.is-sev.sev-blocker{color:var(--fail);background:var(--fail-soft);border-color:#a338384d}.vq-chip.is-sev.sev-major{color:var(--warn);background:var(--warn-soft);border-color:#8a5b084d}.vq-chip.is-sev.sev-minor,.vq-chip.is-sev.sev-info{color:var(--muted)}.review-fixes h3,.review-gaps h3{margin:0 0 8px;font-size:12px;font-weight:500}.review-fixes ul,.review-gaps ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.review-fixes li{border-bottom:1px solid var(--line-faint);grid-template-columns:150px 1fr;gap:12px;padding-bottom:8px;font-size:12px;display:grid}.review-fixes li strong{color:var(--ink);font-weight:600}.review-fixes li span{color:var(--muted);line-height:1.6}.review-gaps li{color:var(--muted);font-size:12px;line-height:1.6}.review-note{border-top:1px solid var(--line);color:var(--faint);margin:0;padding-top:12px;font-size:12px;line-height:1.6}@media (width<=1180px){.review-body{grid-template-columns:1fr}.review-grid{grid-template-columns:repeat(3,1fr)}}.review-page{width:100%;max-width:1280px;margin:0 auto;padding:32px 32px 48px}.review-empty-state{flex-direction:column;justify-content:center;gap:24px;min-height:440px;padding:32px;display:flex}.review-empty-head{align-items:center;gap:16px}.review-empty-head strong{letter-spacing:-.01em;font-size:16px;font-weight:600}.review-empty-head span{max-width:48ch;margin-top:4px;font-size:12px}.review-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.review-steps li{border-top:1px solid var(--line-faint);flex-direction:column;gap:8px;padding:16px 0 0;display:flex}.review-steps li:first-child{border-top:1px solid var(--line-faint);padding-top:16px}.review-steps strong{font-size:12px}.review-steps p{margin:0;font-size:12px;line-height:1.62}.review-empty-state{max-width:780px;margin:0 auto}.runs-page{flex-direction:column;gap:24px;display:flex}.runs-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.runs-head h1{letter-spacing:-.02em;margin:8px 0;font-size:28px;font-weight:500}.runs-head p{max-width:70ch;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.runs-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:32px;padding:12px 0;display:flex}.runs-stats div{align-items:baseline;gap:8px;display:flex}.runs-stats strong{letter-spacing:-.02em;font-size:20px;font-weight:600}.runs-stats span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-size:10px}.runs-body{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.runs-list{border-top:1px solid var(--line);flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.runs-row{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;border-left:2px solid #0000;grid-template-columns:8px 1fr auto;align-items:center;gap:12px;width:100%;padding:12px 8px;display:grid}.runs-row.is-active{background:var(--surface-raised);border-left-color:var(--ink)}.runs-dot{background:var(--faint);border-radius:50%;width:6px;height:6px}.runs-dot.is-pass{background:var(--pass)}.runs-dot.is-fail{background:var(--fail)}.runs-row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.runs-row-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.runs-row-main small{color:var(--faint);font-size:12px}.runs-row-meta{color:var(--faint);flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;display:flex}.runs-detail{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:12px;padding:16px;display:flex}.runs-detail-head{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding-bottom:12px;display:flex}.runs-detail-head strong{color:var(--ink);font-size:12px}.runs-nodes{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.runs-node{border-left:2px solid var(--line-strong);flex-direction:column;gap:8px;padding-left:12px;display:flex}.runs-node.is-success{border-left-color:#176b4380}.runs-node.is-error{border-left-color:#a3383899}.runs-node-head{align-items:center;gap:8px;display:flex}.runs-node-head strong{font-size:12px;font-weight:600}.runs-node-head .vq-mono:first-child{color:var(--faint);text-transform:uppercase;font-size:12px}.runs-node-head .vq-mono:last-child{color:var(--faint);margin-left:auto;font-size:12px}.runs-node-error{color:var(--fail);margin:0;font-size:12px}.runs-node-output{border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--surface-raised);max-height:160px;font-family:var(--font-mono);color:var(--muted);white-space:pre-wrap;margin:0;padding:8px 12px;font-size:10px;line-height:1.6;overflow:auto}.runs-note{color:var(--faint);margin:0;font-size:12px}.runs-note.is-error{color:var(--fail)}.runs-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--faint);flex-direction:column;gap:8px;padding:32px;display:flex}.runs-empty strong{color:var(--ink);font-size:14px}.runs-empty span{font-size:12px}@media (width<=1100px){.runs-body{grid-template-columns:1fr}}.radar-cover{background:var(--surface-raised);border-bottom:1px solid var(--line)}.radar-cover:before{content:"";background-image:linear-gradient(var(--line-faint) 1px, transparent 1px), linear-gradient(90deg, var(--line-faint) 1px, transparent 1px);opacity:.55;background-size:32px 32px;position:absolute;inset:0}.radar-cover-empty{color:var(--faint);position:relative}.radar-cover-empty .vq-mono{letter-spacing:.14em;font-size:12px}.radar-cover .radar-badge,.radar-cover .radar-duration,.radar-cover .radar-hover{z-index:1}.admin-page,.admin-page *,.admin-page :before,.admin-page :after{box-sizing:border-box}.admin-page{width:100%;max-width:1220px;color:var(--ink,#111);flex-direction:column;gap:16px;margin:0 auto;padding:32px 32px 48px;display:flex}.admin-head{border-bottom:1px solid var(--line,#e6e3dd);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:16px;display:flex}.admin-head-main{min-width:0}.admin-kicker{color:var(--faint,#8a8a8a);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.16em;margin:0 0 8px;font-size:10px}.admin-title{letter-spacing:-.03em;margin:0;font-size:28px;font-weight:600;line-height:1.15}.admin-desc{max-width:720px;color:var(--muted,#5c5c5c);margin:8px 0 0;font-size:12px;line-height:1.65}.admin-head-actions{flex:none;align-items:center;gap:8px;padding-bottom:2px;display:flex}.admin-grid{gap:12px;display:grid}.admin-grid--stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-card{border:1px solid var(--line,#e6e3dd);background:var(--surface,#fff);border-radius:6px;min-width:0;padding:16px;display:block}.admin-stat{flex-direction:column;min-height:138px;display:flex}.admin-stat-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.admin-label{color:var(--faint,#8a8a8a);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.1em;font-size:10px;font-weight:500;line-height:1.4}.admin-value{letter-spacing:-.04em;margin:16px 0 8px;font-size:40px;font-weight:500;line-height:1}.admin-value--text{letter-spacing:-.01em;margin-top:24px;font-size:20px}.admin-value--inline{margin:0;font-size:20px}.admin-foot{color:var(--faint,#8a8a8a);margin:auto 0 0;font-size:12px;line-height:1.6}.admin-tag{border:1px solid var(--line,#e6e3dd);color:var(--faint,#8a8a8a);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.05em;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;padding:2px 8px;font-size:10px;line-height:1.5;display:inline-flex}.admin-tag-dot{background:currentColor;border-radius:50%;width:4px;height:4px}.admin-tag--api{color:var(--muted,#5c5c5c)}.admin-block{flex-direction:column;gap:16px;display:flex}.admin-block-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-sub{color:var(--faint,#8a8a8a);margin:3px 0 0;font-size:12px;line-height:1.6}.admin-kv{margin:0;display:grid}.admin-kv>div{border-top:1px solid var(--line-faint,#f0eee9);grid-template-columns:150px minmax(0,1fr);align-items:baseline;gap:16px;padding:12px 0;display:grid}.admin-kv>div:first-child{border-top:0}.admin-kv dt{color:var(--faint,#8a8a8a);font-size:12px}.admin-kv dd{min-width:0;color:var(--muted,#5c5c5c);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:12px;line-height:1.5;display:flex}.admin-mono{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.01em;font-size:10px}.admin-table-wrap{border:1px solid var(--line,#e6e3dd);background:var(--surface,#fff);border-radius:4px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:720px;font-size:12px}.admin-table th{border-bottom:1px solid var(--line,#e6e3dd);background:var(--canvas,#faf9f7);color:var(--faint,#8a8a8a);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.1em;text-align:left;white-space:nowrap;padding:8px 12px;font-size:10px;font-weight:500}.admin-table td{border-bottom:1px solid var(--line-faint,#f0eee9);vertical-align:middle;padding:12px}.admin-table tr:last-child td{border-bottom:0}.admin-table td strong{font-size:12px;font-weight:500;line-height:1.4;display:block}.admin-table--templates{min-width:880px}.admin-table--runs{min-width:820px}.admin-cell-sub{color:var(--faint,#8a8a8a);margin-top:3px;font-size:12px;font-weight:400;line-height:1.55;display:block}.admin-badge{border:1px solid var(--line,#e6e3dd);color:var(--muted,#5c5c5c);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.03em;white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;line-height:1.5;display:inline-flex}.admin-badge--ok{border-color:var(--line,#e6e3dd);color:var(--pass,#176b43);background:#176b430f}.admin-badge--warn{border-color:var(--line,#e6e3dd);color:var(--warn,#8a5b08);background:#8a5b0812}.admin-badge--fail{border-color:var(--line,#e6e3dd);color:var(--fail,#a33838);background:#a3383812}.admin-btn{border:1px solid var(--line,#e6e3dd);background:var(--surface,#fff);min-height:30px;color:var(--ink,#111);white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-size:12px;line-height:1;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.admin-btn:hover{border-color:var(--faint,#8a8a8a);background:var(--line-faint,#f0eee9)}.admin-btn:focus-visible{outline:2px solid var(--ink,#111);outline-offset:2px}.admin-btn:disabled{cursor:not-allowed;opacity:.45}.admin-btn--primary{border-color:var(--ink,#111);background:var(--ink,#111);color:var(--surface,#fff)}.admin-btn--primary:hover{color:#fff;background:#000}.admin-btn--danger{color:var(--fail,#a33838);border-color:#a338383d}.admin-btn--danger:hover{border-color:var(--fail,#a33838);background:#a338380f}.admin-btn--icon{padding:0 8px}.admin-error{color:var(--fail,#a33838);background:#a338380d;border:1px solid #a3383838;border-radius:4px;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 16px;font-size:12px;display:flex}.admin-error strong{font-size:12px;font-weight:600;display:block}.admin-error p{word-break:break-word;margin:4px 0 0;line-height:1.55}.admin-error .admin-btn{color:var(--fail,#a33838);background:0 0;border-color:#a338383d;flex:none}.admin-loading{color:var(--faint,#8a8a8a);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;align-items:center;gap:8px;margin:0;font-size:10px;display:flex}.admin-loading-dot{background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite admin-pulse}@keyframes admin-pulse{0%,to{opacity:.25}50%{opacity:1}}.admin-empty{border:1px dashed var(--line,#e6e3dd);text-align:center;border-radius:4px;place-items:center;gap:8px;min-height:220px;padding:32px 24px;display:grid}.admin-empty p{color:var(--muted,#5c5c5c);margin:0;font-size:12px}.admin-empty span{color:var(--faint,#8a8a8a);font-size:12px}.admin-note{border-top:1px solid var(--line,#e6e3dd);color:var(--faint,#8a8a8a);padding-top:16px;font-size:12px;line-height:1.75}.admin-note>p{color:var(--muted,#5c5c5c);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.1em;margin:0 0 8px;font-size:10px}.admin-note ul{gap:3px;margin:0;padding-left:16px;display:grid}.admin-note code,.admin-hint code{border:1px solid var(--line,#e6e3dd);background:var(--canvas,#faf9f7);color:var(--muted,#5c5c5c);font-family:var(--font-mono,ui-monospace, monospace);border-radius:3px;padding:1px 4px;font-size:10px}.admin-hint{color:var(--faint,#8a8a8a);margin:0;font-size:12px;line-height:1.7}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.admin-search{flex:280px;gap:4px;max-width:380px;display:grid}.admin-search input{border:1px solid var(--line,#e6e3dd);background:var(--surface,#fff);width:100%;height:32px;color:var(--ink,#111);border-radius:4px;outline:none;padding:0 12px;font-family:inherit;font-size:12px}.admin-search input::placeholder{color:var(--faint,#8a8a8a)}.admin-search input:focus{border-color:var(--ink,#111)}.admin-toolbar-meta{color:var(--faint,#8a8a8a);align-items:center;gap:12px;padding-bottom:2px;display:flex}.admin-thumb{border:1px solid var(--line,#e6e3dd);background:var(--line-faint,#f0eee9);border-radius:2px;width:52px;height:30px;display:block;overflow:hidden}.admin-thumb img{object-fit:cover;width:100%;height:100%;display:block}.admin-actions-cell{text-align:right}.admin-confirm{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.admin-run-row{cursor:pointer}.admin-run-row:hover td{background:var(--line-faint,#f0eee9)}.admin-run-row:focus-visible{outline:2px solid var(--ink,#111);outline-offset:-2px}.admin-run-detail td{background:var(--canvas,#faf9f7);padding:0}.admin-run-expand{border-top:1px solid var(--line,#e6e3dd);padding:16px}.admin-run-meta{color:var(--faint,#8a8a8a);flex-wrap:wrap;gap:16px;font-size:12px;display:flex}.admin-nodes{gap:8px;margin-top:12px;display:grid}.admin-node{border:1px solid var(--line,#e6e3dd);background:var(--surface,#fff);border-radius:4px;padding:12px}.admin-node header{flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.admin-node header strong{font-weight:500}.admin-node details{margin-top:8px}.admin-node summary{cursor:pointer;color:var(--faint,#8a8a8a);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.05em;font-size:10px}.admin-node pre{border:1px solid var(--line,#e6e3dd);background:var(--canvas,#faf9f7);max-height:220px;color:var(--muted,#5c5c5c);font-family:var(--font-mono,ui-monospace, monospace);white-space:pre-wrap;word-break:break-word;border-radius:3px;margin:8px 0 0;padding:12px;font-size:10px;line-height:1.6;overflow:auto}.admin-node-error{color:var(--fail,#a33838);margin:8px 0 0;font-size:12px}.admin-deploy-line{color:var(--faint,#8a8a8a);align-items:center;gap:8px;margin:0;font-size:12px;display:flex}.admin-ports{display:grid}.admin-port{border-top:1px solid var(--line-faint,#f0eee9);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0;font-size:12px;display:flex}.admin-port-name{width:46px;color:var(--muted,#5c5c5c);flex:none;font-size:12px}.admin-port .admin-cell-sub{margin-top:0}.admin-doc-row{border-top:1px solid var(--line-faint,#f0eee9);border-bottom:1px solid var(--line-faint,#f0eee9);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.admin-doc-row code{color:var(--ink,#111);font-family:var(--font-mono,ui-monospace, monospace);font-size:10px}.admin-doc-actions{gap:8px;display:flex}.admin-danger .admin-block-head{align-items:center}.admin-danger-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=1120px){.admin-grid--stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.admin-page{padding:24px 16px 32px}.admin-head{flex-direction:column;align-items:flex-start;gap:12px}.admin-grid--stats,.admin-grid--two{grid-template-columns:minmax(0,1fr)}.admin-kv>div{grid-template-columns:minmax(0,1fr);gap:4px}}.lab-page{--lab-panel:#fbfbfb;--lab-raised:#fff;--lab-soft:#f6f6f6;--lab-ink:#111;--lab-muted:#5d5d5d;--lab-faint:#6f6f6f;--lab-line:#1111111a;--lab-line-strong:#1113;--lab-line-faint:#1111110f;--lab-pass:#176b43;--lab-pass-soft:#eef4f0;--lab-warn:#8a5b08;--lab-warn-soft:#f7f2e8;--lab-fail:#a33838;--lab-fail-soft:#f6eeee;--lab-mono:"Geist Mono", "SFMono-Regular", ui-monospace, monospace;--lab-ui:"Geist", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;box-sizing:border-box;width:100%;max-width:1560px;color:var(--lab-ink);font-family:var(--lab-ui);margin:0 auto;padding:24px 32px 48px;font-size:12px;line-height:1.5}.lab-page *,.lab-page :before,.lab-page :after{box-sizing:border-box}.lab-page button{font:inherit;cursor:pointer}.lab-page button:disabled{cursor:default}.lab-head{border-bottom:1px solid var(--lab-line);justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:16px;padding-bottom:16px;display:flex}.lab-head-copy{min-width:0}.lab-kicker{color:var(--lab-faint);font-family:var(--lab-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;display:flex}.lab-kicker em{color:var(--lab-line-strong);font-style:normal}.lab-head h1{color:var(--lab-ink);letter-spacing:-.035em;margin:8px 0;font-size:28px;font-weight:500;line-height:1.15}.lab-head p{max-width:760px;color:var(--lab-muted);margin:0;font-size:12px;line-height:1.7}.lab-head-side{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding-top:3px;display:flex}.lab-head-side .lab-mono{white-space:nowrap}.lab-stack{gap:12px;min-width:0;display:grid}.lab-mono{color:var(--lab-muted);font-family:var(--lab-mono);letter-spacing:.02em;font-size:12px}.lab-dim{color:var(--lab-faint);font-size:12px;line-height:1.6}.lab-bad{color:var(--lab-fail)}.lab-warn{color:var(--lab-warn)}.lab-chip{border:1px solid var(--lab-line);height:20px;color:var(--lab-muted);font-family:var(--lab-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:0 0;border-radius:3px;align-items:center;padding:0 8px;font-size:12px;line-height:1;display:inline-flex}.lab-chip--ink{border-color:var(--lab-ink);background:var(--lab-ink);color:#fff}.lab-chip--real{background:var(--lab-pass-soft);color:var(--lab-pass);border-color:#176b4347}.lab-chip--sample,.lab-chip--warn{background:var(--lab-warn-soft);color:var(--lab-warn);border-color:#8a5b0847}.lab-chip--quiet{color:var(--lab-faint)}.lab-btn{border:1px solid var(--lab-line-strong);background:var(--lab-raised);height:28px;color:var(--lab-ink);white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:12px;line-height:1;transition:border-color .14s,background .14s,color .14s;display:inline-flex}.lab-btn:hover:not(:disabled){border-color:var(--lab-ink)}.lab-btn:disabled{opacity:.55}.lab-btn--ink{border-color:var(--lab-ink);background:var(--lab-ink);color:#fff}.lab-btn--ink:hover:not(:disabled){background:#000}.lab-btn--small{height:24px;padding:0 8px;font-size:12px}.lab-spin{animation:.8s linear infinite lab-spin}@keyframes lab-spin{to{transform:rotate(360deg)}}.lab-toolbar{border:1px solid var(--lab-line);background:var(--lab-panel);border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:8px 12px;display:flex}.lab-toolbar-copy{gap:2px;min-width:0;display:grid}.lab-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.lab-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.lab-metric{border:1px solid var(--lab-line);background:var(--lab-raised);border-radius:6px;gap:2px;min-width:0;padding:8px 12px;display:grid}.lab-metric-label{color:var(--lab-faint);font-family:var(--lab-mono);letter-spacing:.09em;text-transform:uppercase;font-size:12px}.lab-metric strong{color:var(--lab-ink);font-family:var(--lab-mono);letter-spacing:-.02em;font-size:20px;font-weight:500;line-height:1.2}.lab-metric strong.lab-bad{color:var(--lab-fail)}.lab-metric .lab-metric-time{font-size:14px;line-height:1.5}.lab-metric-foot{color:var(--lab-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.lab-panel{border:1px solid var(--lab-line);background:var(--lab-raised);border-radius:6px;min-width:0}.lab-panel-head{border-bottom:1px solid var(--lab-line-faint);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.lab-panel-kicker{color:var(--lab-faint);font-family:var(--lab-mono);letter-spacing:.1em;text-transform:uppercase;font-size:12px}.lab-panel-head h2{color:var(--lab-ink);letter-spacing:-.015em;margin:3px 0 0;font-size:14px;font-weight:500}.lab-panel-actions{align-items:center;gap:8px;display:flex}.lab-panel--tight .lab-panel-head{padding-bottom:8px}.lab-table-wrap{width:100%;overflow-x:auto}.lab-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.55}.lab-table th{border-bottom:1px solid var(--lab-line);color:var(--lab-faint);font-family:var(--lab-mono);letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f7f7f7;padding:8px 12px;font-size:12px;font-weight:500}.lab-table td{border-bottom:1px solid var(--lab-line-faint);vertical-align:top;padding:8px 12px}.lab-table tbody tr:last-child td{border-bottom:0}.lab-table tbody tr:hover td{background:#11111105}.lab-table tr.is-fail td{background:var(--lab-fail-soft)}.lab-table--compact td{padding:4px 8px}.lab-grid--fixtures .lab-table--compact td{padding:3px 8px;font-size:12px;line-height:1.45}.lab-grid--fixtures .lab-table--compact th{padding:4px 8px}.lab-table--templates td{padding:2px 8px;font-size:12px;line-height:1.45}.lab-endpoint--inline{white-space:nowrap;align-items:baseline;gap:8px;min-width:0;display:flex}.lab-endpoint--inline .lab-mono{font-size:12px}.lab-table--health td{padding:8px 12px}.lab-table--health th:first-child{width:29%}.lab-table--health th:nth-child(2){width:12%}.lab-table--health th:nth-child(3){width:9%}.lab-table--health th:nth-child(4){width:40%}.lab-table--health th:nth-child(5){width:10%}.lab-table--health .lab-endpoint{min-width:0}.lab-table--health .lab-fields{max-width:none}.lab-endpoint{gap:1px;min-width:132px;display:grid}.lab-endpoint strong{color:var(--lab-ink);font-size:12px;font-weight:500}.lab-endpoint .lab-mono,.lab-endpoint .lab-dim{font-size:12px}.lab-status{color:var(--lab-faint);font-family:var(--lab-mono);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.lab-status i{background:var(--lab-faint);border-radius:50%;width:6px;height:6px}.lab-status em{color:var(--lab-faint);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-style:normal}.lab-status--ok{color:var(--lab-pass)}.lab-status--ok i{background:var(--lab-pass)}.lab-status--ok em{color:var(--lab-pass)}.lab-status--bad{color:var(--lab-fail)}.lab-status--bad i{background:var(--lab-fail)}.lab-status--bad em{color:var(--lab-fail)}.lab-fields{flex-wrap:wrap;gap:4px;max-width:430px;display:flex}.lab-field{border:1px solid var(--lab-line-faint);color:var(--lab-ink);font-family:var(--lab-mono);white-space:nowrap;background:#fafafa;border-radius:3px;align-items:baseline;gap:4px;padding:1px 4px;font-size:12px;display:inline-flex}.lab-field em{color:var(--lab-faint);font-style:normal}.lab-field--bad{background:var(--lab-fail-soft);color:var(--lab-fail);border-color:#a338383d}.lab-field--idle{color:var(--lab-faint)}.lab-error-cell{overflow-wrap:anywhere;max-width:250px;font-size:12px;line-height:1.5}.lab-legend{flex-wrap:wrap;align-items:center;gap:8px;margin-top:-2px;display:flex}.lab-legend .lab-dim{margin-right:8px}.lab-callouts{border-top:1px solid var(--lab-line-faint);gap:8px;padding:8px 12px 12px;display:grid}.lab-callout{border-left:2px solid var(--lab-line-strong);background:#f7f7f7;padding:8px}.lab-callout--warn{border-left-color:var(--lab-warn);background:var(--lab-warn-soft)}.lab-callouts--strip{border:1px solid var(--lab-line);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;overflow:hidden}.lab-callouts--strip .lab-callout{background:0 0;border-left:0;padding:8px 12px}.lab-callouts--strip .lab-callout--warn{background:var(--lab-warn-soft);box-shadow:inset 2px 0 0 var(--lab-warn)}.lab-callouts--strip .lab-callout:first-child{box-shadow:inset 2px 0 0 var(--lab-line-strong)}.lab-callouts--strip .lab-callout--warn:first-child{box-shadow:inset 2px 0 0 var(--lab-warn)}.lab-callout .lab-mono{margin-bottom:2px;font-size:12px;display:block}.lab-callout p{color:var(--lab-muted);margin:0;font-size:12px;line-height:1.6}.lab-callout p strong{color:var(--lab-ink);font-weight:600}.lab-grid{align-items:start;gap:12px;min-width:0;display:grid}.lab-grid--fixtures{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.lab-grid--diag3{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-grid--diag{grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr)}.lab-kv{padding:2px 12px 8px;display:grid}.lab-kv>div{border-bottom:1px solid var(--lab-line-faint);justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;font-size:12px;display:flex}.lab-kv>div:last-child{border-bottom:0}.lab-kv>div>span:first-child{color:var(--lab-faint);flex:none;font-size:12px}.lab-kv strong{color:var(--lab-ink);text-align:right;font-weight:500}.lab-kv-wide{gap:3px!important;display:grid!important}.lab-kv-wide>span:first-child{margin-bottom:1px}.lab-ua{color:var(--lab-muted);font-family:var(--lab-mono);overflow-wrap:anywhere;font-size:12px;line-height:1.5;display:block}.lab-services{padding:2px 12px 8px;display:grid}.lab-service{border-bottom:1px solid var(--lab-line-faint);grid-template-columns:8px minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px 0;display:grid}.lab-service:last-child{border-bottom:0}.lab-service strong{color:var(--lab-ink);font-size:12px;font-weight:500;display:block}.lab-service .lab-mono{margin-top:1px;font-size:12px;display:block}.lab-service em{color:var(--lab-faint);margin-top:1px;font-size:12px;font-style:normal;line-height:1.5;display:block}.lab-service>.lab-mono:last-child{white-space:nowrap}.lab-dot{background:var(--lab-faint);border-radius:50%;width:7px;height:7px;margin-top:4px}.lab-dot--ok{background:var(--lab-pass)}.lab-dot--bad{background:var(--lab-fail)}.lab-alert{border:1px solid var(--lab-line);border-radius:4px;align-items:flex-start;gap:8px;margin:0 12px 12px;padding:8px;font-size:12px;line-height:1.55;display:flex}.lab-alert--bad{background:var(--lab-fail-soft);color:var(--lab-fail);border-color:#a338383d}.lab-inline-note{border-top:1px dashed var(--lab-line);color:var(--lab-faint);margin:0 12px 12px;padding-top:8px;font-size:12px;line-height:1.6}.lab-footnote{color:var(--lab-faint);align-items:flex-start;gap:8px;margin:0;font-size:12px;line-height:1.6;display:flex}.lab-footnote svg{flex:none;margin-top:2px}.lab-page-foot{border-top:1px solid var(--lab-line);color:var(--lab-faint);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:8px;font-size:12px;display:flex}.lab-flags{gap:8px;display:grid}.lab-flag{border:1px solid var(--lab-line);background:var(--lab-raised);border-radius:6px;grid-template-columns:26px minmax(0,1fr) 40px;align-items:start;gap:12px;padding:12px;transition:border-color .14s;display:grid}.lab-flag.is-on{border-color:var(--lab-line-strong);box-shadow:inset 2px 0 0 var(--lab-ink)}.lab-flag-index{color:var(--lab-faint);font-family:var(--lab-mono);padding-top:1px;font-size:12px}.lab-flag-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lab-flag-title h3{color:var(--lab-ink);letter-spacing:-.01em;margin:0;font-size:12px;font-weight:500}.lab-flag-main>p{max-width:880px;color:var(--lab-muted);margin:4px 0 0;font-size:12px;line-height:1.65}.lab-flag-meta{flex-wrap:wrap;gap:8px 12px;margin-top:8px;display:flex}.lab-flag-impact{border-top:1px dashed var(--lab-line);padding-top:8px;color:var(--lab-faint)!important;margin-top:8px!important;font-size:12px!important;line-height:1.6!important}.lab-switch{border:1px solid var(--lab-line-strong);background:0 0;border-radius:9px;width:34px;height:18px;margin-top:2px;padding:0;transition:background .15s,border-color .15s;position:relative}.lab-switch-knob{background:var(--lab-muted);border-radius:50%;width:12px;height:12px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.lab-switch.is-on{border-color:var(--lab-ink);background:var(--lab-ink)}.lab-switch.is-on .lab-switch-knob{background:#fff;transform:translate(16px)}.lab-switch:focus-visible{outline:2px solid var(--lab-ink);outline-offset:2px}.lab-panel--console{background:#111;border-color:#111}.lab-panel--console .lab-panel-head{border-bottom-color:#ffffff1f}.lab-panel--console .lab-panel-kicker,.lab-panel--console .lab-mono,.lab-panel--console .lab-panel-head h2{color:#d8d8d8}.lab-panel--console .lab-btn{color:#ddd;background:0 0;border-color:#ffffff38}.lab-panel--console .lab-btn:hover:not(:disabled){border-color:#fff9}.lab-console{color:#cfcfcf;min-height:176px;max-height:270px;font-family:var(--lab-mono);padding:8px 12px;font-size:12px;line-height:1.55;overflow:auto}.lab-log{border-bottom:1px solid #ffffff0f;grid-template-columns:58px 34px minmax(0,1fr);align-items:baseline;gap:8px;padding:4px 0;display:grid}.lab-log-time{color:#777}.lab-log-level{letter-spacing:.04em;text-transform:uppercase;font-size:12px}.lab-log-level.lab-bad{color:#d98a8a}.lab-log-level.lab-warn{color:#d6b06a}.lab-log-text{color:#cfcfcf;overflow-wrap:anywhere;white-space:pre-wrap}.lab-log--error .lab-log-text{color:#e9b4b4}.lab-console-empty{color:#777;min-height:148px;font-family:var(--lab-ui);text-align:center;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.lab-panel--console .lab-inline-note{color:#888;border-top-color:#ffffff1a}@media (width<=1280px){.lab-grid--diag3{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-grid--diag3>:last-child{grid-column:1/-1}}@media (width<=1080px){.lab-grid--fixtures,.lab-grid--diag,.lab-grid--diag3{grid-template-columns:1fr}.lab-grid--diag3>:last-child{grid-column:auto}.lab-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.lab-page{padding:16px 16px 32px}.lab-head{flex-direction:column;gap:12px}.lab-head-side{justify-content:flex-start}.lab-head h1{font-size:20px}.lab-toolbar{flex-direction:column;align-items:flex-start}.lab-toolbar-actions{justify-content:flex-start}.lab-flag{grid-template-columns:20px minmax(0,1fr) 40px;gap:8px;padding:12px}.lab-page-foot{flex-direction:column;gap:4px}}@media (prefers-reduced-motion:reduce){.lab-page *,.lab-page :before,.lab-page :after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
