@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,500;8..60,650&display=swap";.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{color:#1b2d27;font-synthesis:none;--ink:#152821;--muted:#6d7a75;--line:#d5ddd8;--paper:#fbfcfa;--paper-2:#f4f6f3;--forest:#275c4b;--forest-2:#3c7864;--mint:#dcebe4;--amber:#ac783b;--amber-bg:#f6eadb;--red:#a64742;--red-bg:#f8e4e2;--blue:#3f667f;--shadow:0 10px 35px #132b2312;background:#eef1ee;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding:.62rem .9rem;font-weight:600;transition:all .16s;display:inline-flex}button:hover:not(:disabled){background:#f6faf7;border-color:#93aaa0}button:disabled{opacity:.45;cursor:not-allowed}button svg{width:17px;height:17px}.primary,.approve{background:var(--forest);border-color:var(--forest);color:#fff}.primary:hover:not(:disabled),.approve:hover:not(:disabled){background:#1d493b;border-color:#1d493b}.danger{color:var(--red)}.subtle{background:0 0}.full{width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Source Serif 4",Georgia,serif}h1{margin-bottom:.55rem;font-size:clamp(1.9rem,3vw,3rem);line-height:1.05}h2{margin-bottom:.3rem;font-size:1.3rem}p{color:#455650;line-height:1.65}small{color:var(--muted);line-height:1.4}code,pre{font-family:IBM Plex Mono,monospace}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--forest-2);margin-bottom:.35rem;font-size:.68rem;font-weight:700}.brand{align-items:center;gap:.7rem;display:flex}.brand svg{color:#76a18f}.brand div{flex-direction:column;display:flex}.brand strong{font-family:"Source Serif 4",serif;font-size:1.14rem}.brand span{letter-spacing:.12em;text-transform:uppercase;color:#a8bbb2;font-size:.68rem}.brand.large{color:var(--ink)}.brand.large span{color:var(--muted)}.brand.large svg{width:36px;height:36px}.app-shell{grid-template-columns:250px minmax(0,1fr) 330px;min-height:100vh;display:grid}.rail{color:#eef5f1;background:#122821;height:100vh;padding:1.15rem .8rem;position:sticky;top:0;overflow-y:auto}.rail>.brand{padding:.3rem .5rem 1.2rem}.project-identity{border-top:1px solid #2c453c;border-bottom:1px solid #2c453c;flex-direction:column;gap:.25rem;padding:1rem .55rem;display:flex}.project-identity span,.project-identity small,.rail-label{color:#8eaaa0;text-transform:uppercase;letter-spacing:.1em;font-size:.67rem}.project-identity strong{font-family:"Source Serif 4",serif}.main-nav{border-bottom:1px solid #2c453c;padding:1rem 0}.main-nav a{color:#c9d8d2;border-radius:6px;align-items:center;gap:.7rem;padding:.64rem .55rem;font-size:.84rem;display:flex}.main-nav a svg{width:17px}.main-nav a.active,.main-nav a:hover{color:#fff;background:#24443a}.stage-list{padding-top:1rem}.rail-label{padding:.4rem .5rem}.stage-link{border-radius:7px;grid-template-columns:25px 1fr;align-items:start;gap:.5rem;padding:.5rem;display:grid}.stage-link>span{color:#a9bdb5;border:1px solid #3b594e;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.66rem;display:grid}.stage-link>div{flex-direction:column;gap:.27rem;display:flex}.stage-link strong{color:#cbd9d3;font-size:.71rem;line-height:1.25}.stage-link .badge{align-self:flex-start;padding:.14rem .27rem;font-size:.49rem}.stage-link.active,.stage-link:hover{background:#203f35}.workspace{min-width:0;padding:2rem;overflow:hidden}.context-pane{border-left:1px solid var(--line);background:#f8faf8;height:100vh;padding:1rem;position:sticky;top:0;overflow-y:auto}.context-block{border-bottom:1px solid var(--line);padding:1rem 0}.context-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:.8rem;font-size:.67rem;font-weight:700;display:flex}.context-title>span{background:var(--mint);color:var(--forest);border-radius:10px;padding:.2rem .45rem}.context-block h3{margin:.7rem 0;font-size:1.05rem}.context-block blockquote{color:#4e5e58;border-left:3px solid #94aa9f;margin:.8rem 0;padding-left:.8rem;font-size:.83rem}.panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;margin-bottom:1.25rem;overflow:hidden}.panel-header{border-bottom:1px solid #e2e7e3;justify-content:space-between;align-items:center;padding:1.05rem 1.2rem;display:flex}.panel-header h2{margin:0}.panel-body{padding:1.2rem}.panel.flush .panel-body,.graph-panel .panel-body{padding:0}.page-head{justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.5rem;display:flex}.page-head>div:first-child{max-width:850px}.page-head p{margin:0}.sticky-head{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#eef1eee8;padding:.5rem 0;position:sticky;top:0}.back{color:var(--forest);margin-bottom:.7rem;font-size:.78rem;display:inline-block}.badge{color:#52635d;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#eff3f0;border:1px solid #ccd6d1;border-radius:14px;align-items:center;padding:.24rem .46rem;font-size:.59rem;font-weight:700;display:inline-flex}.status-approved,.status-analyzed,.status-completed,.status-supported,.status-connected,.status-available,.status-included,.status-active,.status-ready-for-analysis{color:#236047;background:#dceee5;border-color:#b8d5c8}.status-running,.status-analyzing,.status-parsing,.status-queued,.status-drafting{color:#325f77;background:#dcebf2;border-color:#b8d0dd}.status-ready-for-review,.status-unreviewed,.status-stage-0,.status-stage-1,.status-stage-2,.status-stage-3,.status-stage-4,.status-stage-5,.status-stage-6,.status-stage-7,.status-stage-8,.status-stage-9,.status-stage-10,.status-stage-11,.status-stage-12,.status-stage-13,.status-stage-14,.status-stage-15,.status-stage-16,.status-stage-17{color:#795d2f;background:#eee7d9;border-color:#d8c9ad}.status-failed,.status-unsupported,.status-disputed,.status-excluded,.status-unavailable{background:var(--red-bg);color:var(--red);border-color:#e2bbb7}.status-stale,.status-needs-human-check,.status-parse-incomplete,.status-attention,.status-partially-supported,.status-non-citable{background:var(--amber-bg);color:#875d29;border-color:#dfc6a6}.status-revision-requested,.status-blocked{color:#704d79;background:#eee4f1;border-color:#d5bfdb}.badge-row{flex-wrap:wrap;gap:.45rem;display:flex}.notice{border:1px solid;border-radius:8px;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding:.72rem .9rem;font-size:.82rem;line-height:1.5;display:flex}.notice svg{flex:none;margin-top:.1rem}.notice.error{background:var(--red-bg);color:#823b37;border-color:#e5b9b5}.notice.warning{background:var(--amber-bg);color:#785323;border-color:#e2c8a6}.notice.success{color:#236047;background:#dceee5;border-color:#b8d5c8}.loading,.empty{min-height:160px;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:.6rem;padding:2rem;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.metric-grid,.metric-row{grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1.25rem;display:grid}.metric{background:var(--paper);border:1px solid var(--line);border-radius:10px;flex-direction:column;padding:1rem;display:flex}.metric span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem}.metric strong{font-family:"Source Serif 4",serif;font-size:1.7rem}.metric.warn strong{color:var(--amber)}.metric.danger strong{color:var(--red)}.two-col{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.three-col{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.feature-icon{color:var(--forest-2);width:28px;height:28px;margin-bottom:.6rem}.action-list{flex-direction:column;display:flex}.next-action{border-bottom:1px solid #e3e8e4;grid-template-columns:30px 1fr 20px;align-items:center;gap:.7rem;padding:.7rem 0;display:grid}.next-action>span{background:var(--mint);color:var(--forest);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:grid}.next-action p{margin:0;font-size:.86rem}.next-action svg{color:#87958f;width:17px}.status-bars{grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1rem;display:grid}.status-bars>div{justify-content:space-between;align-items:center;display:flex}.text-link{color:var(--forest);align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;display:inline-flex}.text-link svg{width:16px}.pipeline-grid{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.pipeline-stage{background:#fff;border:1px solid #e0e5e1;border-radius:8px;grid-template-columns:34px 1fr auto;align-items:start;gap:.7rem;padding:.85rem;display:grid}.pipeline-stage:hover{border-color:#9eb1a8}.pipeline-stage>span{color:var(--forest);background:#edf2ef;border-radius:50%;place-items:center;width:30px;height:30px;font-family:IBM Plex Mono,monospace;font-size:.7rem;display:grid}.pipeline-stage>div{flex-direction:column;gap:.3rem;display:flex}.pipeline-stage strong{font-size:.78rem}.pipeline-stage small{font-size:.66rem}.landing{background:linear-gradient(135deg,#edf1ed,#f7f4ed);min-height:100vh}.landing-header{justify-content:space-between;align-items:center;max-width:1250px;margin:auto;padding:1.3rem 2rem;display:flex}.landing main{max-width:1250px;margin:auto;padding:4rem 2rem}.hero{max-width:840px;margin-bottom:3rem}.hero h1{letter-spacing:-.035em;font-size:clamp(2.4rem,5vw,4.8rem)}.hero p{max-width:720px;font-size:1.05rem}.project-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.project-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:13px;padding:1.25rem}.project-card:hover{border-color:#9db0a7;transform:translateY(-2px)}.project-card header,.project-card footer{justify-content:space-between;display:flex}.project-card header span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.project-card header h2{font-size:1.5rem}.project-card header svg{color:var(--forest)}.project-card .metric-row{grid-template-columns:repeat(4,1fr);margin:.8rem 0}.project-card .metric{background:var(--paper-2);box-shadow:none;padding:.55rem}.project-card .metric strong{font-size:1.1rem}.project-card footer{align-items:center}.project-card time{color:var(--muted);font-size:.67rem}.modal-backdrop{z-index:30;background:#0e211bb0;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-backdrop .panel{width:min(540px,100%);margin:0}.modal-actions{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}label{flex-direction:column;gap:.35rem;margin-bottom:.8rem;font-size:.75rem;font-weight:700;display:flex}label small{font-weight:400}input,textarea,select{color:var(--ink);background:#fff;border:1px solid #cbd5cf;border-radius:7px;outline:none;padding:.68rem .75rem}input:focus,textarea:focus,select:focus{border-color:var(--forest-2);box-shadow:0 0 0 3px #3c78641a}textarea{resize:vertical;min-height:100px}.library-toolbar,.map-toolbar{align-items:center;gap:.7rem;margin-bottom:1rem;display:flex}.library-toolbar .search{flex:1}.search{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;padding:0 .7rem;display:flex}.search svg{width:17px;color:var(--muted)}.search input{box-shadow:none;border:0;flex:1}.drop-zone{color:var(--muted);border:1px dashed #9dafa7;border-radius:9px;flex-direction:column;align-items:center;gap:.3rem;margin:1rem;padding:1.3rem;display:flex}.drop-zone svg{color:var(--forest);width:28px}.source-table{overflow-x:auto}.source-row{border-top:1px solid #e5e9e6;grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) 150px 110px 110px;align-items:center;gap:.8rem;padding:.8rem 1.1rem;display:grid}.source-row.header{background:var(--paper-2);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:0;font-size:.65rem}.source-row.muted{opacity:.58}.source-title{flex-direction:column;gap:.22rem;display:flex}.source-title strong{font-size:.82rem}.source-row select{min-width:0;padding:.5rem;font-size:.72rem}.source-row>div{flex-direction:column;gap:.3rem;display:flex}.page-count span{color:var(--red);font-size:.65rem}.paper-layout{grid-template-columns:minmax(380px,.85fr) minmax(450px,1.15fr);gap:1rem;display:grid}.viewer-panel iframe{background:#d8ddda;border:0;width:100%;height:72vh}.tabs{gap:.25rem;margin-bottom:1rem;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:.7rem .9rem}.tabs button.active{border-color:var(--forest);color:var(--forest);background:#e4eee8}.tabs.compact{margin:0}.tabs.compact button{padding:.45rem;font-size:.67rem}.evidence-list{flex-direction:column;gap:.5rem;max-height:67vh;display:flex;overflow-y:auto}.evidence-list>button{text-align:left;flex-direction:column;align-items:stretch;padding:.75rem;display:flex}.evidence-list>button.selected{border-color:var(--forest);background:#edf5f0}.evidence-list>button>span{justify-content:space-between;display:flex}.evidence-list strong{margin:.45rem 0;font-family:"Source Serif 4",serif}.evidence-list q{color:var(--muted);font-size:.72rem}.json-view{white-space:pre-wrap;color:#dce9e2;background:#172620;border-radius:8px;max-height:68vh;padding:1rem;font-size:.69rem;line-height:1.5;overflow:auto}.json-view.readable{color:#263a32;border:1px solid var(--line);background:#f2f5f2}.page-list details,.version-list details{border-bottom:1px solid var(--line);padding:.65rem}.page-list summary,.version-list summary{cursor:pointer;justify-content:space-between;gap:1rem;display:flex}.page-list details p{color:#293b34;white-space:pre-wrap;font-family:"Source Serif 4",serif}.stage-output{min-height:430px}.markdown-view{max-width:850px}.provenance{flex-wrap:wrap;gap:.5rem;margin-top:2rem;display:flex}.provenance span{background:#e7ece9;border-radius:5px;padding:.35rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.62rem}.approval-dock{border:1px solid var(--line);z-index:6;background:#fbfcfaf3;border-radius:10px;grid-template-columns:1fr auto;gap:1rem;padding:1rem;display:grid;position:sticky;bottom:0;box-shadow:0 -8px 30px #142c231c}.approval-dock>div:first-child{grid-template-columns:1.3fr 1fr;gap:.6rem;display:grid}.approval-dock label{margin:0}.approval-dock textarea{min-height:55px}.approval-dock .check{flex-direction:row;grid-column:1/-1;align-items:center}.approval-actions{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.graph-panel{height:calc(100vh - 235px);min-height:540px;position:relative}.graph-panel .panel-body{height:100%}.topic-node{color:#173c30!important;text-align:center!important;background:#e1eee8!important;border:1px solid #6f9d8a!important;border-radius:8px!important;width:150px!important;padding:.65rem!important;font-size:.72rem!important}.topic-node.notebooklm{background:#f4e7d5!important;border-color:#bd8c51!important}.topic-node.rejected{opacity:.35;text-decoration:line-through}.map-toolbar input{flex:1}.map-legend{z-index:3;border:1px solid var(--line);background:#ffffffdf;border-radius:7px;gap:.7rem;padding:.5rem;font-size:.62rem;display:flex;position:absolute;bottom:1rem;left:1rem}.map-legend span:before{content:"";background:#87958f;border-radius:50%;width:9px;height:9px;margin-right:.3rem;display:inline-block}.map-legend .corpus:before{background:#477567}.map-legend .notebook:before{background:#b98b52}.manuscript-layout{grid-template-columns:270px 1fr;gap:1rem;display:grid}.outline-tree{flex-direction:column;display:flex}.outline-tree button{text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:25px 1fr auto;align-items:center;padding:.6rem;display:grid}.outline-tree button.active{background:var(--mint)}.outline-tree button>span{font-family:IBM Plex Mono,monospace;font-size:.65rem}.outline-tree button>div{flex-direction:column;display:flex}.outline-tree button strong{font-size:.72rem}.editor-label textarea{min-height:48vh;font-family:"Source Serif 4",serif;font-size:1rem;line-height:1.75}.editor-actions{justify-content:flex-end;gap:.5rem;margin-bottom:1rem;display:flex}.claim{border:1px solid var(--line);background:#fff;border-radius:7px;margin-bottom:.5rem;padding:.65rem}.claim p{margin:.4rem 0;font-family:"Source Serif 4",serif;font-size:.8rem}.setting-line{border-bottom:1px solid #e2e7e3;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.6rem 0;display:flex}.setting-line span{color:var(--muted);font-size:.73rem}.setting-line code{text-align:right;word-break:break-all;font-size:.65rem}.model-availability>div{border-bottom:1px solid #e2e7e3;justify-content:space-between;align-items:center;padding:.6rem 0;display:flex}.model-availability>div>div{flex-direction:column;display:flex}.model-availability strong{font-size:.76rem}.routing-table{overflow-x:auto}.routing-row{border-bottom:1px solid #e2e7e3;grid-template-columns:1.1fr 1.5fr .7fr 1.5fr;align-items:center;gap:.6rem;padding:.55rem;display:grid}.routing-row.header{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;background:var(--paper-2);font-size:.65rem}.routing-row input,.routing-row select{min-width:0;padding:.5rem;font-size:.7rem}.routing-row strong{font-size:.72rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.chat-log{flex-direction:column;gap:.5rem;max-height:42vh;display:flex;overflow-y:auto}.chat-message{border:1px solid var(--line);background:#fff;border-radius:7px;padding:.55rem .65rem}.chat-message.user{background:#e8f0eb;margin-left:1rem}.chat-message strong{color:var(--forest);text-transform:uppercase;font-size:.63rem}.chat-message p{white-space:pre-wrap;margin:.25rem 0;font-size:.75rem}.chat-input{grid-template-columns:1fr 38px;gap:.4rem;margin-top:.7rem;display:grid}.chat-input textarea{min-height:65px;font-size:.73rem}.chat-input button{padding:.4rem}.job{border-bottom:1px solid #e2e7e3;padding:.55rem 0;position:relative}.job>div:first-child{align-items:center;gap:.4rem;display:flex}.job strong{font-size:.67rem}.job small{font-size:.62rem;display:block}.progress{background:#e0e6e2;border-radius:3px;height:4px;margin:.4rem 0;overflow:hidden}.progress i{background:var(--forest-2);height:100%;display:block}.inline-actions{position:absolute;top:.45rem;right:0}.icon-btn{background:0 0;border:0;padding:.25rem}.icon-btn svg{width:15px}.error-text{color:var(--red)!important}.warning-text{color:var(--amber)!important}.fatal-error{background:#eef1ee;place-items:center;min-height:100vh;padding:1.25rem;display:grid}.fatal-error>div{background:var(--paper);border:1px solid var(--line);width:min(560px,100%);box-shadow:var(--shadow);border-radius:12px;padding:1.4rem}.fatal-error span{color:var(--red);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.7rem;font-weight:700;display:block}.fatal-error p{word-break:break-word}.fatal-error a{color:var(--forest);margin-left:1rem;font-size:.8rem;font-weight:700;display:inline-flex}@media (width<=1200px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.context-pane{z-index:15;border:1px solid var(--line);width:320px;height:auto;max-height:70vh;box-shadow:var(--shadow);border-radius:11px;display:none;position:fixed;top:auto;bottom:1rem;right:1rem}.workspace{padding:1.4rem}.pipeline-grid{grid-template-columns:repeat(2,1fr)}.paper-layout{grid-template-columns:1fr}.viewer-panel iframe{height:48vh}}@media (width<=760px){.app-shell{display:block}.rail{height:auto;padding:.7rem;position:relative}.rail>.brand,.project-identity,.stage-list{display:none}.main-nav{border:0;padding:0;display:flex;overflow-x:auto}.main-nav a{white-space:nowrap}.workspace{padding:1rem}.page-head{flex-direction:column;gap:1rem}.metric-grid,.metric-row{grid-template-columns:repeat(2,1fr)}.two-col,.three-col,.project-grid,.manuscript-layout,.pipeline-grid{grid-template-columns:1fr}.landing-header,.landing main{padding:1rem}.source-row{grid-template-columns:220px 150px 130px 90px 100px}.approval-dock{grid-template-columns:1fr;position:relative}.approval-dock>div:first-child{grid-template-columns:1fr}.routing-row{grid-template-columns:150px 220px 100px 200px}.graph-panel{height:65vh}.paper-layout{display:block}.editor-actions,.approval-actions{flex-wrap:wrap;justify-content:flex-start}.form-row{grid-template-columns:1fr}}
