.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;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--font-display: "Pridi", "Noto Serif Thai", Georgia, "Times New Roman", serif;--font-body: "Sarabun", "Noto Sans Thai", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--paper: oklch(.985 .007 83);--paper-raised: oklch(.972 .009 80);--paper-deep: oklch(.948 .011 78);--paper-inset: oklch(.932 .013 76);--ink: oklch(.22 .014 65);--ink-soft: oklch(.4 .012 65);--ink-muted: oklch(.55 .01 65);--ink-quiet: oklch(.68 .008 65);--rule: oklch(.88 .012 75);--rule-strong: oklch(.78 .013 72);--sage: oklch(.48 .07 160);--sage-deep: oklch(.4 .075 160);--sage-soft: oklch(.9 .035 160);--sage-wash: oklch(.962 .018 160);--sage-ink: oklch(.33 .05 160);--ember: oklch(.52 .115 42);--ember-deep: oklch(.42 .12 42);--ember-soft: oklch(.93 .035 42);--ember-ink: oklch(.34 .09 42);--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 72px;--space-4xl: 112px;--text-xs: .78rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.0625rem;--text-lg: 1.3125rem;--text-xl: 1.625rem;--text-2xl: 2.125rem;--text-3xl: 2.75rem;--text-4xl: 3.5rem;--max-reading: 68ch;--max-prose: 80ch;--max-shell: 1180px;--topbar-height: 76px;--motion-quick: .14s;--motion-normal: .24s;--motion-slow: .38s;--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);color-scheme:light;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh}body{background:var(--paper)}button,input,select,textarea{font:inherit;color:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px}button{cursor:pointer;background:none;border:0;padding:0;color:inherit}a{color:inherit;text-decoration:none}p{margin:0}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:500;letter-spacing:-.012em;color:var(--ink)}::selection{background:var(--sage-soft);color:var(--ink)}.shell{display:grid;grid-template-rows:auto 1fr;min-height:100vh}.topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-xl);background:var(--paper);border-bottom:1px solid var(--rule)}.topbar-brand{display:inline-flex;align-items:baseline;min-height:44px;gap:var(--space-xs);font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:-.02em;color:var(--ink)}.topbar-brand .brand-dot{width:.4rem;height:.4rem;border-radius:999px;background:var(--sage);transform:translateY(-.15em)}.topbar-brand .brand-sub{font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.04em;color:var(--ink-muted);text-transform:uppercase;margin-left:var(--space-xs)}.org-switch{position:relative;min-width:0}.org-switch-button{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:44px;max-width:min(260px,32vw);padding:0 var(--space-sm);border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer}.org-switch-button span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-switch-menu{position:absolute;top:calc(100% + var(--space-xs));left:0;z-index:40;display:grid;gap:var(--space-xs);width:min(320px,calc(100vw - var(--space-lg)));padding:var(--space-sm);border:1px solid var(--rule-strong);border-radius:8px;background:var(--paper);box-shadow:var(--shadow-soft)}.org-switch-menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:44px;padding:0 var(--space-sm);border-radius:8px;color:var(--ink);text-decoration:none}.org-switch-menu-item:hover,.org-switch-menu-item:focus-visible{background:var(--paper-inset)}.org-switch-menu-item.is-settings{border-top:1px solid var(--rule);border-radius:0 0 8px 8px}.topbar-nav{display:flex;align-items:center;gap:var(--space-lg);justify-self:start;margin-left:var(--space-xl)}.topbar-nav-link{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0;font-size:var(--text-sm);font-weight:500;color:var(--ink-soft);transition:color var(--motion-quick) var(--ease-out-quart)}.topbar-nav-link:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--sage);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-normal) var(--ease-out-quart)}.topbar-nav-link:hover{color:var(--ink)}.topbar-brand:focus-visible,.topbar-nav-link:focus-visible,.btn-link:focus-visible,.row-link:focus-visible{outline:2px solid color-mix(in oklch,var(--sage) 72%,var(--paper));outline-offset:4px}.topbar-nav-link.is-active{color:var(--ink)}.topbar-nav-link.is-active:after{transform:scaleX(1)}.topbar-user{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--ink-soft)}.topbar-user-name{font-weight:500;color:var(--ink)}.topbar-user-sub{color:var(--ink-muted)}.topbar-user-divider{width:1px;height:1.25rem;background:var(--rule)}.main{padding:var(--space-2xl) var(--space-xl) var(--space-4xl)}.page{max-width:var(--max-shell);margin:0 auto}.page-reading{max-width:880px}.page-narrow{max-width:620px}.page-head{display:grid;gap:var(--space-sm);margin-bottom:var(--space-2xl)}.page-eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}.page-title{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.1;font-weight:500;letter-spacing:-.02em;color:var(--ink)}.page-title-sm{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.15;font-weight:500;letter-spacing:-.015em}.page-lede{max-width:56ch;font-size:var(--text-md);line-height:1.65;color:var(--ink-soft)}.page-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.display{font-family:var(--font-display)}.prose{max-width:var(--max-reading);font-size:var(--text-md);line-height:1.7;color:var(--ink)}.prose p+p{margin-top:var(--space-md)}.eyebrow{font-size:var(--text-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.caption{font-size:var(--text-sm);color:var(--ink-muted);line-height:1.5}.caption-quiet{font-size:var(--text-xs);color:var(--ink-quiet);letter-spacing:.02em}.ink-soft{color:var(--ink-soft)}.ink-muted{color:var(--ink-muted)}.italic{font-style:italic}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-width:44px;min-height:44px;padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;line-height:1;border-radius:8px;border:1px solid transparent;transition:background var(--motion-quick) var(--ease-out-quart),border-color var(--motion-quick) var(--ease-out-quart),color var(--motion-quick) var(--ease-out-quart),transform var(--motion-quick) var(--ease-out-quart);cursor:pointer}.btn:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-primary:hover:not(:disabled){background:var(--sage-deep);border-color:var(--sage-deep)}.btn-sage{background:var(--sage);color:var(--paper);border-color:var(--sage)}.btn-sage:hover:not(:disabled){background:var(--sage-deep);border-color:var(--sage-deep)}.btn-quiet{background:transparent;color:var(--ink-soft);border-color:var(--rule)}.btn-quiet:hover:not(:disabled){color:var(--ink);border-color:var(--rule-strong);background:var(--paper-raised)}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:transparent;padding:var(--space-xs) var(--space-sm)}.btn-ghost:hover:not(:disabled){color:var(--ink);background:var(--paper-raised)}.btn-ember{background:var(--ember);color:var(--paper);border-color:var(--ember)}.btn-ember:hover:not(:disabled){background:var(--ember-deep);border-color:var(--ember-deep)}.btn-link{display:inline-flex;align-items:center;width:fit-content;min-height:44px;color:var(--sage-deep);font-weight:500;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in oklch,var(--sage-deep) 35%,transparent);padding:0;background:transparent}.btn-link:hover{text-decoration-color:var(--sage-deep)}.btn-lg{padding:var(--space-md) var(--space-lg);font-size:var(--text-base);border-radius:10px}.btn-icon{min-width:44px;min-height:44px;padding:var(--space-xs);font-size:20px;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed}.field{display:grid;gap:var(--space-2xs)}.field-label{font-size:var(--text-sm);font-weight:500;color:var(--ink)}.field-hint{font-size:var(--text-xs);color:var(--ink-muted);line-height:1.5}.field input,.field textarea,.field select{width:100%;padding:var(--space-sm) var(--space-md);background:var(--paper);border:1px solid var(--rule);border-radius:8px;font-size:var(--text-base);line-height:1.5;color:var(--ink);transition:border-color var(--motion-quick) var(--ease-out-quart),box-shadow var(--motion-quick) var(--ease-out-quart)}.field textarea{resize:vertical;min-height:6rem;font-family:var(--font-body)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px color-mix(in oklch,var(--sage) 18%,transparent)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-quiet)}.field-error{margin:0;font-size:var(--text-xs);color:var(--ember-ink)}.composer-error{margin:var(--space-sm) 0 0;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);color:var(--ember-ink);background:var(--surface-ember-soft, #fdecec);border:1px solid var(--ember-ink);border-radius:var(--radius-sm, 6px);line-height:1.5}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:500;letter-spacing:.01em;background:var(--paper-inset);color:var(--ink-soft);border:1px solid var(--rule)}.tag-sage{background:var(--sage-wash);color:var(--sage-ink);border-color:color-mix(in oklch,var(--sage) 18%,var(--rule))}.tag-ember{background:var(--ember-soft);color:var(--ember-ink);border-color:color-mix(in oklch,var(--ember) 22%,var(--rule))}.tag-ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}.dot{display:inline-block;width:.45rem;height:.45rem;border-radius:999px;background:var(--ink-muted)}.dot-sage{background:var(--sage)}.dot-ember{background:var(--ember)}.rows{display:grid;gap:0;border-top:1px solid var(--rule)}.row{display:grid;grid-template-columns:1fr auto;gap:var(--space-md);align-items:center;padding:var(--space-md) 0;border-bottom:1px solid var(--rule)}.row-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;color:var(--ink)}.row-body{display:grid;gap:var(--space-2xs)}.row-index{align-self:start;padding-top:.2rem;font-size:var(--text-xs);font-weight:500;letter-spacing:.16em;color:var(--ink-quiet)}.row-meta{font-size:var(--text-sm);color:var(--ink-muted);line-height:1.5}.row-note{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.55}.row-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-md);align-items:start;padding:var(--space-lg) var(--space-sm);margin:0 calc(-1 * var(--space-sm));border-bottom:1px solid var(--rule);transition:background var(--motion-quick) var(--ease-out-quart),border-color var(--motion-quick) var(--ease-out-quart)}.row-link:hover{background:var(--paper-raised);border-color:var(--rule-strong)}.row-link.is-active{background:var(--sage-wash)}.row-link-arrow{align-self:center;font-size:var(--text-sm);font-weight:500;color:var(--ink-quiet);transition:color var(--motion-quick) var(--ease-out-quart),transform var(--motion-normal) var(--ease-out-quart)}.row-link:hover .row-link-arrow{color:var(--sage);transform:translate(3px)}.projects-list{display:grid;gap:var(--space-sm)}.projects-list-head{padding-bottom:var(--space-sm);border-bottom:1px solid var(--rule)}.projects-list-note{max-width:62ch;font-size:var(--text-sm);line-height:1.65;color:var(--ink-muted)}.section{display:grid;gap:var(--space-md)}.section+.section{margin-top:var(--space-2xl)}.section-head{display:grid;gap:var(--space-2xs);padding-bottom:var(--space-sm);border-bottom:1px solid var(--rule)}.section-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.section-lede{font-size:var(--text-sm);color:var(--ink-muted);line-height:1.6;max-width:64ch}.org-page{max-width:1080px}.org-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-lg);margin:var(--space-lg) 0 var(--space-2xl)}.org-crest{display:grid;place-items:center;width:72px;aspect-ratio:1;border:1px solid var(--rule-strong);border-radius:8px;background:var(--paper-inset);color:var(--sage-deep);font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}.org-section{align-items:start}.org-name-form{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:end}.org-project-list{border-top:1px solid var(--rule)}.artifact-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg)}.artifact-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.artifact-markdown{margin:0;padding:var(--space-lg);border:1px solid var(--rule);border-radius:12px;background:var(--paper-raised);color:var(--ink);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:var(--text-sm);line-height:1.7;white-space:pre-wrap}.artifact-epic{display:grid;gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--rule);border-radius:12px;background:var(--paper-raised)}.artifact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.proj-header{padding:var(--space-2xl) 0 var(--space-md);border-bottom:1px solid var(--rule);margin-bottom:var(--space-xl)}.proj-breadcrumb{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--ink-muted);margin-bottom:var(--space-sm)}.proj-breadcrumb a,.breadcrumb{display:inline-flex;align-items:center;min-height:44px}.proj-breadcrumb a:hover{color:var(--sage-deep);text-decoration:underline;text-underline-offset:3px}.proj-title{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.1;font-weight:500;letter-spacing:-.02em}.proj-title-row{display:flex;align-items:start;justify-content:space-between;gap:var(--space-lg)}.proj-actions{display:inline-flex;align-items:center;gap:var(--space-xs);flex:0 0 auto}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);color:var(--ink-soft);transition:border-color var(--motion-quick) var(--ease-out-quart),color var(--motion-quick) var(--ease-out-quart),background var(--motion-quick) var(--ease-out-quart)}.icon-button:hover{border-color:var(--sage);color:var(--sage-deep);background:var(--sage-wash)}.project-overflow{display:none}.phase-menu{position:relative}.phase-pill{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-sm);border:1px solid var(--rule-strong);border-radius:8px;background:var(--paper-raised);color:var(--ink);font-size:var(--text-sm);font-weight:600}.phase-pill>span{width:8px;height:8px;border-radius:999px;background:var(--sage)}.phase-discovery>span{background:#448061}.phase-spec>span{background:#126686}.phase-delivery>span{background:#a65a3b}.phase-maintenance>span{background:#685c81}.phase-menu-list{position:absolute;top:calc(100% + var(--space-xs));right:0;z-index:50;display:grid;width:280px;padding:var(--space-xs);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);box-shadow:0 24px 64px color-mix(in oklch,var(--ink) 16%,transparent)}.phase-menu-list button{display:grid;gap:2px;padding:var(--space-sm);border-radius:6px;text-align:left}.phase-menu-list button:hover,.phase-menu-list button.is-active{background:var(--sage-wash)}.phase-menu-list button:disabled{cursor:not-allowed;opacity:.62}.phase-menu-list small,.phase-menu-hint{color:var(--ink-muted);font-size:var(--text-xs)}.phase-menu-hint{padding:var(--space-xs) var(--space-sm)}.proj-subhead{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm) var(--space-lg);margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--ink-soft)}.budget-chip{display:inline-flex;flex-direction:column;gap:2px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);color:var(--ink);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.budget-chip-sub{color:var(--ink-muted)}.budget-BUDGET_NOT_CONFIGURED,.budget-warning{background:var(--ember-soft);color:var(--ember-ink)}.budget-BUDGET_EXCEEDED{background:color-mix(in oklch,var(--ember-soft) 70%,var(--paper));color:var(--ember-deep)}.proj-subhead-item{display:inline-flex;align-items:center;gap:var(--space-xs)}.proj-tabs{display:flex;gap:var(--space-lg);margin-top:var(--space-lg);border-bottom:1px solid var(--rule);overflow-x:auto}.proj-tab{display:grid;gap:2px;position:relative;padding:var(--space-sm) 0 calc(var(--space-sm) + 2px);font-size:var(--text-sm);font-weight:500;color:var(--ink-muted);white-space:nowrap;transition:color var(--motion-quick) var(--ease-out-quart)}.proj-tab small{color:var(--sage-deep);font-size:var(--text-xs);font-weight:500}.proj-tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--sage);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-normal) var(--ease-out-quart)}.proj-tab:hover,.proj-tab.is-active{color:var(--ink)}.proj-tab.is-active:after{transform:scaleX(1)}.workspace-page.is-rail-nav{max-width:min(100%,1320px)}.main:has(.workspace-page.is-rail-nav){padding-top:var(--space-md)}.workspace-page.is-rail-nav .proj-header{padding:0 0 var(--space-sm);margin-bottom:var(--space-md)}.workspace-page.is-rail-nav .proj-breadcrumb{margin-bottom:var(--space-2xs)}.workspace-page.is-rail-nav .proj-title-row{align-items:center}.workspace-page.is-rail-nav .proj-title{min-width:0;font-size:var(--text-2xl);letter-spacing:0}.workspace-page.is-rail-nav.is-project-overview .proj-subhead{margin-top:var(--space-xs)}.workspace-page.is-rail-nav.is-project-overview .budget-chip{flex-direction:row;align-items:center;gap:var(--space-xs)}.workspace-shell{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-xl);align-items:start}.workspace-content{min-width:0}.workspace-rail{position:sticky;top:calc(var(--topbar-height) + var(--space-md));z-index:20;display:grid;align-content:space-between;width:56px;min-height:calc(100vh - var(--topbar-height) - var(--space-2xl));padding:var(--space-xs);border:1px solid var(--rule);border-radius:8px;background:var(--paper);transition:width var(--motion-normal) var(--ease-out-quart)}.workspace-rail.is-expanded{width:240px}.workspace-rail-primary,.workspace-rail-bottom,.workspace-rail-actions,.workspace-recent-list,.workspace-drawer-nav{display:grid;gap:var(--space-xs)}.workspace-rail-bottom{align-self:end}.workspace-rail-item,.workspace-recent-item,.workspace-drawer-item,.workspace-drawer-trigger,.workspace-drawer-close{position:relative;display:flex;align-items:center;min-height:44px;border-radius:8px;color:var(--ink-muted);transition:background var(--motion-quick) var(--ease-out-quart),color var(--motion-quick) var(--ease-out-quart)}.workspace-rail-item,.workspace-recent-item{justify-content:center;width:44px;min-width:44px}.workspace-rail.is-expanded .workspace-rail-item,.workspace-rail.is-expanded .workspace-recent-item{justify-content:start;width:100%;padding:0 var(--space-sm);gap:var(--space-sm)}.workspace-rail-item:hover,.workspace-rail-item:focus-visible,.workspace-recent-item:hover,.workspace-recent-item:focus-visible,.workspace-drawer-item:hover,.workspace-drawer-item:focus-visible,.workspace-drawer-trigger:hover,.workspace-drawer-trigger:focus-visible,.workspace-drawer-close:hover,.workspace-drawer-close:focus-visible{background:var(--sage-wash);color:var(--ink)}.workspace-rail-item:focus-visible,.workspace-recent-item:focus-visible,.workspace-drawer-item:focus-visible,.workspace-drawer-trigger:focus-visible,.workspace-drawer-close:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.workspace-rail-item.is-active,.workspace-drawer-item.is-active{background:var(--sage-deep);color:var(--paper)}.workspace-rail-item svg,.workspace-recent-item svg,.workspace-drawer-item svg{flex:0 0 auto}.workspace-tooltip{position:absolute;left:calc(100% + var(--space-xs));z-index:80;width:max-content;max-width:220px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);box-shadow:0 16px 48px color-mix(in oklch,var(--ink) 14%,transparent);color:var(--ink-muted);font-size:var(--text-sm);opacity:0;pointer-events:none;transform:translate(-4px);transition:opacity var(--motion-quick) var(--ease-out-quart),transform var(--motion-quick) var(--ease-out-quart)}.workspace-rail-item:hover .workspace-tooltip,.workspace-rail-item:focus-visible .workspace-tooltip,.workspace-recent-item:hover .workspace-tooltip,.workspace-recent-item:focus-visible .workspace-tooltip{opacity:1;transform:translate(0)}.workspace-recent{padding-top:var(--space-xs);border-top:1px solid var(--rule)}.workspace-recent-title{padding:0 var(--space-sm) var(--space-xs);color:var(--ink-soft);font-size:var(--text-xs);font-weight:600}.workspace-recent-label{min-width:0;overflow:hidden;color:inherit;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.workspace-drawer-trigger{display:none;justify-content:center;width:44px;height:44px;border:1px solid var(--rule);background:var(--paper-raised)}.workspace-drawer-backdrop{position:fixed;inset:0;z-index:85;display:flex;background:color-mix(in oklch,var(--ink) 22%,transparent)}.workspace-drawer{display:grid;grid-template-rows:auto auto 1fr auto;gap:var(--space-md);width:min(280px,84vw);height:100vh;padding:var(--space-md);border-right:1px solid var(--rule);background:var(--paper);box-shadow:24px 0 64px color-mix(in oklch,var(--ink) 16%,transparent);animation:workspaceDrawerIn var(--motion-normal) var(--ease-out-quart)}.workspace-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.workspace-drawer-head h2{font-size:var(--text-lg)}.workspace-drawer-close{justify-content:center;width:44px;height:44px}.workspace-drawer-item{width:100%;padding:0 var(--space-sm);gap:var(--space-sm);text-align:left}.workspace-drawer .workspace-recent{align-self:start}.workspace-drawer .workspace-recent-item{justify-content:start;width:100%;padding:0 var(--space-sm);gap:var(--space-sm)}.workspace-drawer-footer{padding-top:var(--space-sm);border-top:1px solid var(--rule)}.workspace-coachmark{position:fixed;z-index:70;display:grid;gap:var(--space-sm);width:min(320px,calc(100vw - var(--space-xl)));padding:var(--space-md) var(--space-lg);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);box-shadow:0 18px 54px color-mix(in oklch,var(--ink) 15%,transparent);color:var(--ink);animation:workspaceCoachmarkIn var(--motion-normal) var(--ease-out-quart)}.workspace-coachmark-rail{left:calc((100vw - min(100%,1320px))/2 + 72px);top:220px}.workspace-coachmark-hamburger{left:var(--space-md);top:164px}.workspace-coachmark:before{content:"";position:absolute;width:10px;height:10px;background:var(--paper-raised);border-left:1px solid var(--rule);border-bottom:1px solid var(--rule)}.workspace-coachmark-rail:before{left:-6px;top:24px;transform:rotate(45deg)}.workspace-coachmark-hamburger:before{left:26px;top:-6px;transform:rotate(135deg)}.tour-nav-illustration{display:grid;grid-template-columns:56px minmax(0,1fr);min-height:160px;overflow:hidden;border:1px solid var(--rule);border-radius:8px;background:var(--paper)}.tour-nav-rail{display:grid;align-content:start;gap:var(--space-xs);padding:var(--space-xs);border-right:1px solid var(--rule);background:var(--paper)}.tour-nav-rail span{width:40px;height:40px;border-radius:8px;background:var(--sage-wash)}.tour-nav-rail span.is-active{background:var(--sage-deep)}.tour-nav-page{display:grid;gap:var(--space-sm);align-content:start;padding:var(--space-md)}.tour-nav-line,.tour-nav-card{display:block;border-radius:8px;background:var(--paper-inset)}.tour-nav-line{width:64%;height:16px}.tour-nav-line-strong{width:42%;height:28px;background:var(--sage-wash)}.tour-nav-card{height:72px;border:1px solid var(--rule)}@keyframes workspaceDrawerIn{0%{transform:translate(-16px);opacity:.84}to{transform:translate(0);opacity:1}}@keyframes workspaceCoachmarkIn{0%{transform:translateY(4px);opacity:0}to{transform:translateY(0);opacity:1}}.sub-tabs{display:flex;flex-wrap:wrap;gap:var(--space-sm);border-bottom:1px solid var(--rule)}.sub-tab,.sub-tabs>button{display:inline-grid;gap:2px;min-width:44px;min-height:44px;align-content:center;padding:0 0 calc(var(--space-sm) + 2px);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-muted);font-size:var(--text-sm);font-weight:600;font-family:var(--font-body);text-align:left;cursor:pointer}.sub-tab.is-active,.sub-tabs>button.is-active{border-color:var(--sage);color:var(--ink)}.sub-tab small{color:var(--sage-deep);font-size:var(--text-xs);font-weight:500}.module-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-lg);align-items:center;padding:var(--space-xl);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised)}.module-hero-compact{grid-template-columns:1fr;align-items:start}.connect-hero{align-items:start}.module-glyph{display:grid;place-items:center;width:64px;height:64px;border-radius:8px;background:var(--sage-wash);color:var(--sage-deep);font-family:var(--font-display);font-size:var(--text-lg)}.module-title{font-size:var(--text-2xl);line-height:1.16}.module-copy{max-width:var(--max-reading);color:var(--ink-soft);line-height:1.7}.module-empty,.api-key-shell{display:grid;gap:var(--space-sm);min-width:0;padding:var(--space-xl);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised)}.module-empty h3{font-size:var(--text-xl)}.module-empty p{max-width:var(--max-reading);color:var(--ink-soft)}.module-empty-kicker{color:var(--sage-deep);font-size:var(--text-sm);font-weight:700}.module-empty-table{place-items:center;min-height:160px;text-align:center}.sheet-backdrop{position:fixed;inset:0;z-index:70;display:flex;justify-content:flex-end;background:color-mix(in oklch,var(--ink) 20%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.settings-sheet{container-type:inline-size;width:min(100%,480px);height:100vh;overflow:auto;border-left:1px solid var(--rule);background:var(--paper);box-shadow:-24px 0 70px color-mix(in oklch,var(--ink) 14%,transparent)}.settings-sheet-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid var(--rule);background:color-mix(in oklch,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-sheet-body{display:grid;gap:var(--space-md);padding:var(--space-lg)}.settings-sheet .section,.settings-sheet .asset-section{margin:0}.tour-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:var(--space-lg);background:color-mix(in oklch,var(--ink) 24%,transparent)}.tour-dialog{display:grid;gap:var(--space-md);width:min(100%,640px);padding:var(--space-xl);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);box-shadow:0 24px 70px color-mix(in oklch,var(--ink) 18%,transparent)}.tour-dialog h2{font-size:var(--text-2xl)}.tour-note{padding:var(--space-md);border-left:3px solid var(--sage);background:var(--sage-wash);color:var(--ink-soft)}.tour-dots{display:flex;gap:var(--space-xs)}.tour-dots span{width:8px;height:8px;border-radius:999px;background:var(--rule-strong)}.tour-dots span.is-active{background:var(--sage)}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.chat{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-2xl);align-items:start;isolation:isolate}.chat-threads{display:grid;gap:var(--space-md);align-content:start;position:sticky;top:56px;z-index:6;background:var(--paper)}.chat-threads-head{position:relative;z-index:2;margin:calc(var(--space-xs) * -1) calc(var(--space-xs) * -1) 0;padding:var(--space-xs) var(--space-xs) 0;background:var(--paper)}.chat-threads-head:after{content:"";position:absolute;right:0;bottom:calc(var(--space-md) * -1);left:0;height:var(--space-md);background:var(--paper);pointer-events:none}.chat-thread-list{position:relative;z-index:1}.chat-thread-new{display:grid;gap:4px;padding:var(--space-md);border:1px dashed var(--rule-strong);border-radius:10px;background:var(--paper-raised);text-align:left}.chat-thread{display:grid;gap:4px;padding:var(--space-sm) var(--space-md);border-radius:10px;text-align:left;transition:background var(--motion-quick) var(--ease-out-quart)}.chat-thread:hover{background:var(--paper-raised)}.chat-thread.is-active{background:var(--sage-wash)}.chat-thread-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:500;color:var(--ink)}.chat-thread-meta{font-size:var(--text-xs);color:var(--ink-muted)}.chat-stream{position:relative;display:grid;gap:var(--space-2xl);min-width:0;overflow-x:clip;max-height:calc(100vh - 260px);overflow-y:auto;overscroll-behavior:contain;padding-right:var(--space-xs);padding-bottom:var(--space-4xl);min-height:calc(100vh - 380px);align-content:start;scroll-behavior:auto}.chat-scroll-pill{position:sticky;bottom:var(--space-md);left:100%;z-index:4;justify-self:end;transform:translate(calc(var(--space-xs) * -1));padding:var(--space-xs) var(--space-md);border-radius:999px;background:var(--sage-deep);color:var(--paper);font-size:var(--text-sm);box-shadow:0 12px 32px -18px color-mix(in oklch,var(--ink) 45%,transparent)}.workspace-page.is-chat-rework{max-width:min(100%,1440px)}.workspace-page.is-chat-rework .proj-header{display:none}.workspace-page.is-chat-rework .workspace-shell{gap:var(--space-md)}.workspace-page.is-chat-rework .workspace-content{min-width:0;container-type:inline-size}.main:has(.workspace-page.is-chat-rework){padding-top:0;padding-bottom:0}html[data-chat-focus=true] .topbar{display:none}html[data-chat-focus=true] .main{padding-top:0}html[data-chat-focus=true] .workspace-page.is-chat-rework{max-width:none}html[data-chat-focus=true] .workspace-page.is-chat-rework .workspace-shell{display:block}html[data-chat-focus=true] .workspace-page.is-chat-rework .workspace-rail{display:none}.chat.chat-phase1{position:relative;display:grid;grid-template-columns:1fr;gap:0;width:100%;min-width:0;max-width:100%;min-height:calc(100vh - var(--topbar-height) - var(--space-4xl))}.chat-phase1 .chat-compact-bar{position:sticky;top:var(--topbar-height);z-index:18;display:flex;align-items:center;gap:var(--space-xs);width:100%;min-width:0;max-width:100%;min-height:56px;max-height:56px;overflow-x:auto;scrollbar-width:none;padding:var(--space-xs) 0;border-bottom:1px solid var(--rule);background:var(--paper)}.chat-phase1 .chat-compact-bar::-webkit-scrollbar{display:none}html[data-chat-focus=true] .chat-phase1 .chat-compact-bar{top:0}.chat-bar-back,.chat-bar-control,.chat-project-chip{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:8px;border:1px solid transparent;color:var(--ink-soft);font-size:var(--text-sm);white-space:nowrap}.chat-bar-back,.chat-bar-control{padding:0 var(--space-sm)}.chat-bar-back:hover,.chat-bar-back:focus-visible,.chat-bar-control:hover,.chat-bar-control:focus-visible,.chat-project-chip:hover,.chat-project-chip:focus-visible{border-color:var(--rule-strong);background:var(--paper-raised);color:var(--ink)}.chat-selector-wrap{position:relative;min-width:0;flex:1 1 auto}.chat-new-thread-button{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);color:var(--sage-deep);font-size:var(--text-md)}.chat-project-chip{max-width:min(100%,520px);gap:var(--space-xs);padding:0 var(--space-sm);color:var(--ink)}.chat-project-chip span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis}.chat-selector-menu{position:fixed;top:calc(var(--topbar-height) + 56px + var(--space-xs));left:clamp(var(--space-sm),13vw,180px);right:auto;z-index:80;display:grid;gap:var(--space-xs);box-sizing:border-box;width:min(420px,calc(100vw - var(--space-xl)));max-height:calc(100dvh - var(--topbar-height) - 56px - var(--space-lg));overflow:auto;padding:var(--space-sm);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);box-shadow:0 24px 64px color-mix(in oklch,var(--ink) 16%,transparent)}html[data-chat-focus=true] .chat-selector-menu{top:calc(56px + var(--space-xs));max-height:calc(100dvh - 56px - var(--space-lg))}.chat-selector-menu button{display:grid;gap:2px;min-height:44px;padding:var(--space-xs) var(--space-sm);border-radius:6px;text-align:left}.chat-selector-menu button:hover,.chat-selector-menu button:focus-visible,.chat-selector-menu button.is-active{background:var(--sage-wash)}.chat-selector-menu small{color:var(--ink-muted)}.chat-selector-new{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xs)}.chat-selector-new input{min-height:44px}.chat-pending-badge{display:inline-flex;align-items:center;flex:0 1 auto;max-width:14rem;min-height:44px;overflow:hidden;padding:0 var(--space-sm);border:1px solid var(--rule);border-radius:999px;background:var(--paper-raised);color:var(--sage-deep);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.chat-bar-overflow{display:inline-flex;align-items:center;gap:var(--space-xs)}.chat-assets-panel{position:fixed;top:calc(var(--topbar-height) + 68px);right:var(--space-xl);z-index:55;display:grid;gap:var(--space-md);width:min(360px,calc(100vw - var(--space-xl)));max-height:calc(100vh - var(--topbar-height) - 96px);overflow:auto;padding:var(--space-md);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);box-shadow:0 24px 64px color-mix(in oklch,var(--ink) 16%,transparent)}html[data-chat-focus=true] .chat-assets-panel{top:68px}.chat-assets-head{display:flex;align-items:start;justify-content:space-between;gap:var(--space-md)}.chat-assets-head h3,.chat-assets-body h4{margin:0;font-family:var(--font-display);font-weight:500}.chat-assets-body{display:grid;gap:var(--space-md)}.chat-assets-body section{display:grid;gap:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--rule)}.chat-assets-body p{margin:0;color:var(--ink-soft);font-size:var(--text-sm)}.chat-asset-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--rule)}.chat-asset-row:last-child{border-bottom:0}.chat-asset-row .btn{min-height:44px}.asset-ref-event{display:grid;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px dashed color-mix(in oklch,var(--sage) 56%,var(--rule));border-radius:8px;background:color-mix(in oklch,var(--sage-wash) 64%,var(--paper))}.asset-ref-event-title{color:var(--sage-deep);font-size:var(--text-xs);font-weight:700}.asset-ref-chip-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);min-width:0}.asset-ref-chip,.msg-provenance span{display:inline-flex;align-items:center;gap:var(--space-xs);min-width:0;max-width:100%;padding:4px var(--space-xs);border:1px solid var(--rule);border-radius:999px;background:var(--paper-raised);color:var(--ink-muted);font-size:var(--text-xs)}.asset-ref-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-ref-chip button{display:inline-grid;place-items:center;flex:0 0 44px;width:44px;min-height:44px;margin:-8px -10px -8px 0;border-radius:999px;color:var(--ink-muted)}.asset-ref-chip button:hover,.asset-ref-chip button:focus-visible{background:var(--paper-inset);color:var(--sage-deep)}.msg-provenance{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);color:var(--ink-muted);font-size:var(--text-xs)}.msg-provenance>span:first-child{border:0;background:transparent;padding-left:0;color:var(--sage-deep);font-weight:700}.asset-ref-picker{display:grid;gap:var(--space-md);margin-bottom:var(--space-md);padding:var(--space-md);border:1px solid color-mix(in oklch,var(--sage) 42%,var(--rule));border-radius:8px;background:color-mix(in oklch,var(--sage-wash) 48%,var(--paper-raised))}.asset-ref-picker-head{display:flex;align-items:start;justify-content:space-between;gap:var(--space-md)}.asset-ref-picker-head h3{margin:0;font-family:var(--font-display);font-weight:500}.asset-ref-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.42fr);gap:var(--space-sm);min-width:0}.asset-ref-filters input,.asset-ref-filters select{width:100%;min-width:0;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-inset);color:var(--ink);font:inherit;padding:0 var(--space-sm)}.asset-ref-list{display:grid;gap:var(--space-xs);max-height:min(42vh,360px);overflow:auto;padding-right:2px}.asset-ref-row{display:grid;grid-template-columns:32px 36px minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-height:56px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink);text-align:left}.asset-ref-row:hover:not(:disabled),.asset-ref-row:focus-visible,.asset-ref-row.is-selected{border-color:var(--sage);background:color-mix(in oklch,var(--sage-wash) 70%,var(--paper))}.asset-ref-row:disabled{cursor:default;opacity:.62}.asset-ref-row.is-active{opacity:1;background:color-mix(in oklch,var(--sage-wash) 78%,var(--paper))}.asset-ref-check,.asset-ref-icon{display:inline-grid;place-items:center;color:var(--sage-deep)}.asset-ref-main{display:grid;gap:2px;min-width:0}.asset-ref-main strong,.asset-ref-main small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-ref-main small{color:var(--ink-muted);font-size:var(--text-xs)}.asset-ref-long{white-space:nowrap;padding:2px var(--space-xs);border-radius:999px;background:var(--paper-inset);color:var(--ink-muted);font-size:var(--text-xs)}.asset-ref-empty{margin:0;padding:var(--space-md);border:1px dashed var(--rule);border-radius:8px;color:var(--ink-muted);text-align:center}.asset-ref-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);color:var(--ink-muted);font-size:var(--text-xs)}.asset-ref-footer .cluster{flex-wrap:nowrap}.asset-ref-trigger{white-space:nowrap}.chat-phase1 .conversation-drop-surface{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;min-width:0;max-width:100%;min-height:calc(100vh - var(--topbar-height) - 56px - var(--space-4xl))}html[data-chat-focus=true] .chat-phase1 .conversation-drop-surface{min-height:calc(100vh - 56px - var(--space-2xl))}.chat-phase1 .chat-stream{width:min(100%,760px);max-width:760px;min-width:0;overflow-x:clip;min-height:calc(100vh - var(--topbar-height) - 236px);max-height:calc(100vh - var(--topbar-height) - 160px);margin:0 auto;padding:var(--space-xl) var(--space-xs) var(--space-4xl)}html[data-chat-focus=true] .chat-phase1 .chat-stream{min-height:calc(100vh - 216px);max-height:calc(100vh - 132px)}.chat-phase1 .msg{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;padding-left:var(--space-md);border-left:1px solid transparent}.chat-phase1 .msg-new-role.msg-operator{border-color:var(--sage)}.chat-phase1 .msg-same-role{margin-top:calc(var(--space-lg) * -1)}.msg-time{display:inline-flex;align-items:center;gap:var(--space-xs)}.msg-copy,.proposal-copy{min-height:44px;padding:0 var(--space-sm);border-radius:8px;color:var(--ink-muted);font-size:var(--text-xs)}.msg-copy:hover,.msg-copy:focus-visible,.proposal-copy:hover,.proposal-copy:focus-visible{background:var(--paper-raised);color:var(--sage-deep)}.chat-phase1 .proposal-cards{justify-self:center;width:100%;max-width:100%;min-width:0;transform:none}.chat-phase1 .proposal-card{min-width:0;max-width:100%;overflow-x:clip;border-color:color-mix(in oklch,var(--sage) 44%,var(--rule));border-radius:8px;background:color-mix(in oklch,var(--sage-wash) 52%,var(--paper-raised))}.chat-phase1 .proposal-card :where(h1,h2,h3,h4,p,span,code,pre,a,li),.chat-phase1 .transcript-line,.chat-phase1 .msg-body{min-width:0;overflow-wrap:anywhere;word-break:normal}.chat-phase1 .proposal-card pre,.chat-phase1 .proposal-card code{max-width:100%;white-space:pre-wrap}.proposal-headline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-width:0}.proposal-outcome{display:inline-flex;align-items:center;width:fit-content;padding:2px var(--space-xs);border:1px solid var(--rule);border-radius:999px;background:var(--paper-inset);color:var(--ink-quiet);cursor:default;font-size:var(--text-xs);font-weight:600;line-height:1.4;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.chat-phase1 .diagram-proposal-card{max-width:none}.chat-phase1 .proposal-actions{flex-wrap:wrap}.btn-refine{border-color:color-mix(in oklch,var(--sage) 55%,var(--rule));background:transparent;color:var(--sage-deep)}.btn-refine:hover:not(:disabled){border-color:var(--sage);background:var(--sage-wash)}.btn-small{min-height:44px;padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.refine-version{display:inline-flex;align-items:center;width:fit-content;gap:6px;padding:2px var(--space-xs);border:1px solid var(--sage-soft);border-radius:999px;background:var(--sage-wash);color:var(--sage-ink);font-size:var(--text-xs);font-weight:600}.collapsible{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--motion-normal) ease}.collapsible.open{grid-template-rows:1fr}.collapsible>.inner{min-height:0;overflow:hidden}.refine-panel{display:grid;gap:var(--space-sm);margin-top:var(--space-xs);padding:var(--space-md);border:1px solid color-mix(in oklch,var(--sage) 40%,var(--rule));border-radius:8px;background:var(--paper)}.refine-openq{display:grid;gap:var(--space-2xs)}.refine-openq .q-label{color:var(--sage-ink);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.refine-openq .q-text{margin:0;color:var(--ink);font-family:var(--font-display);font-size:var(--text-md);line-height:1.4}.refine-panel textarea{width:100%;min-height:88px;padding:var(--space-sm);border:1px solid var(--rule-strong);border-radius:8px;background:var(--paper-raised);color:var(--ink);font:inherit;font-size:var(--text-sm);resize:vertical}.refine-panel textarea:focus-visible{border-color:var(--sage);outline:2px solid var(--sage);outline-offset:1px}.refine-hint,.refine-budget,.refining-sub{margin:0;color:var(--ink-muted);font-size:var(--text-xs)}.refine-panel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.proposal-refining{display:grid;gap:var(--space-xs);padding:var(--space-sm) 0}.refining-head{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--sage-deep);font-size:var(--text-sm);font-weight:600}.refine-result{display:grid;gap:var(--space-xs);margin-top:var(--space-xs)}.refine-diff-toggle{display:inline-flex;align-items:center;width:fit-content;min-height:44px;gap:6px;padding:var(--space-2xs) 0;border:0;background:transparent;color:var(--sage-ink);cursor:pointer;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}.refine-diff-toggle .chev,.refine-history>summary .chev{transition:transform var(--motion-quick) ease}.refine-diff-toggle[aria-expanded=true] .chev,.refine-history[open]>summary .chev{transform:rotate(90deg)}.refine-diff{display:grid;gap:var(--space-xs);margin-top:var(--space-xs);padding:var(--space-sm);border:1px solid var(--rule);border-radius:8px;background:var(--paper)}.diff-field{display:grid;grid-template-columns:7.5rem 1fr;gap:var(--space-sm);align-items:start;padding:var(--space-xs) 0;border-top:1px solid var(--rule)}.diff-field:first-child{border-top:0}.diff-field>.f-label{padding-top:2px;color:var(--ink-muted);font-size:var(--text-xs);font-weight:600}.diff-vals{display:grid;min-width:0;gap:var(--space-2xs)}.diff-old,.diff-new{min-width:0;padding:6px var(--space-xs);border-radius:6px;font-size:var(--text-sm);overflow-wrap:anywhere}.diff-old{background:var(--paper-inset);color:var(--ink-muted);text-decoration:line-through;text-decoration-color:var(--rule-strong)}.diff-new{background:var(--sage-wash);color:var(--ink)}.diff-tag{margin-right:6px;font-size:var(--text-xs);font-weight:600}.diff-conf{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm)}.diff-conf .arrow{color:var(--ink-quiet)}.refine-history{margin-top:var(--space-xs)}.refine-history>summary{display:inline-flex;align-items:center;min-height:44px;gap:6px;color:var(--ink-soft);cursor:pointer;font-size:var(--text-sm);font-weight:600;list-style:none}.refine-history>summary::-webkit-details-marker{display:none}.refine-history-list{display:grid;gap:var(--space-xs);margin:var(--space-xs) 0 0;padding:0;list-style:none}.refine-history-list li{display:grid;gap:2px;padding:var(--space-xs);border-left:2px solid var(--sage-soft);border-radius:0 6px 6px 0;background:var(--paper)}.rh-meta{color:var(--ink-muted);font-size:var(--text-xs)}.rh-input{color:var(--ink-soft);font-size:var(--text-sm)}.rh-input b{color:var(--sage-ink);font-weight:600}.refine-cap{margin:var(--space-2xs) 0 0;padding:6px var(--space-xs);border-radius:6px;background:var(--paper-inset);color:var(--ink-muted);font-size:var(--text-xs)}@media(max-width:560px){.diff-field{grid-template-columns:1fr;gap:var(--space-2xs)}.diff-field>.f-label{padding-top:0}}.chat-phase1 .chat-composer{width:min(100%,760px);max-width:760px;min-width:0;box-sizing:border-box;margin:0 auto;border-radius:8px 8px 0 0}.chat-phase1 .chat-composer textarea{min-height:64px}.conversation-drop-surface{position:relative;z-index:1}.conversation-header-actions{position:sticky;top:56px;z-index:5;display:flex;justify-content:space-between;gap:var(--space-md);align-items:center;margin:0 calc(var(--space-xs) * -1);padding:var(--space-sm) var(--space-xs);background:var(--paper);border-bottom:1px solid var(--rule)}.inline-scope-picker,.asset-toggle{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--rule-strong);border-radius:8px;overflow:hidden;background:var(--paper)}.inline-scope-picker button,.asset-toggle button{min-height:44px;padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);color:var(--sage-ink)}.inline-scope-picker button.is-active,.asset-toggle button.is-active{background:var(--sage);color:var(--paper)}.asset-toggle-caption{grid-column:1 / -1;padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);color:var(--ink-muted);border-top:1px solid var(--rule)}.conversation-drop-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;align-content:center;gap:var(--space-xs);padding:var(--space-xl);border:2px dashed var(--sage);background:color-mix(in oklch,var(--sage-wash) 82%,transparent);text-align:center;color:var(--ink)}.drop-glyph{font-size:2rem}.archive-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);background:var(--paper-deep);border:1px solid var(--rule);border-radius:8px}.upload-card{display:grid;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--rule);border-radius:12px;background:var(--paper-raised)}.upload-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.upload-summary{font-size:var(--text-base);line-height:1.65}.upload-tags,.upload-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.detail-link{display:inline-flex;align-items:center;width:fit-content;min-height:44px;color:var(--sage-deep);font-size:var(--text-sm);font-weight:600}.video-frame{display:grid;place-items:center;aspect-ratio:16 / 9;width:100%;max-width:560px;padding:var(--space-sm);background:var(--paper-inset);border:1px solid var(--rule);border-radius:12px;color:var(--ink-muted)}.video-frame video{width:100%;height:100%}.transcript-title{font-family:var(--font-display);font-size:var(--text-md)}.transcript-panel{display:flex;flex-direction:column;max-height:320px;overflow:auto;border:1px solid var(--rule);border-radius:8px;background:var(--paper-inset)}.transcript-row{display:grid;grid-template-columns:64px 1fr 120px;gap:var(--space-sm);align-items:start;width:100%;padding:var(--space-sm);border-bottom:1px solid var(--rule);text-align:left;appearance:none;background:none;font:inherit;color:inherit;cursor:pointer;line-height:1.55}.transcript-row .transcript-content{min-width:0;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap}.transcript-row:hover,.transcript-row.is-active{background:var(--sage-soft)}.transcript-row.is-active{box-shadow:inset 2px 0 0 var(--sage)}.transcript-time{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--sage-deep)}.transcript-speaker{color:var(--ink-muted);font-size:var(--text-xs);text-align:right}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:var(--space-lg);background:color-mix(in oklch,var(--ink) 24%,transparent)}.archive-modal{display:grid;gap:var(--space-md);width:min(100%,480px);padding:var(--space-xl);border:1px solid var(--rule);border-radius:12px;background:var(--paper)}.msg{display:grid;gap:var(--space-xs);max-width:min(68ch,100%)}.msg-operator{justify-self:start;margin-left:0}.msg-head{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;font-weight:500}.msg-body{font-size:var(--text-md);line-height:1.7;color:var(--ink);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.msg-operator .msg-head{color:var(--sage-ink)}.msg-operator .msg-body{color:var(--ink)}.msg-sending{opacity:.72}.msg-failed .msg-body{color:var(--ember-deep)}.msg-delivery{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--ink-muted)}.msg-failed .msg-delivery{color:var(--ember-deep)}.msg-time{font-size:var(--text-xs);color:var(--ink-quiet);font-style:italic}.msg-thinking .msg-body{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--ink-muted);font-style:italic}.thinking-dots{display:inline-flex;gap:4px;align-items:center}.thinking-dots span{width:6px;height:6px;border-radius:50%;background:var(--sage-ink);opacity:.35;animation:thinking-pulse 1.2s ease-in-out infinite}.thinking-dots span:nth-child(2){animation-delay:.15s}.thinking-dots span:nth-child(3){animation-delay:.3s}.thinking-label{font-size:var(--text-sm)}@keyframes thinking-pulse{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.proposal-toast{position:fixed;bottom:var(--space-xl);left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--ink);color:var(--paper);border-radius:999px;box-shadow:0 12px 32px -12px #00000059;font-size:var(--text-sm);z-index:50;animation:toast-in .2s ease-out}.proposal-toast-text{font-family:var(--font-body)}.proposal-toast-undo{color:var(--sage);padding:.125rem .5rem;font-weight:600}.proposal-toast-undo:hover{background:#ffffff14}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.chat-composer{position:sticky;bottom:0;z-index:10;margin-top:var(--space-xl);padding:var(--space-md);background:var(--paper);border:1px solid var(--rule-strong);border-radius:14px 14px 0 0;box-shadow:0 -14px 32px -24px color-mix(in oklch,var(--ink) 50%,transparent)}.chat-composer textarea{field-sizing:content;width:100%;min-height:3.5rem;max-height:14rem;padding:var(--space-xs) var(--space-sm);border:0;background:transparent;font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;color:var(--ink);resize:none;outline:none}.chat-composer textarea::placeholder{color:var(--ink-quiet)}.chat-composer-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-xs)}.chat-composer-hint{font-size:var(--text-xs);color:var(--ink-muted)}.req-doc{display:grid;gap:var(--space-2xl)}.req-section-header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--rule)}.req-section-count{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:500;color:var(--ink-muted);line-height:1}.req-section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;margin-top:var(--space-xs)}.req-section-approval{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:44px;font-size:var(--text-sm);color:var(--ink-muted)}.req-section-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:flex-end;align-items:center;min-width:0}.req-empty-section{display:grid;justify-items:start;gap:var(--space-xs);padding:var(--space-lg);border:1px dashed var(--rule-strong);border-radius:8px;background:var(--paper-inset);color:var(--ink-soft)}.req-empty-section strong{color:var(--ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:500}.req-empty-section p{max-width:62ch;margin:0;line-height:1.65}.req-item{display:grid;gap:var(--space-xs);padding:var(--space-md) 0;border-bottom:1px solid var(--rule)}.req-item-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;color:var(--ink)}.req-item-detail{font-size:var(--text-base);line-height:1.65;color:var(--ink-soft);max-width:var(--max-reading)}.req-item-meta{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--text-xs);color:var(--ink-muted)}.req-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-md)}.req-row-menu{width:fit-content}.req-row-menu summary{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);color:var(--ink-muted);cursor:pointer;list-style:none}.req-row-menu summary::-webkit-details-marker{display:none}.req-row-menu[open]{display:grid;gap:var(--space-xs)}.req-section-refine-zone{display:grid;gap:var(--space-md);min-width:0;margin-top:var(--space-md)}.req-section-refine-panel,.req-section-running,.req-section-result{display:grid;gap:var(--space-sm);min-width:0;border-radius:10px;padding:var(--space-md)}.req-section-refine-panel{border:1px solid color-mix(in oklch,var(--sage) 42%,var(--rule));background:var(--sage-wash)}.req-refine-instruction textarea{width:100%;min-width:0;min-height:72px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;padding:var(--space-xs) var(--space-sm);resize:vertical}.req-section-running{border:1px dashed color-mix(in oklch,var(--sage) 42%,var(--rule));background:color-mix(in oklch,var(--sage-wash) 60%,var(--paper));color:var(--sage-deep)}.req-section-result{border:1px solid color-mix(in oklch,var(--sage) 40%,var(--rule));background:color-mix(in oklch,var(--sage-wash) 45%,var(--paper-raised))}.req-section-result-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-xs);min-height:44px;min-width:0;border-radius:8px;color:var(--sage-ink);cursor:pointer;list-style:none}.req-section-result-head::-webkit-details-marker{display:none}.req-section-result-head::marker{content:""}.req-section-result-head:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.req-section-result-head>span:not(.req-result-summary-main):not(.req-result-summary-toggle){color:var(--ink-soft);font-size:var(--text-xs)}.req-section-result-body{display:grid;gap:var(--space-sm);min-width:0;padding-top:var(--space-sm);border-top:1px solid color-mix(in oklch,var(--sage) 28%,var(--rule))}.req-section-advisory,.req-section-drafts{display:grid;gap:var(--space-xs);min-width:0}.req-section-advisory{border:1px solid var(--rule);border-radius:8px;background:var(--paper);padding:var(--space-sm)}.req-section-advisory>strong{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.req-section-advisory>strong span{border:1px solid var(--rule);border-radius:999px;background:var(--paper-inset);color:var(--ink-muted);font-size:var(--text-xs);padding:2px var(--space-xs)}.req-section-finding{display:grid;gap:var(--space-2xs);min-width:0;border-left:3px solid var(--rule-strong);border-radius:0 8px 8px 0;background:var(--paper-raised);padding:var(--space-xs) var(--space-sm)}.req-section-finding.is-conflict{border-left-color:var(--ember);background:color-mix(in oklch,var(--ember-soft) 35%,var(--paper))}.req-section-finding.is-duplicate{border-left-color:color-mix(in oklch,var(--ember) 50%,var(--sage))}.req-section-finding>span{font-weight:700}.req-section-finding p{margin:0;color:var(--ink-soft)}.req-section-unchanged summary{min-height:44px;cursor:pointer;color:var(--sage-ink);font-weight:700}.req-freeze{display:grid;gap:var(--space-sm);margin-top:var(--space-2xl);padding:var(--space-xl);border:1px solid var(--rule-strong);border-radius:12px;background:var(--paper-raised)}.req-freeze-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.req-freeze-list{display:grid;gap:var(--space-sm)}.req-freeze-item{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-sm);align-items:center;padding:var(--space-sm) 0;border-top:1px dashed var(--rule);font-size:var(--text-sm);color:var(--ink-soft)}.req-freeze-item:first-child{border-top:0}.overview-grid{display:grid;align-items:start;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-2xl)}.overview-statement{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.5;font-weight:400;color:var(--ink);max-width:34ch}.overview-statement em{font-style:italic;color:var(--sage-ink)}.overview-panel{display:grid;align-content:start;gap:var(--space-md);padding:var(--space-lg);background:var(--paper-raised);border:1px solid var(--rule);border-radius:12px}.overview-panel-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;color:var(--ink)}.overview-panel-rows{display:grid;gap:var(--space-sm)}.overview-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-md);align-items:center;min-height:44px;padding-bottom:var(--space-sm);border-bottom:1px dashed var(--rule);font-size:var(--text-sm)}.overview-row:last-child{border-bottom:0;padding-bottom:0}.overview-row-label{color:var(--ink-muted)}.overview-row-value{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}.drop-zone{display:grid;place-items:center;gap:var(--space-xs);padding:var(--space-2xl);border:1px dashed var(--rule-strong);border-radius:12px;background:var(--paper-raised);color:var(--ink-muted);text-align:center;transition:border-color var(--motion-quick) var(--ease-out-quart),background var(--motion-quick) var(--ease-out-quart)}.drop-zone:hover{border-color:var(--sage);background:var(--sage-wash);color:var(--ink)}.drop-zone input[type=file]{position:absolute;opacity:0;inset:0;cursor:pointer}.drop-zone-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;color:var(--ink)}.drop-zone-wrap{position:relative}.file-row{display:grid;grid-template-columns:1fr auto auto auto auto;gap:var(--space-md);align-items:center;padding:var(--space-md) 0;border-bottom:1px solid var(--rule);font-size:var(--text-sm);cursor:pointer;min-width:0}.file-row:focus-visible{outline:2px solid var(--sage);outline-offset:3px}.file-row-temporary{background:color-mix(in oklch,var(--paper) 82%,var(--paper-raised))}.temp-filter{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--ink-soft)}.temp-icon{margin-right:var(--space-xs);color:var(--ember)}.countdown-chip{padding:2px var(--space-xs);border:1px solid var(--rule);border-radius:999px;color:var(--ink-muted);font-size:var(--text-xs);white-space:nowrap}.file-row-actions{display:inline-flex;align-items:center;gap:var(--space-xs)}.file-row-wrap{border-bottom:1px solid var(--rule)}.file-row-wrap .file-row{border-bottom:0}.file-row-toggle{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:44px;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}.file-row-toggle:hover{color:var(--sage-deep)}.file-row-caret{display:inline-block;font-size:1.1em;color:var(--ink-muted);transition:transform var(--motion-normal) var(--ease-out-quart);line-height:1}.file-extractions{padding:0 0 var(--space-lg) calc(var(--space-md) + 1rem);background:var(--paper-raised);margin:0 calc(-1 * var(--space-md));padding-inline:var(--space-xl);padding-bottom:var(--space-xl)}.file-extractions-list{display:grid;gap:var(--space-md);padding-top:var(--space-md)}.file-extractions-section{display:grid;gap:var(--space-xs)}.file-extractions-section-head{font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;margin:0}.file-extractions-body{margin:0;font-family:var(--font-body);font-size:var(--text-sm);line-height:1.6;color:var(--ink-soft);white-space:pre-wrap;word-break:break-word;max-height:24rem;overflow-y:auto;padding:var(--space-sm) var(--space-md);background:var(--paper);border:1px solid var(--rule);border-radius:8px}.section-title-count{font-family:var(--font-body);font-weight:400;font-size:var(--text-md);color:var(--ink-muted);letter-spacing:0}.drop-zone.is-dragging{border-color:var(--sage);background:var(--sage-wash);color:var(--ink)}.btn-quiet-action{color:var(--ink-muted)}.btn-quiet-action:hover:not(:disabled){color:var(--ember-ink);background:var(--ember-soft)}.file-row-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;color:var(--ink);min-width:0;overflow-wrap:anywhere}.file-row-meta{font-size:var(--text-xs);color:var(--ink-muted);margin-top:2px;min-width:0;overflow-wrap:anywhere}.file-row-size{font-variant-numeric:tabular-nums;color:var(--ink-muted)}.asset-detail{display:grid;gap:var(--space-xl);min-width:0}.asset-detail-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:var(--space-xl);align-items:start}.asset-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:var(--space-2xl);align-items:start}.asset-detail-main,.asset-side,.asset-section{display:grid;gap:var(--space-md);min-width:0;align-content:start}.asset-player{max-width:720px}.asset-section{padding-top:var(--space-lg);border-top:1px solid var(--rule)}.asset-lineage-summary{margin:0;font-family:var(--font-display);color:var(--ink)}.asset-lineage-list{display:grid;gap:var(--space-sm)}.asset-lineage-item{display:grid;gap:var(--space-xs);min-height:44px;padding:var(--space-sm) 0;color:inherit;text-decoration:none;border-bottom:1px solid var(--rule)}.asset-lineage-item:last-child{border-bottom:0}.asset-lineage-item strong{font-weight:600}details.asset-section>summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:var(--space-sm);min-height:44px;min-width:0}details.asset-section>summary::-webkit-details-marker{display:none}details.asset-section>summary:before{content:"▸";font-size:var(--text-sm);color:var(--sage-deep);transition:transform .15s ease;display:inline-block}details.asset-section[open]>summary:before{transform:rotate(90deg)}details.asset-section>summary>h3{display:inline;margin:0}.asset-summary-text{white-space:pre-wrap;line-height:1.7;color:var(--ink)}.settings-page{max-width:720px}.settings-form{display:grid;gap:var(--space-md)}.settings-section-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);width:100%}.settings-section-summary h3{margin:0}.field-label{display:grid;gap:6px;font-size:var(--text-sm);color:var(--ink)}.field-label>input[type=number],.field-label>select{font:inherit;min-height:44px;padding:8px 10px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);max-width:280px}.settings-sheet .field-label>select{width:100%;max-width:none;min-width:0}.field-label>input:disabled,.field-label>select:disabled{opacity:.6;background:var(--paper-inset)}.field-label>.caption{color:var(--ink-quiet);font-size:var(--text-xs)}.harvest-model-row{display:grid;grid-template-columns:minmax(84px,.5fr) repeat(3,minmax(140px,1fr));gap:var(--space-sm);align-items:end}.harvest-model-row-title{align-self:center;color:var(--ink-soft);font-size:var(--text-sm);font-weight:700}@container (max-width: 520px){.harvest-model-row{grid-template-columns:1fr}}.audio-frame{display:flex;align-items:center;padding:var(--space-md);background:var(--paper-inset);border:1px solid var(--rule);border-radius:8px}.audio-frame audio{width:100%;max-width:720px}.settings-banner{padding:var(--space-sm) var(--space-md);background:var(--sage-soft);border:1px solid var(--sage);border-radius:6px;color:var(--sage-deep);font-size:var(--text-sm)}.access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-lg);min-width:0}.access-card{display:grid;gap:var(--space-xs);min-width:0;padding:var(--space-lg);border:1px solid var(--rule);border-radius:12px;background:var(--paper)}.access-member-list{display:grid;gap:var(--space-sm);min-width:0}.access-member-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px) auto;gap:var(--space-md);align-items:center;min-width:0;min-height:44px;padding:var(--space-md) 0;border-bottom:1px solid var(--rule)}.access-member-row:last-child{border-bottom:0}.access-member-main{display:grid;gap:2px;min-width:0}.access-member-main strong,.access-member-main span{min-width:0;overflow-wrap:anywhere}.access-member-main span,.access-role-select span{color:var(--ink-muted);font-size:var(--text-xs)}.access-role-select{display:grid;gap:var(--space-2xs);min-width:0}.access-role-select select{width:100%;min-width:0;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-inset);color:var(--ink);font:inherit;padding:0 var(--space-sm)}.invite-panel{container-type:inline-size;display:grid;gap:var(--space-md);min-width:0;padding:var(--space-lg);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised)}.invite-panel-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.6fr) auto;gap:var(--space-md);align-items:end;min-width:0}@container (max-width: 520px){.invite-panel-form{grid-template-columns:minmax(0,1fr);align-items:stretch}.invite-panel-form>.btn{width:100%;justify-content:center}.invite-link-row{grid-template-columns:minmax(0,1fr)}}.invite-panel .field-label input,.invite-panel .field-label select,.invite-link-row input{width:100%;min-width:0;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-inset);color:var(--ink);font:inherit;padding:0 var(--space-sm)}.invite-link-box{display:grid;gap:var(--space-sm);min-width:0;padding:var(--space-md);border:1px solid color-mix(in oklch,var(--sage) 25%,var(--rule));border-radius:8px;background:var(--sage-wash)}.invite-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm);min-width:0}.invite-list{display:grid;gap:var(--space-sm);min-width:0}.invite-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md);align-items:center;min-width:0;min-height:44px;padding:var(--space-md);border:1px solid var(--rule);border-radius:8px;background:var(--paper)}.invite-row-main{display:grid;gap:2px;min-width:0}.invite-row-main strong,.invite-row-main span{min-width:0;overflow-wrap:anywhere}.invite-row-main span{color:var(--ink-muted);font-size:var(--text-xs)}.invite-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-sm);min-width:0}.success-banner{padding:var(--space-sm) var(--space-md);border:1px solid color-mix(in oklch,var(--sage) 35%,var(--rule));border-radius:8px;background:var(--sage-wash);color:var(--sage-ink)}.access-card-allowed{border-color:color-mix(in oklch,var(--sage) 30%,var(--rule))}.access-card-blocked{background:var(--paper-raised)}.access-card-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:500}.access-card-body{font-size:var(--text-sm);line-height:1.55;color:var(--ink-soft)}.access-card-badge{justify-self:start;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--sage-ink)}.access-card-blocked .access-card-badge{color:var(--ink-muted)}.invite-accept-page{display:grid;place-items:center;min-height:calc(100vh - var(--topbar-height));padding:var(--space-2xl) var(--space-lg)}.invite-accept-card{display:grid;gap:var(--space-md);width:min(100%,560px);padding:var(--space-xl);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);box-shadow:0 18px 50px color-mix(in oklch,var(--ink) 10%,transparent)}.invite-accept-meta{display:flex;flex-wrap:wrap;gap:var(--space-sm);color:var(--ink-muted);font-size:var(--text-sm)}.signin{display:grid;place-items:center;min-height:calc(100vh - 4rem);padding:var(--space-2xl)}.signin-card{width:min(100%,560px);display:grid;gap:var(--space-xl)}.signin-head{display:grid;gap:var(--space-sm)}.signin-title{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.1;font-weight:500;letter-spacing:-.02em}.signin-lede{color:var(--ink-soft);line-height:1.65;max-width:42ch}.signin-users{display:grid;gap:var(--space-sm)}.signin-user{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:1px solid var(--rule);border-radius:10px;background:var(--paper-raised);text-align:left;transition:border-color var(--motion-quick) var(--ease-out-quart),background var(--motion-quick) var(--ease-out-quart)}.signin-user:hover{border-color:var(--sage);background:var(--sage-wash)}.signin-user-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;color:var(--ink)}.signin-user-role{font-size:var(--text-sm);color:var(--ink-muted);margin-top:2px}.signin-user-arrow{color:var(--ink-quiet);transition:color var(--motion-quick) var(--ease-out-quart),transform var(--motion-normal) var(--ease-out-quart)}.signin-user:hover .signin-user-arrow{color:var(--sage);transform:translate(4px)}.wizard{display:grid;gap:var(--space-2xl);isolation:isolate}.main:has(.wizard){padding-top:var(--space-lg)}.wizard-header{display:grid;gap:var(--space-xs);padding-bottom:var(--space-sm);border-bottom:1px solid var(--rule)}.wizard-step-kicker{display:inline-block;font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}.wizard-step-summary{margin-top:var(--space-2xs);font-size:var(--text-sm);line-height:1.6;color:var(--ink-soft)}.wizard-step-hint{max-width:54ch;font-size:var(--text-sm);line-height:1.6;color:var(--ink-muted)}.wizard-progress{display:flex;gap:var(--space-sm);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.wizard-progress span{color:var(--ink-quiet)}.wizard-progress span.is-current{color:var(--sage);font-weight:600}.wizard-summary{display:grid;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:color-mix(in oklch,var(--paper-raised) 86%,var(--sage-soft));border:1px solid color-mix(in oklch,var(--rule) 85%,var(--sage-soft));border-radius:12px}.wizard-summary-title{font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.wizard-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md)}.wizard-summary-item{display:grid;gap:2px}.wizard-summary-label{font-size:var(--text-xs);color:var(--ink-quiet)}.wizard-summary-value{font-size:var(--text-sm);line-height:1.5;color:var(--ink)}.wizard-step{display:grid;gap:var(--space-md)}.wizard-question{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.25;font-weight:500;letter-spacing:-.01em;max-width:26ch}.wizard-sub{color:var(--ink-muted);line-height:1.6;max-width:52ch}.wizard-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.note{display:grid;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);border:1px solid var(--rule);border-radius:10px;background:var(--paper-raised)}.note-ember{border-color:color-mix(in oklch,var(--ember) 30%,var(--rule));background:var(--ember-soft)}.note-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:500}.note-ember .note-title{color:var(--ember-ink)}.note-body{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.55}.empty{display:grid;place-items:center;text-align:center;gap:var(--space-xs);padding:var(--space-2xl);border:1px dashed var(--rule);border-radius:12px;color:var(--ink-muted)}.empty-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;color:var(--ink-soft)}.stack{display:grid;gap:var(--space-md)}.stack-sm{display:grid;gap:var(--space-sm)}.stack-lg{display:grid;gap:var(--space-lg)}.stack-xl{display:grid;gap:var(--space-xl)}.cluster{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.cluster-md{gap:var(--space-sm)}.cluster-lg{gap:var(--space-md)}.divider{height:1px;background:var(--rule);margin:var(--space-lg) 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){:root{--topbar-height: 68px}.main{padding:var(--space-xl) var(--space-md) var(--space-3xl)}.topbar{padding:var(--space-sm) var(--space-md);gap:var(--space-md)}.topbar-nav{margin-left:0;gap:var(--space-md)}.topbar-user-sub{display:none}.topbar-user{min-width:0}.topbar-user>span:first-child{min-width:0}.topbar-user-name{display:inline-block;max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.chat{grid-template-columns:1fr;gap:var(--space-lg)}.overview-grid,.artifact-toolbar,.artifact-grid{grid-template-columns:1fr}.artifact-toolbar{display:grid}.handoff-export-actions .btn{flex:1 1 10rem}.req-section-header{grid-template-columns:1fr}.row-link{grid-template-columns:auto 1fr}.row-link-arrow{grid-column:2;justify-self:start;margin-top:var(--space-2xs)}.module-hero{grid-template-columns:1fr}.workspace-shell{gap:var(--space-lg)}.workspace-page.is-chat-rework .workspace-shell{display:block}.workspace-page.is-chat-rework .workspace-rail{display:none}.workspace-page.is-chat-rework .workspace-content{width:100%}.chat-phase1 .chat-compact-bar{max-width:100%;overflow-x:auto;scrollbar-width:none}.chat-phase1 .chat-compact-bar::-webkit-scrollbar{display:none}.chat-phase1 .chat-stream,.chat-phase1 .chat-composer{width:100%;max-width:100%}.chat-project-chip{max-width:min(42vw,320px)}.chat-bar-overflow .chat-bar-control:first-child{display:none}}@media(max-width:640px){:root{--topbar-height: 56px}.topbar{grid-template-columns:auto 1fr;min-height:var(--topbar-height)}.topbar-brand{grid-column:1;grid-row:1;white-space:nowrap}.org-switch{grid-column:1 / -1;grid-row:2;width:100%}.org-switch-button{width:100%;max-width:none;justify-content:space-between}.topbar-brand .brand-sub,.topbar-nav,.topbar-user-divider,.topbar-user-name{display:none}.topbar-user{grid-column:2;grid-row:1;justify-self:end}.topbar-user .btn{min-height:44px;padding-inline:var(--space-sm);white-space:nowrap}.workspace-page.is-rail-nav .proj-header{margin-bottom:var(--space-lg)}.workspace-page.is-rail-nav:not(.is-chat-rework) .workspace-content,.workspace-page.is-rail-nav:not(.is-chat-rework) .workspace-content>*,.workspace-page.is-rail-nav:not(.is-chat-rework) .stack-xl,.workspace-page.is-rail-nav:not(.is-chat-rework) .module-hero,.workspace-page.is-rail-nav:not(.is-chat-rework) .sub-tabs,.workspace-page.is-rail-nav:not(.is-chat-rework) .section,.workspace-page.is-rail-nav:not(.is-chat-rework) .file-row-wrap,.workspace-page.is-rail-nav:not(.is-chat-rework) .file-row{max-width:100%;min-width:0;box-sizing:border-box}.workspace-page.is-rail-nav:not(.is-chat-rework) .workspace-content{overflow-x:clip}.workspace-shell{display:block}.workspace-rail{display:none}.workspace-drawer-trigger{display:inline-flex;flex:0 0 auto}.workspace-page.is-rail-nav .proj-title-row{justify-content:start}.workspace-page.is-rail-nav .proj-title{flex:1 1 auto}.workspace-page.is-rail-nav .proj-actions{gap:var(--space-2xs)}.workspace-page.is-rail-nav.is-project-overview .budget-chip{flex-direction:column;align-items:flex-start}.workspace-page.is-rail-nav:not(.is-chat-rework) .module-hero{padding:var(--space-lg)}.workspace-page.is-rail-nav:not(.is-chat-rework) .file-row{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}.workspace-page.is-rail-nav:not(.is-chat-rework) .file-row-name,.workspace-page.is-rail-nav:not(.is-chat-rework) .file-row-meta{min-width:0;overflow-wrap:anywhere}.workspace-page.is-chat-rework{max-width:none}.workspace-page.is-chat-rework .workspace-shell{display:block}.workspace-page.is-chat-rework .workspace-rail{display:none}.workspace-page.is-chat-rework .workspace-content{width:100%}.chat.chat-phase1{min-height:calc(100vh - var(--topbar-height))}.chat-phase1 .chat-compact-bar{top:var(--topbar-height);gap:var(--space-2xs);padding-inline:var(--space-xs);overflow-x:auto;scrollbar-width:none}.chat-phase1 .chat-compact-bar::-webkit-scrollbar{display:none}.chat-asset-row{grid-template-columns:1fr}.chat-bar-back,.chat-bar-control,.chat-project-chip,.chat-new-thread-button{flex:0 0 auto}.chat-selector-wrap{flex:0 1 38vw}.chat-selector-menu{right:auto}.chat-project-chip{width:100%;max-width:100%}.chat-new-thread-button{display:inline-flex}.chat-focus-toggle{display:none}.chat-pending-badge{display:inline-flex;max-width:8.5rem}.chat-bar-overflow .chat-bar-control:first-child{display:none}.chat-assets-panel{inset:auto 0 0;width:100%;max-height:min(72vh,560px);border-right:0;border-bottom:0;border-left:0;border-radius:12px 12px 0 0}.chat-phase1 .conversation-drop-surface{min-height:calc(100vh - var(--topbar-height) - 56px)}.chat-phase1 .chat-stream{width:100%;min-height:calc(100vh - var(--topbar-height) - 224px);max-height:calc(100vh - var(--topbar-height) - 148px);padding:var(--space-lg) var(--space-md) var(--space-3xl)}html[data-chat-focus=true] .chat-phase1 .chat-stream{min-height:calc(100vh - 208px);max-height:calc(100vh - 132px)}.chat-phase1 .proposal-cards{width:100%;margin-left:0;transform:none}.model-chip .mname{max-width:14ch}.prov-toggle{margin-left:0}.chat-phase1 .chat-composer{width:100%;border-right:0;border-left:0;padding:var(--space-sm)}.chat-phase1 .chat-composer textarea{min-height:48px;max-height:9rem;padding:var(--space-xs) 0}.chat-phase1 .chat-composer-row{display:block;margin-top:var(--space-xs)}.chat-phase1 .chat-composer-row .cluster{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-xs);width:100%;max-width:100%;min-width:0}.chat-phase1 .chat-composer-row .cluster .btn{min-height:44px;white-space:nowrap}.chat-phase1 .chat-composer-row .cluster .btn-icon{flex:0 0 44px;width:44px;padding:0}.chat-phase1 .chat-composer-row .cluster .btn-ghost:not(.btn-icon){flex:1 1 auto;min-width:0;overflow:hidden;padding-inline:var(--space-xs);text-overflow:ellipsis}.chat-phase1 .chat-composer-row .cluster .btn-sage{flex:0 0 auto;min-width:76px;padding-inline:var(--space-sm)}.chat-phase1 .chat-composer-row .cluster .asset-ref-trigger{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.chat-phase1 .chat-composer-hint{display:none}.asset-ref-picker{padding:var(--space-sm)}.asset-ref-picker-head,.asset-ref-footer{align-items:stretch;flex-direction:column}.asset-ref-filters,.asset-ref-row{grid-template-columns:minmax(0,1fr)}.asset-ref-row{align-items:start}.asset-ref-check,.asset-ref-icon{display:none}.asset-ref-long{width:fit-content}.asset-ref-footer .cluster,.asset-ref-footer .btn{width:100%}.asset-ref-chip{width:100%;justify-content:space-between}.workspace-coachmark-rail,.workspace-coachmark-hamburger{right:var(--space-md);left:auto;top:238px;width:min(320px,calc(100vw - var(--space-xl)))}.workspace-coachmark-hamburger:before{top:-6px;right:36px;left:auto}.asset-detail-head,.asset-detail-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}.asset-player{max-width:100%}.transcript-row{grid-template-columns:56px minmax(0,1fr);gap:var(--space-xs) var(--space-sm)}.transcript-speaker{grid-column:2;text-align:left}}@media(max-width:600px){.page-title,.proj-title{font-size:var(--text-2xl)}.proj-title-row{align-items:start}.phase-menu,.proj-actions>.icon-button:not(.project-overflow){display:none}.project-overflow{display:inline-grid}.proj-tabs{gap:var(--space-md)}.settings-sheet{width:100%}.tour-backdrop{padding:0}.tour-dialog{width:100%;min-height:100vh;border-radius:0;align-content:center}.tour-actions{align-items:stretch;flex-direction:column}.wizard-question{font-size:var(--text-xl)}.wizard-summary{padding-inline:var(--space-md)}.wizard-summary-grid{grid-template-columns:1fr}.artifact-markdown,.artifact-epic{padding:var(--space-md)}.msg{max-width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.proposal-cards{display:grid;gap:var(--space-sm);margin-top:var(--space-sm)}.proposal-batch{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--paper-raised);border:1px dashed var(--rule);border-radius:8px}.proposal-batch-hint{display:flex;flex-direction:column;gap:2px;font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-muted);font-style:italic}.proposal-batch-shortcut{font-size:var(--text-xs);color:var(--ink-quiet);font-style:normal;letter-spacing:.02em}.conv-intro{display:grid;gap:var(--space-md);padding:var(--space-xl);background:var(--paper-raised);border:1px solid var(--rule);border-radius:12px;max-width:min(64ch,100%)}.conv-intro-eyebrow{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--sage-ink);font-weight:500}.conv-intro-title{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.2;color:var(--ink);margin:0}.conv-intro-lede{font-size:var(--text-md);line-height:1.65;color:var(--ink);margin:0}.conv-intro-steps{display:grid;gap:var(--space-sm);margin:0;padding-left:var(--space-lg);color:var(--ink-muted);font-size:var(--text-sm);line-height:1.6}.conv-intro-steps li::marker{color:var(--sage-ink)}.conv-intro-note{font-size:var(--text-xs);color:var(--ink-quiet);font-style:italic;margin:0;padding-top:var(--space-sm);border-top:1px solid var(--rule)}.conv-intro-dismiss{justify-self:start}.proposal-card{display:grid;gap:var(--space-2xs);min-width:0;max-width:100%;padding:var(--space-md);background:var(--paper-raised);border:1px solid var(--rule);border-radius:10px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.diagram-page{color:var(--ink)}.diagram-header,.diagram-detail-header,.diagram-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.diagram-filter-bar,.diagram-quick-create,.diagram-pills,.diagram-actions,.diagram-status-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.diagram-filter-bar input,.diagram-filter-bar select,.diagram-quick-create input,.diagram-quick-create select,.diagram-ai-pane textarea,.diagram-source-pane textarea{border:1px solid rgba(47,48,50,.16);border-radius:8px;background:#fffaf0;color:var(--ink);font:inherit;min-height:44px;padding:.7rem .85rem}.chip{border:1px solid rgba(122,143,109,.45);border-radius:999px;background:#fbf6ec;color:var(--ink-soft);cursor:pointer;min-height:44px;padding:.45rem .8rem}.chip.is-active{background:#e5eddc;border-color:#7a8f6d}.diagram-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.diagram-card{display:flex;min-height:360px;flex-direction:column;overflow:hidden;border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#fffaf0;color:inherit;text-decoration:none}.diagram-thumb,.diagram-proposal-thumb,.diagram-canvas-panel{background:#f8f2e4}.diagram-thumb{display:grid;min-height:170px;place-items:center;border-bottom:1px solid rgba(47,48,50,.1);overflow:hidden;padding:.75rem}.diagram-thumb svg,.diagram-thumb img{max-width:100%;height:auto;object-fit:contain}.diagram-thumb-pending{display:grid;gap:.4rem;justify-items:center;text-align:center;color:var(--ink-muted, #6c6e75);font-size:.85rem}.diagram-thumb-pending span{font-size:1.6rem}.diagram-thumb-pending pre{max-width:100%;max-height:80px;overflow:hidden;font-size:.7rem;opacity:.6;white-space:pre-wrap}.diagram-card-body{display:grid;gap:.5rem;padding:1rem}.diagram-pills span,.diagram-warn-pill,.diagram-status-bar span{border-radius:999px;background:#edf2e6;color:var(--ink-soft);font-size:.82rem;padding:.25rem .55rem}.diagram-pills .warn,.diagram-warn-pill,.diagram-status-bar span:last-child{background:#fff3c4;color:#815f00}.diagram-detail-layout{display:grid;align-items:start;gap:1rem;grid-template-columns:minmax(0,1fr) 340px;min-width:0}.diagram-canvas-panel{border:1px solid rgba(47,48,50,.12);border-radius:8px;min-height:520px;padding:1rem;min-width:0}.diagram-canvas-panel img,.diagram-mermaid svg{display:block;max-width:100%;height:auto;margin:0 auto}.diagram-render-placeholder,.diagram-render-error{display:grid;align-content:center;justify-items:center;gap:var(--space-xs);min-height:180px;padding:var(--space-lg);text-align:center}.diagram-render-error{border:1px dashed var(--rule-strong);border-radius:8px;background:var(--paper-inset);color:var(--ink-muted);white-space:normal}.diagram-render-error strong{color:var(--ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:500}.diagram-d2-source,.diagram-source-viewer,.diagram-proposal-thumb pre{max-width:100%;min-width:0;overflow:auto;border-radius:8px;background:#2f3032;color:#fbf6ec;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.6;padding:1rem;white-space:pre}.diagram-detail-layout>*,.diagram-canvas-panel>*{min-width:0}.diagram-source-viewer{display:grid;gap:.1rem;max-height:420px}.diagram-source-viewer span{display:block}.diagram-source-viewer .line-no{display:inline-block;width:3rem;color:#b7c5ac;-webkit-user-select:none;user-select:none}.diagram-source-viewer .is-missing{border-left:2px solid #d19a00;background:#fff3c429}.diagram-aside{display:grid;gap:.75rem;position:sticky;top:1rem;border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#fffaf0;padding:1rem;min-width:0}.diagram-aside a,.diagram-aside button{display:flex;align-items:center;min-height:44px;border:0;background:transparent;color:var(--ink-soft);text-align:left;text-decoration:none;min-width:0;overflow-wrap:anywhere}.diagram-aside details,.diagram-source-details{min-width:0}.diagram-aside details>summary,.diagram-source-details>summary{display:flex;align-items:center;min-height:44px;cursor:pointer;overflow-wrap:anywhere}.diagram-aside p{min-width:0;overflow-wrap:anywhere}.diagram-editor{display:grid;gap:1rem}.diagram-editor-grid{display:grid;min-height:680px;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto}.diagram-source-pane,.diagram-preview-pane,.diagram-ai-pane{display:grid;gap:.75rem;border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#fffaf0;padding:1rem}.diagram-source-pane{grid-row:span 2}.diagram-source-pane textarea{min-height:620px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.6}.diagram-preview-pane{min-height:340px;background:#f8f2e4}.diagram-ai-pane textarea{min-height:120px;resize:vertical}.diagram-editor-toast,.diagram-merge-dialog{border:1px solid rgba(122,143,109,.35);border-radius:8px;background:#edf2e6;padding:1rem}.diagram-merge-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.diagram-proposal-card{max-width:100%}.diagram-proposal-thumb{border:1px solid rgba(47,48,50,.1);border-radius:8px;padding:.5rem}@media(max-width:840px){.diagram-detail-layout,.diagram-editor-grid,.diagram-merge-grid{grid-template-columns:1fr}.diagram-aside{position:static}.diagram-source-pane{grid-row:auto}}.proposal-card[data-pending=true]:focus-visible{border-color:var(--sage-ink);box-shadow:0 0 0 3px color-mix(in oklch,var(--sage-ink) 22%,transparent)}.proposal-category{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--sage-ink);font-weight:500}.proposal-title{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:500;color:var(--ink)}.proposal-detail{margin:0;font-size:var(--text-sm);color:var(--ink-soft);line-height:1.5}.proposal-source{margin:0;font-size:var(--text-xs);color:var(--ink-muted);font-style:italic}.proposal-provenance{color:var(--sage-deep);font-style:normal}.prov-disclosure{display:grid;gap:var(--space-xs);min-width:0;margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--rule)}.prov-disclosure>summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);min-height:44px;min-width:0;border-radius:8px;cursor:pointer;list-style:none}.prov-disclosure>summary::-webkit-details-marker{display:none}.prov-disclosure>summary::marker{content:""}.prov-disclosure>summary:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.prov-label{flex:0 0 auto;color:var(--ink-muted);font-size:var(--text-xs);font-weight:700}.prov-chips,.drill-team{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.prov-toggle{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;margin-left:auto;color:var(--sage-deep);font-size:var(--text-xs);font-weight:700}.prov-toggle .chev{color:var(--ink-muted);font-size:11px;transition:transform var(--motion-quick) var(--ease-out-quart)}.prov-disclosure[open] .prov-toggle .chev{transform:rotate(180deg)}.model-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;padding:2px var(--space-xs);border:1px solid var(--rule);border-radius:999px;background:var(--paper-inset);color:var(--ink-soft);font-size:var(--text-xs);font-style:normal;font-weight:700;line-height:1.35;white-space:nowrap}.model-chip .mdot{flex:0 0 auto;width:8px;height:8px;border-radius:999px;background:var(--ink-quiet)}.model-chip .mname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-chip.m-claude .mdot{background:#a1614b}.model-chip.m-gemini .mdot{background:#49729c}.model-chip.m-gpt .mdot{background:#3b7474}.model-chip.m-deepseek .mdot{background:#705e90}.model-chip.m-reconciler .mdot{background:var(--sage)}.drillin{display:grid;gap:var(--space-sm);min-width:0;margin-top:var(--space-sm);padding:var(--space-sm);border:1px solid color-mix(in oklch,var(--sage) 30%,var(--rule));border-radius:10px;background:var(--paper)}.drill-head{display:grid;gap:var(--space-2xs);min-width:0}.drill-head .dt{color:var(--sage-ink);font-size:var(--text-sm);font-weight:700}.drill-team{color:var(--ink-muted);font-size:var(--text-xs)}.converge{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);color:var(--ink-muted);font-size:var(--text-xs)}.converge .pill{display:inline-flex;align-items:center;gap:5px;padding:2px var(--space-xs);border-radius:999px;font-weight:700}.converge .agree{border:1px solid var(--sage-soft);background:var(--sage-wash);color:var(--sage-deep)}.converge .differ{border:1px solid color-mix(in oklch,var(--ember) 30%,var(--rule));background:var(--ember-soft);color:var(--ember-ink)}.drill-sub{margin:var(--space-2xs) 0 0;color:var(--ink-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.model-round{display:grid;gap:var(--space-2xs);min-width:0;padding:var(--space-sm);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised)}.mr-head,.di-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);min-width:0}.stance-chip{display:inline-flex;align-items:center;gap:5px;padding:2px var(--space-xs);border-radius:999px;font-size:var(--text-xs);font-weight:700}.stance-agree{border:1px solid var(--sage-soft);background:var(--sage-wash);color:var(--sage-deep)}.stance-disagree{border:1px solid color-mix(in oklch,var(--ember) 30%,var(--rule));background:var(--ember-soft);color:var(--ember-ink)}.stance-refine{border:1px solid color-mix(in oklch,var(--warn) 30%,var(--rule));background:var(--warn-soft);color:var(--warn-ink)}.mr-conf{margin-left:auto;color:var(--ink-muted);font-size:var(--text-xs);font-weight:700}.mr-title,.di-title{min-width:0;color:var(--ink-soft);font-size:var(--text-sm);font-weight:700;overflow-wrap:anywhere}.mr-detail,.di-detail{min-width:0;margin:0;color:var(--ink-soft);font-size:var(--text-sm);overflow-wrap:anywhere}.di-detail{color:var(--ink-muted);font-size:var(--text-xs)}.detail-clamp{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.mr-more{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:44px;min-width:44px;padding:0;border:0;background:transparent;color:var(--sage-deep);cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:700}.mr-more:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.mr-crit{margin-top:2px;padding-top:var(--space-2xs);border-top:1px dashed var(--rule);color:var(--ink-soft);font-size:var(--text-xs)}.mr-crit b{color:var(--ink-soft)}.recon-note{display:grid;gap:2px;padding:var(--space-sm);border:1px solid var(--sage-soft);border-radius:8px;background:var(--sage-wash);color:var(--ink-soft);font-size:var(--text-sm)}.recon-note .rn-head{color:var(--sage-ink);font-size:var(--text-xs);font-weight:700}.inferred-note{border-color:color-mix(in oklch,var(--warn) 32%,var(--rule));background:var(--warn-soft)}.inferred-note .rn-head{color:var(--warn-ink)}.dropped-section{display:grid;gap:var(--space-2xs);min-width:0}.dropped-item{display:grid;gap:var(--space-2xs);min-width:0;padding:var(--space-xs) var(--space-sm);border:1px dashed var(--rule-strong);border-radius:8px;background:var(--paper-inset)}.drill-loading{display:flex;align-items:center;gap:var(--space-xs);color:var(--ink-muted);font-size:var(--text-sm)}.spinner{width:16px;height:16px;flex:0 0 auto;border:2px solid var(--sage-soft);border-top-color:var(--sage);border-radius:999px;animation:spin .7s linear infinite}.drill-fallback{color:var(--ink-muted);font-size:var(--text-sm)}.drill-error{border-color:color-mix(in oklch,var(--ember) 32%,var(--rule));background:color-mix(in oklch,var(--ember-soft) 45%,var(--paper));color:var(--ember-ink)}.drill-truncated{margin:0;color:var(--ink-muted);font-size:var(--text-xs)}@keyframes spin{to{transform:rotate(360deg)}}.proposal-actions{display:flex;gap:var(--space-xs);margin-top:var(--space-2xs)}.proposal-resolved{margin:var(--space-2xs) 0 0;font-size:var(--text-xs);color:var(--ink-muted)}.proposal-accepted{border-color:color-mix(in oklch,var(--sage) 30%,var(--rule));background:var(--sage-wash)}.proposal-rejected{opacity:.55}.wiki-page{color:var(--ink)}.wiki-header,.wiki-detail-header,.wiki-filter-row,.wiki-actions,.wiki-card-pills,.wiki-status-bar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.wiki-tabs{display:flex;flex-wrap:wrap;gap:var(--space-xs);border-bottom:1px solid var(--rule)}.wiki-tabs button{min-height:44px;min-width:44px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-muted);cursor:pointer;padding:0 var(--space-sm)}.wiki-tabs button.is-active{border-color:var(--sage);color:var(--sage-ink)}.wiki-filter-row input,.wiki-pane input,.wiki-pane textarea{min-width:0;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-inset);color:var(--ink);font:inherit;padding:.7rem .85rem}.wiki-filter-row span{color:var(--ink-muted);font-size:var(--text-sm);min-height:44px;display:inline-flex;align-items:center}.wiki-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-md)}.wiki-card,.wiki-search-row,.wiki-pane,.wiki-aside,.wiki-frontmatter,.wiki-stale-banner,.wiki-merge-dialog{border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised)}.wiki-card,.wiki-search-row{display:grid;gap:var(--space-xs);min-height:180px;padding:var(--space-md);color:inherit;text-decoration:none}.wiki-type,.wiki-card-pills span,.wiki-status-bar span{width:fit-content;border-radius:999px;background:var(--sage-wash);color:var(--sage-ink);font-size:var(--text-xs);padding:.25rem .6rem}.wiki-card-pills .warn,.wiki-status-bar .warn,.wiki-stale-banner,.wiki-missing{background:#fff3c4;color:#815f00}.wiki-search-results{display:grid;gap:var(--space-sm)}.wiki-detail-layout{display:grid;align-items:start;gap:var(--space-md);grid-template-columns:minmax(0,1fr) 340px}.wiki-main,.wiki-aside{display:grid;gap:var(--space-md)}.wiki-aside{position:sticky;top:var(--space-md);padding:var(--space-md)}.wiki-aside section{display:grid;gap:var(--space-xs);padding-bottom:var(--space-sm);border-bottom:1px solid var(--rule)}.wiki-aside a{color:var(--sage-ink);text-decoration:none}.wiki-frontmatter{display:grid;gap:0;overflow:hidden}.wiki-frontmatter div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:var(--space-sm);padding:var(--space-sm);border-bottom:1px solid var(--rule)}.wiki-frontmatter div:last-child{border-bottom:0}.wiki-frontmatter dt{font-weight:700}.wiki-advanced{display:grid;gap:var(--space-sm);min-width:0}.wiki-advanced summary{display:flex;align-items:center;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);color:var(--sage-ink);cursor:pointer;font-weight:700;padding:0 var(--space-sm)}.wiki-advanced label{display:grid;gap:var(--space-xs)}.wiki-markdown{display:grid;gap:var(--space-sm);line-height:1.75}.wiki-markdown h1,.wiki-markdown h2,.wiki-markdown h3{font-family:var(--font-display)}.wiki-markdown h3{color:var(--ink);font-size:var(--text-md)}.wiki-markdown ul,.wiki-markdown ol{display:grid;gap:var(--space-xs);padding-left:var(--space-lg)}.wiki-markdown li::marker{color:var(--sage-ink)}.wiki-markdown code{padding:.08rem .25rem;border-radius:4px;background:var(--paper-inset);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.wiki-markdown pre,.wiki-source-view{overflow:auto;border-radius:8px;background:#2f3032;color:#fbf6ec;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-sm);line-height:1.6;padding:var(--space-md)}.wiki-source-view{display:grid;max-height:460px}.wiki-source-view span{display:block}.wiki-source-view .line-no{display:inline-block;width:3rem;color:#b7c5ac;-webkit-user-select:none;user-select:none}.wiki-source-view .is-missing{border-left:2px solid #d19a00;background:#fff3c429}.wiki-embed-card{border:1px dashed color-mix(in oklch,var(--sage) 45%,var(--rule));border-radius:8px;background:var(--sage-wash);padding:var(--space-md)}.wiki-glossary{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--space-md)}.wiki-glossary nav{position:sticky;top:var(--space-sm);display:grid;gap:4px;align-self:start}.wiki-glossary nav a{display:grid;place-items:center;min-height:32px;border-radius:6px;color:var(--sage-ink);text-decoration:none}.wiki-glossary section{padding:var(--space-md) 0;border-bottom:1px solid var(--rule)}.wiki-glossary dl{display:grid;gap:var(--space-sm)}.wiki-glossary dt a{color:var(--ink);font-weight:700;text-decoration:none}.wiki-editor-grid{display:grid;min-height:680px;gap:var(--space-md);grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(260px,1fr)}.wiki-pane{display:grid;align-content:start;gap:var(--space-sm);padding:var(--space-md)}.wiki-pane textarea{min-height:520px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.6}.wiki-rail textarea{min-height:140px}.wiki-failure-table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.wiki-failure-table th,.wiki-failure-table td{padding:.45rem;border-bottom:1px solid var(--rule);text-align:left}.wiki-status-bar{position:sticky;bottom:0;z-index:20;padding:var(--space-sm);border:1px solid var(--rule);border-radius:8px;background:var(--paper)}.wiki-merge-dialog{display:grid;gap:var(--space-sm);padding:var(--space-md)}.wiki-merge-grid{display:grid;gap:var(--space-md);grid-template-columns:1fr 1fr}@media(max-width:900px){.wiki-detail-layout,.wiki-editor-grid,.wiki-merge-grid,.wiki-glossary{grid-template-columns:1fr}.wiki-aside,.wiki-glossary nav{position:static}}.connect-page{--connect-600: #3f5b7c;--connect-200: #bcc9d6;--connect-100: #dce3eb;min-width:0}.connect-hero{border-bottom:1px solid var(--connect-200)}.connect-glyph{background:var(--connect-100);color:var(--connect-600)}.endpoint-copy,.secret-once{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xs);align-items:center;max-width:760px;padding:var(--space-xs);border:1px solid var(--rule);border-radius:8px;background:var(--paper-inset)}.endpoint-copy code,.secret-once code{min-width:0;overflow-x:auto;font-size:var(--text-sm);white-space:nowrap}.mcp-status{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--space-sm);border-radius:999px;font-size:var(--text-xs);font-weight:600;border:1px solid var(--rule)}.mcp-status.is-on{color:var(--sage-ink);background:var(--sage-wash);border-color:color-mix(in oklch,var(--sage) 30%,var(--rule))}.mcp-status.is-off,.tag-danger{color:var(--ember-deep);background:var(--ember-soft);border-color:color-mix(in oklch,var(--ember) 30%,var(--rule))}.connect-grid,.snippet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);min-width:0}.code-block{position:relative;min-width:0;max-width:100%;margin:var(--space-xs) 0 0;padding:var(--space-sm);overflow-x:auto;border:1px solid var(--rule);border-radius:8px;background:var(--paper-inset);color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-xs);line-height:1.55}.mcp-key-list,.mcp-audit-table,.tool-catalog{display:grid;gap:var(--space-sm);min-width:0}.mcp-key-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-md);align-items:center;padding:var(--space-md);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised)}.mcp-audit-row,.tool-catalog details{border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);min-width:0}.mcp-audit-row summary,.tool-catalog summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-sm);align-items:center;min-height:44px;padding:var(--space-sm) var(--space-md);cursor:pointer}.tool-catalog summary{grid-template-columns:minmax(0,1fr);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600;overflow-wrap:anywhere}.tool-catalog details>p,.tool-catalog details>.tag,.tool-catalog details>pre{margin-left:var(--space-md);margin-right:var(--space-md);min-width:0;max-width:calc(100% - (var(--space-md) * 2));overflow-wrap:anywhere}.tool-catalog details>pre{white-space:pre-wrap}.tool-catalog details>pre:last-child{margin-bottom:var(--space-md)}.meter-row{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:var(--space-sm);align-items:center;min-height:44px;padding:var(--space-sm) 0;border-bottom:1px solid var(--rule)}.meter{height:12px;overflow:hidden;border-radius:999px;background:var(--sage-soft)}.meter span{display:block;height:100%;border-radius:inherit;background:var(--sage)}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:var(--space-lg);background:color-mix(in oklch,var(--ink) 28%,transparent)}.modal-card{width:min(640px,100%);max-height:min(720px,92vh);overflow:auto;padding:var(--space-lg);border:1px solid var(--rule);border-radius:8px;background:var(--paper);box-shadow:0 24px 80px color-mix(in oklch,var(--ink) 18%,transparent)}.mcp-key-modal textarea{resize:vertical}.connect-page .field-label,.mcp-settings-panel .field-label{display:grid;gap:6px;font-size:var(--text-sm)}.connect-page .field-label input,.connect-page .field-label textarea,.mcp-settings-panel .field-label input{min-height:44px;padding:8px 10px;border:1px solid var(--rule);border-radius:6px;background:var(--paper)}.connect-page .composer-error,.mcp-settings-panel .composer-error{padding:var(--space-sm) var(--space-md);border:1px solid var(--ember);border-radius:6px;background:var(--ember-soft);color:var(--ember-deep);font-size:var(--text-sm)}.check-row,.switch-row{display:flex;gap:var(--space-sm);align-items:center;min-height:44px}.switch-row{justify-content:space-between;padding:var(--space-sm);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised)}.switch-row span{display:grid;gap:var(--space-2xs)}.switch-row small{color:var(--ink-muted)}@media(max-width:760px){.access-member-row,.invite-panel-form,.invite-link-row,.invite-row{grid-template-columns:1fr}.invite-row-actions{justify-content:stretch}.invite-row-actions .btn,.invite-link-row .btn{width:100%}.connect-grid,.snippet-grid,.mcp-key-row,.meter-row{grid-template-columns:1fr}.modal-backdrop{padding:0}.modal-card{width:100%;min-height:100vh;border-radius:0}}.req-view-tabs{display:inline-flex;width:fit-content;gap:.25rem;padding:.25rem;border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#f5ecdc}.req-view-tabs button{min-height:44px;border:0;border-radius:6px;background:transparent;color:var(--ink-muted);cursor:pointer;font:inherit;font-weight:700;padding:0 .9rem}.req-view-tabs button.is-active{background:#dce8d1;color:var(--ink)}.req-table-wrap{position:relative;max-width:100%;min-width:0;overflow:auto;border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#fffaf0;-webkit-overflow-scrolling:touch;box-shadow:inset -18px 0 22px -24px var(--ink-muted)}.req-table-wrap:after{content:"เลื่อนดูตาราง →";position:sticky;right:var(--space-xs);bottom:var(--space-xs);float:right;display:none;padding:var(--space-2xs) var(--space-xs);border:1px solid var(--rule);border-radius:999px;background:var(--paper-raised);color:var(--ink-muted);font-size:var(--text-xs);pointer-events:none}.req-table{width:100%;border-collapse:collapse;min-width:760px}.req-table th,.req-table td{border-bottom:1px solid rgba(47,48,50,.1);padding:.8rem .9rem;text-align:left;vertical-align:top}.req-table td span{display:block;color:var(--ink-soft);margin-top:.25rem}.req-table td,.req-table th{overflow-wrap:anywhere}.mindmap-shell{display:grid;gap:.85rem}.mind-filter-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:.8rem;border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#fffaf0}.mind-filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.mind-filter-group>span,.mind-search span{color:var(--ink-muted);font-size:.875rem;font-weight:700}.mind-check{display:inline-flex;align-items:center;gap:.3rem;min-height:36px;border:1px solid rgba(47,48,50,.12);border-radius:999px;background:#fbf6ec;color:var(--ink-soft);cursor:pointer;font-size:.875rem;padding:0 .65rem}.mind-search{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto}.mind-search input{min-height:44px;width:min(320px,60vw);border:1px solid rgba(47,48,50,.16);border-radius:8px;background:#fffaf0;color:var(--ink);font:inherit;padding:0 .75rem}.mind-disclaimer{margin:0;color:var(--ink-soft);font-size:.875rem}.mind-breadcrumb{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.45rem;color:var(--ink-soft)}.mind-breadcrumb button{min-height:34px;border:1px solid rgba(122,143,109,.45);border-radius:999px;background:#f1f7ea;color:var(--sage-ink);cursor:pointer;font:inherit;font-weight:700;padding:0 .7rem}.mind-canvas-layout{display:grid;align-items:start;gap:1rem;grid-template-columns:minmax(0,1fr)}.mind-canvas-layout.has-panel{grid-template-columns:minmax(0,1fr) 360px}.mind-canvas,.mind-cluster-canvas{position:relative;min-height:min(720px,calc(100vh - 220px));overflow:hidden;border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#f8f2e4}.mind-canvas .react-flow{font-family:var(--font-body)}.mind-node{display:grid;min-width:170px;max-width:220px;min-height:44px;gap:.15rem;align-content:center;border:2px solid rgba(47,48,50,.16);border-radius:8px;background:#fffaf0;box-shadow:0 10px 24px #2f303214;color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:14px;line-height:1.4;padding:.55rem .7rem;text-align:left}.mind-node-module{min-width:210px;border-radius:999px;border-color:transparent;background:#71845f;color:#fffaf0;font-size:16px;font-weight:700}.mind-node-feature{min-width:180px;border-color:#71845f;background:#fffaf0;font-weight:650}.mind-node-requirement.status-accepted{border-color:#71845f}.mind-node-requirement.status-draft{border-color:#50545a;border-style:dashed}.mind-node-requirement.status-archived{border-color:#8b8982;opacity:.68}.mind-node-evidence{min-width:170px;border-width:1px;border-color:#50545a;color:var(--ink-soft)}.mind-node-changerequest{border-color:#b98900;background:#fff3c4}.mind-node.is-selected,.mind-node.is-match,.mind-node:focus-visible{outline:3px solid #71845f;outline-offset:3px}.mind-node.is-dimmed{opacity:.32}.mind-node-type,.mind-node-status{font-size:14px;color:currentColor;opacity:.75}.mind-node-label{min-width:0;overflow:visible;overflow-wrap:anywhere;white-space:normal}.mind-node-module .mind-node-type,.mind-node-module .mind-node-status{color:#fffaf0}.mind-handle{opacity:0}.mind-edge path{filter:drop-shadow(0 1px 0 rgba(255,250,240,.72));transition:stroke-width var(--motion-quick) var(--ease-out-quart)}.mind-edge:hover path,.mind-edge:focus path{stroke-width:4px}.mind-legend{position:static;z-index:5;display:grid;gap:.5rem;justify-self:end;width:min(100%,520px);max-width:none;border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#fffaf0f2;box-shadow:0 18px 34px #2f30321f;padding:.65rem}.mind-legend button{border:0;background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-weight:800;text-align:left}.mind-legend-body{display:flex;flex-wrap:wrap;gap:.35rem;font-size:14px}.mind-legend-body>span{white-space:nowrap}.mind-legend p{margin:.25rem 0 0;color:var(--ink-soft);font-size:.875rem}.legend-node{display:inline-block;width:22px;height:12px;margin-right:.35rem;border-radius:999px;vertical-align:middle}.legend-node.module{background:#71845f}.legend-node.feature,.legend-node.requirement{border:2px solid #71845f;background:#fffaf0}.legend-node.evidence{border:1px solid #50545a;background:#fffaf0}.legend-node.change{border:2px solid #b98900;background:#fff3c4}.legend-edge{font-size:14px}.legend-edge:before{display:inline-block;width:38px;margin-right:.35rem}.legend-edge.parent:before{content:"───";color:#71845f}.legend-edge.references:before{content:"╌╌╌";color:#50545a}.legend-edge.affected:before{content:"━━━";color:#b98900}.legend-edge.follows:before{content:"···";color:#8b8982}.mind-side-panel{display:grid;align-content:start;gap:.8rem;min-height:640px;border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#fffaf0;padding:1rem}.mind-side-panel header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.mind-side-panel header button{min-width:36px;min-height:36px;border:1px solid rgba(47,48,50,.14);border-radius:999px;background:#fbf6ec;cursor:pointer}.mind-side-panel h3{font-family:var(--font-body);font-size:1.18rem;line-height:1.4}.mind-cross-links{display:grid;gap:.45rem}.mind-cross-links span,.mind-cr-filter{border:1px solid rgba(122,143,109,.32);border-radius:999px;background:#f1f7ea;color:var(--sage-ink);font-size:.875rem;padding:.35rem .6rem}.mind-empty,.mind-loading{display:grid;place-content:center;gap:.7rem;text-align:center}.mind-loading{grid-template-columns:repeat(5,minmax(90px,140px));align-content:center}.mind-loading span{height:46px;border-radius:8px;background:linear-gradient(90deg,#eee4d2,#fff8ec,#eee4d2)}.mind-cluster-canvas{display:grid;align-content:start;gap:1rem;padding:1rem}.mind-cluster-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.mind-cluster-card{display:grid;gap:.35rem;min-height:150px;border:2px dashed #71845f;border-radius:8px;background:#f1f7ea;color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:14px;padding:1rem;text-align:left}.mind-cluster-card strong{font-family:var(--font-body);font-size:1.125rem;font-weight:800}.mind-cluster-type{color:var(--sage-ink);font-size:14px;font-weight:700}@media(max-width:1100px){.req-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.req-table-wrap:after{display:none}.req-table,.req-table thead,.req-table tbody,.req-table tr,.req-table td{display:block}.req-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0}.req-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.req-table tbody{display:grid;gap:var(--space-sm)}.req-table tr{min-width:0;overflow:hidden;border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised)}.req-table td{display:grid;grid-template-columns:minmax(6.5rem,.32fr) minmax(0,1fr);gap:var(--space-sm);min-width:0;border-bottom:1px solid var(--rule);padding:var(--space-sm) var(--space-md)}.req-table td:last-child{border-bottom:0}.req-table td:before{color:var(--ink-muted);content:"";font-size:var(--text-xs);font-weight:700}.req-table td:nth-child(1):before{content:"ความต้องการ"}.req-table td:nth-child(2):before{content:"หมวด"}.req-table td:nth-child(3):before{content:"สถานะ"}.req-table td:nth-child(4):before{content:"หลักฐาน"}.req-table td>*{min-width:0}.req-table td strong,.req-table td span,.req-table td .link-button{grid-column:2}.req-table td strong,.req-table td span{overflow-wrap:anywhere}.req-table td .link-button{justify-self:start;min-height:44px}.mind-canvas-layout.has-panel{grid-template-columns:minmax(0,1fr)}.mind-side-panel{position:fixed;z-index:20;right:1rem;bottom:1rem;left:1rem;min-height:auto;max-height:76vh;overflow:auto;box-shadow:0 24px 60px #2f303233}}@media(max-width:640px){.chat-phase1 .proposal-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-xs)}.chat-phase1 .proposal-actions .btn{width:100%;min-width:0;justify-content:center}.chat-phase1 .proposal-actions .btn:first-child{grid-column:1 / -1}.mind-filter-row{align-items:stretch}.mind-search{width:100%;margin-left:0}.mind-search input{width:100%}.mind-canvas,.mind-cluster-canvas{min-height:560px}.mind-legend{justify-self:stretch;width:100%}.mind-minimap{display:none}}.cr-shell{display:grid;gap:1rem}.cr-toolbar,.cr-freeze,.cr-create-panel,.cr-detail,.delta-pack{border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#fffaf0;padding:1rem}.cr-toolbar,.cr-freeze,.cr-detail-head,.cr-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.cr-create-panel{display:grid;gap:.85rem}.form-grid{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.cr-create-panel label,.form-grid label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.875rem;font-weight:700}.cr-create-panel input,.cr-create-panel select,.cr-create-panel textarea{width:100%;border:1px solid rgba(47,48,50,.16);border-radius:8px;background:#fbf6ec;color:var(--ink);font:inherit;padding:.65rem .75rem}.cr-grid{display:grid;align-items:start;gap:1rem;grid-template-columns:minmax(260px,.42fr) minmax(0,1fr)}.cr-list{display:grid;align-content:start;gap:.55rem}.cr-list-header{color:var(--ink-soft);font-size:.875rem;font-weight:800}.cr-row{display:grid;gap:.25rem;width:100%;border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#fffaf0;color:var(--ink);cursor:pointer;font:inherit;padding:.85rem;text-align:left}.cr-row.is-active{border-color:#71845f94;background:#f1f7ea}.cr-number,.cr-status{color:var(--sage-ink);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.cr-status-approved,.cr-status-merged{color:#507145}.cr-status-rejected,.cr-status-withdrawn{color:#9a4d35}.cr-detail{align-content:start;min-height:0}.cr-detail-head h3{margin:.35rem 0;font-family:var(--font-body);font-size:1.25rem}.cr-detail-tabs{display:grid;align-items:start;gap:1rem;grid-template-columns:minmax(0,1.2fr) minmax(180px,.6fr) minmax(180px,.6fr);margin-top:1rem}.cr-diff,.delta-panel{display:grid;gap:.6rem}.cr-diff pre,.delta-panel pre,.delta-panel details{overflow:auto;max-width:100%;border:1px solid rgba(47,48,50,.12);border-radius:8px;background:#fbf6ec;color:var(--ink);font-size:.82rem;padding:.75rem}.link-button{display:inline-flex;align-items:center;min-height:44px;border:0;background:transparent;color:var(--sage-ink);cursor:pointer;font:inherit;font-weight:800;padding:.2rem 0;text-decoration:underline}.req-evidence-link{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}.delta-pack{display:grid;gap:1rem;margin-top:1rem}.handoff-markdown,.handoff-file-markdown{max-width:var(--max-reading)}.handoff-export-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0 0 var(--space-md)}.handoff-export-actions .btn{min-width:44px;min-height:44px}.handoff-markdown .wiki-markdown,.handoff-file-markdown .wiki-markdown{padding:var(--space-lg);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised)}.handoff-markdown .wiki-markdown h2,.handoff-file-markdown .wiki-markdown h2{padding-bottom:var(--space-xs);border-bottom:1px solid var(--rule);color:var(--sage-ink);font-size:var(--text-lg)}.handoff-markdown .wiki-markdown pre,.handoff-file-markdown .wiki-markdown pre{background:var(--paper-inset);color:var(--ink)}.handoff-file-markdown{display:grid;gap:var(--space-sm)}.handoff-file-markdown>h4{font-family:var(--font-display);font-size:var(--text-md)}.handoff-diff-head,.handoff-artifact-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.handoff-diff-head .req-item-title,.handoff-artifact-card h4{margin:0;font-family:var(--font-display);font-size:var(--text-md)}.handoff-change-count,.handoff-action-badge{flex:0 0 auto;min-height:32px;display:inline-grid;place-items:center;padding:0 var(--space-sm);border-radius:999px;background:var(--paper-inset);color:var(--ink-soft);font-size:var(--text-xs);font-weight:800}.handoff-field-list{display:grid;gap:var(--space-md)}.handoff-field-change{display:grid;gap:var(--space-xs)}.handoff-field-name{margin:0;color:var(--ink-soft);font-size:var(--text-sm);font-weight:800}.handoff-field-compare{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--space-sm);align-items:stretch}.handoff-field-arrow{align-self:center;color:var(--ink-muted);font-weight:800}.handoff-field-box{display:grid;align-content:start;gap:var(--space-xs);min-width:0;padding:var(--space-sm);border:1px solid var(--rule);border-radius:8px;line-height:1.65}.handoff-field-before{background:var(--paper-inset);color:var(--ink-muted)}.handoff-field-after{background:var(--sage-wash);color:var(--ink)}.handoff-field-box-label{font-size:var(--text-xs);font-weight:800}.handoff-field-after .handoff-field-box-label,.handoff-field-after .is-changed{color:var(--sage-ink)}.handoff-field-before .is-changed{color:var(--ink-muted)}.handoff-field-box ul{display:grid;gap:var(--space-2xs);margin:0;padding:0;list-style:none}.handoff-field-box li{overflow-wrap:anywhere}.handoff-field-box li span{display:inline-block;width:1.25rem;font-weight:900}.handoff-field-box p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.handoff-artifact-card{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised)}.handoff-artifact-card header>div{display:flex;align-items:baseline;min-width:0;gap:var(--space-xs)}.handoff-action-icon{color:var(--ink-soft);font-weight:900}.handoff-action-icon.action-added,.handoff-action-badge.action-added{background:var(--sage-wash);color:var(--sage-ink)}.handoff-action-badge.action-removed{color:var(--ink-muted)}.handoff-raw-details summary{min-height:44px;display:flex;align-items:center;color:var(--sage-ink);cursor:pointer;font-weight:800}.metric-strip{display:flex;flex-wrap:wrap;gap:.5rem}.metric-strip span{border:1px solid rgba(122,143,109,.28);border-radius:999px;background:#f1f7ea;color:var(--sage-ink);font-size:.875rem;font-weight:800;padding:.4rem .65rem}.llm-provider-panel{display:grid;gap:var(--space-md)}.llm-chat-default{display:grid;gap:var(--space-sm);min-width:0;padding:var(--space-md);border:1px solid color-mix(in oklch,var(--sage) 35%,var(--rule));border-radius:8px;background:var(--sage-wash)}.llm-chat-default h4{margin:0;color:var(--ink)}.llm-chat-default-row{grid-template-columns:repeat(3,minmax(0,1fr))}.llm-provider-row{display:grid;gap:var(--space-md);min-width:0;padding:var(--space-md);border:1px solid var(--rule);border-radius:8px;background:var(--paper)}.llm-provider-row h4{margin:0;color:var(--ink)}.llm-provider-toggle,.llm-provider-key-row{min-width:0}.llm-provider-key-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-sm);align-items:end}.llm-provider-key-row input{min-width:0;width:100%}.llm-provider-actions{justify-content:flex-start}.llm-model-chip-list{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.chip-muted{color:var(--ink-muted);background:var(--paper-inset);border-color:var(--rule)}.req-refine-shell{display:grid;gap:var(--space-sm);min-width:0;margin-top:var(--space-sm)}.req-refine-cta{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:end}.req-refine-instruction{display:grid;flex:1 1 18rem;gap:var(--space-2xs);min-width:min(100%,16rem);color:var(--ink-muted);font-size:var(--text-xs)}.req-refine-instruction input{width:100%;min-width:0;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink);padding:var(--space-xs) var(--space-sm)}.req-refine-budget{color:var(--ink-soft);font-size:var(--text-xs)}.req-refine-preflight,.req-refining,.req-refine-draft{display:grid;gap:var(--space-sm);min-width:0;border-radius:8px;padding:var(--space-md)}.req-refine-preflight{border:1px solid color-mix(in oklch,var(--sage) 42%,var(--rule));background:var(--sage-wash)}.req-refining{border:1px dashed color-mix(in oklch,var(--sage) 42%,var(--rule));background:color-mix(in oklch,var(--sage-wash) 60%,var(--paper));color:var(--sage-deep)}.req-refine-draft{border:1px solid color-mix(in oklch,var(--sage) 45%,var(--rule));background:color-mix(in oklch,var(--sage-wash) 45%,var(--paper))}.req-refine-draft-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);justify-content:space-between;min-height:44px;min-width:0;border-radius:8px;color:var(--sage-ink)}.req-refine-draft-panel>summary.req-refine-draft-head{cursor:pointer;list-style:none}.req-refine-draft-panel>summary.req-refine-draft-head::-webkit-details-marker{display:none}.req-refine-draft-panel>summary.req-refine-draft-head::marker{content:""}.req-refine-draft-panel>summary.req-refine-draft-head:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.req-refine-draft-head>span:not(.req-result-summary-main):not(.req-result-summary-toggle),.req-refine-warning{color:var(--ink-soft);font-size:var(--text-xs)}.req-refine-result-body{display:grid;gap:var(--space-sm);min-width:0;padding-top:var(--space-sm);border-top:1px solid color-mix(in oklch,var(--sage) 28%,var(--rule))}.req-result-summary-main{display:grid;gap:var(--space-2xs);min-width:0}.req-result-summary-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;color:var(--ink-soft);font-size:var(--text-xs)}.req-result-summary-toggle{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-xs);color:var(--sage-deep);font-size:var(--text-sm);font-weight:700}.req-result-summary-toggle .chev{color:var(--ink-muted);font-size:11px;transition:transform var(--motion-quick) var(--ease-out-quart)}.req-section-result[open]>.req-section-result-head .chev,.req-refine-draft-panel[open]>.req-refine-draft-head .chev{transform:rotate(180deg)}.refine-pending-pill,.refine-fresh-pill{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-width:0;border:1px solid color-mix(in oklch,var(--sage) 38%,var(--rule));border-radius:999px;background:var(--paper-inset);color:var(--sage-ink);font-size:var(--text-xs);font-weight:700;line-height:1.2;padding:3px var(--space-xs)}.refine-fresh-pill{background:color-mix(in oklch,var(--sage-wash) 65%,var(--paper));color:var(--sage-deep)}.refine-pending-pill span,.refine-fresh-pill span{color:var(--sage-deep);font-size:8px;line-height:1}.req-refine-warning{margin:0;border-left:3px solid var(--ember);border-radius:0 8px 8px 0;background:color-mix(in oklch,var(--ember-soft) 45%,var(--paper));padding:var(--space-xs) var(--space-sm)}.req-refine-diff{display:grid;gap:var(--space-xs);min-width:0}.req-refine-diff-row{display:grid;grid-template-columns:7rem minmax(0,1fr) minmax(0,1fr);gap:var(--space-xs);min-width:0;align-items:stretch}.req-refine-diff-row>span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:700;padding-top:var(--space-xs)}.req-refine-diff-row p{min-width:0;margin:0;overflow-wrap:anywhere}.req-refine-findings{display:grid;gap:var(--space-xs);border:1px solid var(--rule);border-radius:8px;background:var(--paper);padding:var(--space-sm)}.req-refine-findings strong{display:flex;gap:var(--space-xs);align-items:center}.req-refine-findings strong span{border:1px solid var(--rule);border-radius:999px;background:var(--paper-inset);color:var(--ink-muted);font-size:var(--text-xs);padding:2px var(--space-xs)}.req-refine-finding{display:grid;gap:var(--space-2xs);min-width:0;border-left:3px solid var(--rule-strong);border-radius:0 8px 8px 0;background:var(--paper-raised);padding:var(--space-xs) var(--space-sm)}.req-refine-finding>span{font-weight:700}.req-refine-finding p{margin:0;color:var(--ink-soft)}.finding-refs{min-width:0;margin-top:var(--space-2xs)}.finding-refs>summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 2px;border-radius:8px;color:var(--sage-ink);cursor:pointer;font-size:var(--text-sm);font-weight:700;list-style:none}.finding-refs>summary::-webkit-details-marker{display:none}.finding-refs>summary::marker{content:""}.finding-refs>summary:hover{color:var(--sage-deep)}.finding-refs>summary:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.finding-refs>summary .chev{color:var(--ink-muted);font-size:11px;transition:transform var(--motion-quick) var(--ease-out-quart)}.finding-refs[open]>summary .chev{transform:rotate(180deg)}.refs-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);min-width:0;padding:var(--space-2xs) 0}.ref-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;min-height:44px;padding:0 var(--space-sm);border:1px solid var(--sage-soft);border-radius:999px;background:var(--sage-wash);color:var(--sage-ink);font-size:var(--text-sm);font-weight:700;text-decoration:none;transition:background var(--motion-quick) var(--ease-out-quart),border-color var(--motion-quick) var(--ease-out-quart)}.ref-chip:hover{border-color:var(--sage);background:color-mix(in oklch,var(--sage-wash) 60%,var(--sage-soft))}.ref-chip:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.rc-kind{flex:none;padding:1px 6px;border:1px solid var(--sage-soft);border-radius:6px;background:var(--paper-raised);color:var(--sage-deep);font-size:var(--text-xs);font-weight:700}.rc-label{max-width:30ch;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ref-chip.is-asset{border-color:var(--rule-strong);background:var(--paper-raised);color:var(--ink-soft)}.ref-chip.is-asset .rc-kind{border-color:var(--rule);background:var(--paper-inset);color:var(--ink-soft)}.ref-chip.is-missing{border-color:var(--rule);border-style:dashed;background:var(--paper-inset);color:var(--ink-muted);cursor:default;font-weight:500}.ref-chip.is-missing .rc-kind{border-color:var(--rule);background:var(--paper);color:var(--ink-muted)}@media(max-width:560px){.rc-label{max-width:20ch}}@container (max-width: 520px){.llm-chat-default-row,.llm-provider-key-row{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.org-hero,.org-name-form,.org-page .harvest-model-row{grid-template-columns:minmax(0,1fr)}.org-page .field-label>select{width:100%;min-width:0}.org-crest{width:56px}.req-refine-diff-row{grid-template-columns:minmax(0,1fr)}.req-refine-cta{align-items:stretch}.req-section-header-actions{justify-content:flex-start}}@media(max-width:920px){.cr-grid,.cr-detail-tabs,.form-grid,.handoff-field-compare{grid-template-columns:minmax(0,1fr)}.handoff-field-arrow{justify-self:center;transform:rotate(90deg)}.cr-toolbar,.cr-freeze,.cr-detail-head,.handoff-diff-head,.handoff-artifact-card header{align-items:stretch;flex-direction:column}.handoff-markdown .wiki-markdown,.handoff-file-markdown .wiki-markdown{padding:var(--space-md)}}
