@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400&family=Inter:ital,wght@0,400;0,500;1,400&family=JetBrains+Mono:wght@400;500&display=swap";.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--surface-paper: #FFFFFF;--surface-card: #F9FBFC;--surface-reading: #ECEFF2;--surface-hero: #E3E7EC;--brand-water: #85C0D7;--brand-water-dark: #2C5868;--brand-growth: #588830;--brand-growth-light: #7AAA50;--ink-primary: #15181F;--ink-secondary: #3D4452;--ink-tertiary: #65707D;--ink-muted: #98A0AC;--brand-water-rgb: 133, 192, 215;--brand-water-dark-rgb: 44, 88, 104;--brand-growth-rgb: 88, 136, 48;--system-error-rgb: 122, 46, 42;--ink-primary-rgb: 21, 24, 31;--surface-card-rgb: 249, 251, 252;--surface-boundary-rgb: var(--brand-water-rgb);--border-default: #D8DCE2;--border-subtle: #E3E6EB;--border-strong: #15181F;--border-hairline: .5px solid var(--border-default);--code-inline-bg: #D8DCE2;--system-error: #7A2E2A;--system-error-on-dark: #C97565;--accent-danger: #C44D3F;--accent-danger-hover: #A03A2E;--edge-default: #A0A7B2;--edge-highlight: var(--brand-water);--edge-valid: var(--brand-growth);--edge-error: var(--system-error);--surface-hover: rgba(20, 24, 32, .04);--surface-pressed: rgba(20, 24, 32, .08);--surface-disabled: #E3E6EB;--state-pending: var(--brand-water);--ink-divider: rgba(20, 24, 32, .16);--selection-halo: var(--ink-primary);--canvas-dot: #C5C9CF;--modal-scrim: rgba(20, 24, 32, .4);--focus-ring: var(--ink-primary);--shadow-card: 0 1px 2px rgba(20, 24, 32, .04);--shadow-card-hover: 0 4px 16px rgba(20, 24, 32, .08), 0 1px 2px rgba(20, 24, 32, .04);--shadow-card-selected: 0 2px 8px rgba(20, 24, 32, .06);--shadow-rail: -8px 0 24px rgba(20, 24, 32, .06);--shadow-bar: 0 1px 3px rgba(20, 24, 32, .04);--font-display: "Inter", system-ui, sans-serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;--font-wordmark: "Fraunces", "Tiempos", "Charter", Georgia, serif;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;background:var(--surface-reading);color:var(--ink-secondary)}.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))}.react-flow__attribution{display:none}.canvas-load-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100vh;padding:40px 24px;text-align:center;font-family:var(--font-sans);color:var(--ink-primary);background:var(--surface-reading)}.canvas-load-error h1{font-family:var(--font-display);font-size:1.125rem;font-weight:500;letter-spacing:-.01em;margin:0}.canvas-load-error p{font-size:.875rem;color:var(--ink-tertiary);max-width:480px;margin:0;line-height:1.6}.canvas-load-error-link{font-size:.875rem;font-weight:500;color:var(--brand-water-dark);text-decoration:none}.canvas-load-error-link:hover{text-decoration:underline}.canvas-wrapper{width:100%;height:100vh;padding-top:40px}.canvas-bootstrap{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface-reading);font-family:var(--font-display);font-style:italic;font-size:1.25rem;color:var(--ink-tertiary)}.canvas-flow{width:100%;height:100%;position:relative}.canvas-flow.focused{border-radius:14px}.canvas-flow.focused .react-flow{clip-path:inset(10px round 14px)}.canvas-flow.focused:after{content:"";position:absolute;inset:10px;border:3px dashed var(--ink-secondary);border-radius:14px;pointer-events:none;z-index:50}.canvas-flow.clamp-engaged,.canvas-flow.clamp-engaged .react-flow__node{cursor:not-allowed!important}.behavior-node-zone{position:relative;padding:12px}.behavior-node-zone.pending-agent{background:rgba(var(--brand-water-rgb),.05);box-shadow:0 0 0 2px rgba(var(--brand-water-rgb),.5);border-radius:12px}.behavior-node-zone.pending-agent:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:rgba(var(--brand-water-rgb),.22);opacity:.4;transform:scale(1);transform-origin:center;animation:pending-agent-pulse 2s ease-in-out infinite;pointer-events:none;z-index:-1;will-change:transform,opacity}@keyframes pending-agent-pulse{0%,to{transform:scale(1);opacity:0}50%{transform:scale(1.04);opacity:.35}}.react-flow__node-behavior,.react-flow__node-external{cursor:move!important}.react-flow__node-behavior.dragging,.react-flow__node-external.dragging{cursor:grabbing!important}.canvas-flow.inspect .react-flow__node-behavior,.canvas-flow.inspect .react-flow__node-external{cursor:pointer!important}.behavior-node{position:relative;background:var(--surface-card);border:.5px solid var(--border-default);border-radius:8px;min-width:140px;max-width:260px;font-family:var(--font-sans);box-shadow:var(--shadow-card);transition:border-color .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s cubic-bezier(.2,.8,.2,1),transform .15s cubic-bezier(.2,.8,.2,1),opacity .25s ease-out}.behavior-node[data-neighbor=upstream],.behavior-node[data-neighbor=downstream]{box-shadow:var(--shadow-card-selected)}.behavior-node[data-dimmed=true]{opacity:.3}.behavior-node[data-state-dimmed=true]{opacity:.15}.behavior-node[data-selected=true]:after{content:"";position:absolute;inset:-6px;border-radius:12px;border:1px solid var(--ink-primary);pointer-events:none}.behavior-node[data-validation=invalid]{border-left:2px solid var(--system-error)}.behavior-node-inner{position:relative}.behavior-node-body{padding:12px 18px;display:flex;flex-direction:column;gap:4px;min-width:0}.behavior-node-name{font-size:.8125rem;font-weight:400;color:var(--ink-primary);letter-spacing:-.005em;white-space:nowrap}.behavior-node-invalid-note{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--system-error)}.behavior-node-port{position:absolute;left:var(--port-left);top:var(--port-top);transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;white-space:nowrap;z-index:1}.behavior-node-port[data-edge=top]:before{content:"";position:absolute;inset:-20px -10px 0}.behavior-node-port[data-edge=bottom]:before{content:"";position:absolute;inset:0 -10px -20px}.behavior-node-port[data-edge=left]:before{content:"";position:absolute;inset:-10px 0 -10px -20px}.behavior-node-port[data-edge=right]:before{content:"";position:absolute;inset:-10px -20px -10px 0}.behavior-node-port .react-flow__handle{width:10px;height:10px;border:0;background:var(--border-default);transition:width .15s cubic-bezier(.2,.8,.2,1),height .15s cubic-bezier(.2,.8,.2,1),background .15s cubic-bezier(.2,.8,.2,1),border .15s cubic-bezier(.2,.8,.2,1)}.behavior-node-port:hover .react-flow__handle,.behavior-node-port[data-highlighted=true] .react-flow__handle{width:14px;height:14px;background:var(--surface-card);border:1.5px solid var(--brand-water)}.behavior-node-port:active{cursor:grabbing}.port-tooltip{position:absolute;left:50%;top:50%;transform:translate(calc(-50% + var(--port-tooltip-dx, 0px)),calc(-50% + var(--port-tooltip-dy, 0px)));pointer-events:none;opacity:0;background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-sm);padding:4px 8px;box-shadow:var(--shadow-card-selected);display:flex;flex-direction:column;gap:1px;white-space:nowrap;transition:opacity .15s ease;cursor:crosshair;z-index:2}.canvas-flow[data-port-drag-modifier] .port-tooltip{cursor:move}.port-tooltip:before{content:"";position:absolute;inset:-16px}.behavior-node-port:hover .port-tooltip,.behavior-node-port[data-highlighted=true] .port-tooltip{opacity:1}.canvas-flow[data-port-drag-modifier] .behavior-node-port:hover .port-tooltip,.canvas-flow[data-port-drag-modifier] .behavior-node-port[data-highlighted=true] .port-tooltip{pointer-events:auto}.canvas-flow[data-port-drag-modifier] .port-tooltip:active{cursor:grabbing}.port-tooltip-name{font-size:.6875rem;font-weight:500;color:var(--ink-primary);line-height:1.2}.port-tooltip-type{font-size:.5625rem;color:var(--ink-tertiary);line-height:1.2}.react-flow__node.cross-perimeter-tagged .behavior-node{background:rgba(var(--brand-water-dark-rgb),.08);border-color:var(--brand-water-dark)}.react-flow__node.cross-perimeter-tagged .behavior-node-name{color:var(--brand-water-dark)}.react-flow__node[data-drop-blocked=true] .behavior-node{opacity:.55;cursor:not-allowed}.react-flow__node[data-drop-blocked=true]{cursor:not-allowed}.react-flow__node-boundary{pointer-events:none!important;cursor:default!important}.react-flow__node-boundary:has(.boundary-node[data-chip]),.react-flow__node-boundary:has(.boundary-node[data-user-collapsed]){pointer-events:auto!important;cursor:pointer!important}.boundary-node{width:100%;height:100%;border:2px dashed var(--ink-tertiary);border-radius:12px;background:rgba(var(--surface-boundary-rgb),.025);position:relative;pointer-events:none;cursor:default}.boundary-node[data-focused]{border-color:transparent!important;background:transparent!important}.boundary-node[data-focused] .boundary-node-label,.boundary-node[data-focused] .boundary-node-port{display:none}.boundary-node[data-selected]{border-color:var(--ink-secondary);background:rgba(var(--surface-boundary-rgb),.06)}.react-flow__node[data-drop-target=true] .boundary-node{border-color:var(--ink-primary)!important;background:rgba(var(--brand-water-rgb),.06)!important}.boundary-node[data-boundary-depth="1"],.boundary-node[data-boundary-depth="2"],.boundary-node[data-boundary-depth="3"]{border-color:var(--ink-secondary)}.boundary-node[data-boundary-depth="1"]{background:rgba(var(--surface-boundary-rgb),.04)}.boundary-node[data-boundary-depth="2"]{background:rgba(var(--surface-boundary-rgb),.06)}.boundary-node[data-boundary-depth="3"]{background:rgba(var(--surface-boundary-rgb),.09)}.boundary-node[data-external]:not([data-focused]){border-color:var(--brand-water-dark)!important;background:rgba(var(--brand-water-dark-rgb),.04)!important}.boundary-node[data-external][data-selected]:not([data-focused]){background:rgba(var(--brand-water-dark-rgb),.08)!important}.boundary-node[data-state=collapsed]{background:rgba(var(--surface-boundary-rgb),.1)}.boundary-node[data-chip]:not([data-focused]),.boundary-node[data-user-collapsed]:not([data-chip]):not([data-focused]){background:rgba(var(--brand-water-dark-rgb),.04)!important;border-color:var(--brand-water-dark)!important;pointer-events:auto;cursor:pointer;display:flex;align-items:center;justify-content:center;container-type:size}.boundary-node[data-chip][data-selected]:not([data-focused]),.boundary-node[data-user-collapsed][data-selected]:not([data-chip]):not([data-focused]){background:rgba(var(--brand-water-dark-rgb),.08)!important}.boundary-node[data-chip]:hover,.boundary-node[data-user-collapsed]:not([data-chip]):hover{border-color:var(--brand-water)}.boundary-node[data-chip] .boundary-node-label,.boundary-node[data-user-collapsed]:not([data-chip]) .boundary-node-label{position:static;background:transparent;border:none;padding:0;flex-direction:column;align-items:center;gap:6px;font-style:normal;max-width:calc(100% - 24px)}.boundary-node[data-chip] .boundary-node-name,.boundary-node[data-user-collapsed]:not([data-chip]) .boundary-node-name{font-size:clamp(.9rem,6cqw,2.5rem);font-weight:500;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.boundary-node[data-chip] .boundary-node-kind,.boundary-node[data-user-collapsed]:not([data-chip]) .boundary-node-kind{font-size:1rem;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.boundary-node[data-chip] .boundary-node-count,.boundary-node[data-user-collapsed]:not([data-chip]) .boundary-node-count{font-size:1.125rem}.boundary-node-label{position:absolute;top:8px;left:12px;display:inline-flex;align-items:baseline;gap:8px;font-family:var(--font-display);font-style:normal;pointer-events:auto;background:var(--surface-paper);padding:2px 8px;border-radius:var(--radius-sm);border:var(--border-hairline);cursor:move;-webkit-user-select:none;user-select:none}.boundary-node[data-chip] .boundary-node-label,.boundary-node[data-user-collapsed] .boundary-node-label,.canvas-flow.inspect .boundary-node-label{cursor:pointer}.boundary-node-label:hover{border-color:var(--brand-water)}.boundary-node-name{font-size:.95rem;color:var(--ink-primary);font-weight:500}.boundary-node-kind{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.05em}.boundary-node-count{font-size:.75rem;color:var(--ink-secondary)}.boundary-node-actions{display:inline-flex;align-items:center;gap:4px;margin-left:4px}.boundary-node-action-btn{width:22px;height:22px;padding:0;border-radius:var(--radius-sm);border:var(--border-hairline);background:var(--surface-paper);color:var(--ink-primary);font-family:var(--font-mono);font-size:.875rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.boundary-node-action-btn:hover{border-color:var(--brand-water);background:rgba(var(--brand-water-rgb),.08)}.boundary-node-action-btn:active{background:rgba(var(--brand-water-rgb),.16)}.react-flow__handle.boundary-node-default-handle{width:1px;height:1px;min-width:0;min-height:0;background:transparent;border:none;opacity:0;pointer-events:none}.boundary-node:not([data-chip]) .boundary-node-port{display:none}.boundary-node-port{position:absolute;left:var(--port-left);top:var(--port-top);transform:translate(-50%,-50%);display:flex;align-items:center;z-index:3;pointer-events:auto}.boundary-node-port[data-edge=top]:before{content:"";position:absolute;inset:-28px -14px 0}.boundary-node-port[data-edge=bottom]:before{content:"";position:absolute;inset:0 -14px -28px}.boundary-node-port[data-edge=left]:before{content:"";position:absolute;inset:-14px 0 -14px -28px}.boundary-node-port[data-edge=right]:before{content:"";position:absolute;inset:-14px -28px -14px 0}.boundary-node-port .react-flow__handle{width:18px;height:18px;border-radius:50%;border:3px solid var(--ink-primary);background:var(--surface-paper);transition:width .15s cubic-bezier(.2,.8,.2,1),height .15s cubic-bezier(.2,.8,.2,1),background .15s cubic-bezier(.2,.8,.2,1),border .15s cubic-bezier(.2,.8,.2,1)}.boundary-node-port:hover .react-flow__handle,.boundary-node-port[data-highlighted=true] .react-flow__handle{width:24px;height:24px;border-color:var(--brand-water);background:var(--surface-card)}.boundary-node-port:active{cursor:grabbing}.boundary-node-port:hover .port-tooltip,.boundary-node-port[data-highlighted=true] .port-tooltip{opacity:1}.canvas-flow[data-port-drag-modifier] .boundary-node-port:hover .port-tooltip,.canvas-flow[data-port-drag-modifier] .boundary-node-port[data-highlighted=true] .port-tooltip{pointer-events:auto}.boundary-node[data-state-dimmed=true]{opacity:.15}.external-node{position:relative;background:rgba(var(--brand-water-dark-rgb),.04);border:1px dashed var(--brand-water-dark);border-radius:8px;min-width:160px;max-width:260px;font-family:var(--font-sans);box-shadow:var(--shadow-card);transition:border-color .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s cubic-bezier(.2,.8,.2,1)}.external-node[data-selected=true]:after{content:"";position:absolute;inset:-6px;border-radius:12px;border:1px solid var(--ink-primary);pointer-events:none}.external-node-inner{position:relative}.external-node-body{padding:10px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}.external-node-header{display:inline-flex;align-items:baseline;gap:6px}.external-node-glyph{font-family:var(--font-mono);font-size:.875rem;color:var(--brand-water-dark)}.external-node-name{font-size:.8125rem;font-weight:500;color:var(--ink-primary);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.external-node-kind{font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.external-node-port{position:absolute;left:var(--port-left);top:var(--port-top);transform:translate(-50%,-50%);display:flex;align-items:center;z-index:3;pointer-events:auto}.external-node-port[data-edge=top]:before{content:"";position:absolute;inset:-22px -10px 0}.external-node-port[data-edge=bottom]:before{content:"";position:absolute;inset:0 -10px -22px}.external-node-port[data-edge=left]:before{content:"";position:absolute;inset:-10px 0 -10px -22px}.external-node-port[data-edge=right]:before{content:"";position:absolute;inset:-10px -22px -10px 0}.external-node-port .react-flow__handle{width:10px;height:10px;border-radius:50%;border:2px solid var(--ink-tertiary);background:var(--surface-paper);transition:width .15s cubic-bezier(.2,.8,.2,1),height .15s cubic-bezier(.2,.8,.2,1),background .15s cubic-bezier(.2,.8,.2,1),border .15s cubic-bezier(.2,.8,.2,1)}.external-node-port:hover .react-flow__handle,.external-node-port[data-highlighted=true] .react-flow__handle{width:14px;height:14px;border-color:var(--brand-water);background:var(--surface-card)}.external-node-port:hover .port-tooltip,.external-node-port[data-highlighted=true] .port-tooltip{opacity:1;pointer-events:auto}.external-node[data-state-dimmed=true]{opacity:.15}.state-node-zone{position:relative;padding:18px 12px 12px}.state-node{position:relative;background:var(--surface-card);border:.5px solid var(--border-default);border-top:none;border-radius:0 0 16px 16px/0 0 18px 18px;min-width:120px;max-width:240px;font-family:var(--font-sans);box-shadow:var(--shadow-card);transition:border-color .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s cubic-bezier(.2,.8,.2,1)}.state-node-cap{position:absolute;top:-9px;left:-.5px;right:-.5px;height:18px;background:var(--surface-card);border:.5px solid var(--border-default);border-radius:50%;z-index:2;pointer-events:none}.state-node[data-selected=true],.state-node[data-selected=true] .state-node-cap{border-color:var(--ink-primary)}.state-node-inner{position:relative}.state-node-body{padding:10px 16px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.state-node-name{font-size:.8125rem;font-weight:400;color:var(--ink-primary);letter-spacing:-.005em;white-space:nowrap}.state-node-kind{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-tertiary)}.state-node-port{position:absolute;left:var(--port-left);top:var(--port-top);transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;white-space:nowrap;z-index:1}.state-node-port[data-edge=top]:before{content:"";position:absolute;inset:-20px -10px 0}.state-node-port[data-edge=bottom]:before{content:"";position:absolute;inset:0 -10px -20px}.state-node-port[data-edge=left]:before{content:"";position:absolute;inset:-10px 0 -10px -20px}.state-node-port[data-edge=right]:before{content:"";position:absolute;inset:-10px -20px -10px 0}.state-node-port .react-flow__handle{width:10px;height:10px;border:0;background:var(--border-default);transition:width .15s cubic-bezier(.2,.8,.2,1),height .15s cubic-bezier(.2,.8,.2,1),background .15s cubic-bezier(.2,.8,.2,1),border .15s cubic-bezier(.2,.8,.2,1)}.state-node-port:hover .react-flow__handle,.state-node-port[data-highlighted=true] .react-flow__handle{width:14px;height:14px;background:var(--surface-card);border:1.5px solid var(--brand-water)}.state-node-port:active{cursor:grabbing}.state-node-port:hover .port-tooltip,.state-node-port[data-highlighted=true] .port-tooltip{opacity:1}.canvas-flow[data-port-drag-modifier] .state-node-port:hover .port-tooltip,.canvas-flow[data-port-drag-modifier] .state-node-port[data-highlighted=true] .port-tooltip{pointer-events:auto}.state-node[data-state-dimmed=true]{opacity:.15}.io-node-zone{position:relative;padding:12px}.io-node{position:relative;min-width:120px;max-width:240px;font-family:var(--font-sans)}.io-node:before{content:"";position:absolute;inset:0;background:var(--surface-card);border:.5px solid var(--border-default);border-radius:3px;box-shadow:var(--shadow-card);transform:skew(-14deg);transform-origin:center;transition:border-color .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s cubic-bezier(.2,.8,.2,1);z-index:0}.io-node[data-selected=true]:before{border-color:var(--ink-primary);box-shadow:var(--shadow-card),0 0 0 1px var(--ink-primary)}.io-node[data-malformed=true]:before{border-color:var(--system-error);border-style:dashed;box-shadow:var(--shadow-card),0 0 0 1px var(--system-error)}.io-node[data-malformed=true] .io-node-dir{color:var(--system-error)}.io-node-inner{position:relative;z-index:1}.io-node-body{padding:8px 18px;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.io-node-name{font-size:.8125rem;font-weight:400;color:var(--ink-primary);letter-spacing:-.005em;white-space:nowrap}.io-node-dir{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-tertiary)}.io-node-port{position:absolute;left:var(--port-left);top:var(--port-top);transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;white-space:nowrap;z-index:1}.io-node-port[data-edge=top]:before{content:"";position:absolute;inset:-20px -10px 0}.io-node-port[data-edge=bottom]:before{content:"";position:absolute;inset:0 -10px -20px}.io-node-port[data-edge=left]:before{content:"";position:absolute;inset:-10px 0 -10px -20px}.io-node-port[data-edge=right]:before{content:"";position:absolute;inset:-10px -20px -10px 0}.io-node-port .react-flow__handle{width:10px;height:10px;border:0;background:var(--border-default);transition:width .15s cubic-bezier(.2,.8,.2,1),height .15s cubic-bezier(.2,.8,.2,1),background .15s cubic-bezier(.2,.8,.2,1),border .15s cubic-bezier(.2,.8,.2,1)}.io-node-port:hover .react-flow__handle,.io-node-port[data-highlighted=true] .react-flow__handle{width:14px;height:14px;background:var(--surface-card);border:1.5px solid var(--brand-water)}.io-node-port:active{cursor:grabbing}.io-node-port:hover .port-tooltip,.io-node-port[data-highlighted=true] .port-tooltip{opacity:1}.canvas-flow[data-port-drag-modifier] .io-node-port:hover .port-tooltip,.canvas-flow[data-port-drag-modifier] .io-node-port[data-highlighted=true] .port-tooltip{pointer-events:auto}.io-node[data-state-dimmed=true]{opacity:.15}.react-flow__node[data-stub-paired=true] .behavior-node,.react-flow__node[data-stub-paired=true] .external-node,.react-flow__node[data-stub-paired=true] .boundary-node{box-shadow:0 0 0 2px var(--brand-water-dark);transition:box-shadow .12s ease}.perimeter-stub{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);background:rgba(var(--brand-water-dark-rgb),.1);border:1.5px solid var(--brand-water-dark);font-family:var(--font-mono);font-size:.75rem;color:var(--brand-water-dark);font-weight:500;white-space:nowrap;pointer-events:auto;-webkit-user-select:none;user-select:none;width:100%;height:100%;box-sizing:border-box}.perimeter-stub-arrow{color:var(--ink-tertiary);font-family:var(--font-mono)}.perimeter-stub-label{font-weight:400}.perimeter-stub-handle{width:1px;height:1px;background:transparent;border:none;opacity:0}.cross-perimeter-edge .wire-edge-path{stroke:var(--brand-water-dark);stroke-dasharray:4 4;opacity:.9}.repo-settings-backdrop{position:fixed;inset:0;background:var(--modal-scrim);display:flex;align-items:center;justify-content:center;z-index:1000}.repo-settings-modal{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:440px;max-width:92vw;box-shadow:var(--shadow-card-hover);display:flex;flex-direction:column}.repo-settings-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:var(--border-hairline)}.repo-settings-title{font-family:var(--font-display);font-size:.9375rem;font-weight:500;margin:0;color:var(--ink-primary);letter-spacing:-.01em}.repo-settings-close{background:transparent;border:none;font-size:1.05rem;line-height:1;color:var(--ink-muted);cursor:pointer;padding:0 4px;transition:color .12s ease}.repo-settings-close:hover{color:var(--ink-primary)}.repo-settings-body{display:flex;flex-direction:column;gap:12px;padding:18px}.repo-settings-status{font-size:.8125rem;color:var(--ink-primary);margin:0}.repo-settings-status code{background:var(--code-inline-bg);color:var(--ink-primary);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.repo-settings-hint{font-size:.75rem;color:var(--ink-tertiary);margin:0;line-height:1.5}.repo-settings-hint code{background:var(--code-inline-bg);color:var(--ink-secondary);padding:1px 4px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.6875rem}.repo-settings-label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-sans);font-size:.75rem;color:var(--ink-secondary);font-weight:500}.repo-settings-input{padding:8px 10px;font-family:inherit;font-size:.8125rem;background:var(--surface-card);color:var(--ink-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none;transition:border-color .12s ease}.repo-settings-input:focus{border-color:var(--ink-primary)}.repo-settings-error{padding:8px 10px;background:rgba(var(--system-error-rgb),.06);border-left:2px solid var(--system-error);color:var(--system-error);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.75rem}.repo-settings-actions{display:flex;justify-content:flex-end;gap:8px}.repo-settings-connect,.repo-settings-disconnect{padding:8px 14px;font-family:inherit;font-size:.8125rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:opacity .12s ease,background .12s ease,border-color .12s ease}.repo-settings-connect{background:var(--ink-primary);color:var(--surface-card);border:1px solid var(--ink-primary)}.repo-settings-connect:hover:not(:disabled){opacity:.85}.repo-settings-connect:disabled,.repo-settings-disconnect:disabled{opacity:.5;cursor:not-allowed}.repo-settings-disconnect{background:rgba(var(--system-error-rgb),.06);color:var(--system-error);border:1px solid rgba(var(--system-error-rgb),.4);align-self:flex-start}.repo-settings-disconnect:hover:not(:disabled){background:rgba(var(--system-error-rgb),.12);border-color:var(--system-error)}.modal-backdrop{position:fixed;inset:0;background:var(--modal-scrim);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;font-family:var(--font-sans);color:var(--ink-primary);box-shadow:var(--shadow-card-hover);max-height:90vh}.modal--sm{width:min(22rem,90vw)}.modal--md{width:min(28rem,90vw)}.modal--lg{width:min(40rem,92vw)}.modal--xl{width:min(56rem,94vw)}.modal--fullscreen{width:96vw;height:92vh}.modal-title{font-family:var(--font-display);font-size:1.0625rem;font-weight:500;color:var(--ink-primary);margin:0;letter-spacing:-.01em}.modal-body{display:flex;flex-direction:column;gap:.75rem;overflow:auto;flex:1 1 auto;min-height:0}.modal-body p{color:var(--ink-secondary);font-size:.9375rem;margin:0;line-height:1.4;white-space:pre-wrap}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.modal-actions button{background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);font:inherit;padding:.5rem 1rem;cursor:pointer;color:var(--ink-primary);transition:background .12s ease,border-color .12s ease,color .12s ease}.modal-actions button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--ink-primary)}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.modal-primary{background:var(--ink-primary);color:var(--surface-card);border-color:var(--ink-primary)}.modal-primary:hover:not(:disabled){opacity:.85;background:var(--ink-primary);border-color:var(--ink-primary)}.modal-danger{background:var(--system-error);color:var(--surface-card);border-color:var(--system-error)}.modal-danger:hover:not(:disabled){opacity:.85;background:var(--system-error);border-color:var(--system-error)}.modal-error{color:var(--system-error);font-size:.875rem;font-style:italic;margin:0;min-height:1.2em}.modal-error--placeholder{visibility:hidden}.modal-input{width:100%;padding:.5rem .625rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);font:inherit;color:var(--ink-primary);background:var(--surface-card);box-sizing:border-box;transition:border-color .12s ease,box-shadow .12s ease}.modal-input:focus{outline:none;border-color:var(--ink-primary);box-shadow:0 0 0 3px rgba(var(--ink-primary-rgb),.12)}.modal-label{font-family:var(--font-sans);font-size:.875rem;color:var(--ink-tertiary)}.diff-preview-summary{display:flex;gap:10px;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;margin-bottom:12px}.diff-summary-count{padding:2px 8px;border-radius:var(--radius-pill);font-weight:500;text-transform:uppercase}.diff-summary-added{background:rgba(var(--brand-growth-rgb),.12);color:var(--brand-growth)}.diff-summary-modified{background:var(--code-inline-bg);color:var(--ink-tertiary)}.diff-summary-deleted{background:rgba(var(--system-error-rgb),.1);color:var(--system-error)}.diff-preview-body{overflow-y:auto;flex:1;padding:0}.diff-preview-empty{padding:24px 20px;color:var(--ink-tertiary);font-family:var(--font-sans);font-size:.875rem;margin:0}.diff-file{border-bottom:var(--border-hairline)}.diff-file:last-child{border-bottom:none}.diff-file-header{padding:8px 16px;background:var(--surface-reading);display:flex;align-items:center;gap:8px}.diff-file-path{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-primary);font-weight:500}.diff-file-new-label{font-family:var(--font-mono);font-size:.5625rem;font-weight:500;padding:1px 6px;background:rgba(var(--brand-growth-rgb),.14);color:var(--brand-growth);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.06em}.diff-file-lines{margin:0;padding:0;overflow-x:auto}.diff-line{display:flex;align-items:baseline;font-family:var(--font-mono);font-size:.75rem;line-height:1.6;min-height:20px}.diff-line-added{background:rgba(var(--brand-growth-rgb),.08)}.diff-line-removed{background:rgba(var(--system-error-rgb),.08)}.diff-line-context{background:var(--surface-card)}.diff-line-gutter{display:inline-block;width:24px;text-align:center;flex-shrink:0;color:var(--ink-muted);-webkit-user-select:none;user-select:none}.diff-line-added .diff-line-gutter{color:var(--brand-growth)}.diff-line-removed .diff-line-gutter{color:var(--system-error)}.diff-line-content{white-space:pre;padding-right:16px}.stem-menu-bar{position:fixed;bottom:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:4px;background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-pill);box-shadow:var(--shadow-bar);z-index:700;font-family:var(--font-sans)}.stem-menu{position:relative;display:inline-flex;align-items:center}.stem-menu:before{content:"";position:absolute;bottom:100%;left:0;right:0;height:12px;pointer-events:auto}.stem-menu-root{display:inline-flex;align-items:center;padding:7px 18px;background:transparent;border:0;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:.75rem;font-weight:400;color:var(--ink-secondary);cursor:pointer;transition:background .12s ease,color .12s ease}.stem-menu-root:hover{background:var(--surface-pressed)}.stem-menu[data-open=true] .stem-menu-root,.stem-menu-toggle[data-active=true]{background:var(--ink-primary);color:var(--surface-reading);font-weight:500}.stem-menu-divider{display:inline-block;width:1px;height:16px;margin:0 6px;background:var(--border-default)}.stem-menu-toggle{display:inline-flex;align-items:center;padding:7px 18px;background:transparent;border:0;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:.75rem;font-weight:400;color:var(--ink-secondary);cursor:pointer;transition:background .12s ease,color .12s ease}.stem-menu-toggle:not([data-active=true]):hover{background:var(--surface-hover)}.stem-menu-branch{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:4px;visibility:hidden;opacity:0;pointer-events:none;transition:visibility 0s linear .18s,opacity .18s cubic-bezier(.2,.8,.2,1)}.stem-menu[data-visible=true] .stem-menu-branch{visibility:visible;opacity:1;pointer-events:auto;transition:visibility 0s linear 0s,opacity .18s cubic-bezier(.2,.8,.2,1)}.stem-menu-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.stem-menu-item-row{opacity:0;transform:translateY(8px);transition:opacity .18s cubic-bezier(.2,.8,.2,1),transform .18s cubic-bezier(.2,.8,.2,1)}.stem-menu[data-visible=true] .stem-menu-item-row{opacity:1;transform:translateY(0)}.stem-menu[data-visible=true] .stem-menu-item-row:nth-last-child(1){transition-delay:.02s}.stem-menu[data-visible=true] .stem-menu-item-row:nth-last-child(2){transition-delay:.05s}.stem-menu[data-visible=true] .stem-menu-item-row:nth-last-child(3){transition-delay:.08s}.stem-menu[data-visible=true] .stem-menu-item-row:nth-last-child(4){transition-delay:.11s}.stem-menu[data-visible=true] .stem-menu-item-row:nth-last-child(5){transition-delay:.14s}.stem-menu[data-visible=true] .stem-menu-item-row:nth-last-child(6){transition-delay:.17s}.stem-menu[data-visible=true] .stem-menu-item-row:nth-last-child(7){transition-delay:.2s}.stem-menu[data-visible=true] .stem-menu-item-row:nth-last-child(8){transition-delay:.23s}.stem-menu[data-visible=true] .stem-menu-item-row:nth-last-child(9){transition-delay:.26s}.stem-menu[data-visible=true] .stem-menu-item-row:nth-last-child(10){transition-delay:.29s}.stem-menu[data-visible=true] .stem-menu-item-row:nth-last-child(n+11){transition-delay:.32s}.stem-menu-item{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:160px;padding:8px 18px;background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-pill);font-family:inherit;font-size:.75rem;color:var(--ink-primary);cursor:pointer;white-space:nowrap;transition:background .1s ease,border-color .1s ease,color .1s ease}.stem-menu-item:hover{background:var(--ink-primary);border-color:var(--ink-primary);color:var(--surface-reading)}.stem-menu-item:hover .stem-menu-item-shortcut{color:var(--ink-muted)}.stem-menu-item:disabled{opacity:.4;cursor:not-allowed}.stem-menu-item[data-active=true]{background:var(--ink-primary);border-color:var(--ink-primary);color:var(--surface-reading)}.stem-menu-item-shortcut{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.03em;color:var(--ink-muted);margin-left:4px;transition:color .1s ease}.hat-switcher{display:flex;flex-direction:row;align-items:center;gap:2px;background:var(--code-inline-bg);border-radius:var(--radius-sm);padding:2px}.hat-switcher-btn{padding:3px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-tertiary);font-family:var(--font-sans);font-size:.75rem;font-weight:500;cursor:pointer;line-height:1.4;transition:background .1s,color .1s,opacity .1s}.hat-switcher-btn:hover{background:var(--surface-hover);color:var(--ink-primary)}.hat-switcher-btn--active{background:var(--ink-primary);color:var(--surface-card)}.hat-switcher-btn--active:hover{background:var(--ink-primary);color:var(--surface-card);opacity:.85}.wire-edge-path{stroke:var(--edge-default);stroke-width:1.5}.wire-edge-path.wire-edge-path-highlighted{stroke:var(--edge-highlight);stroke-width:3}.wire-edge-path.wire-edge-path-dimmed{stroke:var(--edge-default);stroke-width:1;opacity:.25}.wire-edge-path{transition:stroke .15s ease,stroke-width .15s ease,opacity .25s ease-out}.wire-edge-path-valid{stroke:var(--edge-valid);stroke-width:1.5}.wire-edge-path-error{stroke:var(--edge-error);stroke-width:2}.wire-edge-group[data-state-dimmed=true]{opacity:.15}.context-menu-overlay{position:fixed;inset:0;z-index:100}.context-menu{position:fixed;left:var(--menu-x);top:var(--menu-y);z-index:101;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:4px;min-width:180px;box-shadow:var(--shadow-card-hover);font-family:var(--font-sans)}.context-menu-item{display:block;width:100%;padding:8px 12px;border:none;border-radius:var(--radius-sm);background:none;color:var(--ink-primary);font-family:inherit;font-size:.8125rem;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.context-menu-item:hover:not(:disabled){background:var(--surface-hover)}.context-menu-item:disabled{color:var(--ink-muted);cursor:default}.context-menu-divider{height:1px;margin:4px 8px;background:var(--border-default)}@keyframes contract-editor-slide-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.contract-editor-overlay{position:fixed;inset:0;background:var(--modal-scrim);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.contract-editor-panel{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:28px;width:580px;max-width:92vw;max-height:86vh;overflow-y:auto;display:flex;flex-direction:column;gap:18px;font-family:var(--font-sans);box-shadow:var(--shadow-card-hover);animation:contract-editor-slide-in .18s cubic-bezier(.22,1,.36,1) both}.contract-editor-title{font-family:var(--font-display);font-size:1.125rem;font-weight:500;color:var(--ink-primary);margin:0;letter-spacing:-.01em}.contract-editor-field{display:flex;flex-direction:column;gap:5px}.contract-editor-hint{margin:0;font-size:12px;line-height:1.4;color:var(--text-muted, #888)}.contract-editor-field label{font-family:var(--font-sans);font-size:.6875rem;font-weight:500;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.06em}.contract-editor-field input,.contract-editor-field textarea{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--ink-primary);font-family:inherit;font-size:.875rem;padding:9px 12px;outline:none;resize:vertical;max-height:120px;transition:border-color .15s ease}.contract-editor-field input:focus,.contract-editor-field textarea:focus{border-color:var(--ink-primary)}.contract-editor-field input[aria-invalid=true]{border-color:var(--system-error)}.contract-editor-field-error{color:var(--system-error);font-size:.75rem;margin-top:2px}.contract-editor-section{display:flex;flex-direction:column;gap:8px}.contract-editor-section.highlighted{background:rgba(var(--brand-water-rgb),.12);border:1px solid rgba(var(--brand-water-rgb),.4);border-radius:var(--radius-md);padding:12px}.contract-editor-panel:has(.highlighted) .contract-editor-section:not(.highlighted),.contract-editor-panel:has(.highlighted) .contract-editor-field{opacity:.35;pointer-events:none}.contract-editor-section h3{font-family:var(--font-sans);font-size:.6875rem;font-weight:500;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.06em;margin:0}.contract-editor-port-row,.contract-editor-constraint-row{display:flex;gap:6px;align-items:center}.contract-editor-port-row{flex-wrap:wrap}.contract-editor-port-row input,.contract-editor-constraint-row input{flex:1;min-width:0;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--ink-primary);font-family:inherit;font-size:.8125rem;padding:6px 9px;outline:none;transition:border-color .15s ease}.contract-editor-port-row input:focus,.contract-editor-constraint-row input:focus{border-color:var(--ink-primary)}.contract-editor-port-row input.invalid{border-color:var(--system-error);background:rgba(var(--system-error-rgb),.04)}.contract-editor-remove{background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--ink-tertiary);font-family:inherit;font-size:.75rem;padding:4px 8px;cursor:pointer;white-space:nowrap;transition:border-color .12s ease,color .12s ease}.contract-editor-remove:hover{border-color:var(--system-error);color:var(--system-error)}.contract-editor-add{background:none;border:1px dashed var(--border-default);border-radius:var(--radius-sm);color:var(--ink-tertiary);font-family:inherit;font-size:.8125rem;padding:7px 12px;cursor:pointer;text-align:left;transition:border-color .12s ease,color .12s ease}.contract-editor-add:hover{border-color:var(--ink-primary);color:var(--ink-primary)}.contract-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.contract-editor-cancel{background:var(--surface-reading);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--ink-tertiary);font-family:inherit;font-size:.875rem;padding:9px 18px;cursor:pointer;transition:background .12s ease,color .12s ease}.contract-editor-cancel:hover{background:var(--surface-pressed);color:var(--ink-primary)}.contract-editor-save{background:var(--ink-primary);border:none;border-radius:var(--radius-md);color:var(--surface-card);font-family:inherit;font-size:.875rem;font-weight:500;padding:9px 20px;cursor:pointer;letter-spacing:-.01em;transition:opacity .12s ease,transform .08s ease}.contract-editor-save:disabled{opacity:.35;cursor:default}.contract-editor-save:hover:not(:disabled){opacity:.85}.contract-editor-save:active:not(:disabled){transform:scale(.98)}.contract-editor-verification-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.contract-editor-verification-row input{flex:1}.contract-editor-verification-badge{background:var(--code-inline-bg);color:var(--ink-tertiary);font-family:var(--font-mono);font-size:.625rem;font-weight:500;padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}.contract-editor-verification-badge.agent{font-style:italic}.contract-editor-verification-lock{font-size:14px;opacity:.5}.contract-editor-verification-type{font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-muted);white-space:nowrap}.port-list-group{display:flex;flex-direction:column;gap:8px;margin-top:16px}.port-list-group-label{margin:0;font-family:var(--font-sans);font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.port-list-ports{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.port-list-port{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0;border-bottom:var(--border-hairline)}.port-list-port:last-child{border-bottom:0}.port-list-port-name{font-family:var(--font-sans);font-size:.875rem;color:var(--ink-primary);cursor:text;flex:1 1 auto;padding:2px 4px;border-radius:var(--radius-sm, 4px);transition:background .12s ease}.port-list-port-type{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-tertiary);cursor:text;padding:2px 4px;border-radius:var(--radius-sm, 4px);transition:background .12s ease}.port-list-port-name:hover,.port-list-port-type:hover{background:var(--surface-reading)}.port-list-port-input{font-family:var(--font-sans);font-size:.875rem;color:var(--ink-primary);background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-sm, 4px);padding:2px 6px;flex:1 1 auto;min-width:0}.port-list-port-input.port-type{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-tertiary)}.port-list-port-input:focus{outline:1px solid var(--ink-primary);outline-offset:0}.port-list-port-placeholder{color:var(--ink-muted);font-style:italic}.port-list-port-remove{background:transparent;border:none;color:var(--ink-muted);font-family:var(--font-mono);font-size:.9rem;line-height:1;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm, 4px);flex:0 0 auto;transition:color .12s ease,background .12s ease}.port-list-port-remove:hover{color:var(--accent-danger);background:rgba(var(--system-error-rgb),.06)}.port-list-port-add{font-family:var(--font-sans);font-size:.75rem;color:var(--ink-secondary);background:transparent;border:var(--border-hairline);border-radius:var(--radius-sm, 4px);padding:4px 10px;margin-top:4px;cursor:pointer;align-self:flex-start;transition:color .12s ease,border-color .12s ease}.port-list-port-add:hover{color:var(--ink-primary);border-color:var(--ink-primary)}.empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;pointer-events:none;text-align:center;display:flex;flex-direction:column;gap:12px;max-width:360px}.empty-state-title{margin:0;font-family:var(--font-display);font-weight:400;font-size:1.375rem;line-height:1.2;color:var(--ink-tertiary);letter-spacing:-.01em}.empty-state-hint{margin:0;font-family:var(--font-sans);font-size:.8125rem;line-height:1.5;color:var(--ink-muted)}.empty-state-shortcut{display:inline-block;padding:1px 6px;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;color:var(--ink-tertiary);background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-sm);vertical-align:1px}.decompose-review-empty{padding:8px 0;color:var(--ink-tertiary);font-size:.8125rem;text-align:center}.decompose-review-select-all{display:flex;align-items:center;gap:10px}.decompose-review-select-all input[type=checkbox]{cursor:pointer;accent-color:var(--brand-growth)}.decompose-review-select-all-label{font-size:.75rem;color:var(--ink-tertiary);cursor:default;-webkit-user-select:none;user-select:none}.decompose-review-list{overflow-y:auto;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.decompose-review-card{background:var(--surface-reading);border:var(--border-hairline);border-radius:var(--radius-md);padding:10px 12px;transition:opacity .15s ease}.decompose-review-card.excluded{opacity:.45}.decompose-review-card-header{display:flex;align-items:flex-start;gap:10px}.decompose-review-card-header input[type=checkbox]{margin-top:2px;flex-shrink:0;cursor:pointer;accent-color:var(--brand-growth)}.decompose-review-card-content{flex:1;min-width:0;cursor:pointer}.decompose-review-card-name{font-family:var(--font-display);font-size:.875rem;font-weight:500;color:var(--ink-primary);margin-bottom:2px}.decompose-review-card-desc{font-size:.75rem;color:var(--ink-tertiary);line-height:1.4}.decompose-review-detail{margin-top:10px;padding-top:10px;border-top:var(--border-hairline);display:flex;flex-direction:column;gap:10px}.decompose-review-detail-section{display:flex;flex-direction:column;gap:4px}.decompose-review-detail-label{font-family:var(--font-sans);font-size:.6875rem;font-weight:500;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.06em}.decompose-review-detail-port{display:flex;align-items:baseline;gap:8px;font-size:.75rem;padding:2px 0}.decompose-review-detail-port-name{font-weight:500;color:var(--ink-primary)}.decompose-review-detail-port-type{font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-tertiary);background:var(--code-inline-bg);padding:1px 5px;border-radius:var(--radius-sm)}.decompose-review-detail-port-desc{color:var(--ink-tertiary)}.decompose-review-detail-constraints{margin:0;padding-left:16px;font-size:.75rem;color:var(--ink-secondary);line-height:1.5}.decompose-review-btn{flex:1;padding:8px 16px;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;background:var(--surface-card);color:var(--ink-primary);transition:background .15s ease,border-color .15s ease,opacity .15s ease}.decompose-review-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--ink-primary)}.decompose-review-btn:disabled{opacity:.4;cursor:default}.decompose-review-btn.approve{background:var(--ink-primary);border-color:var(--ink-primary);color:var(--surface-card)}.decompose-review-btn.approve:hover:not(:disabled){opacity:.85;background:var(--ink-primary);border-color:var(--ink-primary)}.decompose-review-btn.redecompose{background:transparent;border:1px dashed var(--border-default);color:var(--ink-secondary)}.decompose-review-btn.redecompose:hover:not(:disabled){background:var(--surface-hover);border-color:var(--ink-primary);color:var(--ink-primary)}.rehydrate-conflict-modal{width:min(1100px,96vw)}.conflict-filepath{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-tertiary)}.conflict-reason{padding:8px 12px;background:rgba(var(--system-error-rgb),.06);border-left:2px solid var(--system-error);color:var(--ink-secondary);font-size:.8125rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.conflict-panes{display:grid;grid-template-columns:1fr 1fr 1fr;overflow:hidden;flex:1;border:1px solid var(--border-default);border-radius:var(--radius-sm);min-height:320px}.conflict-pane{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border-default)}.conflict-pane:last-child{border-right:none}.conflict-pane-label{padding:6px 12px;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-tertiary);background:var(--surface-reading);border-bottom:1px solid var(--border-default);flex-shrink:0}.conflict-pane-content{margin:0;padding:10px 12px;overflow:auto;flex:1;font-family:var(--font-mono);font-size:.75rem;line-height:1.6;color:var(--ink-primary);white-space:pre;background:var(--surface-card)}.conflict-pane-editor{flex:1;padding:10px 12px;border:none;resize:none;font-family:var(--font-mono);font-size:.75rem;line-height:1.6;color:var(--ink-primary);background:var(--surface-card);outline:none}.conflict-btn-accept{background:var(--ink-primary);color:var(--surface-card);border-color:var(--ink-primary)}.conflict-btn-accept:hover:not(:disabled){opacity:.85;background:var(--ink-primary);border-color:var(--ink-primary)}.conflict-btn-reject{background:rgba(var(--system-error-rgb),.06);color:var(--system-error);border-color:rgba(var(--system-error-rgb),.4)}.conflict-btn-reject:hover:not(:disabled){background:rgba(var(--system-error-rgb),.12);border-color:var(--system-error)}.cost-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:500;font-family:var(--font-mono);background:var(--code-inline-bg);color:var(--ink-tertiary);white-space:nowrap;-webkit-user-select:none;user-select:none}.run-history-backdrop{position:fixed;inset:0;background:var(--modal-scrim);z-index:1000;display:flex;align-items:flex-end;justify-content:center}.run-history-drawer{background:var(--surface-card);border:1px solid var(--border-default);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:640px;max-height:60vh;display:flex;flex-direction:column;box-shadow:0 -4px 16px rgba(var(--ink-primary-rgb),.08),0 -1px 2px rgba(var(--ink-primary-rgb),.04);font-family:var(--font-sans)}.run-history-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:var(--border-hairline);flex-shrink:0}.run-history-title{font-family:var(--font-display);font-size:.9375rem;font-weight:500;color:var(--ink-primary);margin:0;letter-spacing:-.01em}.run-history-close{font-family:inherit;font-size:.75rem;color:var(--ink-tertiary);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background .12s ease,color .12s ease}.run-history-close:hover{background:var(--surface-hover);color:var(--ink-primary)}.run-history-body{overflow-y:auto;flex:1;padding:8px 0}.run-history-empty,.run-history-loading{text-align:center;padding:24px;color:var(--ink-tertiary);font-size:.8125rem}.run-history-item{display:flex;align-items:flex-start;gap:12px;padding:10px 20px;border-bottom:var(--border-hairline)}.run-history-item:last-child{border-bottom:none}.run-history-status{flex-shrink:0;width:48px;padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;text-align:center;text-transform:uppercase;letter-spacing:.06em;margin-top:1px}.run-history-status--pass{background:rgba(var(--brand-growth-rgb),.14);color:var(--brand-growth)}.run-history-status--fail{background:rgba(var(--system-error-rgb),.1);color:var(--system-error)}.run-history-meta{flex:1;min-width:0}.run-history-timestamp{font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-tertiary);margin-bottom:2px;letter-spacing:.04em}.run-history-stdout{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-secondary);white-space:pre-wrap;word-break:break-all;max-height:60px;overflow:hidden;text-overflow:ellipsis}.run-history-duration{font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-tertiary);flex-shrink:0;margin-top:2px;letter-spacing:.04em}.build-log-overlay{position:fixed;inset:0;background:var(--modal-scrim);z-index:1000;display:flex;align-items:center;justify-content:center}.build-log-modal{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card-hover);width:520px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;font-family:var(--font-sans);animation:build-log-slide-in .18s cubic-bezier(.22,1,.36,1) both}@keyframes build-log-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.build-log-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 20px 12px;border-bottom:var(--border-hairline)}.build-log-title{font-family:var(--font-display);font-size:.9375rem;font-weight:500;color:var(--ink-primary);margin:0;letter-spacing:-.01em}.build-log-header-actions{display:flex;align-items:center;gap:8px}.build-log-subtitle{font-size:.75rem;color:var(--ink-tertiary)}.build-log-btn.history{flex:none;font-size:.75rem;padding:4px 10px}.build-log-cost-ceiling-banner,.build-log-error-summary{margin:12px 20px 0;padding:10px 12px;background:rgba(var(--system-error-rgb),.06);border:1px solid rgba(var(--system-error-rgb),.2);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--system-error);line-height:1.4}.build-log-cost-ceiling-banner{font-weight:500}.build-log-entries{overflow-y:auto;padding:12px 20px;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.build-log-empty{padding:24px 0;color:var(--ink-tertiary);font-size:.8125rem;text-align:center}.build-log-entry{background:var(--surface-reading);border:var(--border-hairline);border-radius:var(--radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:6px}.build-log-entry-header{display:flex;align-items:center;gap:8px}.build-log-stage-badge{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;padding:1px 6px;border-radius:var(--radius-sm);text-transform:lowercase;letter-spacing:.04em}.build-log-stage-badge--scaffolding,.build-log-stage-badge--implementing,.build-log-stage-badge--verifying,.build-log-stage-badge--evaluating,.build-log-stage-badge--retrying,.build-log-stage-badge--testing{color:var(--brand-water-dark);background:rgba(var(--brand-water-rgb),.18)}.build-log-stage-badge--done{color:var(--brand-growth);background:rgba(var(--brand-growth-rgb),.14)}.build-log-stage-badge--error{color:var(--system-error);background:rgba(var(--system-error-rgb),.1)}.build-log-attempt{font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-muted)}.build-log-message{font-size:.75rem;color:var(--ink-secondary);line-height:1.4;margin:0}.build-log-test-results{margin-top:2px}.build-log-toggle{font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-secondary);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-decoration-color:var(--ink-divider);text-underline-offset:2px;transition:color .12s ease}.build-log-toggle:hover{color:var(--ink-primary)}.build-log-test-output{margin:6px 0 0;padding:8px 10px;background:var(--ink-primary);color:var(--surface-reading);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.6875rem;line-height:1.5;overflow-x:auto;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.build-log-actions{display:flex;gap:8px;padding:12px 20px 16px;border-top:var(--border-hairline)}.build-log-btn{flex:1;padding:8px 16px;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;background:var(--surface-card);color:var(--ink-primary);transition:background .15s ease,border-color .15s ease}.build-log-btn:hover{background:var(--surface-hover);border-color:var(--ink-primary)}.chat-message-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--surface-reading)}.chat-message-list-empty{align-items:center;justify-content:center}.chat-empty-state{font-family:var(--font-display);color:var(--ink-tertiary);font-size:.9375rem;text-align:center;margin:0;padding:32px 24px;line-height:1.5}.chat-rail-restoring{font-family:var(--font-sans);color:var(--ink-muted);font-size:.8125rem;text-align:center;margin:0;padding:32px 24px;line-height:1.5}.chat-message{max-width:82%;padding:9px 12px;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.875rem;line-height:1.45;word-wrap:break-word;color:var(--ink-primary)}.chat-message-body>:first-child{margin-top:0}.chat-message-body>:last-child{margin-bottom:0}.chat-message-body p{margin:0 0 .5em}.chat-message-body ul,.chat-message-body ol{margin:.25em 0 .5em;padding-left:1.25em}.chat-message-body li{margin:.1em 0}.chat-message-body code{background:var(--code-inline-bg);padding:.1em .3em;border-radius:var(--radius-sm);font-size:.85em;font-family:var(--font-mono)}.chat-message-body pre{background:var(--code-inline-bg);padding:.5em .75em;border-radius:var(--radius-sm);overflow-x:auto;margin:.25em 0 .5em;font-family:var(--font-mono)}.chat-message-body pre code{background:none;padding:0}.chat-message-body strong{font-weight:500}.chat-message-body a{color:inherit;text-decoration:underline}.chat-message-user .chat-message-body code,.chat-message-user .chat-message-body pre{background:rgba(var(--surface-card-rgb),.15)}.chat-message-user{align-self:flex-end;background:var(--ink-primary);color:var(--surface-card);border-bottom-right-radius:var(--radius-sm)}.chat-message-assistant{align-self:flex-start;background:var(--surface-card);border:1px solid var(--border-default);border-bottom-left-radius:var(--radius-sm)}.chat-message-system{align-self:stretch;background:rgba(var(--system-error-rgb),.06);border:1px solid rgba(var(--system-error-rgb),.2);color:var(--system-error);font-size:.8125rem;text-align:center;max-width:none;border-radius:var(--radius-sm)}.chat-thinking{align-self:flex-start;display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-sm);color:var(--ink-tertiary);font-size:.8125rem}@keyframes chat-thinking-pulse{0%,80%,to{opacity:.25}40%{opacity:1}}.chat-thinking-dot{width:5px;height:5px;border-radius:50%;background:var(--ink-tertiary);animation:chat-thinking-pulse 1.2s infinite ease-in-out both}.chat-thinking-dot:nth-child(2){animation-delay:.15s}.chat-thinking-dot:nth-child(3){animation-delay:.3s}.chat-thinking-label{margin-left:4px}@keyframes chat-cursor-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.chat-message-cursor{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--ink-primary);animation:chat-cursor-blink 1s steps(1) infinite}.chat-message-cost{margin-top:6px}.chat-message-retry{display:inline-block;margin-top:8px;background:transparent;border:1px solid rgba(var(--system-error-rgb),.4);border-radius:var(--radius-sm);color:var(--system-error);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;line-height:1;padding:4px 10px;cursor:pointer;letter-spacing:.04em;transition:background .12s ease}.chat-message-retry:hover:not(:disabled){background:rgba(var(--system-error-rgb),.08)}.chat-message-retry:disabled{opacity:.45;cursor:not-allowed}.chat-message-list-bottom{height:1px}.llm-key-notice{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;margin-bottom:8px;font-size:.8125rem;color:var(--ink-secondary);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm)}.llm-key-notice-text{flex:1 1 auto}.llm-key-notice-link{flex:0 0 auto;padding:4px 10px;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--ink-primary);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer}.llm-key-notice-link:hover{border-color:var(--ink-primary)}.chat-input{display:flex;flex-direction:column;gap:10px;padding:16px;border-top:1px solid var(--border-default);background:var(--surface-card);flex-shrink:0}.chat-input-textarea{width:100%;box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--ink-primary);font-family:var(--font-sans);font-size:.875rem;line-height:1.5;padding:12px 14px;outline:none;resize:none;max-height:220px;overflow-y:auto;transition:border-color .15s ease,box-shadow .15s ease}.chat-input-textarea:focus{border-color:var(--ink-primary);box-shadow:0 0 0 3px rgba(var(--ink-primary-rgb),.12)}.chat-input-textarea::placeholder{color:var(--ink-tertiary)}.chat-input-send{align-self:flex-end;background:var(--ink-primary);border:1px solid var(--ink-primary);border-radius:var(--radius-md);color:var(--surface-card);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;padding:8px 22px;cursor:pointer;transition:opacity .12s ease}.chat-input-send:hover:not(:disabled){opacity:.85}.chat-input-send:disabled{opacity:.3;cursor:default}.inspect-panel{display:flex;flex-direction:column;gap:18px;padding:22px 20px 16px;overflow-y:auto;height:100%}.inspect-panel-header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.inspect-panel-title{margin:0;font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--ink-primary);line-height:1.2}.inspect-panel-kind{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.05em}.inspect-panel-meta{margin:0;font-family:var(--font-sans);font-size:.8125rem;color:var(--ink-tertiary)}.inspect-panel-protocol{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-tertiary)}.inspect-panel-doc-link{color:var(--brand-water-dark);text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:2px}.inspect-panel-doc-link:hover{color:var(--ink-primary)}.inspect-panel-description{margin:0;font-family:var(--font-display);font-size:.9375rem;line-height:1.5;color:var(--ink-secondary)}.inspect-panel-description-empty{color:var(--ink-muted);font-style:italic}.inspect-panel-group{display:flex;flex-direction:column;gap:8px}.inspect-panel-group-label{margin:0;font-family:var(--font-sans);font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.inspect-panel-pills{display:flex;flex-wrap:wrap;gap:6px}.inspect-panel-pill{background:transparent;border:1px solid var(--ink-divider);border-radius:var(--radius-pill, 999px);padding:4px 10px;font-family:var(--font-sans);font-size:.8125rem;color:var(--ink-secondary);cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.inspect-panel-pill:hover{color:var(--ink-primary);border-color:var(--ink-primary);background:var(--surface-reading)}.inspect-panel-ports{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.inspect-panel-port{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;border-bottom:var(--border-hairline)}.inspect-panel-port:last-child{border-bottom:0}.inspect-panel-port-name{font-family:var(--font-sans);font-size:.875rem;color:var(--ink-primary)}.inspect-panel-port-type{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-tertiary)}.inspect-panel-constraints{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.inspect-panel-constraint{padding:4px 0;border-bottom:var(--border-hairline);font-family:var(--font-sans);font-size:.875rem;color:var(--ink-secondary);line-height:1.45}.inspect-panel-constraint:last-child{border-bottom:0}.inspect-panel-verifications{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.inspect-panel-verification{display:flex;flex-direction:column;gap:2px;padding:4px 0;border-bottom:var(--border-hairline)}.inspect-panel-verification:last-child{border-bottom:0}.inspect-panel-verification-text{font-family:var(--font-sans);font-size:.875rem;color:var(--ink-primary);line-height:1.45}.inspect-panel-verification-meta{display:inline-flex;gap:6px;align-items:baseline;font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.05em}.inspect-panel-verification-author[data-author=user]{color:var(--ink-secondary)}.inspect-panel-issues{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.inspect-panel-issue{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;border-left:2px solid transparent;border-radius:0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0;background:var(--surface-reading);font-family:var(--font-mono);font-size:.75rem;line-height:1.5;color:var(--ink-secondary)}.inspect-panel-issue[data-severity=error]{border-left-color:var(--system-error)}.inspect-panel-issue-message{flex:1;word-break:break-word}.inspect-panel-actions{margin-top:auto;padding-top:12px;display:flex;justify-content:flex-end;gap:8px}.inspect-panel-secondary{background:transparent;color:var(--ink-secondary);border:1px solid var(--ink-divider);border-radius:var(--radius-sm, 6px);padding:8px 14px;font-family:var(--font-sans);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.inspect-panel-secondary:hover:not(:disabled){color:var(--ink-primary);border-color:var(--ink-primary);background:var(--surface-hover)}.inspect-panel-secondary:disabled{opacity:.4;cursor:not-allowed}.inspect-panel-secondary[aria-pressed=true]{background:var(--ink-primary);color:var(--surface-card);border-color:var(--ink-primary)}.inspect-panel-done{background:var(--ink-primary);color:var(--surface-card);border:0;border-radius:var(--radius-sm, 6px);padding:8px 16px;font-family:var(--font-sans);font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .12s ease}.inspect-panel-done:hover{opacity:.85}.rail{position:fixed;top:0;right:0;bottom:0;width:330px;max-width:92vw;z-index:800;background:var(--surface-card);box-shadow:var(--shadow-rail);display:flex;flex-direction:column;font-family:var(--font-sans);color:var(--ink-primary);transform:translate(100%);transition:transform .45s cubic-bezier(.2,.85,.3,1);will-change:transform;pointer-events:none}.rail[data-state=open]{transform:translate(0);pointer-events:auto}.rail-tabs{display:flex;align-items:center;gap:2px;padding:14px 18px 0;border-bottom:var(--border-hairline);flex-shrink:0}.rail-tab{background:transparent;border:0;padding:8px 14px;margin-bottom:-.5px;font-family:var(--font-display);font-size:.875rem;color:var(--ink-tertiary);cursor:pointer;border-bottom:1.5px solid transparent;transition:color .12s ease,border-color .12s ease}.rail-tab:hover{color:var(--ink-secondary)}.rail-tab[data-active=true]{color:var(--ink-primary);border-bottom-color:var(--ink-primary)}.rail-close{margin-left:auto;padding:4px 6px;background:transparent;border:0;font-size:1rem;line-height:1;color:var(--ink-muted);cursor:pointer;transition:color .12s ease}.rail-close:hover{color:var(--ink-primary)}.rail-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.rail-inspect-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:24px;font-family:var(--font-display);font-size:1rem;font-style:italic;color:var(--ink-tertiary);text-align:center}.rail-inspect{padding:18px}.rail-inspect-placeholder{margin:0;font-size:.75rem;color:var(--ink-muted);font-style:italic}.rail-design{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.code-viewer-panel{width:100%;height:100%;display:flex;flex-direction:column;gap:12px;padding:16px 20px;font-family:var(--font-sans)}.code-viewer-tabs{display:flex;gap:2px;flex-shrink:0;align-items:center}.code-viewer-tabs-actions-only{justify-content:flex-end}.code-viewer-tab{background:transparent;border:0;border-radius:var(--radius-sm);color:var(--ink-tertiary);font-family:var(--font-sans);font-size:.75rem;font-weight:400;padding:4px 12px;cursor:pointer;transition:color .12s ease,background .12s ease}.code-viewer-tab:hover:not(.active){color:var(--ink-secondary);background:var(--surface-hover)}.code-viewer-tab.active{background:var(--surface-pressed);color:var(--ink-primary);font-weight:500}.code-viewer-copy{background:transparent;border:1px solid var(--ink-divider);border-radius:var(--radius-sm);color:var(--ink-secondary);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;font-weight:500;padding:5px 12px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.code-viewer-copy:hover:not(:disabled){color:var(--ink-primary);border-color:var(--ink-primary);background:var(--surface-hover)}.code-viewer-copy:disabled{opacity:.4;cursor:not-allowed}.code-viewer-copy-inline{margin-left:auto}.code-viewer-code{flex:1;overflow:auto;margin:0;padding:16px 18px;background:var(--ink-primary);border-radius:var(--radius-md);color:var(--surface-reading);font-family:var(--font-mono);font-size:.75rem;line-height:1.6;white-space:pre;tab-size:4}.code-viewer-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--ink-muted);font-family:var(--font-sans);font-size:.875rem;font-style:italic;text-align:center}.project-code-body-wrapper{display:flex;flex-direction:column;flex:1;min-height:0}.project-code-actions{display:flex;justify-content:flex-end;padding:10px 16px;border-bottom:var(--border-hairline);flex-shrink:0}.project-code-download{background:transparent;border:1px solid var(--ink-divider);border-radius:var(--radius-sm);padding:6px 12px;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;color:var(--ink-secondary);cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.project-code-download:hover:not(:disabled){color:var(--ink-primary);border-color:var(--ink-primary);background:var(--surface-hover)}.project-code-download:disabled{opacity:.4;cursor:not-allowed}.project-code-body{display:grid;grid-template-columns:260px 1fr;flex:1;min-height:0;overflow:hidden}.project-code-body-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;padding:32px;text-align:center}.project-code-body-empty-title{font-family:var(--font-display);font-size:1.125rem;color:var(--ink-secondary);margin:0}.project-code-body-empty-hint{font-family:var(--font-sans);font-size:.8125rem;color:var(--ink-tertiary);margin:0;max-width:360px}.project-code-tree{list-style:none;margin:0;padding:8px 0;overflow-y:auto;border-right:var(--border-hairline);background:var(--surface-reading)}.project-code-file{padding:6px 12px;font-size:.6875rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:var(--font-mono);color:var(--ink-secondary);transition:background .12s ease,color .12s ease}.project-code-file:hover{background:var(--surface-hover);color:var(--ink-primary)}.project-code-file.selected{background:var(--surface-pressed);color:var(--ink-primary)}.project-code-file-path{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-code-file-source{font-size:.5625rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:var(--radius-sm);background:var(--code-inline-bg);color:var(--ink-tertiary);flex-shrink:0;font-family:var(--font-mono)}.project-code-viewer{overflow:auto;background:var(--ink-primary);color:var(--surface-reading)}.project-code-pre{margin:0;padding:16px 18px;font-size:.75rem;font-family:var(--font-mono);line-height:1.6;white-space:pre;tab-size:4}.project-code-viewer-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:24px;font-family:var(--font-sans);font-size:.8125rem;color:var(--ink-muted);font-style:italic}.code-rail{position:fixed;top:0;right:0;bottom:0;width:calc(100vw - 64px);max-width:1080px;min-width:480px;z-index:790;background:var(--surface-card);border-left:var(--border-hairline);box-shadow:var(--shadow-rail);display:flex;flex-direction:column;font-family:var(--font-sans);color:var(--ink-primary);transform:translate(100%);transition:transform .45s cubic-bezier(.2,.85,.3,1);will-change:transform;pointer-events:none}.code-rail[data-rail-open]{right:330px;width:calc(100vw - 394px);transform:translate(calc(100% + 330px))}.code-rail[data-state=open]{transform:translate(0);pointer-events:auto}.code-rail-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:var(--border-hairline);flex-shrink:0}.code-rail-title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:500;color:var(--ink-primary)}.code-rail-mode-toggle{display:inline-flex;align-items:center;gap:2px;margin-left:auto}.code-rail-mode-pill{background:transparent;border:0;padding:6px 12px;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:.75rem;color:var(--ink-tertiary);cursor:pointer;transition:background .12s ease,color .12s ease}.code-rail-mode-pill:hover:not([data-active=true]){background:var(--surface-hover);color:var(--ink-secondary)}.code-rail-mode-pill[data-active=true]{background:var(--ink-primary);color:var(--surface-reading);font-weight:500}.code-rail-close{padding:4px 6px;background:transparent;border:0;font-size:1.05rem;line-height:1;color:var(--ink-muted);cursor:pointer;transition:color .12s ease}.code-rail-close:hover{color:var(--ink-primary)}@media(max-width:768px){.code-rail{right:0;width:100vw;max-width:100vw;min-width:0;transform:translate(100%)}}.code-rail-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.code-rail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;padding:32px;text-align:center}.code-rail-empty-title{font-family:var(--font-display);font-size:1.125rem;color:var(--ink-secondary);margin:0}.code-rail-empty-hint{font-family:var(--font-sans);font-size:.8125rem;color:var(--ink-tertiary);margin:0;max-width:360px}.code-rail-empty-action{margin-top:8px;background:var(--ink-primary);color:var(--surface-reading);border:0;border-radius:var(--radius-sm);padding:8px 16px;font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity .12s ease}.code-rail-empty-action:hover{opacity:.85}.code-rail-empty-action:disabled{opacity:.4;cursor:not-allowed}@keyframes growth-card-slide-in{0%{transform:translate(-280px);opacity:0}}.growth-log{position:fixed;top:68px;left:16px;z-index:850;pointer-events:none;width:248px;height:0}.growth-card{pointer-events:auto;position:absolute;top:0;left:0;width:240px;display:flex;align-items:flex-start;gap:8px;padding:10px 12px 10px 14px;background:var(--surface-card);border:var(--border-hairline);border-left:2px solid var(--ink-divider);border-radius:var(--radius-md, 8px);box-shadow:0 1px 2px rgba(var(--ink-primary-rgb),.04),0 4px 14px rgba(var(--ink-primary-rgb),.06);font-family:var(--font-sans);animation:growth-card-slide-in .45s cubic-bezier(.2,.85,.3,1);transition:transform .35s cubic-bezier(.2,.85,.3,1),opacity .35s ease}.growth-card[data-stack-index="0"]{transform:translate(0);z-index:4}.growth-card[data-stack-index="1"]{transform:translate(4px,6px);z-index:3;opacity:.92}.growth-card[data-stack-index="2"]{transform:translate(8px,12px);z-index:2;opacity:.78}.growth-card[data-stack-index="3"]{transform:translate(12px,18px);z-index:1;opacity:.6}.growth-card[data-hidden=true]{opacity:0;pointer-events:none;transform:translate(14px,22px)}.growth-card[data-kind=error]{border-left-color:var(--system-error)}.growth-card[data-kind=success]{border-left-color:var(--brand-growth)}.growth-card[data-kind=progress],.growth-card[data-kind=info]{border-left-color:var(--ink-divider)}.growth-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.growth-card-title{font-family:var(--font-display);font-size:.875rem;font-weight:500;color:var(--ink-primary);line-height:1.3}.growth-card-detail{font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-tertiary);line-height:1.4}.growth-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.growth-card-action{align-self:flex-start;background:transparent;border:1px solid var(--ink-divider);border-radius:var(--radius-sm, 6px);color:var(--ink-secondary);font-family:var(--font-mono);font-size:.6875rem;line-height:1;padding:4px 8px;cursor:pointer;transition:color .12s ease,border-color .12s ease}.growth-card-action:hover{color:var(--ink-primary);border-color:var(--ink-primary)}.growth-card-action[data-variant=danger]{color:var(--accent-danger, var(--ink-secondary));border-color:var(--accent-danger, var(--ink-divider))}.growth-card-action[data-variant=danger]:hover{color:var(--accent-danger-hover, var(--ink-primary));border-color:var(--accent-danger-hover, var(--ink-primary))}.growth-card-dismiss{background:transparent;border:0;color:var(--ink-muted);font-size:.95rem;line-height:1;padding:0 2px;cursor:pointer;flex-shrink:0;transition:color .12s ease}.growth-card-dismiss:hover{color:var(--ink-primary)}.avatar-menu{position:relative;display:flex;align-items:center}.avatar-menu-popover{position:absolute;top:100%;right:0;z-index:10;display:flex;flex-direction:column;background:var(--surface-paper);border:var(--border-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-card-hover);min-width:9rem;margin-top:.25rem}.avatar-menu-popover button{background:transparent;border:0;font:inherit;font-size:.875rem;text-align:left;padding:.5rem .75rem;cursor:pointer;color:var(--ink-secondary)}.avatar-menu-popover button:hover,.avatar-menu-popover button:focus-visible{background:var(--surface-reading);color:var(--ink-primary)}.avatar-menu-danger{color:var(--system-error)!important}.top-bar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 18px;pointer-events:none}.top-bar-left,.top-bar-right{pointer-events:auto;display:inline-flex;align-items:center;gap:14px}.top-bar-back{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--ink-tertiary);font-size:1rem;text-decoration:none;border-radius:var(--radius-sm);transition:color .12s ease-out,background .12s ease-out}.top-bar-back:hover{color:var(--ink-primary);background:var(--surface-card)}.top-bar-name,.top-bar-name-input{font-family:var(--font-display);font-weight:400;font-size:.875rem;letter-spacing:-.01em;color:var(--ink-secondary);background:transparent;border:0;padding:0;cursor:pointer}.top-bar-name:hover{color:var(--ink-primary)}.top-bar-name-input{outline:none;border-bottom:1px solid var(--ink-tertiary);padding-bottom:1px;cursor:text}.top-bar-name-skeleton{display:inline-block;width:9rem;height:.875rem;border-radius:4px;background:var(--ink-tertiary);opacity:.18;animation:top-bar-name-skeleton-pulse 1.4s ease-in-out infinite;vertical-align:middle}@keyframes top-bar-name-skeleton-pulse{0%,to{opacity:.18}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.top-bar-name-skeleton{animation:none}}.top-bar-save{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.05em;color:var(--ink-tertiary)}.top-bar-save-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--brand-growth);flex-shrink:0}.top-bar-save[data-state=dirty] .top-bar-save-dot,.top-bar-save[data-state=saving] .top-bar-save-dot{background:var(--brand-water)}.top-bar-save[data-state=error] .top-bar-save-dot{background:var(--system-error)}.top-bar-save[data-state=loading] .top-bar-save-dot{background:var(--ink-muted)}.top-bar-save[data-state=error] .top-bar-save-label{color:var(--system-error)}.top-bar-avatar{width:26px;height:26px;border-radius:var(--radius-pill);background:var(--surface-card);border:var(--border-hairline);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:.6875rem;font-weight:500;letter-spacing:0;color:var(--ink-tertiary);text-transform:uppercase;transition:border-color .12s ease-out,color .12s ease-out}.top-bar-avatar:hover{border-color:var(--ink-tertiary);color:var(--ink-primary)}.top-bar-back-to-project{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;margin-left:4px;background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;color:var(--ink-secondary);cursor:pointer;transition:border-color .12s ease-out,color .12s ease-out}.top-bar-back-to-project:hover{color:var(--ink-primary);border-color:var(--ink-tertiary)}.top-bar-focused-name{font-family:var(--font-display);font-style:normal;color:var(--ink-primary);font-weight:500;padding:2px 4px}.top-bar-focus-sep{color:var(--ink-tertiary);font-family:var(--font-display);-webkit-user-select:none;user-select:none}.growing-backdrop{position:fixed;inset:0;background:var(--modal-scrim);display:flex;align-items:center;justify-content:center;z-index:2000;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.growing-card{background:var(--surface-card);border-radius:var(--radius-lg);padding:40px 48px;width:420px;max-width:92vw;box-shadow:0 24px 56px rgba(var(--ink-primary-rgb),.28);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;font-family:var(--font-sans)}.growing-spinner{width:44px;height:44px;border-radius:50%;border:3px solid var(--ink-divider);border-top-color:var(--brand-water);animation:growing-spin .9s linear infinite}@keyframes growing-spin{to{transform:rotate(360deg)}}.growing-title{font-family:var(--font-display);font-size:1.125rem;font-weight:500;color:var(--ink-primary);letter-spacing:-.01em;margin:0}.growing-subtitle{font-size:.8125rem;color:var(--ink-tertiary);margin:0;line-height:1.55}.fenced-banner{position:fixed;top:128px;left:16px;width:280px;z-index:1000;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px;background:rgba(var(--brand-water-rgb),.1);border:1px solid rgba(var(--brand-water-rgb),.3);border-left:3px solid var(--brand-water);border-radius:var(--radius-sm);color:var(--ink-primary);font-family:var(--font-sans);font-size:.8125rem;font-weight:400;line-height:1.4}.fenced-banner-title{margin:0;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-water-dark)}.fenced-banner-message{margin:0;color:var(--ink-primary)}.fenced-banner-reload{align-self:flex-start;padding:4px 12px;border:1px solid var(--brand-water);border-radius:var(--radius-sm);background:transparent;color:var(--brand-water-dark);font-family:inherit;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .12s ease}.fenced-banner-reload:hover{background:rgba(var(--brand-water-rgb),.18)}.grouping-banner{position:fixed;top:56px;left:50%;transform:translate(-50%);z-index:700;display:flex;align-items:center;gap:16px;padding:10px 16px;background:rgba(var(--brand-water-rgb),.12);border:1px solid rgba(var(--brand-water-rgb),.35);border-left:3px solid var(--brand-water);border-radius:var(--radius-sm);color:var(--ink-primary);font-family:var(--font-sans);font-size:.8125rem;box-shadow:var(--shadow-bar)}.grouping-banner-message{margin:0}.grouping-banner-message strong{color:var(--brand-water-dark);font-weight:500}.grouping-banner-actions{display:flex;gap:8px}.grouping-banner-cancel,.grouping-banner-commit{padding:4px 12px;border-radius:var(--radius-sm);font-family:inherit;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.grouping-banner-cancel{border:1px solid var(--ink-divider);background:transparent;color:var(--ink-secondary)}.grouping-banner-cancel:hover{border-color:var(--ink-primary);color:var(--ink-primary)}.grouping-banner-commit{border:1px solid var(--brand-water);background:var(--brand-water);color:var(--surface-card)}.grouping-banner-commit:hover:not(:disabled){background:var(--brand-water-dark);border-color:var(--brand-water-dark)}.grouping-banner-commit:disabled{opacity:.4;cursor:not-allowed}.react-flow__node.grouping-pick>*{box-shadow:0 0 0 2px var(--brand-water);border-radius:var(--radius-sm)}.react-flow__node.grouping-ineligible{opacity:.3;cursor:not-allowed!important}.react-flow__node.grouping-ineligible .behavior-node,.react-flow__node.grouping-ineligible .boundary-node-label,.react-flow__node.grouping-ineligible .external-node{cursor:not-allowed!important}.canvas-flow.grouping .react-flow__node,.canvas-flow.grouping .boundary-node-label,.canvas-flow.grouping .behavior-node{cursor:pointer!important}.help-overlay-section{margin-bottom:16px}.help-overlay-section:last-child{margin-bottom:0}.help-overlay-section-heading{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-tertiary);margin:0 0 8px}.help-overlay-table{width:100%;border-collapse:collapse}.help-overlay-table tr+tr td{border-top:var(--border-hairline)}.help-overlay-key{width:140px;padding:7px 0;vertical-align:middle}.help-overlay-key kbd{display:inline-block;background:var(--code-inline-bg);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:2px 7px;font-family:var(--font-mono);font-size:.75rem;color:var(--ink-primary);white-space:nowrap}.help-overlay-description{padding:7px 0;font-size:.8125rem;color:var(--ink-secondary);vertical-align:middle}.onboarding-modal{width:min(30rem,92vw);padding:0;gap:0;overflow:hidden}.onboarding-modal .modal-body{gap:0;padding:0}.onboarding-modal .modal-actions{justify-content:space-between;padding:16px 28px 20px;border-top:var(--border-hairline);margin-top:0}.onboarding-header{padding:28px 28px 0}.onboarding-step-indicator{display:flex;gap:6px;margin-bottom:20px}.onboarding-step-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-divider)}.onboarding-step-dot-active{background:var(--brand-water)}.onboarding-body{padding:0 28px 28px;flex:1}.onboarding-title{font-family:var(--font-display);font-size:1.375rem;font-weight:500;color:var(--ink-primary);margin:0 0 10px;line-height:1.3;letter-spacing:-.015em}.onboarding-subtitle{font-family:var(--font-sans);font-size:.9375rem;color:var(--ink-tertiary);margin:0 0 24px;line-height:1.5}.onboarding-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.onboarding-label{font-family:var(--font-sans);font-size:.8125rem;font-weight:500;color:var(--ink-secondary)}.onboarding-input,.onboarding-select,.onboarding-textarea{padding:9px 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:inherit;font-size:.9375rem;color:var(--ink-primary);background:var(--surface-card);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.onboarding-select{appearance:auto}.onboarding-textarea{resize:vertical;min-height:96px}.onboarding-input:focus,.onboarding-select:focus,.onboarding-textarea:focus{border-color:var(--ink-primary);box-shadow:0 0 0 3px rgba(var(--ink-primary-rgb),.12)}.onboarding-textarea-hint{font-size:.75rem;color:var(--ink-tertiary);margin-top:2px}.onboarding-btn-skip{background:none;border:none;font-family:inherit;font-size:.875rem;color:var(--ink-tertiary);cursor:pointer;padding:6px 0;transition:color .12s ease}.onboarding-btn-skip:hover{color:var(--ink-primary)}.onboarding-btn-next{background:var(--ink-primary);color:var(--surface-card);border:none;border-radius:var(--radius-sm);padding:9px 22px;font-family:inherit;font-size:.9375rem;font-weight:500;cursor:pointer;transition:opacity .12s ease}.onboarding-btn-next:hover:not(:disabled){opacity:.85}.onboarding-btn-next:disabled{background:var(--surface-disabled);color:var(--ink-muted);cursor:default}.first-run-tooltip{position:absolute;bottom:80px;left:50%;transform:translate(-50%);z-index:870;background:var(--ink-primary);color:var(--surface-reading);border-radius:var(--radius-md);padding:12px 16px;display:flex;align-items:center;gap:12px;max-width:380px;box-shadow:0 8px 30px rgba(var(--ink-primary-rgb),.3);font-family:var(--font-sans);font-size:.875rem;pointer-events:auto}.first-run-tooltip-arrow{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--ink-primary)}.first-run-tooltip-text{flex:1;line-height:1.4}.first-run-tooltip-dismiss{background:none;border:1px solid rgba(var(--surface-card-rgb),.3);border-radius:var(--radius-sm);color:var(--surface-reading);font-family:inherit;font-size:.75rem;padding:4px 10px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .12s ease}.first-run-tooltip-dismiss:hover{background:rgba(var(--surface-card-rgb),.1)}.aggregate-edge-path{stroke:var(--brand-water-dark);stroke-width:4;fill:none;opacity:.9}.aggregate-edge-label{position:absolute;display:inline-flex;align-items:baseline;gap:6px;background:var(--surface-paper);border:1.5px solid var(--brand-water-dark);border-radius:999px;padding:4px 12px;pointer-events:all;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-card)}.aggregate-edge-label-count{font-family:var(--font-display);font-size:14px;font-weight:500;color:var(--brand-water-dark)}.aggregate-edge-label-unit{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-tertiary)}.aggregate-edge-label-types{font-family:var(--font-mono);font-size:.625rem;color:var(--brand-water-dark);max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aggregate-edge-path[data-state-dimmed=true]{opacity:.15}.admin-api-keys{display:flex;flex-direction:column;gap:1.25rem}.admin-api-keys-lookup{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-api-keys-mint{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--admin-border, #d0d5dd);border-radius:6px;background:var(--admin-surface, #fafbfc)}.admin-api-keys-mint-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-api-keys-section-title{font-size:.95rem;font-weight:600;margin:0}.admin-api-keys-label{font-size:.85rem;font-weight:500}.admin-api-keys-input{padding:.4rem .6rem;border:1px solid var(--admin-border, #d0d5dd);border-radius:4px;font:inherit;min-width:18rem}.admin-api-keys-select{padding:.35rem .5rem;border:1px solid var(--admin-border, #d0d5dd);border-radius:4px;font:inherit}.admin-api-keys-button{padding:.4rem .9rem;border:1px solid var(--admin-border, #d0d5dd);border-radius:4px;background:var(--admin-surface, #fff);cursor:pointer;font:inherit}.admin-api-keys-button:hover:not(:disabled){background:var(--admin-surface-hover, #f1f3f5)}.admin-api-keys-button:disabled{opacity:.5;cursor:not-allowed}.admin-api-keys-button-danger{color:#c0392b;border-color:#e8b1aa}.admin-api-keys-button-danger:hover:not(:disabled){background:#fdeceb}.admin-api-keys-reveal{border:1px solid #f2c94c;background:#fffbea;border-radius:6px;padding:.85rem;display:flex;flex-direction:column;gap:.6rem}.admin-api-keys-reveal-title{margin:0;font-size:1rem;font-weight:600;color:#8a6d3b}.admin-api-keys-reveal-body{margin:0;font-size:.9rem;color:#4a3a14}.admin-api-keys-reveal-secret{margin:0;padding:.6rem .75rem;background:#1b1b1b;color:#d6f5d6;border-radius:4px;font-size:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;white-space:pre-wrap}.admin-api-keys-reveal-warning{margin:0;padding:.45rem .6rem;background:#fff3cd;color:#856404;border-radius:4px;font-size:.85rem}.admin-api-keys-reveal-actions{display:flex;gap:.5rem}.admin-api-keys-list{display:flex;flex-direction:column;gap:.5rem}.admin-api-keys-table-scroll{overflow-x:auto;max-width:100%}.admin-api-keys-reveal-copy-error{margin:0;padding:.45rem .6rem;background:#f8d7da;color:#721c24;border-radius:4px;font-size:.85rem}.admin-api-keys-override-cell{white-space:nowrap}.admin-api-keys-override-value{display:inline-block;margin-right:.5rem;min-width:3.5em}.admin-api-keys-override-form{display:inline-flex;gap:.35rem;align-items:center}.admin-api-keys-override-input{width:6em}.admin-api-keys-override-default{color:#6b7280}.admin-api-keys-override-error{margin:.35rem 0 0;padding:.35rem .5rem;background:#f8d7da;color:#721c24;border-radius:4px;font-size:.8rem;white-space:normal;max-width:16rem}.admin-cost-reports{display:flex;flex-direction:column;gap:24px}.admin-cost-controls{display:flex;align-items:center;gap:10px}.admin-cost-totals-banner{display:flex;align-items:baseline;gap:12px;background:var(--surface-reading);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:14px 18px}.admin-cost-total-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.06em}.admin-cost-total-value{font-family:var(--font-display);font-size:1.75rem;font-weight:500;color:var(--ink-primary);letter-spacing:-.02em}.admin-cost-window{font-size:.8rem;color:var(--ink-tertiary)}.admin-cost-table-section{display:flex;flex-direction:column;gap:8px}.admin-cost-table-title{font-family:var(--font-display);font-size:.9375rem;font-weight:500;color:var(--ink-primary);letter-spacing:-.01em;margin:0}.admin-requests{display:flex;flex-direction:column;gap:1rem}.admin-requests-notes{width:100%;min-width:16rem;font:inherit;padding:.25rem .5rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);resize:vertical;background:var(--surface-card);color:var(--ink-primary)}.admin-requests-notes:focus{outline:2px solid var(--brand-water);outline-offset:-2px}.admin-sessions{display:flex;flex-direction:column;gap:1rem}.admin-sessions-controls{display:flex;align-items:center;gap:.5rem}.admin-empty{color:var(--ink-tertiary);font-style:italic}.admin-panel{min-height:100vh;background:var(--surface-reading);font-family:var(--font-sans);color:var(--ink-primary)}.admin-panel-header{padding:24px 32px 0;border-bottom:1px solid var(--border-default)}.admin-panel-title{font-family:var(--font-display);font-size:1.375rem;font-weight:500;margin:0 0 16px;color:var(--ink-primary);letter-spacing:-.015em}.admin-tab-bar{display:flex;gap:0;padding:0 32px;background:var(--surface-card);border-bottom:1px solid var(--border-default)}.admin-tab{padding:12px 16px;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--ink-tertiary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .12s ease,border-color .12s ease;margin-bottom:-1px}.admin-tab:hover{color:var(--ink-primary)}.admin-tab[data-active=true]{color:var(--ink-primary);border-bottom-color:var(--ink-primary)}.admin-panel-content{padding:28px 32px}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th{text-align:left;padding:8px 12px;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-default);background:var(--surface-reading)}.admin-table-row td{padding:10px 12px;border-bottom:var(--border-hairline);color:var(--ink-primary);vertical-align:middle}.admin-table-row:last-child td{border-bottom:none}.admin-table-row:hover td{background:var(--surface-hover)}.admin-btn{font-family:inherit;font-size:.8125rem;font-weight:500;border:none;border-radius:var(--radius-sm);padding:6px 14px;cursor:pointer;transition:opacity .1s ease,background .1s ease}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-primary{background:var(--ink-primary);color:var(--surface-card)}.admin-btn-primary:hover:not(:disabled){opacity:.85}.admin-btn-secondary{background:var(--surface-reading);color:var(--ink-primary);border:1px solid var(--border-default)}.admin-btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--ink-primary)}.admin-btn-danger{background:rgba(var(--system-error-rgb),.06);color:var(--system-error);border:1px solid rgba(var(--system-error-rgb),.3)}.admin-btn-danger:hover:not(:disabled){background:rgba(var(--system-error-rgb),.12)}.admin-input{font-family:inherit;font-size:.875rem;color:var(--ink-primary);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:6px 10px;outline:none;min-width:0;transition:border-color .12s ease}.admin-input:focus{border-color:var(--ink-primary)}.admin-select{font-family:inherit;font-size:.875rem;color:var(--ink-primary);background:var(--surface-reading);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;outline:none;transition:border-color .12s ease}.admin-select:focus{border-color:var(--ink-primary)}.admin-label{font-size:.8rem;font-weight:500;color:var(--ink-secondary)}.admin-error{color:var(--system-error);font-size:.875rem;margin:0}.admin-loading,.admin-empty{color:var(--ink-tertiary);font-size:.875rem;margin:0}.admin-error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(var(--system-error-rgb),.06);border:1px solid rgba(var(--system-error-rgb),.3);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:12px;color:var(--system-error);font-size:.875rem}.settings-shell{min-height:100vh;background:var(--surface-reading);font-family:var(--font-sans);color:var(--ink-primary)}.settings-header{padding:16px 32px;border-bottom:1px solid var(--border-default);display:flex;align-items:center;gap:16px}.settings-back{font-family:inherit;font-size:.875rem;font-weight:500;color:var(--ink-tertiary);background:transparent;border:none;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer}.settings-back:hover{color:var(--ink-primary);background:var(--surface-card)}.settings-title{font-family:var(--font-display);font-size:1.375rem;font-weight:500;margin:0;color:var(--ink-primary);letter-spacing:-.015em}.settings-body{display:grid;grid-template-columns:200px 1fr;align-items:start}.settings-rail{display:flex;flex-direction:column;gap:2px;padding:16px 12px;border-right:1px solid var(--border-default);background:var(--surface-card);min-height:calc(100vh - 73px)}.settings-rail-item{text-align:left;padding:8px 12px;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--ink-tertiary);background:transparent;border:none;border-left:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.settings-rail-item:hover{color:var(--ink-primary);background:var(--surface-reading)}.settings-rail-item[data-active=true]{color:var(--ink-primary);border-left-color:var(--ink-primary);background:var(--surface-reading)}.settings-content{padding:28px 32px}.settings-section{max-width:560px;display:flex;flex-direction:column;gap:16px}.settings-section-title{font-family:var(--font-display);font-size:1.125rem;font-weight:500;margin:0;color:var(--ink-primary)}.settings-account-identity{display:flex;align-items:center;gap:16px}.settings-avatar{width:48px;height:48px;border-radius:50%;background:var(--surface-card);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;color:var(--ink-primary);flex-shrink:0}.settings-field-list{margin:0;display:flex;flex-direction:column;gap:10px}.settings-field{display:flex;flex-direction:column;gap:2px}.settings-field-label{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-tertiary)}.settings-field-value{margin:0;font-size:.9375rem;color:var(--ink-primary)}.settings-mono{font-family:var(--font-mono, ui-monospace, monospace)}.settings-hint{margin:0;font-size:.875rem;color:var(--ink-tertiary);line-height:1.5}.settings-loading{margin:0;font-size:.875rem;color:var(--ink-tertiary)}.settings-key-form{display:flex;flex-direction:column;gap:10px}.settings-key-input{padding:10px 12px;font-family:var(--font-mono, ui-monospace, monospace);font-size:.875rem;color:var(--ink-primary);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm)}.settings-key-input:focus{outline:none;border-color:var(--ink-primary)}.settings-key-input:disabled{opacity:.6;cursor:not-allowed}.settings-error-banner{padding:10px 12px;font-size:.875rem;color:var(--system-error);background:rgba(var(--system-error-rgb),.06);border:1px solid rgba(var(--system-error-rgb),.3);border-radius:var(--radius-sm)}.settings-actions{display:flex;gap:8px}.settings-btn{padding:8px 16px;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--ink-primary);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,border-color .12s ease}.settings-btn:hover:not(:disabled){border-color:var(--ink-primary)}.settings-btn:disabled{opacity:.55;cursor:not-allowed}.settings-btn-primary{color:var(--surface-card);background:var(--ink-primary);border-color:var(--ink-primary)}.settings-btn-danger{color:var(--system-error);border-color:rgba(var(--system-error-rgb),.3)}.settings-btn-danger:hover:not(:disabled){background:rgba(var(--system-error-rgb),.06)}.settings-secret-reveal{display:flex;flex-direction:column;gap:.75rem}.settings-secret-value{display:block;padding:.625rem .75rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-reading);font-size:.875rem;line-height:1.5;word-break:break-all;-webkit-user-select:all;user-select:all}.projects-index{position:relative;min-height:100vh;max-width:44rem;margin:0 auto;padding:1.25rem 1.5rem 4rem;display:flex;flex-direction:column;color:var(--ink-secondary)}.projects-topbar{position:absolute;top:1.25rem;right:1.5rem;display:flex;align-items:center;gap:1rem}.projects-archive-link{background:transparent;border:0;padding:0;font:inherit;font-size:.8125rem;color:var(--ink-tertiary);cursor:pointer;transition:color .12s ease-out}.projects-archive-link:hover,.projects-archive-link[aria-pressed=true]{color:var(--ink-primary)}.projects-avatar{width:30px;height:30px;border-radius:var(--radius-pill);background:var(--surface-card);border:var(--border-hairline);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:0;color:var(--ink-tertiary);text-transform:uppercase;transition:border-color .12s ease-out,color .12s ease-out}.projects-avatar:hover{border-color:var(--ink-tertiary);color:var(--ink-primary)}.projects-hero{margin-top:5rem;display:flex;align-items:center;justify-content:center;gap:.875rem}.projects-hero-mark{width:44px;height:44px;display:block}.projects-wordmark{font-family:var(--font-wordmark);font-weight:400;font-size:2.5rem;line-height:1.05;letter-spacing:-.02em;color:var(--ink-primary);margin:0}.projects-search{margin:2rem 0 1.25rem;position:relative;display:flex;align-items:center;background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-pill);padding:.375rem .375rem .375rem 1rem}.projects-search:focus-within{border-color:var(--ink-tertiary)}.projects-search-icon{display:inline-flex;align-items:center;color:var(--ink-muted);margin-right:.625rem}.projects-search-input{flex:1;border:0;background:transparent;font:inherit;font-size:.9375rem;color:var(--ink-primary);outline:none;padding:.375rem 0}.projects-search-input::placeholder{color:var(--ink-muted)}.projects-new-pill{background:var(--ink-primary);color:var(--surface-reading);border:0;border-radius:var(--radius-pill);font:inherit;font-size:.8125rem;font-weight:500;padding:.4375rem .875rem;cursor:pointer;white-space:nowrap;transition:opacity .12s ease-out}.projects-new-pill:hover{opacity:.85}.projects-loading{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-muted);letter-spacing:.05em;padding:.75rem .75rem 0}.projects-error{margin:.5rem 0 0;padding:.625rem .875rem;background:transparent;border:var(--border-hairline);border-color:var(--system-error);color:var(--system-error);border-radius:var(--radius-md);font-size:.875rem}.projects-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.projects-row{display:grid;grid-template-columns:12px 1fr auto auto;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius-md);transition:background .12s ease-out}.projects-row:hover{background:var(--surface-card)}.projects-row[data-archived=true]{opacity:.55}.projects-row-status{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--brand-growth)}.projects-row-status[data-state=archived]{background:var(--ink-muted)}.projects-row-name{background:transparent;border:0;padding:0;font:inherit;font-size:.9375rem;color:var(--ink-primary);text-align:left;cursor:pointer;justify-self:start}.projects-row-name:hover{color:var(--brand-water-dark)}.projects-row-time{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-tertiary);letter-spacing:.03em}.projects-list-empty{padding:2rem .75rem;text-align:center;font-family:var(--font-display);font-style:italic;font-size:1rem;color:var(--ink-tertiary)}.projects-row-menu{position:relative;display:flex;align-items:center}.projects-row-menu-trigger{background:transparent;border:0;font-size:1rem;cursor:pointer;color:var(--ink-muted);padding:.125rem .375rem;border-radius:var(--radius-sm);line-height:1;opacity:0;transition:opacity .12s ease-out,color .12s ease-out,background .12s ease-out}.projects-row:hover .projects-row-menu-trigger,.projects-row-menu-trigger[aria-expanded=true],.projects-row-menu-trigger:focus-visible{opacity:1}.projects-row-menu-trigger:hover{color:var(--ink-primary);background:var(--border-subtle)}.projects-row-menu-popover{position:absolute;top:100%;right:0;z-index:10;display:flex;flex-direction:column;background:var(--surface-paper);border:var(--border-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-card-hover);min-width:9rem;margin-top:.25rem}.projects-row-menu-popover button{background:transparent;border:0;font:inherit;font-size:.875rem;text-align:left;padding:.5rem .75rem;cursor:pointer;color:var(--ink-secondary)}.projects-row-menu-popover button:hover{background:var(--surface-reading);color:var(--ink-primary)}.projects-row-menu-danger{color:var(--system-error)!important}.projects-footer{position:absolute;bottom:1.25rem;left:1.5rem;right:1.5rem;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.05em;color:var(--ink-tertiary)}.projects-foot-links{display:inline-flex;gap:.5rem}.projects-foot-link{color:inherit;text-decoration:none;transition:color .12s ease-out}.projects-foot-link:hover{color:var(--ink-primary)}.notfound{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--surface-reading);color:var(--ink-primary);font-family:var(--font-sans)}.notfound-content{max-width:420px;padding:2rem;text-align:center}.notfound-title{font-family:var(--font-display);font-size:2rem;font-weight:500;margin:0 0 .5rem;color:var(--ink-primary);letter-spacing:-.015em}.notfound-message{font-family:var(--font-sans);font-size:1rem;color:var(--ink-tertiary);margin:0}.interview-chat-pane{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--surface-card);font-family:var(--font-sans)}.interview-chat-pane-header{padding:1rem 1.25rem;border-bottom:var(--border-hairline);flex:0 0 auto}.interview-chat-pane-title{margin:0;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--ink-tertiary);letter-spacing:.06em;text-transform:uppercase}.interview-chat-pane-messages{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1rem 1.25rem}.interview-chat-pane-input{flex:0 0 auto;border-top:var(--border-hairline);padding:.75rem 1rem}.pinned-report-viewer{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--surface-card);font-family:var(--font-sans);color:var(--ink-primary)}.pinned-report-viewer-header{display:flex;align-items:baseline;gap:.75rem;padding:1rem 1.25rem;border-bottom:var(--border-hairline);flex:0 0 auto}.pinned-report-viewer-title{margin:0;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--ink-tertiary);letter-spacing:.06em;text-transform:uppercase}.pinned-report-viewer-version{font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-muted);font-weight:400;letter-spacing:.04em}.pinned-report-viewer-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.25rem 1.5rem}.pinned-report-viewer-loading{margin:0;font-size:.875rem;color:var(--ink-tertiary)}.pinned-report-viewer-error{margin:0;font-size:.875rem;color:var(--system-error)}.pinned-report-viewer-markdown{font-size:.9375rem;line-height:1.55;color:var(--ink-primary)}.pinned-report-viewer-markdown h2{margin:1.5rem 0 .5rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--ink-tertiary);letter-spacing:.06em;text-transform:uppercase}.pinned-report-viewer-markdown h2:first-child{margin-top:0}.pinned-report-viewer-markdown p{margin:0 0 .75rem}.pinned-report-viewer-markdown ul,.pinned-report-viewer-markdown ol{margin:.25rem 0 .75rem;padding-left:1.25rem}.pinned-report-viewer-markdown li{margin:.15rem 0}.pinned-report-viewer-markdown code{background:var(--code-inline-bg);padding:.1em .3em;border-radius:var(--radius-sm);font-size:.85em;font-family:var(--font-mono)}.pinned-report-viewer-markdown strong{font-weight:500}.draft-decision-pane{display:flex;flex-direction:column;height:100%;background:var(--surface-reading);font-family:var(--font-sans);overflow:hidden}.draft-decision-pane-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 12px;border-bottom:1px solid var(--border-default);background:var(--surface-card);flex-shrink:0}.draft-decision-pane-title{font-family:var(--font-display);font-size:.875rem;font-weight:500;color:var(--ink-primary);letter-spacing:-.01em;margin:0}.draft-decision-commit-all-btn{font-family:inherit;font-size:.75rem;font-weight:500;padding:5px 12px;border:1px solid var(--brand-growth);border-radius:var(--radius-sm);background:var(--brand-growth);color:var(--surface-card);cursor:pointer;white-space:nowrap;transition:opacity .12s ease}.draft-decision-commit-all-btn:hover:not(:disabled){opacity:.85}.draft-decision-commit-all-btn:disabled{opacity:.5;cursor:not-allowed}.draft-decision-banner-error{display:flex;align-items:center;gap:8px;margin:10px 16px 0;padding:10px 14px;font-size:.8125rem;color:var(--system-error);background:rgba(var(--system-error-rgb),.08);border:1px solid rgba(var(--system-error-rgb),.3);border-radius:var(--radius-sm)}.draft-decision-banner-dismiss{margin-left:auto;background:none;border:none;font-size:16px;color:var(--system-error);cursor:pointer;line-height:1;padding:0 4px}.draft-decision-empty{padding:32px 20px;font-size:.8125rem;color:var(--ink-tertiary);text-align:center}.draft-decision-list{list-style:none;margin:0;padding:12px 16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:12px}.draft-decision-item{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:8px}.draft-decision-item-header{display:flex;align-items:center;gap:8px}.draft-decision-layer-chip{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid transparent;color:var(--ink-tertiary);background:var(--code-inline-bg);border-color:var(--border-default)}.draft-decision-layer-chip--product{color:var(--brand-water-dark);background:rgba(var(--brand-water-rgb),.14);border-color:rgba(var(--brand-water-rgb),.4)}.draft-decision-layer-chip--systems{color:var(--brand-growth);background:rgba(var(--brand-growth-rgb),.12);border-color:rgba(var(--brand-growth-rgb),.3)}.draft-decision-capture-text{font-size:.8125rem;font-weight:500;color:var(--ink-primary);margin:0;line-height:1.5}.draft-decision-rationale{font-size:.75rem;color:var(--ink-secondary);margin:0;line-height:1.5}.draft-decision-item-error{font-size:.75rem;color:var(--system-error);margin:0}.draft-decision-edit-block{display:flex;flex-direction:column;gap:8px}.draft-decision-edit-textarea{font-family:inherit;font-size:.8125rem;color:var(--ink-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px 10px;resize:vertical;background:var(--surface-reading);width:100%;box-sizing:border-box;transition:border-color .12s ease,box-shadow .12s ease}.draft-decision-edit-textarea:focus{outline:none;border-color:var(--brand-water);box-shadow:0 0 0 2px rgba(var(--brand-water-rgb),.25)}.draft-decision-edit-actions{display:flex;gap:8px;flex-wrap:wrap}.draft-decision-bounce-block{display:flex;flex-direction:column;gap:6px}.draft-decision-bounce-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.06em}.draft-decision-bounce-select{font-family:inherit;font-size:.8125rem;padding:6px 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--ink-primary)}.draft-decision-bounce-rationale{font-family:inherit;font-size:.8125rem;padding:8px 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-reading);color:var(--ink-primary);resize:vertical;width:100%;box-sizing:border-box;transition:border-color .12s ease,box-shadow .12s ease}.draft-decision-bounce-rationale:focus{outline:none;border-color:var(--ink-primary);box-shadow:0 0 0 2px rgba(var(--ink-primary-rgb),.12)}.draft-decision-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.draft-decision-btn{font-family:inherit;font-size:.75rem;font-weight:500;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;white-space:nowrap;background:transparent;transition:background .12s ease,border-color .12s ease,color .12s ease}.draft-decision-btn:disabled{opacity:.5;cursor:not-allowed}.draft-decision-btn--commit{color:var(--brand-growth);border-color:var(--brand-growth)}.draft-decision-btn--commit:hover:not(:disabled){background:rgba(var(--brand-growth-rgb),.1)}.draft-decision-btn--edit{color:var(--brand-water-dark);border-color:var(--brand-water)}.draft-decision-btn--edit:hover:not(:disabled){background:rgba(var(--brand-water-rgb),.14)}.draft-decision-btn--bounce{color:var(--ink-tertiary);border-color:var(--border-default)}.draft-decision-btn--bounce:hover:not(:disabled){color:var(--ink-primary);border-color:var(--ink-primary);background:var(--surface-hover)}.draft-decision-btn--discard{color:var(--ink-tertiary);border-color:var(--border-default)}.draft-decision-btn--discard:hover:not(:disabled){color:var(--system-error);border-color:var(--system-error);background:rgba(var(--system-error-rgb),.06)}.draft-decision-btn--cancel{color:var(--ink-tertiary);border-color:var(--border-default)}.draft-decision-btn--cancel:hover:not(:disabled){background:var(--surface-hover);color:var(--ink-primary)}.sdi-page{display:flex;flex-direction:column;height:100vh;background:var(--surface-reading);font-family:var(--font-sans);overflow:hidden}.sdi-header{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--surface-card);border-bottom:1px solid var(--border-default);flex-shrink:0;min-height:48px}.sdi-back-link{font-size:.8125rem;color:var(--brand-water-dark);text-decoration:none;white-space:nowrap;flex-shrink:0}.sdi-back-link:hover{text-decoration:underline}.sdi-skip-link{font-size:.8125rem;color:var(--ink-tertiary);text-decoration:none;white-space:nowrap;flex-shrink:0}.sdi-skip-link:hover{color:var(--ink-primary);text-decoration:underline}.sdi-title-group{display:flex;flex-direction:column;gap:0;flex:1;min-width:0}.sdi-title{font-family:var(--font-display);font-size:.875rem;font-weight:500;color:var(--ink-primary);letter-spacing:-.01em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.sdi-project-name{font-size:.75rem;color:var(--ink-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.sdi-pinned-badge{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--brand-growth);background:rgba(var(--brand-growth-rgb),.12);border:1px solid rgba(var(--brand-growth-rgb),.3);border-radius:var(--radius-sm);padding:2px 8px;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.06em}.sdi-mode-chip{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--ink-primary);background:var(--code-inline-bg);border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:2px 9px;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.06em}.sdi-loading{padding:40px 24px;text-align:center;font-size:.875rem;color:var(--ink-tertiary)}.sdi-load-error{display:flex;align-items:center;gap:12px;margin:16px 24px;padding:12px 16px;font-size:.8125rem;color:var(--system-error);background:rgba(var(--system-error-rgb),.06);border:1px solid rgba(var(--system-error-rgb),.3);border-radius:var(--radius-sm)}.sdi-retry-btn{font-family:inherit;font-size:.8125rem;font-weight:500;padding:4px 12px;border:1px solid var(--system-error);border-radius:var(--radius-sm);background:transparent;color:var(--system-error);cursor:pointer;flex-shrink:0;transition:background .12s ease}.sdi-retry-btn:hover{background:rgba(var(--system-error-rgb),.08)}.sdi-no-report{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:16px;padding:40px 24px;text-align:center}.sdi-no-report-text{font-size:.875rem;color:var(--ink-secondary);max-width:420px;margin:0;line-height:1.6}.sdi-no-report-link{font-size:.875rem;font-weight:500;color:var(--brand-water-dark);text-decoration:none}.sdi-no-report-link:hover{text-decoration:underline}.sdi-body{display:flex;flex:1;overflow:hidden}.sdi-chat-panel{flex:57;min-width:300px;border-right:1px solid var(--border-default);position:relative;overflow:hidden}.sdi-draft-panel{flex:43;min-width:260px;overflow:hidden;display:flex;flex-direction:column;background:var(--surface-card)}.sdi-right-tabs{display:flex;align-items:stretch;flex:0 0 auto;border-bottom:var(--border-hairline);background:var(--surface-card)}.sdi-right-tab{background:none;border:none;padding:.875rem 1.25rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--ink-tertiary);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease-out;display:inline-flex;align-items:center;gap:.5rem}.sdi-right-tab:hover{color:var(--ink-primary)}.sdi-right-tab--active{color:var(--ink-primary);border-bottom-color:var(--ink-primary)}.sdi-right-tab:focus-visible{outline:2px solid var(--brand-water);outline-offset:-2px;border-radius:2px}.sdi-right-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .4rem;border-radius:var(--radius-pill);background:var(--brand-water);color:var(--ink-primary);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;line-height:1;text-transform:none;letter-spacing:0}.sdi-right-pane-content{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.sdi-committed-strip{flex:0 0 auto;padding:.75rem 1rem;background:rgba(var(--brand-growth-rgb),.08);border-bottom:1px solid rgba(var(--brand-growth-rgb),.25);font-size:.8125rem;color:var(--ink-primary)}.sdi-committed-strip-link{color:var(--brand-growth);text-decoration:none;font-weight:500}.sdi-committed-strip-link:hover{text-decoration:underline}.app-loading{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface-reading)}.app-loading-logo{width:64px;height:64px;opacity:0;animation:app-loading-logo-fade-in .6s ease-out .6s forwards,app-loading-logo-pulse 2s ease-in-out 1.2s infinite;will-change:opacity}@keyframes app-loading-logo-fade-in{to{opacity:.3}}@keyframes app-loading-logo-pulse{0%,to{opacity:.3}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.app-loading-logo{animation:app-loading-logo-fade-in .6s ease-out .6s forwards}}
