.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--radius-xl: 14px;--t-cap: 11px;--t-sm: 12px;--t-base: 13px;--t-md: 14px;--t-lg: 16px;--t-xl: 20px;--t-2xl: 24px;--t-3xl: 32px;--fw-regular: 400;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--bg-0: #000;--bg-1: #0A0A0B;--bg-2: #131316;--bg-3: #1B1B1F;--bg-4: #232328;--line: #2A2A30;--line-strong: #3A3A42;--line-focus: #5A5A66;--text: #F2F2F4;--text-mute: #A0A0A8;--text-faint: #6B6B75;--accent: #22C55E;--info: #60A5FA;--warn: #F59E0B;--danger: #F87171;--brand: #14B8A6;--env: #22C55E;--env-soft: rgba(34, 197, 94, .1);--env-line: rgba(34, 197, 94, .32);--env-text: #BAF1C9;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 36px rgba(0, 0, 0, .55);--motion: cubic-bezier(.2, .8, .2, 1);--motion-fast: .12s var(--motion);--motion-base: .18s var(--motion);--bg: var(--bg-0);--bg-elev1: var(--bg-1);--bg-elev2: var(--bg-2);--surface: var(--bg-2);--surface-2: var(--bg-3);--primary: var(--info);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI Variable,Segoe UI,Inter,Roboto,sans-serif;font-size:var(--t-base);line-height:1.5;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv01","cv11"}[data-env=dev]{--env: #22C55E;--env-soft: rgba(34,197,94,.1);--env-line: rgba(34,197,94,.32);--env-text: #BAF1C9}[data-env=qa]{--env: #F59E0B;--env-soft: rgba(245,158,11,.1);--env-line: rgba(245,158,11,.32);--env-text: #FCD34D}[data-env=sbx]{--env: #A78BFA;--env-soft: rgba(167,139,250,.1);--env-line: rgba(167,139,250,.32);--env-text: #DDD6FE}[data-env=local]{--env: #60A5FA;--env-soft: rgba(96,165,250,.1);--env-line: rgba(96,165,250,.32);--env-text: #BFDBFE}[data-env=prod]{--env: #F87171;--env-soft: rgba(248,113,113,.1);--env-line: rgba(248,113,113,.32);--env-text: #FECACA}html[data-theme=light]{color-scheme:light;--bg-0: #ECEDF0;--bg-1: #FFFFFF;--bg-2: #F7F7F9;--bg-3: #E4E5E9;--bg-4: #D4D5DB;--line: #D8D9DE;--line-strong: #B5B6BD;--line-focus: #80818A;--text: #16161A;--text-mute: #4D4D55;--text-faint: #80808A;--shadow-sm: 0 1px 2px rgba(15,15,20,.06);--shadow: 0 4px 12px rgba(15,15,20,.1);--shadow-lg: 0 16px 36px rgba(15,15,20,.16);--env-text: #166534}html[data-theme=light] [data-env=dev]{--env-text: #15803D}html[data-theme=light] [data-env=qa]{--env-text: #B45309}html[data-theme=light] [data-env=sbx]{--env-text: #6D28D9}html[data-theme=light] [data-env=local]{--env-text: #1D4ED8}html[data-theme=light] [data-env=prod]{--env-text: #B91C1C}html[data-theme=light] .tag.env{color:var(--env-text);background:var(--env-soft);border-color:var(--env-line)}html[data-theme=light] .tag.green{background:#16a34a1a;color:#166534;border-color:#16a34a52}html[data-theme=light] .tag.amber{background:#b453091a;color:#92400e;border-color:#b4530952}html[data-theme=light] .tag.red{background:#b91c1c1a;color:#991b1b;border-color:#b91c1c52}html[data-theme=light] .tag.blue{background:#1d4ed81a;color:#1e40af;border-color:#1d4ed852}html[data-theme=light] .tag.violet{background:#6d28d91a;color:#5b21b6;border-color:#6d28d952}html[data-theme=light] .xenv-head .tag[data-env=dev],html[data-theme=light] .env-card header .tag[data-env=dev]{background:#16a34a1a;color:#166534;border-color:#16a34a52}html[data-theme=light] .xenv-head .tag[data-env=qa],html[data-theme=light] .env-card header .tag[data-env=qa]{background:#b453091a;color:#92400e;border-color:#b4530952}html[data-theme=light] .xenv-head .tag[data-env=sbx],html[data-theme=light] .env-card header .tag[data-env=sbx]{background:#6d28d91a;color:#5b21b6;border-color:#6d28d952}html[data-theme=light] .env-card header .tag[data-env=local]{background:#1d4ed81a;color:#1e40af;border-color:#1d4ed852}html[data-theme=light] .xenv-head .tag[data-env=prod],html[data-theme=light] .env-card header .tag[data-env=prod]{background:#b91c1c1a;color:#991b1b;border-color:#b91c1c52}html[data-theme=light] .error{background:#b91c1c0f;border-color:#b91c1c52;color:#991b1b}html[data-theme=light] .btn.danger{background:#b91c1c14;border-color:#b91c1c66;color:#991b1b}html[data-theme=light] .btn.danger:hover{background:#b91c1c24}html[data-theme=light] .btn.primary{background:var(--env-text);color:#fff;border-color:transparent;box-shadow:inset 0 1px #ffffff2e}html[data-theme=light] .btn.primary:hover{filter:brightness(1.1)}html[data-theme=light] .btn.primary:active{filter:brightness(.92)}html[data-theme=light] .btn.primary .kbd-hint{background:#fff3;color:#ffffffeb}html[data-theme=light] .btn.primary .spinner{border-color:#ffffff4d;border-top-color:#fff}html[data-theme=light] .btn.primary svg{color:#fff}html[data-theme=light] .recipe-tree .method.GET{background:#1d4ed81a;color:#1e40af}html[data-theme=light] .recipe-tree .method.POST{background:#16a34a1a;color:#166534}html[data-theme=light] .recipe-tree .method.PUT{background:#b453091a;color:#92400e}html[data-theme=light] .recipe-tree .method.PATCH{background:#6d28d91a;color:#5b21b6}html[data-theme=light] .recipe-tree .method.DELETE{background:#b91c1c1a;color:#991b1b}html[data-theme=light] .status-pill.s2xx{background:#16a34a1a;color:#166534;border-color:#16a34a52}html[data-theme=light] .status-pill.s3xx{background:#1d4ed81a;color:#1e40af;border-color:#1d4ed852}html[data-theme=light] .status-pill.s4xx{background:#b453091a;color:#92400e;border-color:#b4530952}html[data-theme=light] .status-pill.s5xx{background:#b91c1c1a;color:#991b1b;border-color:#b91c1c52}html[data-theme=light] .sim-log-error .sim-log-args{color:#991b1b}html[data-theme=light] .json-viewer-wrap .w-rjv-key,html[data-theme=light] .json-viewer-wrap .w-rjv-object-key{color:#5b21b6!important}html[data-theme=light] .json-viewer-wrap .w-rjv-string{color:#166534!important}html[data-theme=light] .json-viewer-wrap .w-rjv-number{color:#92400e!important}html[data-theme=light] .json-viewer-wrap .w-rjv-boolean{color:#1e40af!important}html[data-theme=light] .json-viewer-wrap .w-rjv-null{color:#991b1b!important}html[data-theme=light] .files-kind.kind-json{color:#5b21b6;border-color:#6d28d94d;background:#6d28d90f}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--bg-0);color:var(--text)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:6px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--bg-4);background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}*{scrollbar-color:var(--bg-3) transparent;scrollbar-width:thin}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}button,input,select,textarea{font:inherit;color:inherit;background:transparent;border:1px solid transparent}input,select,textarea{background:var(--bg-2);border-color:var(--line);border-radius:var(--radius);padding:7px 10px;font-size:var(--t-base);transition:border-color var(--motion-fast),background var(--motion-fast)}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--env);box-shadow:0 0 0 3px var(--env-soft)}button{cursor:pointer}button:focus-visible{outline:2px solid var(--env);outline-offset:2px}::selection{background:var(--env-soft);color:var(--env-text)}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}code,pre,.mono{font-family:ui-monospace,SF Mono,JetBrains Mono,Cascadia Code,Roboto Mono,Consolas,monospace;font-feature-settings:"tnum" on,"calt" on,"ss01" on}.shell{display:grid;grid-template-columns:48px 1fr;grid-template-rows:100%;height:100vh;height:100dvh;overflow:hidden;transition:grid-template-columns .18s var(--motion)}html[data-sidebar=expanded] .shell{grid-template-columns:200px 1fr}.sidebar{position:relative;background:var(--bg-1);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:var(--space-3) 0;gap:var(--space-1);overflow:hidden}.sidebar.expanded{align-items:stretch;padding:var(--space-3) var(--space-2);gap:2px}.sidebar .env-rail{position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--env) 0%,var(--env) 60%,transparent 100%);opacity:.95;pointer-events:none}.sidebar .brand{width:32px;height:32px;border-radius:var(--radius);display:grid;place-items:center;background:var(--env-soft);border:1px solid var(--env-line);color:var(--text);margin:0 auto var(--space-2);cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),transform .1s cubic-bezier(.16,1,.3,1)}.sidebar .brand:hover{background:color-mix(in oklab,var(--env-soft),white 6%)}.sidebar .brand:active{transform:scale(.97)}.sidebar .brand:focus-visible{outline:2px solid var(--env-line);outline-offset:2px}.sidebar .brand svg{transition:color var(--motion-fast)}.sidebar.expanded .brand{width:100%;height:36px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 10px;margin:0 0 var(--space-2)}.sidebar .brand-label{color:var(--text);font-weight:var(--fw-semi);font-size:var(--t-base);letter-spacing:-.01em;white-space:nowrap;opacity:0;max-width:0;overflow:hidden;transition:opacity .2s cubic-bezier(.16,1,.3,1) 80ms,max-width .2s cubic-bezier(.16,1,.3,1) 80ms}.sidebar.expanded .brand-label{opacity:1;max-width:160px}@media (prefers-reduced-motion: reduce){.sidebar .brand svg animate{animation-play-state:paused}.sidebar .brand-label{transition:opacity var(--motion-fast);max-width:none}}.sidebar .iconbtn{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius);color:var(--text-faint);background:transparent;border:1px solid transparent;transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast);flex-shrink:0}.sidebar .iconbtn:hover{background:var(--bg-2);color:var(--text)}.sidebar .iconbtn.active{background:var(--env-soft);color:var(--env);border-color:var(--env-line)}.sidebar.expanded .iconbtn{width:100%;height:34px;display:flex;align-items:center;justify-content:flex-start;padding:0 10px;gap:12px}.sidebar .iconbtn .lbl{font-size:var(--t-base);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.sidebar .iconbtn.active .lbl{color:var(--env)}.sidebar .iconbtn .kbd{margin-left:auto;font-size:10px;padding:1px 5px}.sidebar .collapse-toggle .lbl{color:var(--text-faint);font-size:var(--t-sm)}.sidebar .spacer{flex:1}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.ok{background:var(--accent);box-shadow:0 0 0 3px #22c55e26}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px #f59e0b26}.dot.bad{background:var(--danger);box-shadow:0 0 0 3px #f8717126}.dot.idle{background:var(--text-faint)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden}.topbar{display:grid;grid-template-columns:minmax(220px,auto) 1fr auto;align-items:center;gap:var(--space-3);padding:0 var(--space-4);height:56px;flex:0 0 56px;background:var(--bg-1);border-bottom:1px solid var(--line)}.topbar .crumb{color:var(--text-mute);font-size:var(--t-base);font-weight:var(--fw-medium);display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .crumb b{color:var(--text);font-weight:var(--fw-semi)}.topbar .crumb .sep{color:var(--text-faint)}.topbar .brand-crumb{display:inline-flex;align-items:center;gap:6px;color:var(--text-mute);transition:color var(--motion-fast)}.topbar .brand-crumb-mark{flex-shrink:0;margin-bottom:-1px;transition:color var(--motion-fast)}.topbar .ctrls{display:flex;align-items:center;gap:6px;justify-content:center}.topbar .ctrls input,.topbar .ctrls select{height:32px;padding:0 10px;font-size:var(--t-base)}.topbar .ctrls input::placeholder{color:var(--text-faint)}.topbar .actions{display:flex;align-items:center;gap:8px;justify-self:end}.btn{height:32px;padding:0 12px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);font-size:var(--t-base);font-weight:var(--fw-medium);color:var(--text);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.btn:hover{background:var(--bg-3);border-color:var(--line-strong)}.btn:active{background:var(--bg-4)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--env);color:#08090c;border-color:transparent;font-weight:var(--fw-semi);box-shadow:inset 0 1px #ffffff29,0 0 0 1px var(--env-line)}.btn.primary:hover{filter:brightness(1.07);border-color:transparent}.btn.primary:active{filter:brightness(.96)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-mute)}.btn.ghost:hover{background:var(--bg-2);color:var(--text)}.btn.danger{background:#f871711a;border-color:#f8717159;color:#fca5a5}.btn.danger:hover{background:#f8717126}.btn.sm{height:26px;padding:0 10px;font-size:var(--t-sm)}.btn .kbd-hint{font-family:ui-monospace,monospace;font-size:10px;padding:1px 5px;border-radius:3px;background:#0003;color:#0009;margin-left:4px;line-height:1}.btn:not(.primary) .kbd-hint{background:var(--bg-3);color:var(--text-mute)}.canvas{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.canvas>.canvas-padded{padding:var(--space-6);overflow:auto;flex:1;min-height:0}.view{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;background:var(--bg-0)}.view-header{height:48px;padding:0 var(--space-4);display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);flex-shrink:0;background:var(--bg-1)}.view-header h1{font-size:var(--t-md);font-weight:var(--fw-semi);margin:0;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.view-header .spacer{flex:1}.view-body{flex:1;min-height:0;min-width:0;overflow:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.view-body.no-pad{padding:0;overflow:hidden}.view-body.cap-width{max-width:1280px;margin:0 auto;width:100%}.empty{max-width:720px;margin:var(--space-8) auto;text-align:left;color:var(--text-mute);font-size:var(--t-md);padding:0 var(--space-4)}.empty .eyebrow{font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin-bottom:var(--space-3);font-weight:var(--fw-medium)}.empty h1{color:var(--text);font-size:var(--t-3xl);font-weight:var(--fw-bold);letter-spacing:-.025em;margin:0 0 var(--space-3);line-height:1.1}.empty h1 .accent{color:var(--env)}.empty>p{max-width:560px;margin:0 0 var(--space-7);line-height:1.55;color:var(--text-mute)}.empty-primary{display:grid;grid-template-rows:auto auto auto;gap:var(--space-1);width:100%;text-align:left;padding:var(--space-5) var(--space-6);border:1px solid var(--env-line);background:var(--env-soft);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast);font:inherit;color:var(--text)}.empty-primary:hover{background:var(--bg-3);border-color:var(--env);transform:translateY(-1px)}.empty-primary:focus-visible{outline:2px solid var(--env);outline-offset:2px}.empty-primary-eyebrow{font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.08em;color:var(--env-text);font-weight:var(--fw-semi)}.empty-primary-title{font-size:var(--t-xl);font-weight:var(--fw-semi);color:var(--text)}.empty-primary-meta{font-size:var(--t-sm);color:var(--text-mute);display:flex;align-items:center;gap:var(--space-2)}.empty-secondary{list-style:none;padding:0;margin:var(--space-3) 0 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.empty-secondary li{margin:0}.empty-secondary li>button{display:grid;grid-template-rows:auto auto;gap:var(--space-1);width:100%;text-align:left;padding:var(--space-3) var(--space-4);border:1px solid var(--line);background:var(--bg-2);border-radius:var(--radius);cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast);font:inherit;color:var(--text)}.empty-secondary li>button:hover{background:var(--bg-3);border-color:var(--line-strong);transform:translateY(-1px)}.empty-secondary li>button:focus-visible{outline:2px solid var(--env);outline-offset:2px}.empty-secondary-title{font-size:var(--t-md);font-weight:var(--fw-medium);color:var(--text)}.empty-secondary-meta{font-size:var(--t-sm);color:var(--text-mute);display:flex;align-items:center;gap:var(--space-2)}.empty-foot{margin-top:var(--space-7);font-size:var(--t-cap);color:var(--text-faint)}@media (max-width: 540px){.empty-secondary{grid-template-columns:1fr}}.error{background:#f8717114;border:1px solid rgba(248,113,113,.32);color:#fca5a5;padding:10px 14px;border-radius:var(--radius);font-family:ui-monospace,monospace;font-size:var(--t-sm);white-space:pre-wrap;margin-bottom:var(--space-3)}.notice{background:var(--env-soft);border:1px solid var(--env-line);color:var(--text);padding:8px 12px;border-radius:var(--radius);font-size:var(--t-base);margin-bottom:var(--space-3)}.spinner{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--env);border-radius:50%;animation:spin .9s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.04) 40%,rgba(255,255,255,.04) 60%,transparent 100%);transform:translate(-100%);animation:shimmer 1.6s linear infinite}@keyframes shimmer{to{transform:translate(100%)}}.login-hero{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-4);margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.login-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 30%,var(--env-soft, rgba(96,165,250,.1)) 0%,transparent 55%),radial-gradient(circle at 90% 110%,rgba(20,184,166,.1) 0%,transparent 55%);pointer-events:none;transition:opacity .24s var(--motion)}.login-logo{position:relative;width:56px;height:56px;border-radius:var(--radius-lg);display:grid;place-items:center;background:var(--bg-2);border:1px solid var(--line);color:var(--brand);box-shadow:0 0 0 4px var(--bg-1),0 0 28px -6px #14b8a673}.login-wordmark{position:relative;display:flex;flex-direction:column;line-height:1.2}.login-wordmark strong{font-size:var(--t-lg);font-weight:var(--fw-semi);letter-spacing:-.01em}.login-wordmark .faint{font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:var(--fw-medium)}.login-input{display:flex;align-items:center;gap:8px;padding:0 10px;height:36px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast);color:var(--text-mute)}.login-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #14b8a62e;background:var(--bg-1);color:var(--text)}.login-input input{flex:1;border:none;background:transparent;color:var(--text);font:inherit;font-size:var(--t-base);outline:none;padding:0}.login-input input::placeholder{color:var(--text-faint)}.login-input-trailing{display:inline-flex;align-items:center;color:var(--accent);opacity:.85}.env-pills{display:flex;gap:6px;flex-wrap:wrap}.env-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--bg-2);color:var(--text-mute);height:28px;padding:0 12px;border-radius:999px;font:inherit;font-size:var(--t-sm);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast),transform var(--motion-fast)}.env-pill:hover{background:var(--bg-3);color:var(--text)}.env-pill.active{background:var(--env-soft);border-color:var(--env-line);color:var(--env-text);box-shadow:inset 0 0 0 1px var(--env-line)}.env-pill.active:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--env);vertical-align:middle;box-shadow:0 0 8px var(--env)}.login-card.session{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg)}.login-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:var(--t-lg);font-weight:var(--fw-semi);color:var(--env-text);background:var(--env-soft);border:1px solid var(--env-line)}.login-identity{display:flex;flex-direction:column;gap:4px;min-width:0}.login-identity .email{font-size:var(--t-base);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-identity .meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ps-skeleton-row{display:flex;align-items:center;padding:6px 8px;border-bottom:1px solid var(--line);pointer-events:none}.ps-skeleton-row:last-child{border-bottom:none}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;transition:border-color var(--motion-fast)}.card .label{font-size:var(--t-cap);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-medium)}.card .value{font-size:var(--t-xl);margin-top:4px;color:var(--text);font-weight:var(--fw-semi);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.card .value.mono{font-size:var(--t-md);font-weight:var(--fw-medium);letter-spacing:0}.section{margin-top:var(--space-5)}.section h2{font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:var(--fw-medium);margin:0 0 var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);background:var(--bg-1);padding:0 var(--space-4);flex-shrink:0;z-index:5}.tab-scroll{flex:1;min-height:0;min-width:0;overflow:auto;padding:var(--space-4)}.tabs .tab{background:transparent;border:none;color:var(--text-mute);padding:14px 14px 12px;font-size:var(--t-base);font-weight:var(--fw-medium);border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:8px;transition:color var(--motion-fast),border-color var(--motion-fast);position:relative}.tabs .tab:hover{color:var(--text)}.tabs .tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--env)}.tabs .tab .count{background:var(--bg-3);border:1px solid var(--line);border-radius:999px;padding:0 7px;height:18px;display:inline-flex;align-items:center;font-size:var(--t-cap);font-weight:var(--fw-semi);color:var(--text-mute);font-variant-numeric:tabular-nums;line-height:1}.tabs .tab[aria-selected=true] .count{background:var(--env-soft);border-color:var(--env-line);color:var(--env)}.table{width:100%;border-collapse:collapse;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;font-size:var(--t-base);font-variant-numeric:tabular-nums}.table th,.table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.table th{background:var(--bg-1);color:var(--text-faint);font-weight:var(--fw-medium);font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:2}.table tbody tr{transition:background var(--motion-fast)}.table tbody tr:hover{background:var(--bg-3)}.table tbody tr.clickable{cursor:pointer}.table tbody tr.active{background:var(--env-soft)}.table tbody tr.active td:first-child{font-weight:var(--fw-semi);color:var(--env-text)}.table tbody tr:last-child td{border-bottom:none}.table .muted{color:var(--text-mute)}.table tbody tr{cursor:pointer}pre.raw{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px;overflow:auto;font-size:var(--t-sm);max-height:70vh;line-height:1.55;color:var(--text)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);display:grid;place-items:center;z-index:100;padding:var(--space-6);animation:scrim-in .14s var(--motion)}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:980px;width:100%;max-height:86vh;display:flex;flex-direction:column;overflow:hidden;animation:modal-in .18s var(--motion);transform-origin:center center}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal.full{max-width:1280px;height:86vh}.modal.sm{max-width:420px}.modal header{display:flex;align-items:center;gap:10px;padding:12px var(--space-4);border-bottom:1px solid var(--line);height:48px;flex-shrink:0}.modal header h2{margin:0;font-size:var(--t-md);font-weight:var(--fw-semi);letter-spacing:-.01em}.modal header .spacer{flex:1}.modal .body{padding:var(--space-4);overflow:auto;flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.modal footer{padding:10px var(--space-4);border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.browse-search{display:flex;gap:8px}.browse-search input{flex:1;height:36px}.browse-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:var(--space-3);flex-shrink:0}.browse-tabs .tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:10px 14px;font-size:var(--t-base);font-weight:var(--fw-medium);color:var(--text-mute);margin-bottom:-1px;display:inline-flex;align-items:center;gap:8px;transition:color var(--motion-fast),border-color var(--motion-fast);cursor:pointer}.browse-tabs .tab:hover{color:var(--text)}.browse-tabs .tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--env)}.browse-tabs .tab .count{background:var(--bg-3);border:1px solid var(--line);border-radius:999px;padding:0 7px;height:18px;display:inline-flex;align-items:center;font-size:var(--t-cap);font-weight:var(--fw-semi);color:var(--text-mute);font-variant-numeric:tabular-nums;line-height:1}.browse-tabs .tab[aria-selected=true] .count{background:var(--env-soft);border-color:var(--env-line);color:var(--env)}.console-grid{display:grid;grid-template-columns:280px 1fr 1fr;flex:1;min-height:0}.console-pane{border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;overflow:hidden}.console-pane:last-child{border-right:none}.console-pane .head{padding:0 12px;border-bottom:1px solid var(--line);font-size:var(--t-cap);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-medium);height:36px;display:flex;align-items:center;gap:6px;flex-shrink:0;background:var(--bg-1)}.console-pane .scroll{overflow:auto;flex:1;padding:12px}.recipe-tree{font-size:var(--t-sm)}.recipe-tree details{margin-bottom:2px}.recipe-tree summary{cursor:pointer;padding:5px 8px;border-radius:var(--radius-sm);color:var(--text-mute);list-style:none;display:flex;align-items:center;gap:6px}.recipe-tree summary::-webkit-details-marker{display:none}.recipe-tree summary:before{content:"›";color:var(--text-faint);transition:transform var(--motion-fast);display:inline-block;width:10px}.recipe-tree details[open] summary:before{transform:rotate(90deg)}.recipe-tree summary:hover{background:var(--bg-2);color:var(--text)}.recipe-tree .item{display:flex;gap:8px;align-items:center;padding:4px 8px;border-radius:var(--radius-sm);margin-left:16px;cursor:pointer;font-size:var(--t-sm);color:var(--text-mute)}.recipe-tree .item:hover{background:var(--bg-2);color:var(--text)}.recipe-tree .method{display:inline-block;min-width:42px;text-align:center;font-size:10px;font-weight:var(--fw-bold);padding:2px 5px;border-radius:3px;font-family:ui-monospace,monospace;letter-spacing:.04em;line-height:1}.ctx-row{cursor:pointer;padding:6px 10px;border-radius:var(--radius);margin-bottom:0;display:flex;flex-direction:row;align-items:center;gap:8px;min-height:30px;border:1px solid transparent;border-left:3px solid transparent;transition:background var(--motion-fast),border-color var(--motion-fast);white-space:nowrap}.ctx-row:hover{background:var(--bg-2)}.ctx-row.active{background:var(--env-soft);border-left-color:var(--env)}.ctx-detail-head{padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-1);display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:48px}.ctx-detail-key{font-size:12px;color:var(--text-mute)}.ctx-detail-title{font-size:15px;font-weight:var(--fw-semi);letter-spacing:-.01em}.ctx-detail-desc{font-size:12px}.ctx-key{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);letter-spacing:-.01em;min-width:0;flex:1;overflow:hidden}.ctx-code{font-family:ui-monospace,monospace;font-weight:var(--fw-semi);font-size:11px;color:var(--text-mute);flex-shrink:0;letter-spacing:.02em}.ctx-title{font-weight:var(--fw-medium);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;line-height:1}.ctx-row.active .ctx-code{color:var(--env)}.ctx-row.active .ctx-title{color:var(--text)}.ctx-row.is-empty .ctx-key{color:var(--text-mute)}.ctx-row.is-empty .ctx-code{color:var(--text-faint)}.ctx-row.is-empty .ctx-title{color:var(--text-faint);font-weight:var(--fw-regular)}.ctx-pill.is-empty{background:transparent;color:var(--text-faint);border-style:dashed}.ctx-counts{display:flex;gap:3px;flex-shrink:0}.ctx-pill{font-family:ui-monospace,monospace;font-size:10px;padding:0 5px;border-radius:3px;background:var(--bg-3);color:var(--text-mute);border:1px solid var(--line);line-height:16px;height:16px;white-space:nowrap}.ctx-row.active .ctx-pill{background:var(--bg-2);color:var(--text);border-color:var(--env-line)}.postman-envbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-1);border-bottom:1px solid var(--line);flex-shrink:0}.recipe-header{display:flex;align-items:center;gap:4px;border-radius:var(--radius-sm);margin-bottom:2px}.recipe-header:hover{background:var(--bg-2)}.recipe-header-btn{flex:1;min-width:0;background:transparent;border:none;cursor:pointer;padding:6px 8px;display:flex;align-items:center;gap:6px;color:var(--text-mute);font-size:var(--t-sm);text-align:left}.recipe-header-btn:hover{color:var(--text)}.recipe-header-btn .chev{color:var(--text-faint);transition:transform var(--motion-fast);display:inline-block;width:10px}.recipe-header-btn:hover{background:transparent}.recipe-action{flex-shrink:0;height:24px;width:28px;padding:0;display:grid;place-items:center;opacity:.55;border-radius:var(--radius-sm)}.recipe-header:hover .recipe-action{opacity:1}.env-block{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.env-block-head{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:0 8px 4px}.env-row{display:flex;align-items:center;gap:4px;border-radius:var(--radius-sm);margin-bottom:1px}.env-row:hover{background:var(--bg-2)}.env-row.active{background:var(--env-soft)}.env-row-btn{flex:1;min-width:0;background:transparent;border:none;cursor:pointer;padding:5px 8px;display:flex;align-items:center;gap:6px;color:var(--text-mute);font-size:var(--t-sm);text-align:left}.env-row-btn:hover,.env-row.active .env-row-btn{color:var(--text)}.recipe-tree .method.GET{background:#60a5fa29;color:#93c5fd}.recipe-tree .method.POST{background:#22c55e29;color:#86efac}.recipe-tree .method.PUT{background:#f59e0b29;color:#fcd34d}.recipe-tree .method.PATCH{background:#a78bfa29;color:#c4b5fd}.recipe-tree .method.DELETE{background:#f8717129;color:#fca5a5}.req-row{display:grid;grid-template-columns:100px 1fr;gap:6px;margin-bottom:8px}.status-pill{font-family:ui-monospace,monospace;font-size:var(--t-sm);font-weight:var(--fw-semi);padding:3px 8px;border-radius:4px;display:inline-block;letter-spacing:.02em;border:1px solid transparent}.status-pill.s2xx{background:#22c55e26;color:#86efac;border-color:#22c55e4d}.status-pill.s3xx{background:#60a5fa26;color:#93c5fd;border-color:#60a5fa4d}.status-pill.s4xx{background:#f59e0b26;color:#fcd34d;border-color:#f59e0b4d}.status-pill.s5xx{background:#f8717126;color:#fca5a5;border-color:#f871714d}.rules-grid{display:grid;grid-template-columns:280px 1fr;flex:1;min-height:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-2);transition:grid-template-columns var(--motion-base);min-height:70vh}.rules-grid.is-sidebar-collapsed{grid-template-columns:40px 1fr}.rules-list{border-right:1px solid var(--line);background:var(--bg-1);overflow:auto}.rules-list .item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--line);font-size:var(--t-sm);transition:background var(--motion-fast)}.rules-list .item:hover{background:var(--bg-2)}.rules-list .item.active{background:var(--env-soft)}.rules-list .item.active .name{color:var(--env-text)}.rules-list .item .name{color:var(--text);font-weight:var(--fw-medium)}.rules-list .item .meta{color:var(--text-faint);font-size:var(--t-cap);margin-top:3px;display:flex;gap:6px;align-items:center}.rule-pane{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--bg-2)}.rule-pane .head{padding:10px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:var(--t-base)}.rule-pane textarea{flex:1;resize:none;padding:12px;font-family:ui-monospace,monospace;font-size:var(--t-sm);border:none;border-radius:0;background:var(--bg-2);line-height:1.55;color:var(--text)}.rule-pane textarea:focus-visible{box-shadow:none}.rule-pane textarea.dirty{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn)}.rule-pane footer{padding:8px 12px;border-top:1px solid var(--line);display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-shrink:0}.sim-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--bg-1);flex-wrap:wrap}.btn.sim-mode{padding:0 9px;height:24px;font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.btn.sim-mode.active{background:var(--env-soft);color:var(--env);border-color:var(--env-line)}.rule-confirm{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f59e0b14;border-bottom:1px solid rgba(245,158,11,.32);flex-wrap:wrap}.sim-out-tab{background:transparent;border:none;cursor:pointer;font:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:2px 6px;border-radius:3px}.sim-out-tab:hover{color:var(--text)}.sim-out-tab.active{color:var(--env);background:var(--env-soft)}.sim-logs{display:flex;flex-direction:column;gap:2px;font-size:11px}.sim-log{display:grid;grid-template-columns:56px 1fr;gap:8px;padding:3px 8px;border-left:1px solid var(--line);font-family:ui-monospace,monospace}.sim-log-level{font-size:9px;text-transform:uppercase;font-weight:var(--fw-bold);letter-spacing:.06em;color:var(--text-faint)}.sim-log-args{color:var(--text);white-space:pre-wrap;word-break:break-word}.sim-log-warn{border-left-color:var(--warn);background:#f59e0b0d}.sim-log-warn .sim-log-level{color:var(--warn)}.sim-log-error{border-left-color:var(--danger);background:#f871710d}.sim-log-error .sim-log-level{color:var(--danger)}.sim-log-error .sim-log-args{color:#fca5a5}.sim-log-info{border-left-color:var(--info);background:#60a5fa0d}.sim-log-info .sim-log-level{color:var(--info)}.json-viewer-wrap{font-family:ui-monospace,SF Mono,JetBrains Mono,monospace;font-size:12px;background:var(--bg-2)}.json-viewer-wrap .w-rjv{background:transparent!important;color:var(--text)!important}.json-viewer-wrap .w-rjv-line{--w-rjv-color-string: #86EFAC;--w-rjv-color-number: #FCD34D;--w-rjv-color-boolean: #93C5FD;--w-rjv-color-null: #F87171;--w-rjv-color-key: #C4B5FD;--w-rjv-color-bracket: var(--text-faint)}.json-viewer-wrap .w-rjv-arrow{color:var(--text-faint)!important}.json-viewer-wrap .w-rjv-key,.json-viewer-wrap .w-rjv-object-key{color:#c4b5fd!important}.json-viewer-wrap .w-rjv-string{color:#86efac!important}.json-viewer-wrap .w-rjv-number{color:#fcd34d!important}.json-viewer-wrap .w-rjv-boolean{color:#93c5fd!important}.json-viewer-wrap .w-rjv-null{color:#f87171!important}.json-viewer-wrap .w-rjv-copied,.json-viewer-wrap .w-rjv-copy{color:var(--text-faint)!important}.json-viewer-wrap .w-rjv-copy:hover{color:var(--env)!important}.tag{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-cap);padding:2px 8px;border-radius:4px;background:var(--bg-3);color:var(--text-mute);border:1px solid var(--line);font-weight:var(--fw-medium);height:20px;line-height:1}.tag.env{background:var(--env-soft);border-color:var(--env-line);color:var(--env)}.tag.green{background:#22c55e1f;color:#86efac;border-color:#22c55e4d}.tag.amber{background:#f59e0b1f;color:#fcd34d;border-color:#f59e0b4d}.tag.red{background:#f871711f;color:#fca5a5;border-color:#f871714d}.tag.blue{background:#60a5fa1f;color:#93c5fd;border-color:#60a5fa4d}.tag.violet{background:#a78bfa1f;color:#c4b5fd;border-color:#a78bfa4d}.flow-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.flow-card .flow-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid transparent;transition:background var(--motion-fast)}.flow-card.open .flow-head{border-bottom-color:var(--line)}.flow-card .flow-head-toggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:transparent;border:none;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.flow-card .flow-head:hover{background:var(--bg-3)}.flow-card .flow-head-id{margin-left:auto;flex-shrink:0}.flow-card .flow-chev{color:var(--text-faint);transition:transform var(--motion-fast)}.flow-card.open .flow-chev{transform:rotate(90deg);color:var(--env)}.step-timeline{list-style:none;margin:0;padding:16px 16px 18px;display:grid;gap:8px}.step-row{display:grid;grid-template-columns:36px 1fr;align-items:stretch}.step-rail{position:relative;display:flex;justify-content:center;padding-top:8px}.step-rail:before{content:"";position:absolute;left:50%;top:32px;bottom:-8px;width:1px;background:var(--line-strong);transform:translate(-50%)}.step-row.is-last .step-rail:before{display:none}.step-marker{width:26px;height:26px;border-radius:99px;display:grid;place-items:center;font-family:ui-monospace,monospace;font-size:11px;font-weight:var(--fw-semi);color:var(--text);background:var(--bg-3);border:1px solid var(--line-strong);position:relative;z-index:1;font-variant-numeric:tabular-nums}.step-marker.api{color:var(--accent);border-color:#22c55e66;background:#22c55e1a}.step-marker.form{color:var(--info);border-color:#60a5fa66;background:#60a5fa1a}.step-marker.cond{color:var(--warn);border-color:#f59e0b66;background:#f59e0b1a}.step-marker.start{color:var(--accent);border-color:var(--accent);background:#22c55e2e;box-shadow:0 0 0 3px #22c55e1a}.step-marker.end{color:var(--text-faint);border-color:var(--line-strong);background:var(--bg-3)}.step-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.step-card.open{border-color:var(--line-strong)}.step-card.open.api{border-color:#22c55e66;box-shadow:0 0 0 1px #22c55e14}.step-card.open.form{border-color:#60a5fa66;box-shadow:0 0 0 1px #60a5fa14}.step-card.open.cond{border-color:#f59e0b66;box-shadow:0 0 0 1px #f59e0b14}.step-card .step-summary{cursor:pointer;padding:var(--space-3) var(--space-4);background:transparent;border:none;width:100%;text-align:left;display:flex;flex-direction:column;gap:var(--space-2)}.step-summary-head{display:flex;align-items:center;gap:var(--space-3);width:100%}.step-summary-head .step-name{flex:1;min-width:0}.step-summary-head .step-chev{margin-left:auto;flex-shrink:0}.step-summary-api{display:flex;align-items:flex-start;gap:var(--space-2);padding-left:calc(40px + var(--space-3));font-family:ui-monospace,monospace;font-size:var(--t-sm);line-height:1.45;word-break:break-all}.step-verb{font-weight:var(--fw-bold);font-size:10px;letter-spacing:.06em;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-3);color:var(--text-mute);flex-shrink:0;line-height:1.4;text-transform:uppercase}.step-verb.get{color:var(--info);background:#60a5fa1f;border-color:#60a5fa4d}.step-verb.post{color:var(--accent);background:#22c55e1f;border-color:#22c55e4d}.step-verb.put{color:var(--warn);background:#f59e0b1f;border-color:#f59e0b4d}.step-verb.patch{color:#c4b5fd;background:#a78bfa1f;border-color:#a78bfa4d}.step-verb.delete{color:var(--danger);background:#f871711f;border-color:#f871714d}html[data-theme=light] .step-verb.get{color:#1e40af;background:#1d4ed81a;border-color:#1d4ed84d}html[data-theme=light] .step-verb.post{color:#166534;background:#16a34a1a;border-color:#16a34a4d}html[data-theme=light] .step-verb.put{color:#92400e;background:#b453091a;border-color:#b453094d}html[data-theme=light] .step-verb.patch{color:#5b21b6;background:#6d28d91a;border-color:#6d28d94d}html[data-theme=light] .step-verb.delete{color:#991b1b;background:#b91c1c1a;border-color:#b91c1c4d}.step-url{color:var(--text-mute);word-break:break-all;white-space:normal;overflow-wrap:anywhere}.step-card .step-summary:hover{background:var(--bg-2)}.step-pill{font-family:ui-monospace,monospace;font-size:10px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:4px;background:var(--bg-3);color:var(--text-mute);border:1px solid var(--line);white-space:nowrap;line-height:1}.step-pill.api{color:var(--accent);background:#22c55e1f;border-color:#22c55e4d}.step-pill.form{color:var(--info);background:#60a5fa1f;border-color:#60a5fa4d}.step-pill.cond{color:var(--warn);background:#f59e0b1f;border-color:#f59e0b4d}.step-pill.start{color:var(--accent);background:#22c55e1f;border-color:#22c55e4d}.step-name{font-size:var(--t-md);font-weight:var(--fw-medium);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-summary-text{color:var(--text-faint);font-size:var(--t-sm);font-family:ui-monospace,monospace;padding-left:calc(40px + var(--space-3));word-break:break-word;overflow-wrap:anywhere}.step-chev{color:var(--text-faint);transition:transform var(--motion-fast);flex-shrink:0}.step-card.open .step-chev{transform:rotate(180deg);color:var(--env)}.step-detail{padding:12px 14px 14px;border-top:1px solid var(--line);background:var(--bg-0);display:flex;flex-direction:column;gap:10px}.cert-tab{display:flex;flex-direction:column;gap:var(--space-3)}.cert-aside-counts{display:inline-flex;align-items:baseline;gap:8px;margin-left:8px}.cert-aside-count{display:inline-flex;align-items:baseline;gap:4px;color:var(--text-mute)}.cert-aside-count>strong{font-family:ui-monospace,monospace;font-size:12px;font-weight:var(--fw-semi);color:var(--text);font-variant-numeric:tabular-nums}.cert-aside-count.amber>strong{color:var(--warn)}.cert-aside-count-label{font-size:9px;font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:lowercase;color:var(--text-faint)}.cert-workspace{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(280px,340px);gap:var(--space-3);align-items:stretch;min-height:900px;height:clamp(900px,calc(100vh - 140px),1500px);transition:height var(--motion-fast),min-height var(--motion-fast)}.cert-workspace.list-collapsed{grid-template-columns:36px minmax(0,1fr) minmax(280px,340px)}.cert-workspace.meta-collapsed{grid-template-columns:minmax(220px,280px) minmax(0,1fr) 36px}.cert-workspace.list-collapsed.meta-collapsed{grid-template-columns:36px minmax(0,1fr) 36px}.cert-workspace.is-focused{min-height:1200px;height:clamp(1200px,calc(100vh - 40px),1900px);grid-template-columns:minmax(180px,220px) minmax(0,1fr) minmax(280px,340px)}.cert-workspace.is-focused.list-collapsed{grid-template-columns:36px minmax(0,1fr) minmax(280px,340px)}.cert-workspace.is-focused.meta-collapsed{grid-template-columns:minmax(180px,220px) minmax(0,1fr) 36px}.cert-workspace.is-focused.list-collapsed.meta-collapsed{grid-template-columns:36px minmax(0,1fr) 36px}@media (max-width: 1100px){.cert-workspace{grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(260px,300px)}}@media (max-width: 860px){.cert-workspace,.cert-workspace.list-collapsed,.cert-workspace.meta-collapsed,.cert-workspace.list-collapsed.meta-collapsed{grid-template-columns:1fr;height:auto}}.cert-aside{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-1);overflow:hidden;transition:background var(--motion-fast)}.cert-aside.is-collapsed{background:var(--bg-2);align-items:stretch;justify-content:stretch}.cert-aside-head{display:flex;align-items:center;gap:6px;padding:8px 10px 8px 12px;border-bottom:1px solid var(--line);background:var(--bg-1);flex-shrink:0}.cert-aside-title{font-size:10px;font-weight:var(--fw-semi);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.cert-aside-toggle{width:24px;height:24px;display:grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-mute);cursor:pointer;padding:0;transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast)}.cert-aside-toggle:hover{color:var(--text);background:var(--bg-2);border-color:var(--line)}.cert-aside-toggle:focus-visible{outline:2px solid var(--env);outline-offset:1px}.cert-aside-collapsed-btn{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px 4px;gap:12px;background:transparent;border:none;cursor:pointer;color:var(--text-mute);transition:color var(--motion-fast),background var(--motion-fast)}.cert-aside-collapsed-btn:hover{color:var(--text);background:var(--bg-3)}.cert-aside-collapsed-btn:focus-visible{outline:2px solid var(--env);outline-offset:-2px}.cert-aside-collapsed-label{font-size:10px;font-weight:var(--fw-semi);letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.cert-aside-right .cert-aside-head{padding:8px 12px 8px 10px}.cert-list{display:flex;flex-direction:column;gap:2px;padding:6px;flex:1;min-height:0;overflow-y:auto}.cert-list-item{position:relative;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius);padding:8px 10px 8px 14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;color:var(--text);transition:background var(--motion-fast),color var(--motion-fast)}.cert-list-item:before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--env);opacity:0;transition:opacity var(--motion-fast)}.cert-list-item:hover,.cert-list-item.active{background:var(--bg-2)}.cert-list-item.active:before{opacity:1}.cert-list-item.active .cert-list-title{color:var(--text);font-weight:var(--fw-semi)}.cert-list-item.orphan .cert-list-title{color:var(--text-mute)}.cert-list-item:focus-visible{outline:2px solid var(--env);outline-offset:1px}.cert-list-title{font-size:13px;font-weight:var(--fw-medium);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.cert-list-meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.cert-list-ext{font-size:9px;font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:.08em;padding:1px 5px;border-radius:3px;background:var(--bg-3);color:var(--text-mute);border:1px solid var(--line);line-height:1.4}.cert-center{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-1);overflow:hidden}.cert-center-head{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);background:var(--bg-1);flex-shrink:0}.cert-center-body{flex:1;min-height:0;display:flex;flex-direction:column}.cert-center-body>.doc-preview{flex:1;min-height:0;border:none;border-radius:0;background:var(--bg-1)}.cert-center-body>.doc-preview>.doc-preview-frame{flex:1;height:auto;min-height:800px}.cert-workspace.is-focused .cert-center-body>.doc-preview>.doc-preview-frame{min-height:1100px}.cert-center-empty{flex:1;display:grid;place-items:center;padding:var(--space-5);color:var(--text-faint)}.cert-meta-body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.cert-center-divider{width:1px;height:18px;background:var(--line);margin:0 4px;flex-shrink:0}.cert-focus-iconbtn{width:28px;height:28px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-mute);cursor:pointer;padding:0;flex-shrink:0;transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast)}.cert-focus-iconbtn:hover{color:var(--text);background:var(--bg-2);border-color:var(--line-strong)}.cert-focus-iconbtn.is-on{color:var(--info);background:#60a5fa1f;border-color:#60a5fa66}.cert-focus-iconbtn.is-on:hover{background:#60a5fa33;border-color:#60a5fa8c}html[data-theme=light] .cert-focus-iconbtn.is-on{color:#1e40af;background:#1d4ed81a;border-color:#1d4ed866}.cert-focus-iconbtn:focus-visible{outline:2px solid var(--env);outline-offset:1px}.btn.cert-action-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn.cert-action-btn>svg{flex-shrink:0}.cert-save-toast{display:inline-flex;align-items:center;gap:6px}.cert-save-bar{display:flex;align-items:center;gap:var(--space-3);padding:6px 10px;border-top:1px solid var(--line);background:var(--bg-1);flex-shrink:0}.cert-save-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:var(--fw-medium);letter-spacing:.04em;color:var(--text-mute)}.cert-save-status-dot{width:8px;height:8px;border-radius:999px;background:var(--text-faint);flex-shrink:0;transition:background var(--motion-fast),box-shadow var(--motion-fast)}.cert-save-status.is-modified{color:var(--warn)}.cert-save-status.is-modified .cert-save-status-dot{background:var(--warn);box-shadow:0 0 0 3px #f59e0b2e}.save-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0000008c;display:grid;place-items:center;padding:var(--space-4);animation:save-confirm-fade var(--motion-fast) ease-out}@keyframes save-confirm-fade{0%{opacity:0}to{opacity:1}}.save-confirm-card{width:100%;max-width:460px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.save-confirm-head{display:flex;align-items:center}.save-confirm-title{margin:0;font-size:16px;font-weight:var(--fw-semi);letter-spacing:-.01em;color:var(--text)}.save-confirm-desc{font-size:12px;line-height:1.55;color:var(--text-mute)}.save-confirm-desc code{background:var(--bg-2);border:1px solid var(--line);border-radius:3px;padding:1px 5px;font-size:11px}.save-confirm-form{display:flex;flex-direction:column;gap:8px}.save-confirm-label{font-size:12px;color:var(--text)}.save-confirm-phrase{background:var(--bg-3);border:1px solid var(--line-strong);border-radius:3px;padding:1px 6px;font-weight:var(--fw-semi);color:var(--text)}.save-confirm-input{width:100%;height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-0);color:var(--text);font-size:13px}.save-confirm-input:focus{outline:none;border-color:var(--env);box-shadow:0 0 0 2px #60a5fa2e}.save-confirm-error{margin:0;font-size:12px;color:var(--danger);background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:var(--radius);padding:6px 10px;line-height:1.4}.save-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:var(--space-2)}.cert-save-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:900;padding:8px 14px;background:var(--bg-1);border:1px solid rgba(34,197,94,.5);border-radius:999px;color:var(--accent);font-size:12px;font-weight:var(--fw-medium);box-shadow:var(--shadow-md);animation:save-toast-in var(--motion-fast) ease-out}@keyframes save-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.cert-save-toast.cert-download-error{border-color:#ef44448c;color:var(--danger, #ef4444)}.btn.cert-edit-active{background:#22c55e24;border-color:#22c55e80;color:var(--accent);font-weight:var(--fw-semi)}.btn.cert-edit-active:hover{background:#22c55e38;border-color:#22c55ea6}html[data-theme=light] .btn.cert-edit-active{color:#166534;background:#16a34a1a;border-color:#16a34a73}html[data-theme=light] .btn.cert-edit-active:hover{background:#16a34a29;border-color:#16a34a99}.cert-detail-eyebrow{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.cert-detail-eyebrow-type{font-size:9px;font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-family:ui-monospace,monospace}.cert-detail-title{margin:0;font-size:18px;font-weight:var(--fw-semi);line-height:1.2;letter-spacing:-.01em;color:var(--text)}.cert-info{display:grid;grid-template-columns:minmax(80px,110px) 1fr;gap:8px var(--space-4);margin:0;padding:var(--space-3) var(--space-4);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);font-size:12px}.cert-info dt{font-size:10px;font-weight:var(--fw-semi);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);align-self:center;padding-top:2px}.cert-info dd{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;align-self:center;color:var(--text)}.cert-info-strong{font-size:13px;font-weight:var(--fw-medium);color:var(--text);word-break:break-all;line-height:1.4}.cert-info-tags{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.cert-info-metadata{font-size:11px;color:var(--text-mute);word-break:break-all}.cert-meta-count{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:0;background:var(--bg-3);border:1px solid var(--line);border-radius:999px;padding:1px 6px;color:var(--text-mute);font-variant-numeric:tabular-nums}.cert-thumb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cert-thumb-item{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius)}.doc-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;background:var(--bg-0)}.doc-modal-head{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--bg-1);flex-shrink:0}.doc-modal-title{font-size:var(--t-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.doc-modal-frame{flex:1;width:100%;border:none;background:var(--bg-0);display:block}.doc-preview{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--motion-fast)}.doc-preview.is-edit{border-color:#22c55e73}.doc-preview-head{display:flex;align-items:center;gap:8px;padding:5px 10px;background:var(--bg-1);border-bottom:1px solid var(--line);min-height:30px}.doc-preview-dot{width:6px;height:6px;border-radius:999px;background:var(--info);box-shadow:0 0 0 2px #60a5fa2e;flex-shrink:0;transition:background var(--motion-fast),box-shadow var(--motion-fast)}.doc-preview-dot.is-edit{background:var(--accent);box-shadow:0 0 0 2px #22c55e38}.doc-preview-label{font-size:10px;font-weight:var(--fw-semi);letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute)}.doc-preview-iconbtn{width:24px;height:24px;display:grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-mute);cursor:pointer;padding:0;transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast)}.doc-preview-iconbtn:hover{color:var(--text);background:var(--bg-2);border-color:var(--line)}.doc-preview-iconbtn:focus-visible{outline:2px solid var(--env);outline-offset:1px}.doc-preview-frame{width:100%;height:clamp(420px,55vh,700px);border:none;background:var(--bg-0);display:block}.cert-meta{display:flex;flex-direction:column;gap:var(--space-5)}.cert-meta-section{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.cert-meta-title{margin:0;font-size:10px;font-weight:var(--fw-semi);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);display:flex;align-items:center;gap:6px;padding-bottom:4px;border-bottom:1px solid var(--line)}.cert-meta-count{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:0;background:var(--bg-3);border:1px solid var(--line);border-radius:999px;padding:1px 6px;color:var(--text-mute)}.cert-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media (max-width: 760px){.cert-meta-grid{grid-template-columns:1fr}}.cert-meta-label{font-size:10px;font-weight:var(--fw-semi);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.cert-meta-dl{display:grid;grid-template-columns:minmax(90px,auto) 1fr;gap:6px var(--space-3);margin:0;font-size:var(--t-sm)}.cert-meta-dl dt{font-family:ui-monospace,monospace;color:var(--text-faint);font-size:11px;align-self:center}.cert-meta-dl dd{margin:0;color:var(--text);align-self:center;min-width:0;overflow:hidden;text-overflow:ellipsis}.cert-meta-metadata{font-family:ui-monospace,monospace;font-size:11px;color:var(--text-mute);word-break:break-all}.cert-file-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.cert-file-name{font-size:var(--t-md);font-weight:var(--fw-medium);word-break:break-all;line-height:1.4;color:var(--text)}.cert-file-s3{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.flow-graph-wrap{display:flex;align-items:flex-start;gap:var(--space-4);width:100%}.flow-canvas{position:relative;width:100%;height:clamp(420px,65vh,720px);background:var(--bg-0);border-top:1px solid var(--line)}.flow-canvas .react-flow__attribution{display:none}.flow-canvas .react-flow__controls{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);top:8px;right:8px;bottom:auto;left:auto;display:flex;flex-direction:row;gap:0}.flow-canvas .react-flow__controls-button{background:var(--bg-1);border-right:1px solid var(--line);border-bottom:none;color:var(--text);fill:currentColor;width:26px;height:26px}.flow-canvas .react-flow__controls-button:last-child{border-right:none}.flow-canvas .react-flow__controls-button:hover{background:var(--bg-2)}.flow-canvas .react-flow__minimap{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.flow-node{width:300px;min-height:110px;padding:10px 12px;border-radius:var(--radius-lg);background:var(--bg-1);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px;cursor:pointer;position:relative;transition:border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast);box-sizing:border-box;overflow:visible}.flow-node:hover{border-color:var(--line-strong);transform:translateY(-1px)}.flow-node.api{border-color:#22c55e66}.flow-node.form{border-color:#60a5fa66}.flow-node.cond{border-color:#f59e0b66}.flow-node.start{border-color:var(--accent);box-shadow:0 0 0 3px #22c55e1a,var(--shadow-sm)}.flow-node.end{border-color:var(--line-strong)}.flow-node.selected{border-color:var(--env);box-shadow:0 0 0 2px var(--env),var(--shadow-md)}.flow-node-head{display:flex;align-items:center;gap:var(--space-2);min-width:0}.flow-node-name{font-size:var(--t-md);font-weight:var(--fw-medium);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.flow-node-id{flex-shrink:0;display:inline-flex;align-items:center;opacity:.6;transition:opacity var(--motion-fast)}.flow-node:hover .flow-node-id{opacity:1}.flow-node-copy{flex-shrink:0;background:transparent;border:1px solid transparent;border-radius:4px;width:22px;height:22px;display:grid;place-items:center;cursor:pointer;color:var(--text-faint);opacity:.6;transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast),opacity var(--motion-fast);padding:0;line-height:0}.flow-node-copy:hover{color:var(--text);background:var(--bg-2);border-color:var(--line)}.flow-node:hover .flow-node-copy{opacity:1}.flow-node.is-fallback .flow-node-name{font-family:ui-monospace,monospace;font-size:11px;color:var(--text-mute);font-weight:var(--fw-medium);font-style:normal}.flow-node-sub{display:flex;align-items:center;gap:4px;font-size:11px;line-height:1.35;color:var(--text-mute);min-width:0}.flow-node-sub-arrow{color:var(--text-faint);flex-shrink:0;font-family:ui-monospace,monospace}.flow-node-sub-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-style:italic}.flow-node-api{display:flex;align-items:center;gap:6px;font-family:ui-monospace,monospace;font-size:11px;line-height:1.4;min-width:0}.flow-node-url{color:var(--text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.flow-node-meta{display:flex;flex-wrap:wrap;gap:4px}.flow-node-chip{font-family:ui-monospace,monospace;font-size:10px;font-weight:var(--fw-medium);letter-spacing:.03em;padding:2px 6px;border-radius:4px;background:var(--bg-2);border:1px solid var(--line);color:var(--text-mute);line-height:1.3;white-space:nowrap}.flow-node-chip.is-mapper{color:#c4b5fd;background:#a78bfa1f;border-color:#a78bfa4d}html[data-theme=light] .flow-node-chip.is-mapper{color:#5b21b6;background:#6d28d91a;border-color:#6d28d952}.flow-node-fan{display:flex;gap:8px;font-family:ui-monospace,monospace;font-size:10px;color:var(--text-mute);font-variant-numeric:tabular-nums}.flow-node-fan-arrow{color:var(--text-faint);margin-right:2px}.flow-node-expr{font-size:11px;line-height:1.4;color:var(--warn);background:#f59e0b0f;border:1px solid rgba(245,158,11,.2);border-radius:4px;padding:4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.flow-node-session{display:flex;align-items:center;gap:4px;font-size:11px;line-height:1.4;color:var(--accent);min-width:0}.flow-node-session-arrow{color:var(--text-faint);flex-shrink:0}.flow-node-session-var{font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.flow-node-description{font-size:11px;line-height:1.4;color:var(--text-mute);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.flow-node-badge{position:absolute;top:-8px;right:10px;font-family:ui-monospace,monospace;font-size:9px;font-weight:var(--fw-bold);letter-spacing:.08em;padding:2px 6px;border-radius:4px;background:var(--bg-1);border:1px solid var(--line-strong);color:var(--text-mute);line-height:1}.flow-node-badge.start{color:var(--accent);border-color:#22c55e80;background:#22c55e1f}.flow-node-badge.end{color:var(--text-faint)}.flow-node-badge.off{color:var(--danger);border-color:#f8717180;background:#f871711f;top:auto;bottom:-8px;right:10px}.flow-node-handle{width:8px!important;height:8px!important;background:var(--bg-3)!important;border:1px solid var(--line-strong)!important}.flow-node.api .flow-node-handle{border-color:#22c55e8c!important}.flow-node.form .flow-node-handle{border-color:#60a5fa8c!important}.flow-node.cond .flow-node-handle{border-color:#f59e0b8c!important}.flow-node.start .flow-node-handle{background:var(--accent)!important;border-color:var(--accent)!important}.flow-drawer{position:sticky;top:var(--space-3);align-self:flex-start;width:clamp(360px,32vw,520px);max-height:calc(100vh - var(--space-6));background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.flow-drawer.api{border-color:#22c55e66}.flow-drawer.form{border-color:#60a5fa66}.flow-drawer.cond{border-color:#f59e0b66}.flow-drawer-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);background:var(--bg-2)}.flow-drawer-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-md)}.flow-drawer-close{background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);width:28px;height:28px;display:grid;place-items:center;cursor:pointer;color:var(--text-mute);transition:color var(--motion-fast),border-color var(--motion-fast)}.flow-drawer-close:hover{color:var(--text);border-color:var(--line-strong)}.flow-drawer-body{padding:var(--space-3) var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}@media (max-width: 1100px){.flow-graph-wrap{flex-direction:column}.flow-drawer{position:static;width:100%;max-height:none}}.ps-wrap{position:relative}.ps-input{width:280px;max-width:100%;font-family:ui-monospace,SF Mono,monospace;text-transform:uppercase;letter-spacing:.04em;height:32px;padding:0 10px}.env-card .ps-wrap{flex:1;min-width:200px}.env-card .ps-input{width:100%}.sd-input{text-transform:none;letter-spacing:normal}.topbar .sd-wrap{flex:0 0 auto}.topbar .sd-input{width:170px}.cp-subdomain{flex:1;min-width:140px}.cp-subdomain .ps-input{width:100%}.pm-subdomain{flex:0 0 auto}.pm-subdomain .ps-input{width:200px}.ps-pop{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;min-width:380px;max-height:360px;display:flex;flex-direction:column}.ps-pop ul{list-style:none;margin:0;padding:4px 0;overflow:auto;flex:1}.ps-pop li{display:grid;grid-template-columns:minmax(120px,180px) 1fr auto auto;gap:12px;align-items:center;padding:6px 12px;cursor:pointer;font-size:12px}.ps-pop li.active,.ps-pop li:hover{background:var(--env-soft)}.ps-code{font-family:ui-monospace,monospace;font-weight:var(--fw-semi);color:var(--text);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ps-pop li.active .ps-code{color:var(--env)}.ps-desc{color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-tenant{color:var(--text-faint);font-size:11px;white-space:nowrap}.ps-picked-caption{margin-top:4px;padding:0 4px;font-size:11px;color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.ps-empty{padding:14px;color:var(--text-mute);font-size:12px;text-align:center}.ps-foot{border-top:1px solid var(--line);padding:6px 12px;font-size:10px;color:var(--text-faint);display:flex;align-items:center;gap:4px}.ps-foot .kbd{font-size:9px;padding:1px 4px}.files-group{border-bottom:1px solid var(--line)}.files-group summary{list-style:none;cursor:pointer;padding:8px 12px;display:flex;align-items:center;gap:6px;background:var(--bg-2);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:var(--fw-medium)}.files-group summary::-webkit-details-marker{display:none}.files-group summary:before{content:"›";color:var(--text-faint);display:inline-block;width:10px;transition:transform var(--motion-fast)}.files-group[open] summary:before{transform:rotate(90deg)}.files-group summary:hover{color:var(--text)}.files-group-label{font-weight:var(--fw-semi);color:var(--text-mute)}.files-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:8px;padding:5px 12px;cursor:pointer;border-left:3px solid transparent;transition:background var(--motion-fast)}.files-row:hover{background:var(--bg-2)}.files-row.active{background:var(--env-soft);border-left-color:var(--env)}.files-kind{font-family:ui-monospace,monospace;font-size:9px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;padding:2px 5px;border-radius:3px;background:var(--bg-3);color:var(--text-faint);text-align:center;border:1px solid var(--line);line-height:1}.files-kind.kind-agent{color:var(--accent);border-color:#22c55e4d;background:#22c55e1a}.files-kind.kind-sub-agent{color:var(--accent);border-color:#22c55e33;background:transparent}.files-kind.kind-doc{color:var(--info);border-color:#60a5fa40;background:#60a5fa14}.files-kind.kind-sql,.files-kind.kind-yaml{color:var(--warn);border-color:#f59e0b40;background:#f59e0b14}.files-kind.kind-json{color:#c4b5fd;border-color:#a78bfa40;background:#a78bfa14}.files-kind.kind-diagram{color:var(--danger);border-color:#f8717140;background:#f8717114}.files-kind.kind-code{color:var(--text-mute)}.files-name{font-family:ui-monospace,monospace;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-row.active .files-name{color:var(--env)}.files-size{font-size:10px;font-variant-numeric:tabular-nums}.diff-table{table-layout:fixed}.diff-table th,.diff-table td{vertical-align:top;word-break:break-word}.diff-table td .json-viewer-wrap{max-height:240px;overflow:auto}.diff-table td pre.raw{margin:0;white-space:pre-wrap;word-break:break-word}.diff-table .diff-path{font-size:11px;color:var(--text-mute);padding-top:6px}.diff-table .diff-removed,.diff-table .diff-added{display:inline-block;font-family:ui-monospace,SF Mono,JetBrains Mono,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:12px;padding:2px 8px;border-radius:4px;border:1px solid transparent;max-width:100%;word-break:break-word;white-space:pre-wrap}.diff-table .diff-removed{background:#f871711f;color:#fca5a5;border-color:#f8717152}.diff-table .diff-added{background:#22c55e1f;color:#86efac;border-color:#22c55e52}.diff-table .diff-removed em,.diff-table .diff-added em{font-style:italic;opacity:.8}.diff-table .diff-empty{color:var(--text-faint);font-size:12px;font-family:ui-monospace,SF Mono,monospace}html[data-theme=light] .diff-table .diff-removed{background:#b91c1c1a;color:#991b1b;border-color:#b91c1c52}html[data-theme=light] .diff-table .diff-added{background:#16a34a1a;color:#166534;border-color:#16a34a52}.diff-table td.diff-smart-cell{padding:0;background:transparent}.smart-diff{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius)}.smart-diff-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-sm)}.smart-diff-head .spacer{flex:1}.smart-section{padding:0}.smart-section>summary{cursor:pointer;font-size:var(--t-sm);display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0}.smart-section>summary::-webkit-details-marker{display:none}.smart-section>summary:before{content:"▸";display:inline-block;font-size:9px;color:var(--text-faint);width:10px;transition:transform var(--motion-fast)}.smart-section[open]>summary:before{transform:rotate(90deg)}.node-list,.edge-list,.api-method-list{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:6px}.node-item{border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;background:var(--bg-2)}.node-item.added{border-color:#22c55e66;background:#22c55e0d}.node-item.removed{border-color:#f8717166;background:#f871710d}.node-item.modified{border-color:#f59e0b66;background:#f59e0b0d}.node-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-right:var(--space-2)}.node-item.added .node-status-dot{background:#22c55e}.node-item.removed .node-status-dot{background:#f87171}.node-item.modified .node-status-dot{background:#f59e0b}html[data-theme=light] .node-item.added{background:#16a34a0f;border-color:#16a34a66}html[data-theme=light] .node-item.removed{background:#b91c1c0f;border-color:#b91c1c66}html[data-theme=light] .node-item.modified{background:#b453090f;border-color:#b4530966}html[data-theme=light] .node-item.added .node-status-dot{background:#16a34a}html[data-theme=light] .node-item.removed .node-status-dot{background:#dc2626}html[data-theme=light] .node-item.modified .node-status-dot{background:#d97706}.node-head{display:flex;align-items:center;gap:8px;font-size:var(--t-base)}.inner-diff{margin-top:8px;font-size:12px}.inner-diff td{padding:4px 8px}.edge-item{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);padding:4px 8px;background:var(--bg-2);border-radius:var(--radius)}.edge-item code{background:var(--bg-3);padding:1px 6px;border-radius:3px;font-size:11px}.edge-item.added{border-color:#22c55e66;background:#22c55e0d}.edge-item.removed{border-color:#f8717166;background:#f871710d}html[data-theme=light] .edge-item.added{border-color:#16a34a66;background:#16a34a0f}html[data-theme=light] .edge-item.removed{border-color:#b91c1c66;background:#b91c1c0f}.edge-item.removed code{text-decoration:line-through;opacity:.8}.api-method-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius)}.api-method-item.added{border-color:#22c55e66;background:#22c55e0d}.api-method-item.removed{border-color:#f8717166;background:#f871710d}.api-method-item.modified{border-color:#f59e0b66;background:#f59e0b0d}html[data-theme=light] .api-method-item.added{border-color:#16a34a66;background:#16a34a0f}html[data-theme=light] .api-method-item.removed{border-color:#b91c1c66;background:#b91c1c0f}html[data-theme=light] .api-method-item.modified{border-color:#b4530966;background:#b453090f}.api-url{font-size:11px;background:var(--bg-3);padding:2px 6px;border-radius:3px;word-break:break-all;flex:1;min-width:0}.api-url.old{text-decoration:line-through;opacity:.7}.api-method-prev{width:100%;display:flex;align-items:center;gap:8px;padding-top:6px;margin-top:4px;border-top:1px dashed var(--line)}.smart-api-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-sm);padding:4px 0}.diff-table .diff-path .diff-hint{display:inline-block;margin-left:8px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:1px 5px;border:1px solid var(--line);border-radius:3px;vertical-align:middle}.image-cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:6px 8px;border-radius:6px;border:1px solid;max-width:100%}.image-cell.diff-removed{border-color:#f8717152;background:#f871710f}.image-cell.diff-added{border-color:#22c55e52;background:#22c55e0f}.image-cell img{max-width:200px;max-height:120px;border-radius:4px;background:var(--bg-3);object-fit:contain}.image-cell a{font-family:ui-monospace,monospace;font-size:10px;word-break:break-all;color:inherit;opacity:.8}.url-cell{display:inline-block;font-family:ui-monospace,monospace;font-size:11px;word-break:break-all;text-decoration:none}.url-cell:hover{text-decoration:underline}.bool-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:12px;font-family:ui-monospace,monospace;font-size:11px;font-weight:var(--fw-semi)}.bool-pill .bool-glyph{font-weight:var(--fw-bold)}.bool-pill.off{opacity:.85}.timestamp-cell{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:4px 8px;border-radius:4px}.timestamp-cell .ts-abs{font-family:ui-monospace,monospace;font-size:11px;font-weight:var(--fw-semi)}.timestamp-cell .ts-rel{font-size:10px}.uuid-cell{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;font-family:ui-monospace,monospace;font-size:11px;cursor:help}.number-cell{font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace}.smart-text .text-panes,.smart-code .code-panes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.text-pane,.code-pane{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-2)}.text-pane.removed,.code-pane.removed{border-color:#f8717152;background:#f871710a}.text-pane.added,.code-pane.added{border-color:#22c55e52;background:#22c55e0a}.text-pane .pane-head,.code-pane .pane-head{padding:6px 10px;border-bottom:1px solid var(--line);background:var(--bg-1)}.text-pane pre{margin:0;padding:10px 12px;font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;font-family:ui-monospace,SF Mono,monospace}.code-pane .cm-editor{border:none}.code-pane .cm-scroller{padding:4px 0}.tag-cloud{display:flex;flex-wrap:wrap;gap:4px 6px}.tag-cloud .diff-removed,.tag-cloud .diff-added,.tag-cloud .tag{font-size:11px}.object-array-list{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:4px}.object-array-list li{padding:6px 10px;border:1px solid var(--line);border-radius:4px;background:var(--bg-2);font-size:11px}.object-array-list li.oa-added{border-color:#22c55e66;background:#22c55e0d}.object-array-list li.oa-removed{border-color:#f8717166;background:#f871710d;text-decoration:line-through;opacity:.8}html[data-theme=light] .object-array-list li.oa-added{border-color:#16a34a66;background:#16a34a0f}html[data-theme=light] .object-array-list li.oa-removed{border-color:#b91c1c66;background:#b91c1c0f}html[data-theme=light] .object-array-list li.oa-modified{border-color:#b4530966;background:#b453090f}.oa-modified-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.oa-modified-item{border:1px solid var(--line);border-color:#f59e0b66;background:#f59e0b0d;border-radius:4px;padding:8px 10px}.oa-modified-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.object-summary{display:inline-flex;flex-wrap:wrap;gap:2px 4px;align-items:baseline}.flow-tally{display:flex;flex-wrap:wrap;gap:4px 6px;padding:4px 0 0;font-size:11px}html[data-theme=light] .image-cell.diff-removed{background:#b91c1c0d;border-color:#b91c1c52}html[data-theme=light] .image-cell.diff-added{background:#16a34a0d;border-color:#16a34a52}html[data-theme=light] .text-pane.removed,html[data-theme=light] .code-pane.removed{background:#b91c1c0a;border-color:#b91c1c52}html[data-theme=light] .text-pane.added,html[data-theme=light] .code-pane.added{background:#16a34a0a;border-color:#16a34a52}html[data-theme=light] .oa-modified-item{border-color:#b4530966;background:#b453090f}html[data-theme=light] .diff-table .diff-path .diff-hint{color:var(--text-faint);border-color:var(--line)}.unified-diff{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-2);font-family:ui-monospace,SF Mono,JetBrains Mono,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:12px;line-height:1.55}.unified-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-1);border-bottom:1px solid var(--line)}.unified-diff>table{border-collapse:collapse;width:100%;display:block;max-height:500px;overflow:auto}.unified-diff td{padding:0 8px;vertical-align:top;white-space:pre-wrap;word-break:break-word}.unified-diff .u-num{width:44px;min-width:44px;text-align:right;color:var(--text-faint);-webkit-user-select:none;user-select:none;font-size:11px;border-right:1px solid var(--line);background:var(--bg-1);padding:0 6px}.unified-diff .u-mark{width:20px;min-width:20px;text-align:center;font-weight:var(--fw-bold);color:var(--text-faint);border-right:1px solid var(--line);background:var(--bg-1)}.unified-diff .u-content{width:100%;color:var(--text)}.u-line.u-rm{background:#f871711a}.u-line.u-rm .u-mark{color:#f87171}.u-line.u-rm .u-content{color:#fca5a5}.u-line.u-add{background:#22c55e1a}.u-line.u-add .u-mark{color:#22c55e}.u-line.u-add .u-content{color:#86efac}.u-line.u-eq .u-content{color:var(--text-mute)}.u-line.u-collapse{background:var(--bg-3);color:var(--text-faint)}.u-line.u-collapse .u-content{font-style:italic}.unified-too-big{padding:12px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--bg-1)}html[data-theme=light] .u-line.u-rm{background:#b91c1c14}html[data-theme=light] .u-line.u-add{background:#16a34a14}html[data-theme=light] .u-line.u-rm .u-mark{color:#991b1b}html[data-theme=light] .u-line.u-rm .u-content{color:#7f1d1d}html[data-theme=light] .u-line.u-add .u-mark{color:#166534}html[data-theme=light] .u-line.u-add .u-content{color:#14532d}.flow-map-wrap{margin-top:6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);overflow:hidden}.flow-map-svg{width:100%;max-height:520px;display:block;background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(255,255,255,.03) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.03) 39px 40px),var(--bg-2)}html[data-theme=light] .flow-map-svg{background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(0,0,0,.04) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(0,0,0,.04) 39px 40px),var(--bg-2)}.flow-map-svg .fm-edge{stroke:var(--line-strong);stroke-width:1.5;fill:none;color:var(--line-strong)}.flow-map-svg .fm-edge.fm-added{stroke:#22c55e;color:#22c55e}.flow-map-svg .fm-edge.fm-removed{stroke:#f87171;color:#f87171;stroke-dasharray:6 4}.flow-map-svg .fm-node-rect{stroke-width:1.5;stroke:var(--line-strong);fill:var(--bg-1)}.flow-map-svg .fm-node-kind{font-size:10px;font-family:ui-monospace,monospace;fill:var(--text-faint);text-transform:lowercase;letter-spacing:.04em}.flow-map-svg .fm-node-label{font-size:13px;font-weight:600;fill:var(--text)}.flow-map-svg .fm-node.fm-added .fm-node-rect{stroke:#22c55e;fill:#22c55e24}.flow-map-svg .fm-node.fm-removed .fm-node-rect{stroke:#f87171;fill:#f871711f;stroke-dasharray:6 4}.flow-map-svg .fm-node.fm-modified .fm-node-rect{stroke:#f59e0b;fill:#f59e0b1a}.flow-map-svg .fm-node.fm-unchanged .fm-node-rect{opacity:.55}.flow-map-svg .fm-node.fm-unchanged.fm-kind-screen .fm-node-rect{stroke:#60a5fa8c}.flow-map-svg .fm-node.fm-unchanged.fm-kind-api .fm-node-rect,.flow-map-svg .fm-node.fm-unchanged.fm-kind-start .fm-node-rect{stroke:#22c55e8c}.flow-map-svg .fm-node.fm-unchanged.fm-kind-end .fm-node-rect{stroke:#f871718c}.flow-map-svg .fm-node.fm-unchanged.fm-kind-next .fm-node-rect,.flow-map-svg .fm-node.fm-unchanged.fm-kind-previous .fm-node-rect{stroke:#f59e0b8c}.flow-map-svg .fm-node.fm-unchanged.fm-kind-localstorage .fm-node-rect{stroke:#a78bfa8c}.flow-map-legend{display:flex;gap:14px;padding:6px 10px;border-top:1px solid var(--line);background:var(--bg-1);font-size:11px;color:var(--text-mute)}.flow-map-legend .leg{display:inline-flex;align-items:center;gap:6px}.flow-map-legend .leg i{width:10px;height:10px;border-radius:2px;border:1.5px solid}.flow-map-legend .leg.added i{border-color:#22c55e;background:#22c55e24}.flow-map-legend .leg.removed i{border-color:#f87171;background:#f871711f;border-style:dashed}.flow-map-legend .leg.modified i{border-color:#f59e0b;background:#f59e0b1a}.flow-map-legend .leg.unchanged i{border-color:var(--line-strong);background:var(--bg-1)}html[data-theme=light] .flow-map-svg .fm-node.fm-added .fm-node-rect{stroke:#166534;fill:#16a34a1a}html[data-theme=light] .flow-map-svg .fm-node.fm-removed .fm-node-rect{stroke:#991b1b;fill:#b91c1c14}html[data-theme=light] .flow-map-svg .fm-node.fm-modified .fm-node-rect{stroke:#92400e;fill:#b4530914}html[data-theme=light] .flow-map-svg .fm-edge.fm-added{stroke:#166534;color:#166534}html[data-theme=light] .flow-map-svg .fm-edge.fm-removed{stroke:#991b1b;color:#991b1b}html[data-theme=light] .flow-map-legend .leg.added i{border-color:#166534;background:#16a34a1a}html[data-theme=light] .flow-map-legend .leg.removed i{border-color:#991b1b;background:#b91c1c14}html[data-theme=light] .flow-map-legend .leg.modified i{border-color:#92400e;background:#b4530914}.cp-view{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4);overflow:hidden}.cp-controls{display:flex;flex-direction:column;gap:var(--space-3);flex-shrink:0}.cp-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);font-size:var(--t-sm);flex-shrink:0}.cp-secondary{display:flex;flex-direction:column;gap:var(--space-3);flex:0 0 auto;max-height:50vh;overflow:auto}.sbs-compare{min-height:320px}.sbs-compare{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-1)}.sbs-tabs-row{display:flex;align-items:center;border-bottom:1px solid var(--line);background:var(--bg-1);flex-shrink:0}.sbs-tabs-row>.tabs{flex:1;min-width:0;border-bottom:none;background:transparent}.sbs-sync-toggle{display:inline-flex;align-items:center;gap:6px;padding:0 12px;font-size:11px;color:var(--text-mute);cursor:pointer;-webkit-user-select:none;user-select:none}.sbs-sync-toggle input{accent-color:var(--env)}.sbs-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr}.sbs-cols-2{grid-template-columns:1fr 1fr}.sbs-cols-3{grid-template-columns:1fr 1fr 1fr}.sbs-cols-4{grid-template-columns:1fr 1fr 1fr 1fr}.sbs-pane{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border-right:1px solid var(--line)}.sbs-grid>.sbs-pane:last-child{border-right:none}.sbs-pane-close{background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);width:22px;height:22px;display:grid;place-items:center;cursor:pointer;color:var(--text-mute);margin-left:auto;transition:color var(--motion-fast),border-color var(--motion-fast)}.sbs-pane-close:hover{color:var(--danger);border-color:var(--danger)}.sbs-pane-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg-2);flex-shrink:0}.sbs-pane.sbs-src .sbs-pane-head{box-shadow:inset 3px 0 #f87171}.sbs-pane.sbs-tgt .sbs-pane-head{box-shadow:inset 3px 0 #22c55e}html[data-theme=light] .sbs-pane.sbs-src .sbs-pane-head{box-shadow:inset 3px 0 #991b1b}html[data-theme=light] .sbs-pane.sbs-tgt .sbs-pane-head{box-shadow:inset 3px 0 #166534}.sbs-pane-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--space-4)}.sbs-tab-label{display:inline-flex;align-items:center;gap:6px}.sbs-tab-dot{width:6px;height:6px;border-radius:999px;background:#f59e0b;display:inline-block}html[data-theme=light] .sbs-tab-dot{background:#92400e}@media (max-width: 980px){.sbs-grid,.sbs-cols-2,.sbs-cols-3,.sbs-cols-4{grid-template-columns:1fr;grid-auto-rows:minmax(0,1fr)}.sbs-pane{border-right:none;border-bottom:1px solid var(--line)}.sbs-grid>.sbs-pane:last-child{border-bottom:none}}.cp-sides{display:grid;gap:12px;grid-template-columns:1fr 1fr}.cp-sides-3{grid-template-columns:1fr 1fr 1fr}.cp-sides-4{grid-template-columns:1fr 1fr 1fr 1fr}@media (max-width: 980px){.cp-sides,.cp-sides-3,.cp-sides-4{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.cp-sides,.cp-sides-3,.cp-sides-4{grid-template-columns:1fr}}.cp-side-close{background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);width:22px;height:22px;display:grid;place-items:center;cursor:pointer;color:var(--text-mute);transition:color var(--motion-fast),border-color var(--motion-fast)}.cp-side-close:hover{color:var(--danger);border-color:var(--danger)}.cp-add-side{display:flex;align-items:center;justify-content:center;gap:8px;min-height:100px;padding:12px;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:transparent;color:var(--text-mute);cursor:pointer;font-size:var(--t-md);transition:border-color var(--motion-fast),background var(--motion-fast),color var(--motion-fast)}.cp-add-side:hover{border-color:var(--env);background:var(--bg-2);color:var(--text)}.cp-add-side>span:first-child{font-size:18px;font-weight:var(--fw-bold);line-height:1}.ai-trigger{background:#60a5fa1a;border-color:#60a5fa66;color:var(--info);transition:background var(--motion-fast),border-color var(--motion-fast)}.ai-trigger:hover{background:#60a5fa2e}.ai-trigger-icon{font-size:11px;line-height:1}html[data-theme=light] .ai-trigger{background:#1d4ed80f;border-color:#1d4ed866;color:#1d4ed8}html[data-theme=light] .ai-trigger:hover{background:#1d4ed824}.ai-drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;animation:ai-scrim-in .14s var(--motion)}@keyframes ai-scrim-in{0%{opacity:0}to{opacity:1}}.ai-drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,92vw);background:var(--bg-1);border-left:1px solid var(--line-strong);box-shadow:var(--shadow-lg);z-index:201;display:flex;flex-direction:column;animation:ai-drawer-in .22s var(--motion)}.ai-drawer-docked{z-index:90;box-shadow:-16px 0 32px #0000004d,-2px 0 #ffffff0a inset}html[data-theme=light] .ai-drawer-docked{box-shadow:-16px 0 32px #0f0f141a,-2px 0 #0000000a inset}@keyframes ai-drawer-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.ai-drawer-close{position:absolute;top:8px;right:10px;width:28px;height:28px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line);font-size:18px;line-height:1;color:var(--text-mute);cursor:pointer;z-index:1}.ai-drawer-close:hover{background:var(--bg-3);color:var(--text)}.ai-chat{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--bg-1)}.ai-chat-head{display:flex;align-items:center;gap:8px;padding:12px 48px 12px 16px;border-bottom:1px solid var(--line);font-size:var(--t-md)}.ai-chat-body{flex:1;min-height:0;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.ai-chat-empty{display:flex;flex-direction:column;gap:10px;margin-top:8px}.ai-suggestions{display:flex;flex-wrap:wrap;gap:6px}.ai-msg{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2)}.ai-msg-user{background:#60a5fa0f;border-color:#60a5fa4d}.ai-msg-assistant{background:var(--bg-2)}.ai-msg-role{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.ai-msg-content{font-size:13px;line-height:1.55;color:var(--text)}.ai-msg-content>pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,monospace;font-size:13px}.ai-msg-content p:first-child{margin-top:0}.ai-msg-content p:last-child{margin-bottom:0}.ai-msg-content code{background:var(--bg-3);padding:1px 5px;border-radius:3px;font-size:12px}.ai-msg-content pre code{background:transparent;padding:0}.ai-msg-content pre{background:var(--bg-3);padding:10px 12px;border-radius:6px;overflow:auto;font-size:12px}.ai-msg-content table{border-collapse:collapse;width:100%;font-size:12px;margin:8px 0}.ai-msg-content table th,.ai-msg-content table td{border:1px solid var(--line);padding:4px 8px;text-align:left}.ai-msg-content ul,.ai-msg-content ol{padding-left:20px;margin:6px 0}.ai-msg-content blockquote{margin:6px 0;padding-left:10px;border-left:3px solid var(--line-strong);color:var(--text-mute)}.ai-chat-foot{border-top:1px solid var(--line);padding:10px 12px;background:var(--bg-1)}.ai-chat-foot textarea{width:100%;resize:vertical;min-height:60px;font-family:inherit;font-size:13px}.ai-config{display:flex;flex-direction:column;gap:8px}.ai-config-row{display:flex;align-items:center;gap:8px;font-size:12px}.ai-config-row>span{width:84px;min-width:84px;color:var(--text-mute)}.ai-config-row input{flex:1;height:30px}html[data-theme=light] .ai-msg-user{background:#1d4ed80f;border-color:#1d4ed852}.rule-live{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--bg-1)}.rule-live-head{display:flex;align-items:center;gap:8px;padding:12px 48px 12px 16px;border-bottom:1px solid var(--line)}.rule-live-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-mute);text-transform:lowercase}.rule-live-dot{width:8px;height:8px;border-radius:999px;background:var(--text-faint)}.rule-live-status.streaming .rule-live-dot{background:#22c55e;box-shadow:0 0 #22c55eb3;animation:rule-live-pulse 1.4s infinite}@keyframes rule-live-pulse{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.rule-live-toggle{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-mute);cursor:pointer;-webkit-user-select:none;user-select:none}.rule-live-toggle input{accent-color:var(--env)}.rule-live-expert,.agent-expert{display:inline-flex;align-items:center;gap:6px;font-size:11px}.rule-live-expert select,.agent-expert select{height:24px;padding:0 6px;font-size:11px;background:var(--bg-2);border:1px solid var(--line);border-radius:4px;color:var(--text)}.agent-expert-badge{margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:var(--fw-semi);background:var(--env-soft);color:var(--env-text);border:1px solid var(--env-line)}.rule-live-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:0;border-top:1px solid var(--line);transition:grid-template-columns var(--motion-base)}.rule-live-grid.is-chat-collapsed{grid-template-columns:minmax(0,1fr) 40px}.rule-live-grid.is-chat-collapsed .rule-live-chat-pane-head{padding:var(--space-3) 0;justify-content:center}.rule-live-grid.is-chat-collapsed .rule-live-chat-pane-head>strong,.rule-live-grid.is-chat-collapsed .rule-live-chat-pane-head>.faint,.rule-live-grid.is-chat-collapsed .rule-live-chat-pane-head>.spacer,.rule-live-grid.is-chat-collapsed .rule-live-chat-thread,.rule-live-grid.is-chat-collapsed .rule-live-chat-input{display:none}.rule-live-grid.is-chat-collapsed .rule-live-refactor-sticky .rule-live-refactor{max-height:78vh}.rule-live-main{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:auto;background:var(--bg-1)}.rule-live-refactor-sticky{position:sticky;top:0;z-index:4;background:var(--bg-1);border-bottom:1px solid var(--line);padding:var(--space-3) var(--space-4) var(--space-2)}.rule-live-refactor-sticky .rule-live-refactor{margin:0;max-height:50vh}.rule-live-chat-pane{display:flex;flex-direction:column;min-height:0;min-width:0;border-left:1px solid var(--line);background:var(--bg-2)}.rule-live-chat-pane-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);background:var(--bg-1);font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);flex-shrink:0}.rule-live-chat-pane-head strong{color:var(--text-mute);font-weight:var(--fw-medium);letter-spacing:.06em}@media (max-width: 880px){.rule-live-grid{grid-template-columns:1fr}.rule-live-chat-pane{border-left:none;border-top:1px solid var(--line);max-height:50vh}.rule-live-refactor-sticky .rule-live-refactor{max-height:40vh}}.rule-live-body{flex:1;min-height:0;overflow:auto;padding:14px 16px;font-size:13px;line-height:1.55}.rule-live-body h2{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);margin:14px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--line)}.rule-live-body h2:first-child,.rule-live-body p:first-child{margin-top:0}.rule-live-body ul{padding-left:18px;margin:4px 0}.rule-live-body li{margin:3px 0}.rule-live-body code{background:var(--bg-3);padding:1px 5px;border-radius:3px;font-size:12px}.rule-live-body pre{background:var(--bg-3);padding:10px 12px;border-radius:6px;overflow:auto;font-size:12px}.rule-live-body pre code{background:transparent;padding:0}.rule-live-refactor{margin:var(--space-3) 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);display:flex;flex-direction:column;max-height:60vh;overflow:hidden}.rule-live-refactor header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg-1);flex-wrap:wrap}.rule-live-refactor.rule-live-refactor-equal{opacity:.7}.rule-live-refactor.rule-live-refactor-equal .rule-live-code,.rule-live-refactor.rule-live-refactor-equal .rule-live-diff-wrap{display:none}.rule-live-thread{flex:1;min-height:0;overflow:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-5);scroll-behavior:smooth}.rule-live-msg{display:flex;flex-direction:column;gap:6px}.rule-live-msg-role{font:var(--fw-semi) 10px/1 "Fira Code","SF Mono",ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);padding:0 2px}.rule-live-msg-content{font-size:var(--t-base);line-height:1.55;color:var(--text);padding:10px 14px;border-radius:var(--radius);background:transparent}.rule-live-msg-content>*:first-child{margin-top:0}.rule-live-msg-content>*:last-child{margin-bottom:0}.rule-live-msg-assistant .rule-live-msg-content{background:var(--bg-2);border:1px solid var(--line)}.rule-live-msg-user .rule-live-msg-content{align-self:flex-start;max-width:100%;background:var(--bg-1);border:1px solid var(--line);font-family:inherit;white-space:pre-wrap;word-break:break-word;color:var(--text-mute)}.rule-live-msg-content code{background:var(--bg-3);padding:1px 5px;border-radius:var(--radius-sm);font:12px Fira Code,SF Mono,ui-monospace,monospace;color:var(--text)}.rule-live-msg-content pre{background:var(--bg-3);padding:10px 12px;border-radius:var(--radius);overflow:auto;font:12px Fira Code,SF Mono,ui-monospace,monospace;border:1px solid var(--line)}.rule-live-msg-content pre code{background:transparent;padding:0}.rule-live-msg-content table{border-collapse:collapse;width:100%;font-size:12px;margin:8px 0}.rule-live-msg-content table th,.rule-live-msg-content table td{border:1px solid var(--line);padding:4px 8px;text-align:left}.rule-live-msg-content h2{font:var(--fw-semi) var(--t-md)/1.3 "Inter","Segoe UI Variable",system-ui,sans-serif;letter-spacing:-.005em;margin:var(--space-3) 0 var(--space-2);padding-bottom:4px;border-bottom:1px solid var(--line)}.rule-live-msg-content h2:first-child{margin-top:0}.rule-live-msg-content ul,.rule-live-msg-content ol{padding-left:var(--space-4);margin:var(--space-2) 0}.rule-live-msg-content li{margin:2px 0}.rule-live-input{border-top:1px solid var(--line);background:var(--bg-1);padding:var(--space-3) var(--space-4);flex:0 0 auto}.rule-live-input textarea{width:100%;resize:vertical;min-height:52px;font-family:inherit;font-size:var(--t-base);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);padding:8px 10px;transition:border-color var(--motion-fast)}.rule-live-input textarea:focus-visible{outline:none;border-color:var(--line-focus)}.rule-syntax-chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;background:#f871711a;border:1px solid rgba(248,113,113,.32);border-radius:4px;font-size:11px;font-family:ui-monospace,SF Mono,monospace;color:#fca5a5;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast);max-width:480px}.rule-syntax-chip:hover:not(:disabled){background:#f871712e;border-color:#f8717180}.rule-syntax-chip:disabled{cursor:default;opacity:.85}.rule-syntax-chip-marker{font-weight:var(--fw-bold)}.rule-syntax-chip-loc{background:#f871712e;padding:0 5px;border-radius:3px;font-weight:var(--fw-semi);font-size:10px;letter-spacing:.02em;flex-shrink:0}.rule-syntax-chip-msg{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--ui-font, inherit);color:#fca5a5;opacity:.9}html[data-theme=light] .rule-syntax-chip{background:#b91c1c14;border-color:#b91c1c5c;color:#991b1b}html[data-theme=light] .rule-syntax-chip:hover:not(:disabled){background:#b91c1c24;border-color:#b91c1c8c}html[data-theme=light] .rule-syntax-chip-loc{background:#b91c1c24}html[data-theme=light] .rule-syntax-chip-msg{color:#991b1b}.cm-editor .cm-lintRange-error{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3' viewBox='0 0 6 3'><path d='M0 3 L1.5 0 L3 3 L4.5 0 L6 3' stroke='%23F87171' stroke-width='1' fill='none'/></svg>");background-repeat:repeat-x;background-position:bottom;padding-bottom:2px}html[data-theme=light] .cm-editor .cm-lintRange-error{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3' viewBox='0 0 6 3'><path d='M0 3 L1.5 0 L3 3 L4.5 0 L6 3' stroke='%23991B1B' stroke-width='1' fill='none'/></svg>")}.cm-editor .cm-gutter-lint .cm-gutterElement{width:14px;display:flex;align-items:center;justify-content:center}.cm-editor .cm-tooltip{background:var(--bg-1);border:1px solid var(--line-strong);color:var(--text);font-size:12px;padding:6px 8px;border-radius:4px;box-shadow:var(--shadow);max-width:360px;white-space:pre-wrap}.cm-flash-host.cm-flash .cm-activeLine,.cm-flash-host.cm-flash .cm-activeLineGutter,.rule-cm-host.cm-flash .cm-activeLine,.rule-cm-host.cm-flash .cm-activeLineGutter{animation:cm-line-flash .7s ease-out}@keyframes cm-line-flash{0%{background-color:#f871716b;box-shadow:inset 3px 0 #f87171}60%{background-color:#f871712e;box-shadow:inset 3px 0 #f87171}to{background-color:transparent;box-shadow:inset 0 0 0 transparent}}html[data-theme=light] .cm-flash-host.cm-flash .cm-activeLine,html[data-theme=light] .cm-flash-host.cm-flash .cm-activeLineGutter,html[data-theme=light] .rule-cm-host.cm-flash .cm-activeLine,html[data-theme=light] .rule-cm-host.cm-flash .cm-activeLineGutter{animation:cm-line-flash-light .7s ease-out}@keyframes cm-line-flash-light{0%{background-color:#b91c1c38;box-shadow:inset 3px 0 #991b1b}60%{background-color:#b91c1c1a;box-shadow:inset 3px 0 #991b1b}to{background-color:transparent;box-shadow:inset 0 0 0 transparent}}.postman-editor-head{display:flex;align-items:center;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:var(--fw-medium)}.postman-editor-head>.rule-syntax-chip,.postman-editor-head>.tag{margin-left:auto;text-transform:none;letter-spacing:0}.rule-live-code{margin:0;padding:12px 14px;font-size:11px;font-family:ui-monospace,SF Mono,monospace;white-space:pre;overflow:auto;flex:1;background:var(--bg-2);color:var(--text)}.rule-live-diff-wrap{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.rule-live-diff-wrap .unified-diff{flex:1;min-height:0;border:none;border-radius:0;background:var(--bg-1)}.rule-live-diff-wrap .unified-diff>table{max-height:100%}.rule-live-view-toggle{display:inline-flex;gap:2px;border:1px solid var(--line);border-radius:6px;padding:2px}.rule-live-view-toggle .btn.active{background:var(--bg-3);color:var(--text)}.rule-live-refactor header .btn.danger{background:#f8717129;border-color:#f871716b;color:#fca5a5}html[data-theme=light] .rule-live-refactor header .btn.danger{background:#b91c1c1a;border-color:#b91c1c66;color:#991b1b}.agent-fab{position:fixed;right:22px;bottom:22px;z-index:90;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:999px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;box-shadow:0 8px 24px #8b5cf659,0 2px 6px #0006;font-weight:var(--fw-semi);font-size:13px;cursor:pointer;transition:transform var(--motion-fast),box-shadow var(--motion-fast)}.agent-fab:hover{transform:translateY(-1px);box-shadow:0 12px 28px #8b5cf673,0 4px 8px #0006}.agent-fab:active{transform:translateY(0)}.agent-fab-icon{font-size:16px;line-height:1}.agent-fab-label{letter-spacing:.01em}.agent-fab-wrap{position:fixed;right:22px;bottom:22px;z-index:90}.agent-fab-wrap .agent-fab{position:static;right:auto;bottom:auto;z-index:auto}.agent-fab-dismiss{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:var(--bg-1);color:var(--text-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #0000004d;z-index:91;opacity:0;transition:opacity var(--motion-fast),background var(--motion-fast),color var(--motion-fast),transform var(--motion-fast)}.agent-fab-wrap:hover .agent-fab-dismiss,.agent-fab-dismiss:focus-visible{opacity:1}.agent-fab-dismiss:hover{background:var(--danger);color:#fff;transform:scale(1.1)}.agent-fab-dismiss:focus-visible{outline:2px solid var(--info);outline-offset:2px}.agent-fab-mini{position:fixed;right:22px;bottom:22px;z-index:90;width:26px;height:26px;border-radius:50%;background:var(--bg-2);border:1px solid var(--line);color:var(--text-faint);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.55;transition:opacity var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}.agent-fab-mini:hover{opacity:1;color:var(--info);border-color:var(--info);transform:scale(1.1)}.agent-fab-mini:focus-visible{outline:2px solid var(--info);outline-offset:2px;opacity:1}@media (prefers-reduced-motion: reduce){.agent-fab-dismiss,.agent-fab-mini{transition:opacity var(--motion-fast);transform:none!important}}.ai-drawer:has(.agent-chat){width:min(720px,96vw)}.agent-chat{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--bg-1)}.agent-chat-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);min-height:44px;border-bottom:1px solid var(--line);background:var(--bg-1);flex-wrap:wrap}.agent-chat-head-glyph{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--env-soft);color:var(--env);border:1px solid var(--env-line)}.agent-chat-head-title{font-size:var(--t-md);font-weight:var(--fw-semi);color:var(--text);letter-spacing:.01em}.agent-chat-head-meta{font-size:var(--t-cap);color:var(--text-faint);font-variant-numeric:tabular-nums}.agent-expert-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:var(--fw-semi);letter-spacing:.03em;background:var(--bg-3);color:var(--text);border:1px solid var(--line-strong)}.agent-tier{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:2px}.agent-tier-btn{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 10px;background:transparent;border:0;border-radius:999px;color:var(--text-mute);font-size:var(--t-cap);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast)}.agent-tier-btn:hover:not(:disabled){color:var(--text)}.agent-tier-btn.active{background:var(--bg-1);color:var(--text);box-shadow:0 0 0 1px var(--line-strong)}.agent-tier-btn:disabled{opacity:.55;cursor:not-allowed}.agent-chat-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){.agent-chat-body{scroll-behavior:auto}}.agent-empty{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-1) var(--space-2)}.agent-empty-glyph{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:var(--env-soft);color:var(--env);border:1px solid var(--env-line)}.agent-empty-title{margin:0;font-size:var(--t-lg);font-weight:var(--fw-semi);color:var(--text)}.agent-empty-body{margin:0;font-size:var(--t-base);line-height:1.55;color:var(--text-mute);max-width:56ch}.agent-suggestions{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.agent-suggestion{display:block;width:100%;padding:8px 12px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font-size:var(--t-sm);text-align:left;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}.agent-suggestion:hover{background:var(--bg-3);border-color:var(--line-strong)}.agent-suggestion:active{transform:scale(.99)}.agent-msg{display:flex;gap:var(--space-2);animation:agent-msg-in .18s cubic-bezier(.2,.8,.2,1) both}@keyframes agent-msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.agent-msg{animation:none}}.agent-msg-assistant{align-self:stretch;flex-direction:row}.agent-msg-avatar{flex:0 0 22px;width:22px;height:22px;margin-top:2px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--env-soft);color:var(--env);border:1px solid var(--env-line)}.agent-msg-assistant .agent-msg-content{flex:1;min-width:0;font-size:var(--t-base);line-height:1.65;color:var(--text)}.agent-msg-assistant .agent-msg-content>*:first-child{margin-top:0}.agent-msg-assistant .agent-msg-content>*:last-child{margin-bottom:0}.agent-msg-assistant p{margin:0 0 8px}.agent-msg-assistant h1,.agent-msg-assistant h2,.agent-msg-assistant h3{margin:16px 0 6px;font-size:var(--t-md);font-weight:var(--fw-semi);color:var(--text);letter-spacing:.01em}.agent-msg-assistant pre{background:var(--bg-2);border:1px solid var(--line);padding:10px 12px;border-radius:var(--radius);font-size:var(--t-sm);overflow:auto;margin:8px 0}.agent-msg-assistant code{background:var(--bg-3);border:1px solid var(--line);padding:1px 5px;border-radius:4px;font-size:var(--t-sm)}.agent-msg-assistant pre code{background:transparent;padding:0;border:0}.md-pre{margin:8px 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);overflow:hidden}.md-pre-head{display:flex;align-items:center;gap:6px;padding:4px 6px 4px 12px;background:var(--bg-1);border-bottom:1px solid var(--line);min-height:28px;user-select:none;-webkit-user-select:none}.md-pre-lang{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.md-pre-hint{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--warn);padding:2px 6px;border-radius:var(--radius-sm);background:#f59e0b14}html[data-theme=light] .md-pre-hint{background:#f59e0b24;color:#92400e}.md-pre>pre{margin:0;border:0;border-radius:0;background:transparent;padding:10px 12px;font-size:var(--t-sm);overflow:auto;max-height:360px;white-space:pre-wrap;word-break:break-all}.md-copy-btn{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 10px;background:var(--bg-3);border:1px solid var(--line);border-radius:4px;color:var(--text-mute);font-size:11px;font-weight:var(--fw-medium);font-family:inherit;cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}.md-copy-btn:hover{background:var(--bg-4);color:var(--text);border-color:var(--line-strong)}.md-copy-btn:active{transform:scale(.97)}.md-copy-btn.sm{height:18px;padding:0 6px;font-size:10px}.md-action-btn{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 12px;background:var(--env);border:1px solid transparent;border-radius:4px;color:#0a0a0b;font-size:11px;font-weight:var(--fw-semi);font-family:inherit;cursor:pointer;transition:filter var(--motion-fast),transform var(--motion-fast),background var(--motion-fast)}.md-action-btn:hover:not(:disabled){filter:brightness(1.07)}.md-action-btn:active:not(:disabled){transform:scale(.97)}.md-action-btn:disabled{background:var(--bg-3);color:var(--text-faint);cursor:not-allowed}.md-action-btn.sm{height:18px;padding:0 8px;font-size:10px}html[data-theme=light] .md-action-btn{color:#fff}.md-pre.is-action .md-pre-head{background:var(--env-soft);border-bottom-color:var(--env-line)}.md-inline-copy{display:inline-flex;align-items:center;gap:4px;vertical-align:baseline;max-width:100%}.md-inline-copy>code{word-break:break-all;white-space:pre-wrap}.agent-msg-assistant table{border-collapse:collapse;width:100%;font-size:var(--t-sm);margin:8px 0}.agent-msg-assistant table th,.agent-msg-assistant table td{border:1px solid var(--line);padding:4px 8px;text-align:left}.agent-msg-assistant ul,.agent-msg-assistant ol{padding-left:20px;margin:4px 0 8px}.agent-msg-assistant li{margin:2px 0}.agent-msg-assistant.has-verdict .agent-msg-content{border-left:3px solid var(--line);padding:10px 12px 10px 14px;border-radius:8px;margin-left:2px}.agent-msg-assistant.verdict-ok .agent-msg-content{border-left-color:var(--accent);background:#22c55e0f}.agent-msg-assistant.verdict-warn .agent-msg-content{border-left-color:var(--warn);background:#f59e0b0f}.agent-msg-assistant.verdict-fail .agent-msg-content{border-left-color:var(--danger);background:#f8717114}.agent-msg-assistant.verdict-fail .agent-msg-content>p:first-child,.agent-msg-assistant.verdict-fail .agent-msg-content>p:first-child strong{color:var(--danger);font-weight:var(--fw-semi)}.agent-msg-assistant.verdict-warn .agent-msg-content>p:first-child,.agent-msg-assistant.verdict-warn .agent-msg-content>p:first-child strong{color:var(--warn);font-weight:var(--fw-semi)}.agent-msg-assistant.verdict-ok .agent-msg-content>p:first-child,.agent-msg-assistant.verdict-ok .agent-msg-content>p:first-child strong{color:var(--accent);font-weight:var(--fw-semi)}html[data-theme=light] .agent-msg-assistant.verdict-ok .agent-msg-content{background:#16a34a14}html[data-theme=light] .agent-msg-assistant.verdict-warn .agent-msg-content{background:#b4530914}html[data-theme=light] .agent-msg-assistant.verdict-fail .agent-msg-content{background:#b91c1c14}.agent-msg-user{align-self:flex-end;max-width:78%;margin-left:30px;flex-direction:column}.agent-msg-user .agent-msg-content{margin:0;padding:10px 14px;background:var(--bg-3);border:1px solid var(--line-strong);border-radius:14px 14px 4px;font-size:var(--t-base);line-height:1.6;color:var(--text);box-shadow:var(--shadow-sm)}.agent-msg-user .agent-msg-content>*:first-child{margin-top:0}.agent-msg-user .agent-msg-content>*:last-child{margin-bottom:0}.agent-msg-user .agent-msg-content p{margin:4px 0}.agent-msg-user .agent-msg-content h1,.agent-msg-user .agent-msg-content h2,.agent-msg-user .agent-msg-content h3{font-size:var(--t-md);font-weight:var(--fw-semi);margin:10px 0 4px;color:var(--text);letter-spacing:.01em}.agent-msg-user .agent-msg-content ul,.agent-msg-user .agent-msg-content ol{padding-left:20px;margin:4px 0 6px}.agent-msg-user .agent-msg-content li{margin:2px 0}.agent-msg-user .agent-msg-content code{background:var(--bg-1);border:1px solid var(--line);padding:1px 5px;border-radius:4px;font-family:ui-monospace,monospace;font-size:var(--t-sm);word-break:break-all;color:var(--text)}.agent-msg-user .agent-msg-content pre{background:var(--bg-1);border:1px solid var(--line);padding:8px 10px;border-radius:var(--radius);overflow:auto;font-size:var(--t-sm);margin:6px 0}.agent-msg-user .agent-msg-content pre code{background:transparent;border:0;padding:0;word-break:normal}.agent-msg-user .agent-msg-content strong{font-weight:var(--fw-semi);color:var(--text)}.agent-msg-user pre{margin:0;padding:10px 14px;background:var(--bg-3);border:1px solid var(--line-strong);border-radius:14px 14px 4px;font-family:inherit;font-size:var(--t-base);white-space:pre-wrap}.agent-cursor{display:inline-block;width:6px;height:6px;margin-left:4px;vertical-align:1px;border-radius:999px;background:var(--env);animation:agent-cursor-pulse 1.2s ease-in-out infinite}@keyframes agent-cursor-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@media (prefers-reduced-motion: reduce){.agent-cursor{animation:none;opacity:.85}}.agent-thinking{opacity:.92}.agent-thinking-dots{display:inline-flex;align-items:center;gap:4px;margin-right:8px;vertical-align:middle}.agent-thinking-dots>span{width:6px;height:6px;border-radius:999px;background:var(--text-faint);animation:agent-thinking-bounce 1.2s ease-in-out infinite}.agent-thinking-dots>span:nth-child(2){animation-delay:.12s}.agent-thinking-dots>span:nth-child(3){animation-delay:.24s}@keyframes agent-thinking-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px);background:var(--text-mute)}}@media (prefers-reduced-motion: reduce){.agent-thinking-dots>span{animation:none;opacity:.7}}.agent-thinking-label{font-size:var(--t-sm);color:var(--text-mute);font-style:italic}html[data-theme=light] .agent-msg-user .agent-msg-content,html[data-theme=light] .agent-msg-user pre{background:var(--bg-2);border-color:var(--line-strong);color:var(--text)}html[data-theme=light] .agent-msg-user .agent-msg-content code,html[data-theme=light] .agent-msg-user .agent-msg-content pre{background:#fff;border-color:var(--line-strong)}.tool-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);overflow:hidden;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.tool-card.tool-mutating{border-color:#f59e0b66}.tool-card.tool-error{border-color:#f8717166}.tool-card.tool-ok{border-color:var(--line)}.tool-card.is-open{box-shadow:var(--shadow-sm)}.tool-card-head{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:transparent;border:0;cursor:pointer;font:inherit;text-align:left;color:var(--text);min-height:32px;transition:background var(--motion-fast)}.tool-card-head:hover{background:var(--bg-3)}.tool-card.is-open .tool-card-head{border-bottom:1px solid var(--line)}.tool-card-dot{flex:0 0 8px;width:8px;height:8px;border-radius:999px;background:var(--text-faint)}.tool-card-dot.pulse{background:var(--warn);animation:agent-pulse 1.4s infinite}@keyframes agent-pulse{0%{box-shadow:0 0 #f59e0b73}70%{box-shadow:0 0 0 5px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}.tool-ok .tool-card-dot:not(.pulse){background:var(--accent)}.tool-error .tool-card-dot:not(.pulse){background:var(--danger)}.tool-card-icon{color:var(--text-faint);display:inline-flex}.tool-card-name{font-family:ui-monospace,monospace;font-size:var(--t-sm);color:var(--text)}.tool-card-cat{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:var(--radius-sm);font-family:Inter,Segoe UI Variable,system-ui,sans-serif;font-size:10px;letter-spacing:.04em;text-transform:lowercase;font-weight:var(--fw-semi);border:1px solid transparent;white-space:nowrap;background:#ffffff0f;border-color:var(--line);color:var(--text-faint)}.tool-card-sep{color:var(--text-faint);font-size:var(--t-sm);-webkit-user-select:none;user-select:none}.tool-card-cat[data-category=postgres]{background:#22c55e1a;border-color:#22c55e4d;color:var(--accent)}.tool-card-cat[data-category=dynamodb]{background:#f59e0b1a;border-color:#f59e0b4d;color:var(--warn)}.tool-card-cat[data-category=redis]{background:#f871711a;border-color:#f871714d;color:var(--danger)}.tool-card-cat[data-category=s3]{background:#60a5fa1a;border-color:#60a5fa4d;color:var(--info)}.tool-card-cat[data-category=trino]{background:#22d3ee1a;border-color:#22d3ee4d;color:#22d3ee}.tool-card-cat[data-category=logs]{background:#94a3b81a;border-color:#94a3b84d;color:#94a3b8}.tool-card-cat[data-category=argo]{background:#60a5fa1a;border-color:#60a5fa4d;color:var(--info)}.tool-card-cat[data-category=k8s]{background:#a855f71a;border-color:#a855f74d;color:#a855f7}.tool-card-cat[data-category=aws]{background:#fb923c1a;border-color:#fb923c4d;color:#fb923c}.tool-card-cat[data-category=mesh]{background:#ec48991a;border-color:#ec48994d;color:#ec4899}.tool-card-cat[data-category=migrations]{background:#f59e0b24;border-color:#f59e0b66;color:var(--warn)}.tool-card-cat[data-category=products]{background:#14b8a61f;border-color:#14b8a652;color:var(--brand, #14B8A6)}.tool-card-cat[data-category=liquibase]{background:#60a5fa1a;border-color:#60a5fa4d;color:var(--info)}.tool-card-cat[data-category=http]{background:#94a3b81a;border-color:#94a3b84d;color:#94a3b8}.tool-card-cat[data-category=auth]{background:#f871711a;border-color:#f871714d;color:var(--danger)}.tool-card-cat[data-category=infra]{background:#a855f71a;border-color:#a855f74d;color:#a855f7}.tool-card-cat[data-category=docs]{background:#94a3b81a;border-color:#94a3b84d;color:#94a3b8}html[data-theme=light] .tool-card-cat{background:#f5f5f7}html[data-theme=light] .tool-card-cat[data-category=postgres]{background:#22c55e29;color:#15803d}html[data-theme=light] .tool-card-cat[data-category=dynamodb]{background:#f59e0b2e;color:#92400e}html[data-theme=light] .tool-card-cat[data-category=redis]{background:#f8717129;color:#b91c1c}html[data-theme=light] .tool-card-cat[data-category=s3]{background:#60a5fa29;color:#1d4ed8}html[data-theme=light] .tool-card-cat[data-category=trino]{background:#22d3ee2e;color:#0e7490}html[data-theme=light] .tool-card-cat[data-category=argo]{background:#60a5fa29;color:#1d4ed8}html[data-theme=light] .tool-card-cat[data-category=k8s]{background:#a855f729;color:#6d28d9}html[data-theme=light] .tool-card-cat[data-category=aws]{background:#fb923c2e;color:#b45309}html[data-theme=light] .tool-card-cat[data-category=mesh]{background:#ec489929;color:#be185d}html[data-theme=light] .tool-card-cat[data-category=migrations]{background:#f59e0b38;color:#92400e}html[data-theme=light] .tool-card-cat[data-category=products]{background:#14b8a629;color:#0f766e}.tool-card-badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;font-size:10px;font-weight:var(--fw-semi);letter-spacing:.04em;text-transform:uppercase}.tool-card-badge.mutating{background:#f59e0b24;color:var(--warn);border:1px solid rgba(245,158,11,.36)}.tool-card-status{font-size:var(--t-cap);font-variant-numeric:tabular-nums;font-weight:var(--fw-medium)}.tool-card-status.running{color:var(--warn)}.tool-card-status.ok{color:var(--accent)}.tool-card-status.error{color:var(--danger)}.tool-card-chevron{color:var(--text-faint);display:inline-flex}.tool-card-body{padding:10px 12px;display:flex;flex-direction:column;gap:var(--space-2)}.tool-card-section{font-size:var(--t-cap);color:var(--text-mute);cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:4px}.tool-card-section::-webkit-details-marker{color:var(--text-faint)}.tool-card-args{margin:0;padding:8px 10px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--t-cap);white-space:pre-wrap;word-break:break-word;max-height:200px;overflow:auto;font-family:ui-monospace,monospace}.tool-card-text{margin:0;padding:8px 10px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--t-cap);white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto;font-family:ui-monospace,monospace}.tool-card-error{margin:0;padding:8px 10px;background:#f8717114;border:1px solid rgba(248,113,113,.32);border-radius:var(--radius-sm);font-size:var(--t-cap);white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto;color:var(--danger);font-family:ui-monospace,monospace}.tool-json{background:var(--bg-1);padding:8px 10px;border-radius:4px;border:1px solid var(--line);max-height:360px;overflow:auto}.tool-table-wrap{background:var(--bg-1);border:1px solid var(--line);border-radius:4px;overflow:hidden}.tool-table-stats{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--bg-2)}.tool-table{width:100%;border-collapse:collapse;font-size:11px}.tool-table th,.tool-table td{padding:4px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.tool-table th{background:var(--bg-2);font-weight:var(--fw-semi);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute)}.tool-table tbody tr:hover{background:var(--bg-2)}.agent-chat-foot{border-top:1px solid var(--line);padding:var(--space-3) var(--space-4) var(--space-3);background:var(--bg-1);display:flex;flex-direction:column;gap:6px}.agent-input{display:flex;align-items:flex-end;gap:var(--space-2);padding:10px 10px 10px 14px;background:var(--bg-2);border:1px solid var(--line);border-radius:16px;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.agent-input:focus-within{border-color:var(--env);box-shadow:0 0 0 3px var(--env-soft)}.agent-input.is-running{border-color:var(--warn);box-shadow:0 0 0 3px #f59e0b1a}.agent-input textarea{flex:1;min-width:0;background:transparent;border:0;outline:none;resize:vertical;padding:4px 0;font-family:inherit;font-size:var(--t-base);line-height:1.55;color:var(--text);min-height:72px;max-height:280px;overflow-y:auto}.agent-input textarea::placeholder{color:var(--text-faint)}.agent-send{flex:0 0 auto;height:32px;min-width:64px;padding:0 14px;border-radius:999px;border:1px solid transparent;background:var(--env);color:#0a0a0b;font-size:var(--t-sm);font-weight:var(--fw-semi);cursor:pointer;transition:filter var(--motion-fast),transform var(--motion-fast)}.agent-send:hover:not(:disabled){filter:brightness(1.06)}.agent-send:active:not(:disabled){transform:scale(.97)}.agent-send:disabled{background:var(--bg-3);color:var(--text-faint);cursor:not-allowed}.agent-send.danger{background:var(--danger);color:#1a0808}.agent-foot-hint{display:flex;align-items:center;gap:6px;padding-left:14px;font-size:10px;color:var(--text-faint)}.agent-foot-sep{opacity:.5}.agent-foot-hint .kbd{display:inline-flex;align-items:center;height:16px;padding:0 5px;border-radius:3px;background:var(--bg-2);border:1px solid var(--line);color:var(--text-mute);font-family:ui-monospace,monospace;font-size:9px;font-weight:var(--fw-medium)}html[data-theme=light] .agent-send,html[data-theme=light] .agent-send.danger{color:#fff}.ambig-banner{background:#f59e0b14;border:1px solid rgba(245,158,11,.32);border-radius:var(--radius-lg);padding:12px 14px}.ambig-tenants{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ambig-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);font-size:12px}.ambig-row-orphan{border-style:dashed;background:transparent;color:var(--text-faint)}.xenv-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.xenv-cell{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;min-height:64px}.xenv-cell:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px}.xenv-cell.xenv-dev:before{background:#22c55e}.xenv-cell.xenv-qa:before{background:#f59e0b}.xenv-cell.xenv-sbx:before{background:#a78bfa}.xenv-cell.xenv-prod:before{background:#f87171}.xenv-cell.is-here{border-color:var(--line-strong);box-shadow:inset 0 0 0 1px var(--bg-3)}.xenv-head{display:flex;align-items:center;gap:6px}.xenv-head .tag[data-env=dev]{background:#22c55e1f;color:#86efac;border-color:#22c55e4d}.xenv-head .tag[data-env=qa]{background:#f59e0b1f;color:#fcd34d;border-color:#f59e0b4d}.xenv-head .tag[data-env=sbx]{background:#a78bfa1f;color:#c4b5fd;border-color:#a78bfa4d}.xenv-head .tag[data-env=prod]{background:#f871711f;color:#fca5a5;border-color:#f871714d}.xenv-counts{display:flex;gap:4px;flex-wrap:wrap}.xenv-stat{display:inline-flex;align-items:baseline;gap:2px;font-family:ui-monospace,monospace;font-size:11px;background:var(--bg-1);border:1px solid var(--line);padding:1px 6px;border-radius:3px}.xenv-stat-l{color:var(--text-faint)}.xenv-stat-n{color:var(--text);font-weight:var(--fw-semi);font-variant-numeric:tabular-nums}.env-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}.env-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 14px;display:flex;flex-direction:column;gap:8px;position:relative;overflow:visible}.env-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--bg-4);border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.env-card.env-dev:before{background:#22c55e}.env-card.env-qa:before{background:#f59e0b}.env-card.env-sbx:before{background:#a78bfa}.env-card.env-local:before{background:#60a5fa}.env-card.env-prod:before{background:#f87171}.env-card.active{border-color:var(--line-strong);box-shadow:0 0 0 1px var(--bg-4)}.env-card header{display:flex;align-items:center;gap:8px}.env-card header .tag[data-env=dev]{background:#22c55e1f;color:#86efac;border-color:#22c55e4d}.env-card header .tag[data-env=qa]{background:#f59e0b1f;color:#fcd34d;border-color:#f59e0b4d}.env-card header .tag[data-env=sbx]{background:#a78bfa1f;color:#c4b5fd;border-color:#a78bfa4d}.env-card header .tag[data-env=local]{background:#60a5fa1f;color:#93c5fd;border-color:#60a5fa4d}.env-card header .tag[data-env=prod]{background:#f871711f;color:#fca5a5;border-color:#f871714d}.env-card-dl{font-size:12px;gap:3px 12px}.env-card-dl dt{font-size:11px}.env-card-dl dd{font-size:12px}.env-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:4px}.env-stat{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.env-stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:var(--fw-medium)}.env-stat-value{font-family:ui-monospace,monospace;font-size:13px;font-weight:var(--fw-semi);color:var(--text);font-variant-numeric:tabular-nums}.drift-matrix th,.drift-matrix td{white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums}.drift-matrix .cell-aligned{color:var(--accent)}.drift-matrix .cell-drift{color:var(--warn);font-weight:var(--fw-semi)}.drift-matrix .cell-failed{color:var(--danger);font-weight:var(--fw-bold)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.tight{gap:4px}.col{display:flex;flex-direction:column;gap:8px}.col.tight{gap:4px}.dl{display:grid;grid-template-columns:max-content 1fr;gap:6px var(--space-4);font-size:var(--t-base)}.dl dt{color:var(--text-faint);font-weight:var(--fw-medium)}.dl dd{margin:0;color:var(--text);font-family:ui-monospace,monospace}.muted{color:var(--text-mute)}.faint{color:var(--text-faint)}.kbd{display:inline-block;font-family:ui-monospace,monospace;font-size:10px;padding:2px 6px;border-radius:4px;background:var(--bg-3);border:1px solid var(--line);color:var(--text-mute);line-height:1}.md-body{padding:24px 32px;max-width:920px;font-size:var(--t-md);line-height:1.6;color:var(--text)}.md-body h1,.md-body h2,.md-body h3,.md-body h4{color:var(--text);letter-spacing:-.015em;margin:1.5em 0 .5em;line-height:1.25}.md-body h1{font-size:24px;font-weight:var(--fw-bold);margin-top:0}.md-body h2{font-size:18px;font-weight:var(--fw-semi);border-bottom:1px solid var(--line);padding-bottom:4px}.md-body h3{font-size:16px;font-weight:var(--fw-semi)}.md-body h4{font-size:14px;font-weight:var(--fw-semi);color:var(--text-mute);text-transform:uppercase;letter-spacing:.04em}.md-body p,.md-body li{color:var(--text)}.md-body p{margin:0 0 12px}.md-body ul,.md-body ol{margin:0 0 14px;padding-left:22px}.md-body li{margin:3px 0}.md-body code{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-size:12px;color:var(--env-text)}.md-body pre{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px;overflow:auto;font-size:12px;line-height:1.55;margin:0 0 14px}.md-body pre code{background:none;border:none;padding:0;color:var(--text)}.md-body blockquote{border-left:3px solid var(--env-line);background:var(--env-soft);padding:8px 14px;margin:0 0 14px;color:var(--text-mute)}.md-body table{width:100%;border-collapse:collapse;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:13px;margin:0 0 14px}.md-body th,.md-body td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left}.md-body th{background:var(--bg-1);font-weight:var(--fw-medium);color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.md-body a{color:var(--info)}.md-body hr{border:0;border-top:1px solid var(--line);margin:20px 0}.md-body img{max-width:100%;border-radius:var(--radius)}.md-body input[type=checkbox]{margin-right:6px}.copy-id{display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast);padding:2px 8px;font-size:var(--t-cap);font-weight:var(--fw-medium);line-height:1.4;text-align:left;max-width:100%}.copy-id .copy-id-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-id.tag{background:var(--bg-3);color:var(--text-mute);border:1px solid var(--line);border-radius:4px}.copy-id.tag:hover{color:var(--text);border-color:var(--line-strong);background:var(--bg-4)}.copy-id.inline{background:transparent;border:none;color:var(--text-mute);padding:0}.copy-id.inline:hover{color:var(--text)}.copy-id svg{opacity:.55;flex-shrink:0}.copy-id:hover svg{opacity:1}.table td .copy-id{max-width:none}.apply-action-row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:stretch}.apply-action-group{display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 auto;min-width:0}.apply-action-group-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.apply-group-label{font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:var(--fw-medium)}.apply-action-divider{width:1px;background:var(--line);align-self:stretch;margin:0 var(--space-2)}@media (max-width: 720px){.apply-action-divider{display:none}}.apply-panel-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.apply-panel-title{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--t-md)}.apply-panel-meta{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--t-cap);color:var(--text-faint)}.apply-panel-runDir{font-family:ui-monospace,monospace;background:var(--bg-3);padding:2px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--text-mute);max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apply-modal-title{display:inline-flex;align-items:center;gap:var(--space-2)}.apply-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#f8717129;color:var(--danger);font-weight:var(--fw-bold);border:1px solid rgba(248,113,113,.4);font-size:var(--t-sm)}html[data-theme=light] .apply-modal-icon{background:#b91c1c1a;color:#991b1b;border-color:#b91c1c66}.apply-confirm-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:var(--space-2);align-items:center;padding:var(--space-2) 0;border-top:1px solid var(--line)}.apply-confirm-row:first-of-type{border-top:none}.apply-confirm-label{font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:var(--fw-medium)}.apply-confirm-value{font-family:ui-monospace,monospace;font-size:var(--t-sm);color:var(--text-mute);background:var(--bg-3);border:1px solid var(--line);padding:2px var(--space-2);border-radius:var(--radius-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.apply-confirm-gate{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.apply-confirm-gate-label{font-size:var(--t-sm);color:var(--text-mute)}.apply-confirm-gate-label code{font-family:ui-monospace,monospace;background:var(--env-soft);border:1px solid var(--env-line);color:var(--env-text);padding:1px var(--space-2);border-radius:var(--radius-sm);font-weight:var(--fw-semi);letter-spacing:.04em;margin:0 4px}.apply-result{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.apply-result.is-ok{border-color:#22c55e66}.apply-result.is-fail{border-color:#f8717180}.apply-result-verdict{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}.apply-result-verdict.ok{background:#22c55e0f;border-bottom-color:#22c55e52}.apply-result-verdict.fail{background:#f871710f;border-bottom-color:#f8717166}html[data-theme=light] .apply-result-verdict.ok{background:#16a34a0f;border-bottom-color:#16a34a52}html[data-theme=light] .apply-result-verdict.fail{background:#b91c1c0f;border-bottom-color:#b91c1c66}.apply-result-verdict-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border-radius:999px;font-weight:var(--fw-bold);font-size:var(--t-md);font-family:ui-monospace,monospace}.apply-result-verdict.ok .apply-result-verdict-icon{background:#22c55e2e;color:var(--accent);border:1px solid rgba(34,197,94,.4)}.apply-result-verdict.fail .apply-result-verdict-icon{background:#f871712e;color:var(--danger);border:1px solid rgba(248,113,113,.4)}html[data-theme=light] .apply-result-verdict.ok .apply-result-verdict-icon{background:#16a34a1a;color:#166534;border-color:#16a34a66}html[data-theme=light] .apply-result-verdict.fail .apply-result-verdict-icon{background:#b91c1c1a;color:#991b1b;border-color:#b91c1c66}.apply-result-verdict strong{display:block;font-size:var(--t-md);font-weight:var(--fw-semi);color:var(--text);margin-bottom:2px}.apply-result-verdict.ok strong{color:var(--accent)}.apply-result-verdict.fail strong{color:var(--danger)}html[data-theme=light] .apply-result-verdict.ok strong{color:#166534}html[data-theme=light] .apply-result-verdict.fail strong{color:#991b1b}.apply-result-verdict p{margin:0;font-size:var(--t-sm);color:var(--text-mute);line-height:1.5}.apply-result-verdict-body{flex:1;min-width:0}.apply-result-ask{align-self:flex-start;flex-shrink:0}.apply-result>details>summary{cursor:pointer;font-size:var(--t-sm);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2) var(--space-3);background:var(--bg-2)}.apply-result>details[open]>summary{border-bottom:1px solid var(--line)}.apply-result>details>*{padding:var(--space-2) var(--space-3)}.apply-result>details>summary{padding:var(--space-2) var(--space-3)}.apply-result-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);flex:1 1 auto;min-width:0}.apply-result-phrase{margin-left:auto;font-size:var(--t-cap);color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}@media (max-width: 720px){.apply-result-phrase{display:none}}.bulk-apply-row>td.bulk-apply-cell{background:var(--bg-2);padding:var(--space-3) var(--space-4);border-top:1px dashed var(--line);position:relative}.bulk-apply-rail{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--env);opacity:.55}html[data-theme=light] .bulk-apply-row>td.bulk-apply-cell{background:var(--bg-2)}.bulk-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);background:var(--bg-2)}.bulk-toolbar-group{display:inline-flex;gap:var(--space-2);align-items:center}@media (prefers-reduced-motion: reduce){.apply-action-group,.apply-modal-icon,.bulk-apply-rail{animation:none!important;transition:none!important}}.edge-status-dot,.api-method-status-dot,.oa-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-right:var(--space-2)}.edge-item.added .edge-status-dot,.api-method-item.added .api-method-status-dot,.object-array-list li.oa-added .oa-status-dot{background:#22c55e}.edge-item.removed .edge-status-dot,.api-method-item.removed .api-method-status-dot,.object-array-list li.oa-removed .oa-status-dot{background:#f87171}.api-method-item.modified .api-method-status-dot,.object-array-list li.oa-modified .oa-status-dot{background:#f59e0b}html[data-theme=light] .edge-item.added .edge-status-dot,html[data-theme=light] .api-method-item.added .api-method-status-dot,html[data-theme=light] .object-array-list li.oa-added .oa-status-dot{background:#16a34a}html[data-theme=light] .edge-item.removed .edge-status-dot,html[data-theme=light] .api-method-item.removed .api-method-status-dot,html[data-theme=light] .object-array-list li.oa-removed .oa-status-dot{background:#dc2626}html[data-theme=light] .api-method-item.modified .api-method-status-dot,html[data-theme=light] .object-array-list li.oa-modified .oa-status-dot{background:#d97706}.bulk-products-card{overflow:visible}.bulk-products-card>.bulk-summary,.bulk-products-card>.bulk-toolbar{position:sticky;top:0;z-index:2;background:var(--bg-2)}.bulk-products-card>.bulk-toolbar{top:36px}.bulk-summary{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);font-size:var(--t-sm);color:var(--text-mute);flex-wrap:wrap}.bulk-summary-count strong{color:var(--text);font-size:var(--t-md);font-weight:var(--fw-semi)}.bulk-summary-tenant,.bulk-summary-flow{display:inline-flex;align-items:center;gap:var(--space-2)}.bulk-summary-tenant .mono{font-family:ui-monospace,monospace;color:var(--text);font-weight:var(--fw-medium)}.bulk-summary-divider{width:1px;height:14px;background:var(--line);display:inline-block}.bulk-summary-progress{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--t-cap);color:var(--accent);background:#22c55e1a;border:1px solid rgba(34,197,94,.3);padding:2px var(--space-2);border-radius:999px}html[data-theme=light] .bulk-summary-progress{background:#16a34a1a;color:#166534;border-color:#16a34a52}.bulk-toolbar-count{display:inline-flex;align-items:baseline;gap:4px;margin-left:var(--space-3);font-size:var(--t-sm);color:var(--text-mute)}.bulk-toolbar-count strong{color:var(--text);font-size:var(--t-md);font-weight:var(--fw-semi)}.bulk-toolbar-hint{margin:0;padding:var(--space-1) var(--space-4) var(--space-2);font-size:var(--t-cap);color:var(--text-faint);border-bottom:1px solid var(--line);background:var(--bg-2)}.tenant-picker{padding:var(--space-3)}.tenant-picker-fields{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.tenant-picker-field{display:flex;flex-direction:column;gap:var(--space-1)}.tenant-picker-label{font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:var(--fw-medium)}.tenant-picker-arrow{align-self:center;color:var(--text-faint);font-size:var(--t-md);padding-bottom:var(--space-1)}.tenant-picker-confirm{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);font-size:var(--t-sm)}.tenant-picker-confirm code{font-family:ui-monospace,monospace;background:transparent;border:none;padding:0;color:var(--text);font-weight:var(--fw-semi)}.detail-section-title{color:var(--text-faint);font-size:var(--t-cap);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.06em;margin:var(--space-2) 0 var(--space-1)}.orphan-act{border:1px solid var(--warn);background:#f59e0b0f;border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-top:var(--space-2)}.orphan-act strong{color:var(--warn);font-size:var(--t-md);display:block;margin-bottom:var(--space-1)}.orphan-act p{margin:0;font-size:var(--t-sm);color:var(--text-mute);line-height:1.5}.orphan-act code{font-family:ui-monospace,monospace;font-size:var(--t-sm);color:var(--text);background:var(--bg-3);padding:1px 5px;border-radius:var(--radius-sm);word-break:break-all}html[data-theme=light] .orphan-act{background:#b453090f;border-color:#b4530966}html[data-theme=light] .orphan-act strong{color:#b45309}.plans-master-detail{display:grid;grid-template-columns:280px 1fr;gap:var(--space-4);align-items:stretch;min-height:0}.plans-list{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:auto;max-height:calc(100vh - 240px);display:flex;flex-direction:column}.plans-list>header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);position:sticky;top:0;background:var(--bg-2);z-index:1}.plans-list ul{list-style:none;margin:0;padding:0}.plans-list li{padding:var(--space-3) var(--space-4);cursor:pointer;border-bottom:1px solid var(--line);transition:background var(--motion-fast);display:flex;flex-direction:column;gap:var(--space-1);outline:none}.plans-list li:hover{background:var(--bg-3)}.plans-list li.active{background:var(--env-soft);border-left:1px solid var(--env)}.plans-list li:focus-visible{outline:2px solid var(--env);outline-offset:-2px}.plans-list-row1{display:flex;align-items:center;gap:var(--space-2);font-family:ui-monospace,monospace;font-size:var(--t-base);font-weight:var(--fw-semi);color:var(--text)}.plans-list-row2{font-size:var(--t-sm);color:var(--text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plans-list-price{font-size:var(--t-cap);color:var(--text-faint);font-family:ui-monospace,monospace}.plans-detail{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);overflow:auto;max-height:calc(100vh - 240px);display:flex;flex-direction:column;gap:var(--space-4)}.plans-detail h2{font-size:var(--t-md);font-weight:var(--fw-semi);color:var(--text);margin:0;letter-spacing:-.01em}.plans-detail-header{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}.plans-detail-code{font-family:ui-monospace,monospace;font-size:var(--t-xl);font-weight:var(--fw-bold);color:var(--text)}.plans-detail-name{font-size:var(--t-md);color:var(--text-mute);flex:1;min-width:0}.plans-detail-logo{height:32px;width:auto;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-3);object-fit:contain}.plan-payment-modes{display:flex;flex-wrap:wrap;gap:var(--space-2)}.plan-payment-mode{display:inline-flex;align-items:center;gap:var(--space-2);padding:2px 8px;background:#60a5fa14;border:1px solid rgba(96,165,250,.32);border-radius:999px;font-size:var(--t-sm);color:var(--info)}html[data-theme=light] .plan-payment-mode{background:#1d4ed80f;border-color:#1d4ed852;color:#1e40af}.plan-queries-summary{display:flex;align-items:center;gap:var(--space-2);font-size:var(--t-sm);cursor:pointer}.plan-queries-summary .muted-count{color:var(--text-faint);font-size:var(--t-cap)}.plan-queries-table{width:100%}.plan-queries-sql{font-family:ui-monospace,monospace;font-size:var(--t-cap);color:var(--text-mute);white-space:pre-wrap;word-break:break-word;line-height:1.5;max-width:720px}.plan-queries-params{display:flex;flex-wrap:wrap;gap:var(--space-1)}.plan-queries-param{display:inline-flex;align-items:center;gap:var(--space-1);padding:1px 6px;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:ui-monospace,monospace;font-size:var(--t-cap);color:var(--text-mute)}@media (max-width: 880px){.plans-master-detail{grid-template-columns:1fr}.plans-list{max-height:320px}.plans-detail{max-height:none}}.rules-list-head,.plans-list>header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);background:var(--bg-1);position:sticky;top:0;z-index:1;font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.rules-list-head strong,.plans-list>header strong{color:var(--text-mute);font-weight:var(--fw-medium);letter-spacing:.06em}.rules-list-collapse,.plans-list-collapse{height:24px;padding:0 6px}.is-sidebar-collapsed .rules-list,.is-sidebar-collapsed .plans-list,.is-sidebar-collapsed .uc-list{border-right:1px solid var(--line)}.is-sidebar-collapsed .rules-list-head,.is-sidebar-collapsed .plans-list>header,.is-sidebar-collapsed .uc-list-head{padding:var(--space-3) 0;justify-content:center}.is-sidebar-collapsed .rules-list-head>strong,.is-sidebar-collapsed .rules-list-head>.spacer,.is-sidebar-collapsed .plans-list>header>strong,.is-sidebar-collapsed .plans-list>header>.spacer,.is-sidebar-collapsed .uc-list-head>strong,.is-sidebar-collapsed .uc-list-head>.spacer{display:none}.is-sidebar-collapsed .rules-list>input,.is-sidebar-collapsed .rules-list>.item,.is-sidebar-collapsed .plans-list>ul,.is-sidebar-collapsed .uc-list>.uc-list-filter,.is-sidebar-collapsed .uc-list>.uc-list-body{display:none}.plans-master-detail{transition:grid-template-columns var(--motion-base)}.plans-master-detail.is-sidebar-collapsed{grid-template-columns:40px 1fr}@media (prefers-reduced-motion: reduce){.rules-grid,.plans-master-detail{transition:none}}.cortex-warning{display:flex;align-items:flex-start;gap:var(--space-3);margin:var(--space-3) var(--space-4) 0;padding:var(--space-3) var(--space-4);background:#f59e0b0f;border:1px solid rgba(245,158,11,.4);border-radius:var(--radius)}.cortex-warning-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:999px;background:#f59e0b24;color:var(--warn);border:1px solid rgba(245,158,11,.4)}.cortex-warning-body{flex:1;min-width:0}.cortex-warning-body strong{display:block;color:var(--warn);font-size:var(--t-md);font-weight:var(--fw-semi);margin-bottom:2px}.cortex-warning-body p{margin:0;font-size:var(--t-sm);color:var(--text-mute);line-height:1.5}html[data-theme=light] .cortex-warning{background:#b453090f;border-color:#b4530966}html[data-theme=light] .cortex-warning-icon{background:#b453091a;color:#b45309;border-color:#b4530966}html[data-theme=light] .cortex-warning-body strong{color:#b45309}.plan-artifact-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:1px}.plan-artifact-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--motion-fast)}.plan-artifact-row:hover{background:var(--bg-3)}.plan-artifact-name{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;cursor:pointer;padding:0;color:var(--info);font-size:var(--t-sm);text-align:left;font:inherit;text-decoration:none}.plan-artifact-name:hover{text-decoration:underline}.plan-artifact-name:focus-visible{outline:2px solid var(--env);outline-offset:2px;border-radius:var(--radius-sm)}.plan-artifact-name .mono{font-family:ui-monospace,monospace;color:var(--info)}html[data-theme=light] .plan-artifact-name,html[data-theme=light] .plan-artifact-name .mono{color:#1d4ed8}.plan-artifact-viewer{height:70vh;display:flex;flex-direction:column;min-height:0}.plan-artifact-viewer>*{flex:1;min-height:0}.files-modal-grid{display:grid;grid-template-columns:280px 1fr;gap:0;height:70vh;min-height:0}.files-modal-list{border-right:1px solid var(--line);background:var(--bg-1);overflow:auto;display:flex;flex-direction:column}.files-modal-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--line);padding:var(--space-3) var(--space-4);font:inherit;cursor:pointer;color:var(--text-mute);transition:background var(--motion-fast),color var(--motion-fast)}.files-modal-item:hover{background:var(--bg-3);color:var(--text)}.files-modal-item.active{background:var(--env-soft);color:var(--env-text);font-weight:var(--fw-medium)}.files-modal-item:focus-visible{outline:2px solid var(--env);outline-offset:-2px}.files-modal-item .mono{font-family:ui-monospace,monospace;font-size:var(--t-sm)}.files-modal-viewer{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--bg-2)}.files-modal-viewer>*{flex:1;min-height:0}@media (max-width: 720px){.files-modal-grid{grid-template-columns:1fr;height:auto}.files-modal-list{max-height:200px}.files-modal-viewer{height:60vh}}.uc-master-detail{display:grid;grid-template-columns:320px 1fr;flex:1;min-height:0;transition:grid-template-columns var(--motion-base)}.uc-master-detail.is-sidebar-collapsed{grid-template-columns:40px 1fr}.uc-list{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:var(--bg-1)}.uc-list-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);background:var(--bg-1);position:sticky;top:0;z-index:1;font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.uc-list-head strong{color:var(--text-mute);font-weight:var(--fw-medium);letter-spacing:.06em}.uc-list-filter{padding:var(--space-2);border-bottom:1px solid var(--line)}.uc-list-body{overflow:auto;flex:1}.uc-detail{display:flex;flex-direction:column;min-height:0;min-width:0}@media (prefers-reduced-motion: reduce){.uc-master-detail,.sidebar-pull-tab{transition:none}}.ps-pop.ps-pop-multi{min-width:720px;max-width:920px;max-height:480px;left:0;right:auto}.ps-multi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:auto;flex:1;min-height:0}.ps-multi-col{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line)}.ps-multi-col:last-child{border-right:none}.ps-multi-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--bg-2);position:sticky;top:0;z-index:1}.ps-multi-empty{padding:var(--space-3) var(--space-3);color:var(--text-faint);font-size:var(--t-sm);font-style:italic}.ps-multi-list{list-style:none;margin:0;padding:4px 0;overflow:auto;flex:1}.ps-multi-list li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2);align-items:baseline;padding:var(--space-1) var(--space-3);cursor:pointer;font-size:var(--t-sm);border-radius:0}.ps-multi-list li.active,.ps-multi-list li:hover{background:var(--env-soft)}.ps-multi-list li.active .ps-code,.ps-multi-list li:hover .ps-code{color:var(--env-text)}.ps-multi-list .ps-code{font-family:ui-monospace,monospace;font-weight:var(--fw-semi);font-size:var(--t-sm);color:var(--text);grid-column:1 / 2;grid-row:1 / 2}.ps-multi-list .ps-desc{grid-column:2 / 3;grid-row:1 / 2;color:var(--text-mute);font-size:var(--t-cap);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ps-multi-list .ps-tenant{grid-column:1 / -1;grid-row:2 / 3;color:var(--text-faint);font-size:var(--t-cap);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-pop-multi .ps-foot{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);background:var(--bg-1);font-size:var(--t-cap);color:var(--text-mute)}@media (max-width: 880px){.ps-pop.ps-pop-multi{min-width:auto;max-width:100%;right:0}.ps-multi-grid{grid-template-columns:1fr}.ps-multi-col{border-right:none;border-bottom:1px solid var(--line)}.ps-multi-col:last-child{border-bottom:none}}.shell.is-chat-docked{grid-template-columns:48px 1fr var(--chat-dock-width, 440px)}html[data-sidebar=expanded] .shell.is-chat-docked{grid-template-columns:200px 1fr var(--chat-dock-width, 440px)}.chat-dock{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-1);border-left:1px solid var(--line);overflow:hidden}.chat-dock-resize-handle{position:absolute;left:-2px;top:0;bottom:0;width:8px;cursor:col-resize;background:transparent;z-index:10;transition:background var(--motion-fast);touch-action:none}.chat-dock-resize-handle:hover,body.is-dragging-col .chat-dock-resize-handle{background:var(--env-soft)}.chat-dock-resize-handle:before{content:"";position:absolute;left:50%;top:50%;width:2px;height:28px;margin:-14px 0 0 -1px;border-radius:999px;background:var(--line-strong);opacity:0;transition:opacity var(--motion-fast)}.chat-dock-resize-handle:hover:before,body.is-dragging-col .chat-dock-resize-handle:before{opacity:1;background:var(--env)}body.is-dragging-col{cursor:col-resize;user-select:none;-webkit-user-select:none}.chat-dock-head{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-bottom:1px solid var(--line);background:var(--bg-1);flex-shrink:0;min-height:40px}.chat-dock-head strong{font-size:var(--t-md);font-weight:var(--fw-semi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chat-dock-tabs{display:flex;align-items:stretch;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.chat-dock-tabs::-webkit-scrollbar{display:none}.chat-dock-tab{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;max-width:200px;min-width:80px;height:32px;padding:0 6px 0 10px;border:1px solid transparent;border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;background:transparent;color:var(--text-mute);font-size:var(--t-sm);cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:8px;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}.chat-dock-tab-icon{font-size:11px;color:var(--text-faint);line-height:1;flex-shrink:0;width:12px;text-align:center;transition:color var(--motion-fast)}.chat-dock-tab[data-kind=general] .chat-dock-tab-icon{color:var(--brand, var(--accent));opacity:.7}.chat-dock-tab[data-kind=rule] .chat-dock-tab-icon{color:var(--info);opacity:.7}.chat-dock-tab[data-kind=migration] .chat-dock-tab-icon{color:var(--warn);opacity:.7}.chat-dock-tab.active .chat-dock-tab-icon{opacity:1}.chat-dock-tab:hover{background:var(--bg-2);color:var(--text)}.chat-dock-tab.active{background:var(--bg-2);border-color:var(--line);color:var(--text);margin-bottom:-1px;position:relative;z-index:1;font-weight:var(--fw-medium)}.chat-dock-tab.active:after{content:"";position:absolute;left:8px;right:8px;top:0;height:1.5px;background:var(--text-mute);border-radius:1px;opacity:.5}.chat-dock-tab.active[data-kind=general]:after{background:var(--brand, var(--accent));opacity:.7}.chat-dock-tab.active[data-kind=rule]:after{background:var(--info);opacity:.7}.chat-dock-tab.active[data-kind=migration]:after{background:var(--warn);opacity:.7}.chat-dock-tab:focus-visible{outline:2px solid var(--line-focus);outline-offset:2px}.chat-dock-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--fw-medium)}.chat-dock-tab-close{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-faint);cursor:pointer;opacity:0;transition:opacity var(--motion-fast),background var(--motion-fast),color var(--motion-fast)}.chat-dock-tab:hover .chat-dock-tab-close,.chat-dock-tab.active .chat-dock-tab-close,.chat-dock-tab:focus-within .chat-dock-tab-close{opacity:1}.chat-dock-tab-close:hover{background:var(--bg-3);color:var(--text)}.chat-dock-tab-new{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:32px;margin:8px 0 -1px 4px;padding:0;border:1px solid transparent;border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;background:transparent;color:var(--text-faint);font-size:16px;font-weight:var(--fw-regular);line-height:1;cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),transform .1s cubic-bezier(.16,1,.3,1)}.chat-dock-tab-new:hover{background:var(--bg-2);color:var(--text);border-color:var(--line)}.chat-dock-tab-new:active{transform:scale(.94)}.chat-dock-actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0;margin-top:8px;margin-left:var(--space-2)}.chat-dock-actions .chat-dock-tab-new{margin:0}.chat-dock-close-all{flex-shrink:0}.chat-dock-tab-new:focus-visible{outline:2px solid var(--line-focus);outline-offset:2px}.chat-dock-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-dock-tab-panel{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.chat-dock-tab-panel[hidden]{display:none!important}.chat-dock-tab-panel>.agent-chat,.chat-dock-tab-panel>.rule-live{flex:1;min-height:0;min-width:0}.chat-dock .rule-live-grid{grid-template-columns:1fr;grid-auto-rows:minmax(0,1fr)}.chat-dock .rule-live-grid.is-chat-collapsed{grid-template-columns:1fr}.chat-dock .rule-live-chat-pane{border-left:none;border-top:1px solid var(--line);max-height:50vh}.chat-dock .rule-live-refactor-sticky .rule-live-refactor{max-height:36vh}@media (max-width: 1100px){.shell.is-chat-docked,html[data-sidebar=expanded] .shell.is-chat-docked{grid-template-columns:48px 1fr;grid-template-rows:1fr 60vh}html[data-sidebar=expanded] .shell.is-chat-docked{grid-template-columns:200px 1fr}.chat-dock{grid-column:1 / -1;border-left:none;border-top:1px solid var(--line)}}.cm-ai-suggestion{margin:var(--space-3) var(--space-2);padding:0;border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--line);border-left-width:3px;font-family:Inter,Segoe UI Variable,system-ui,sans-serif;font-size:var(--t-sm);color:var(--text);overflow:hidden;max-width:100%;box-sizing:border-box}.cm-ai-suggestion-error{border-left-color:var(--danger)}.cm-ai-suggestion-warning{border-left-color:var(--warn)}.cm-ai-suggestion-info{border-left-color:var(--info)}.cm-ai-suggestion-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--bg-3)}.cm-ai-suggestion-icon{font-size:8px;line-height:1}.cm-ai-suggestion-error .cm-ai-suggestion-icon{color:var(--danger)}.cm-ai-suggestion-warning .cm-ai-suggestion-icon{color:var(--warn)}.cm-ai-suggestion-info .cm-ai-suggestion-icon{color:var(--info)}.cm-ai-suggestion-tag{font:var(--fw-semi) var(--t-cap)/1 "Fira Code","SF Mono",ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint)}.cm-ai-suggestion-range{font:var(--fw-medium) var(--t-cap)/1 "Fira Code","SF Mono",ui-monospace,monospace;color:var(--text-mute);padding:2px 6px;background:var(--bg-2);border-radius:var(--radius-sm)}.cm-ai-suggestion-msg{flex:1;font-weight:var(--fw-medium);color:var(--text)}.cm-ai-suggestion-diff{font-family:Fira Code,SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.5}.cm-ai-suggestion-old,.cm-ai-suggestion-new{margin:0;padding:6px 0;white-space:pre;overflow-x:auto}.cm-ai-suggestion-old{background:#f871710f;border-bottom:1px solid var(--line)}.cm-ai-suggestion-new{background:#22c55e0f}.cm-ai-suggestion-line{display:flex;align-items:flex-start;gap:0;padding:0 var(--space-3);min-width:0}.cm-ai-suggestion-sign{display:inline-block;width:14px;text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;font-weight:var(--fw-semi)}.cm-ai-suggestion-old .cm-ai-suggestion-sign{color:var(--danger)}.cm-ai-suggestion-new .cm-ai-suggestion-sign{color:var(--accent)}.cm-ai-suggestion-text{flex:1;white-space:pre;min-width:0}.cm-ai-suggestion-old .cm-ai-suggestion-text{color:#f2f2f4c7}.cm-ai-suggestion-new .cm-ai-suggestion-text{color:var(--text)}.cm-ai-suggestion-actions{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);background:var(--bg-1)}.rule-diff-stats{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--fw-medium) var(--t-cap)/1 "Fira Code","SF Mono",ui-monospace,monospace}.rule-diff-stat-added{color:var(--accent)}.rule-diff-stat-removed{color:var(--danger)}.rule-diff-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);color:var(--text-mute);text-align:center}.rule-diff-split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);height:100%;min-height:0}.rule-diff-col{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-1)}.rule-diff-col-head{flex-shrink:0;padding:var(--space-2) var(--space-3);font:var(--fw-semi) var(--t-cap)/1 "Fira Code","SF Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);background:var(--bg-2);border-bottom:1px solid var(--line)}.rule-diff-col-removed .rule-diff-col-head{color:var(--danger)}.rule-diff-col-added .rule-diff-col-head{color:var(--accent)}.rule-diff-pane,.rule-diff-unified{flex:1;min-height:0;margin:0;padding:0;overflow:auto;font:var(--t-sm)/1.5 "Fira Code","SF Mono",ui-monospace,Menlo,Consolas,monospace;background:var(--bg-1)}.rule-diff-row{display:flex;align-items:stretch;gap:0;padding:0 var(--space-3);white-space:pre;min-height:1.5em}.rule-diff-lineno{flex-shrink:0;width:36px;padding-right:var(--space-2);color:var(--text-faint);text-align:right;-webkit-user-select:none;user-select:none}.rule-diff-marker{flex-shrink:0;width:16px;text-align:center;-webkit-user-select:none;user-select:none;font-weight:var(--fw-semi)}.rule-diff-text{flex:1;min-width:0}.rule-diff-row-context{color:var(--text)}.rule-diff-row-removed{background:#f871711a;color:var(--text)}.rule-diff-row-removed .rule-diff-marker{color:var(--danger)}.rule-diff-row-added{background:#22c55e1a;color:var(--text)}.rule-diff-row-added .rule-diff-marker{color:var(--accent)}.rule-diff-row-filler{background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(255,255,255,.02) 6px 12px)}html[data-theme=light] .rule-diff-row-removed{background:#f8717129}html[data-theme=light] .rule-diff-row-added{background:#22c55e29}html[data-theme=light] .rule-diff-row-filler{background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(0,0,0,.03) 6px 12px)}.cm-ai-suggestion-warn{padding:var(--space-2) var(--space-3);background:#f59e0b1a;color:var(--warn);font-size:var(--t-cap);line-height:1.4;border-bottom:1px solid var(--line)}html[data-theme=light] .cm-ai-suggestion-warn{background:#f59e0b24;color:#92400e}html[data-theme=light] .cm-ai-suggestion{background:#fff;border-color:#e5e5ea}html[data-theme=light] .cm-ai-suggestion-head{background:#f5f5f7;border-color:#e5e5ea}html[data-theme=light] .cm-ai-suggestion-old{background:#f871711a;border-color:#e5e5ea}html[data-theme=light] .cm-ai-suggestion-new{background:#22c55e1a}html[data-theme=light] .cm-ai-suggestion-actions{background:#f5f5f7;border-color:#e5e5ea}@media (prefers-reduced-motion: reduce){.cm-ai-suggestion{transition:none}}.confirm-dialog-body{font-size:var(--t-base);line-height:1.55;color:var(--text)}.confirm-dialog-body p{margin:0 0 var(--space-2)}.confirm-dialog-body p:last-child{margin-bottom:0}.confirm-dialog-body code{background:var(--bg-3);padding:1px 6px;border-radius:var(--radius-sm);font:12px Fira Code,SF Mono,ui-monospace,monospace;color:var(--text)}.btn.warn{background:var(--warn);color:#1a1100;border:1px solid var(--warn);font-weight:var(--fw-semi)}.btn.warn:hover{background:color-mix(in oklab,var(--warn),white 8%)}.btn.warn:active{transform:scale(.97)}.btn.warn:focus-visible{outline:2px solid var(--warn);outline-offset:2px}.prompt-dialog-desc{font-size:var(--t-base);color:var(--text-mute);margin-bottom:var(--space-3);line-height:1.5}.prompt-dialog-form{display:flex;flex-direction:column;gap:var(--space-2)}.prompt-dialog-label{font:var(--fw-medium) var(--t-cap)/1 "Fira Code","SF Mono",ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.prompt-dialog-input{width:100%;padding:10px 12px;font-size:var(--t-base);font-family:inherit;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);transition:border-color var(--motion-fast)}.prompt-dialog-input:focus-visible{outline:none;border-color:var(--line-focus)}.prompt-dialog-error{margin:0;font-size:var(--t-sm);color:var(--danger)}.rule-live-msg-role{display:inline-flex;align-items:center;gap:var(--space-2);height:14px;font-size:9px;letter-spacing:.22em;margin-bottom:var(--space-2)}.rule-live-msg-user .rule-live-msg-role{color:var(--text-faint)}.rule-live-msg-assistant .rule-live-msg-role{color:var(--text-mute)}.rule-live-msg-typing{display:inline-flex;align-items:center;gap:3px;margin-left:2px}.rule-live-msg-typing>span{width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.4;animation:cortex-typing 1.2s infinite ease-in-out}.rule-live-msg-typing>span:nth-child(2){animation-delay:.18s}.rule-live-msg-typing>span:nth-child(3){animation-delay:.36s}@keyframes cortex-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.rule-live-cursor{display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-2px;background:var(--text);animation:cortex-cursor 1.05s steps(2,start) infinite}@keyframes cortex-cursor{to{opacity:0}}@media (prefers-reduced-motion: reduce){.rule-live-msg-typing>span,.rule-live-cursor{animation:none}}.rule-live-msg-content code{padding:2px 6px;font-size:11.5px;letter-spacing:-.01em}.rule-live-input textarea{resize:none;max-height:160px;overflow-y:auto;line-height:1.4}@keyframes apps-loading-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.apps-loading-dot{animation:apps-loading-pulse 1s ease-in-out infinite}.nav-section{display:contents}.nav-section-head{font-size:10px;font-weight:var(--fw-semi, 600);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:12px 12px 4px;-webkit-user-select:none;user-select:none}.nav-section-head:first-of-type{padding-top:6px}.sidebar:not(.expanded) .nav-section-divider{align-self:center;width:22px;height:1px;background:var(--line);margin:6px 0}.apps-map-wrap{width:100%;height:calc(100vh - 220px);min-height:480px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-0);overflow:hidden}.apps-node{width:220px;min-height:56px;padding:8px 10px;background:var(--bg-1);border:1px solid var(--line);border-radius:6px;font-size:12px;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px #0000000a}.apps-node-head{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-weight:600}.apps-node-name{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.apps-node-meta{font-size:11px;color:var(--text-mute);display:flex;align-items:center;gap:6px}.apps-node--selected{outline:2px solid #14B8A6;outline-offset:2px}.apps-node--ingress{border-left:3px solid var(--accent)}.apps-node--gateway{border-left:3px solid #14B8A6;background:linear-gradient(180deg,var(--bg-1),var(--bg-0))}.apps-node--service{border-left:3px solid var(--line-strong)}.apps-node--service.apps-node--down{border-left-color:var(--danger);opacity:.7}.apps-node--external{border-left:3px solid #A78BFA;opacity:.92}.apps-map-wrap .react-flow__handle{width:6px;height:6px;background:var(--line-strong);border:none}.apps-map-wrap .react-flow__edge-text{font-size:10px;fill:var(--text-mute)}.apps-map-wrap{position:relative}.apps-map-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--bg-1);border-left:1px solid var(--line);box-shadow:-8px 0 24px #0000002e;display:flex;flex-direction:column;z-index:5;animation:apps-panel-in .16s cubic-bezier(.2,.8,.2,1)}@keyframes apps-panel-in{0%{transform:translate(8px);opacity:0}to{transform:translate(0);opacity:1}}.apps-map-panel-head{padding:14px 16px 10px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:8px;justify-content:space-between}.apps-map-panel-head .panel-title{display:flex;flex-direction:column;gap:4px;min-width:0}.apps-map-panel-head .panel-title-kind{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-weight:600}.apps-map-panel-head .panel-title-name{font-size:14px;font-weight:600;word-break:break-all}.apps-map-panel-close{background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--text-mute);padding:2px 8px;cursor:pointer;font-size:14px;line-height:1;height:24px}.apps-map-panel-close:hover{background:var(--bg-2);color:var(--text)}.apps-map-panel-body{flex:1;padding:12px 16px;overflow-y:auto;font-size:12px}.apps-map-panel-body h4{margin:16px 0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-weight:600}.apps-map-panel-body h4:first-child{margin-top:0}.apps-map-panel-body dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:4px 12px}.apps-map-panel-body dt{color:var(--text-faint);font-weight:500;white-space:nowrap}.apps-map-panel-body dd{margin:0;word-break:break-all}.apps-map-panel-body .url-row{padding:6px 0;border-bottom:1px dashed var(--line);font-size:11px;display:flex;flex-direction:column;gap:2px}.apps-map-panel-body .url-row:last-child{border-bottom:none}.apps-map-panel-body .url-row .url-key{font-weight:600;color:var(--text-mute)}.apps-map-panel-body .url-row .url-val{word-break:break-all;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)}.apps-map-panel-body .url-row .url-src{color:var(--text-faint);font-size:10px}.apps-map-panel-actions{display:flex;gap:6px;flex-wrap:wrap}.apps-map-wrap[data-focus="1"] .react-flow__node:not(.apps-node--selected):not(.apps-node--connected) .apps-node{opacity:.22;transition:opacity .16s ease}.apps-map-wrap[data-focus="1"] .apps-node--selected{box-shadow:0 0 0 2px #14b8a6,0 0 0 5px #14b8a62e,0 0 18px 4px #14b8a659}.apps-map-wrap[data-focus="1"] .apps-node--connected{box-shadow:0 0 0 1.5px #14b8a6bf,0 0 0 4px #14b8a61f,0 0 12px 3px #14b8a638}.apps-map-wrap[data-focus="1"] .react-flow__edge{opacity:.12;transition:opacity .16s ease}.apps-map-wrap[data-focus="1"] .react-flow__edge.apps-edge--connected{opacity:1}.apps-map-wrap[data-focus="1"] .react-flow__edge.apps-edge--connected .react-flow__edge-path{stroke-width:2.2;filter:drop-shadow(0 0 4px rgba(20,184,166,.55))}.apps-node-tag{font-size:10px;padding:0 6px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}.apps-map-wrap .react-flow__edge-textbg{rx:3;ry:3}.apps-map-wrap .react-flow__edge-text{fill:var(--text-mute);letter-spacing:.02em}.trino-list{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:4px;background:var(--bg-1)}.trino-list-item{display:block;width:100%;text-align:left;padding:5px 10px;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:11px;background:transparent;border:none;border-bottom:1px solid var(--line);color:var(--text);cursor:pointer}.trino-list-item:last-child{border-bottom:none}.trino-list-item:hover{background:var(--bg-2)}.trino-list-item.active{background:var(--env-soft);color:var(--env, var(--accent));font-weight:600}.row-active{background:var(--env-soft)!important}.view-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.view-toolbar h2{margin:0}.view-toolbar .spacer{flex:1}.filter-chips{display:inline-flex;flex-wrap:wrap;gap:4px;padding:2px;background:var(--bg-2);border-radius:6px}.filter-chip{font-size:11px;padding:4px 10px;border-radius:4px;background:transparent;border:1px solid transparent;color:var(--text-mute);cursor:pointer;transition:background .12s,color .12s;font-weight:500}.filter-chip:hover{background:var(--bg-1);color:var(--text)}.filter-chip.active{background:var(--bg-0);color:var(--text);border-color:var(--line-strong);font-weight:600}.filter-chip .count{font-size:10px;color:var(--text-faint);margin-left:4px}.filter-chip.active .count{color:var(--text-mute)}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}.expandable-row{cursor:pointer}.expandable-row:hover,.expandable-row.is-open{background:var(--bg-2)}.row-detail{background:var(--bg-0);border-left:3px solid #14B8A6;padding:10px 14px;font-size:11px;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);white-space:pre-wrap;word-break:break-word;max-height:360px;overflow-y:auto}.log-level{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-right:6px;vertical-align:middle}.log-level.error{background:#f871712e;color:#fca5a5}.log-level.warn{background:#f59e0b2e;color:#fcd34d}.log-level.info{background:#60a5fa2e;color:#93c5fd}.log-level.debug{background:#a78bfa2e;color:#c4b5fd}.service-chips{display:inline-flex;flex-wrap:wrap;gap:6px}.service-chip{font-size:12px;padding:5px 10px;border-radius:4px;background:var(--bg-1);border:1px solid var(--line);color:var(--text-mute);cursor:pointer;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)}.service-chip:hover{background:var(--bg-2);color:var(--text)}.service-chip.active{background:var(--env-soft);color:var(--env, var(--accent));border-color:var(--env-line)}.repo-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:11px;padding:2px 8px;border-radius:3px;background:var(--bg-2);border:1px solid var(--line);color:var(--text-mute);text-decoration:none}.repo-badge:hover{background:var(--bg-3);color:var(--text)}.log-dock-host{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50}.log-card{position:absolute;pointer-events:auto;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 12px 32px #00000059,0 2px 6px #0000002e;display:flex;flex-direction:column;overflow:hidden;font-size:11px}.log-card-head{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-2);border-bottom:1px solid var(--line);cursor:move;-webkit-user-select:none;user-select:none}.log-card-status{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px #22c55e38;animation:log-card-pulse 1.6s ease-in-out infinite}.log-card-status.paused{background:var(--text-faint);animation:none;box-shadow:none}@keyframes log-card-pulse{0%,to{opacity:1}50%{opacity:.4}}.log-card-title{display:flex;align-items:baseline;gap:6px;min-width:0}.log-card-title .mono{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.log-card-sub{font-size:10px;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);white-space:nowrap}.log-card-filter{font-size:11px;width:110px;height:22px;padding:0 6px}.log-card-btn{background:transparent;border:1px solid var(--line);color:var(--text-mute);border-radius:3px;width:24px;height:22px;font-size:11px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.log-card-btn:hover{background:var(--bg-1);color:var(--text)}.log-card-close:hover{background:#f8717126;color:#fca5a5;border-color:#f871714d}.log-card-body{flex:1;overflow-y:auto;background:var(--bg-0);padding:4px 6px;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)}.log-card-line{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:baseline;padding:1px 0;font-size:11px;line-height:1.4;word-break:break-word;white-space:pre-wrap}.log-card-ts{font-variant-numeric:tabular-nums;font-size:10px}.log-card-pod{font-size:10px;font-weight:600;letter-spacing:.02em;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-card-msg{color:var(--text);word-break:break-word}.log-card-empty,.log-card-error{padding:16px;text-align:center;color:var(--text-faint);font-style:italic}.log-card-error{color:#fca5a5;font-style:normal}.log-card-resize{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--line-strong) 50%,var(--line-strong) 55%,transparent 55%,transparent 70%,var(--line-strong) 70%,var(--line-strong) 75%,transparent 75%)}.log-line-error .log-card-msg,.log-line-error td .mono{color:#fca5a5}.log-line-warn .log-card-msg,.log-line-warn td .mono{color:#fcd34d}.log-line-debug{opacity:.78}.log-line-error,.log-line-warn,.log-line-info,.log-line-debug{position:relative}.log-line-error:before,.log-line-warn:before,.log-line-info:before,.log-line-debug:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px}.log-line-error:before{background:#f87171d9}.log-line-warn:before{background:#f59e0bcc}.log-line-info:before{background:#60a5fa73}.log-line-debug:before{background:#a78bfa73}.log-card-line.log-line-error,.log-card-line.log-line-warn,.log-card-line.log-line-info,.log-card-line.log-line-debug{padding-left:8px}.log-card-line .log-line-copy,.expandable-row .log-line-copy{opacity:0;transition:opacity .12s;background:transparent;border:1px solid var(--line);color:var(--text-mute);padding:0 6px;height:18px;font-size:10px;border-radius:3px;cursor:pointer;flex-shrink:0}.log-card-line:hover .log-line-copy,.expandable-row:hover .log-line-copy{opacity:1}.log-card-line .log-line-copy:hover,.expandable-row .log-line-copy:hover{background:var(--bg-2);color:var(--text)}.log-line-copy.copied{color:#86efac;border-color:#22c55e73}.log-line-trace-bar{position:absolute;left:3px;top:0;bottom:0;width:2px;pointer-events:none}.log-card-line.has-trace-bar,.expandable-row.has-trace-bar td:first-child{padding-left:12px}.auth-gate{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-0);z-index:9999;overflow:auto;animation:auth-fade-in .32s var(--motion)}@keyframes auth-fade-in{0%{opacity:0}to{opacity:1}}.auth-layout{min-height:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.auth-hero{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:stretch;min-height:100vh}.auth-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;transform-origin:center center}.auth-hero-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,72px);color:#e8f4f4;gap:28px;animation:auth-rise .48s var(--motion)}.auth-hero-brand{display:inline-flex;align-items:center;gap:14px;color:#f5fcfb}.auth-hero-mark{width:38px;height:38px;flex-shrink:0}.auth-hero-wordmark{font-size:var(--t-base);letter-spacing:.01em;font-weight:var(--fw-semi);text-transform:none}.auth-hero-title{margin:0;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.05;letter-spacing:-.02em;font-weight:700;color:#fff;max-width:18ch;text-shadow:0 1px 0 rgba(0,0,0,.25)}.auth-hero-copy{margin:0;font-size:clamp(.95rem,1.3vw,1.05rem);line-height:1.55;color:#e8f4f4c7;max-width:46ch}.auth-hero-copy strong{color:#5eead4;font-weight:600}.auth-hero-footer{display:flex;align-items:center;gap:10px;font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.08em;color:#e8f4f473}.auth-hero-dot{opacity:.5}.auth-panel{display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vw,56px);background:radial-gradient(circle at 80% 5%,rgba(20,184,166,.06),transparent 50%),var(--bg-0);min-height:100vh}.auth-card{width:100%;max-width:420px;background:var(--bg-1);border:1px solid var(--line);border-radius:calc(var(--radius-lg) + 4px);padding:clamp(28px,3vw,36px) clamp(24px,3vw,32px);box-shadow:0 1px #ffffff05 inset,0 36px 70px -24px #000000a6,0 0 0 1px #14b8a60d;display:flex;flex-direction:column;gap:18px;animation:auth-rise .48s var(--motion)}@keyframes auth-rise{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-card-head{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.auth-card-head h2{margin:0;font-size:var(--t-xl);font-weight:var(--fw-semi);letter-spacing:-.015em;color:var(--text)}.auth-card-head p{margin:0;font-size:var(--t-sm);color:var(--text-mute)}.auth-mark{width:56px;height:56px;border-radius:var(--radius-lg);background:var(--bg-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--text);box-shadow:0 0 28px -6px #14b8a673}.auth-mark svg{display:block}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:var(--t-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:var(--fw-medium)}.auth-input{display:flex;align-items:center;gap:8px;padding:0 10px;height:38px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast);color:var(--text-mute)}.auth-input:focus-within{border-color:var(--brand, #14B8A6);box-shadow:0 0 0 3px #14b8a62e;background:var(--bg-1);color:var(--text)}.auth-input input{flex:1;border:none;background:transparent;color:var(--text);font:inherit;font-size:var(--t-base);outline:none;padding:0;min-width:0}.auth-input input::placeholder{color:var(--text-faint)}.auth-eye{background:none;border:none;color:var(--text-faint);padding:4px;display:inline-flex;cursor:pointer;border-radius:4px}.auth-eye:hover{color:var(--text);background:var(--bg-3)}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;font-size:var(--t-sm);padding:8px 10px;border-radius:var(--radius)}.auth-submit{height:40px;border-radius:var(--radius);border:none;background:linear-gradient(180deg,#16c19a,#0fa784);color:#06251d;font-weight:var(--fw-semi);font-size:var(--t-base);cursor:pointer;letter-spacing:.01em;transition:filter var(--motion-fast),transform var(--motion-fast)}.auth-submit:hover:not(:disabled){filter:brightness(1.06)}.auth-submit:active:not(:disabled){transform:translateY(1px)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-footnote{margin:4px 0 0;font-size:var(--t-cap);color:var(--text-faint);text-align:center;line-height:1.5}.auth-footnote code{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);background:var(--bg-2);padding:1px 6px;border-radius:4px;font-size:.9em;color:var(--text-mute)}@media (max-width: 979px){.auth-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth-hero{min-height:280px}.auth-hero-content{padding:32px 28px;gap:20px}.auth-hero-title{font-size:clamp(1.6rem,5.5vw,2.2rem);max-width:22ch}.auth-hero-copy{font-size:.95rem;max-width:60ch}.auth-hero-footer{display:none}.auth-panel{min-height:auto;padding:32px 20px 48px}}@media (max-width: 640px){.auth-hero{display:none}.auth-panel{padding:28px 18px 40px;min-height:100vh}.auth-card{border-radius:var(--radius-lg);padding:26px 20px 20px}.auth-card-head h2{font-size:var(--t-lg)}}@media (prefers-reduced-motion: reduce){.auth-hero-content,.auth-card{animation:none}}
