button,select{font:inherit}.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))}.kb{border:1px solid var(--rule);background:var(--panel);flex-direction:column;gap:20px;min-width:0;padding:18px;display:flex}.kb-head{border-bottom:1px solid var(--rule);flex-direction:column;gap:7px;padding-bottom:14px;display:flex}.kb-head h3{font-family:var(--cond);letter-spacing:.005em;color:var(--ink);margin:0;font-size:1.36rem;font-weight:600;line-height:1.15}.kb-lede{max-width:74ch;color:var(--ink-3);margin:0;font-size:.88rem;line-height:1.55}.kb-label{font-family:var(--cond);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:.72rem;font-weight:600}.kb-block{flex-direction:column;gap:12px;min-width:0;display:flex}.kb-block h4{font-family:var(--cond);letter-spacing:.01em;color:var(--ink-2);margin:0;font-size:1.1rem;font-weight:600}.kb-block>p{max-width:74ch;color:var(--ink-3);margin:0;font-size:.85rem;line-height:1.55}.kb-where{border-left:2px solid var(--rule);padding-left:11px}.kb-table-wrap{border:1px solid var(--rule);max-width:100%;overflow-x:auto}.kb-table{border-collapse:collapse;width:100%;min-width:480px;font-size:.83rem}.kb-table caption.kb-cap{caption-side:top;text-align:left;background:var(--panel-2);border-bottom:1px solid var(--rule-2);padding:9px 12px}.kb-table th{text-align:left;white-space:nowrap;background:var(--panel-2);border-bottom:1px solid var(--rule);font-family:var(--cond);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);padding:9px 12px;font-size:.71rem;font-weight:600;position:sticky;top:0}.kb-table td{vertical-align:top;border-bottom:1px solid var(--rule-2);color:var(--ink-2);padding:10px 12px;line-height:1.5}.kb-table tbody tr:last-child td{border-bottom:0}.kb-table .kb-num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;color:var(--ink)}.kb-table .kb-cmp{color:var(--ink);min-width:190px}.kb-table tr.kb-sub .kb-cmp{color:var(--ink-2);padding-left:22px}.kb-table .kb-why{color:var(--ink-3);min-width:260px;font-size:.79rem}.kb-tag{border:1px solid var(--rule);font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;color:var(--ink-3);border-left-width:2px;padding:2px 7px;font-size:.69rem;display:inline-block}.kb-tag.is-recovered{border-left-color:var(--live);color:var(--live)}.kb-tag.is-partial{border-left-color:var(--warn);color:var(--warn)}.kb-tag.is-residual{border-left-color:var(--idle);color:var(--idle)}.kb-facts{border-top:1px solid var(--rule-2);margin:0;padding:0;list-style:none}.kb-facts>li{border-bottom:1px solid var(--rule-2);border-left:2px solid var(--rule);min-width:0;padding:12px 0 12px 14px}.kb-facts>li:last-child{border-bottom:0}.kb-fact{max-width:82ch;color:var(--ink-2);margin:0;font-size:.88rem;line-height:1.6}.kb-cite{font-family:var(--mono);letter-spacing:.02em;color:var(--ink-3);margin-top:6px;font-size:.71rem;line-height:1.4;display:block}.kb-cite a{color:var(--ink-3);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule)}.kb-cite a:hover{color:var(--live);-webkit-text-decoration-color:var(--live);text-decoration-color:var(--live)}.kb-rules{border-top:1px solid var(--rule-2);border-left:1px solid var(--rule-2);grid-template-columns:repeat(auto-fit,minmax(292px,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.kb-rules>li{border-right:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);min-width:0;padding:14px 15px}.kb-rule{color:var(--ink);margin:0;font-size:.91rem;font-weight:600;line-height:1.45}.kb-why-text{color:var(--ink-3);margin:6px 0 0;font-size:.82rem;line-height:1.55}.kb-danger{border:1px solid var(--crit);border-left-width:3px;flex-direction:column;gap:12px;padding:15px 16px;display:flex}.kb-danger>.kb-label{color:var(--crit)}.kb-danger .kb-rules{border-left-color:var(--rule);border-top-color:var(--rule)}.kb-danger .kb-rules>li{border-right-color:var(--rule);border-bottom-color:var(--rule)}.kb-caveat{border:1px dashed var(--rule);max-width:86ch;color:var(--ink-3);margin:0;padding:11px 13px;font-size:.79rem;line-height:1.55}.kb-notice{border:1px dashed var(--rule);max-width:78ch;color:var(--ink-3);margin:0;padding:20px;font-size:.88rem;line-height:1.6}.kb-notice strong{font-family:var(--cond);letter-spacing:.01em;color:var(--ink-2);margin-bottom:6px;font-size:1.02rem;display:block}.kb-refs{border-top:1px solid var(--rule);flex-direction:column;gap:9px;padding-top:14px;display:flex}.kb-refs-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.kb-refs-list>li{color:var(--ink-3);min-width:0;font-size:.78rem;line-height:1.5}.kb-refs-list cite{color:var(--ink-2);font-style:normal}.kb-refs-list a{color:var(--ink-3);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);overflow-wrap:anywhere}.kb-refs-list a:hover{color:var(--live);-webkit-text-decoration-color:var(--live);text-decoration-color:var(--live)}.kb-refs-pub{font-family:var(--mono);letter-spacing:.02em;font-size:.71rem}@media (width<=700px){.kb{gap:16px;padding:14px}.kb-head h3{font-size:1.22rem}.kb-rules{grid-template-columns:1fr}}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:40;border-bottom:1px solid var(--rule);background:#05090b;align-items:center;gap:16px;min-height:52px;padding:0 20px;display:flex;position:sticky;top:0}.tb-brand{font-family:var(--cond);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-2);font-size:1.16rem}.tb-brand b{color:var(--live);font-weight:600}.tb-registry{border:1px solid var(--rule);border-left:2px solid var(--live);align-items:baseline;gap:7px;padding:4px 9px;display:flex}.tb-registry.is-cached{border-left-color:var(--warn)}.tb-registry .lbl{font-size:.68rem}.tb-registry .n{color:var(--ink);font-size:.8rem}.tb-registry em{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--live);font-size:.66rem;font-style:normal}.tb-registry.is-cached em{color:var(--warn)}.tb-gap{flex:1}.ribbon{z-index:35;background:var(--panel);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:24px;padding:10px 20px;display:flex;position:sticky;top:52px}.rb-batch{font-family:var(--mono);color:var(--ink-3);letter-spacing:.04em;font-size:.73rem}.rb-stats{flex-wrap:wrap;gap:28px;margin-left:auto;display:flex}.rb{align-items:baseline;gap:8px;display:flex}.rb span{font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-size:.72rem}.rb b{font-family:var(--mono);color:var(--ink);font-size:.98rem;font-weight:600}.rb-gilt b{color:var(--gilt)}.rb-live b{color:var(--live)}.rb-crit b{color:var(--crit)}.app-body{flex:1;grid-template-columns:236px minmax(0,1fr);align-items:start;display:grid}.rail{border-right:1px solid var(--rule);align-self:stretch;min-height:calc(100vh - 52px);padding:18px 0;position:sticky;top:52px}.rail-list{margin:0;padding:0;list-style:none}.rail-item button{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;border-left:2px solid #0000;align-items:flex-start;gap:12px;padding:12px 18px;display:flex}.rail-item button:hover:not(:disabled){background:var(--panel)}.rail-mark{font-family:var(--mono);color:var(--ink-3);min-width:18px;padding-top:2px;font-size:.7rem}.rail-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.rail-copy strong{font-family:var(--cond);letter-spacing:.01em;color:var(--ink-2);font-size:1.08rem;font-weight:600}.rail-copy span{color:var(--ink-3);font-size:.74rem;line-height:1.35}.rail-item.is-current button{border-left-color:var(--live);background:var(--panel)}.rail-item.is-current .rail-copy strong,.rail-item.is-current .rail-mark{color:var(--ink)}.rail-item.is-done .rail-mark{color:var(--live)}.rail-item.is-locked button{cursor:not-allowed;opacity:.42}.app-main{width:100%;min-width:0;max-width:1520px;padding:32px 32px 80px}.section{flex-direction:column;gap:22px;display:flex}.section-head{border-bottom:1px solid var(--rule);padding-bottom:18px}.section-head h1{font-family:var(--cond);letter-spacing:-.005em;color:var(--ink);margin:0 0 7px;font-size:2.05rem;font-weight:600;line-height:1.1}.section-head p{max-width:68ch;color:var(--ink-3);margin:0;font-size:.93rem}.headline{border:1px solid var(--rule);background:var(--panel);grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:0;margin:0;display:grid}.hl{border-right:1px solid var(--rule-2);min-width:0;padding:15px 18px}.hl:last-child{border-right:0}.hl dt{font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.74rem}.hl dd{font-family:var(--mono);letter-spacing:-.02em;color:var(--ink);overflow-wrap:anywhere;margin:4px 0 0;font-size:1.5rem;font-weight:600;line-height:1.1}.hl p{color:var(--ink-3);margin:5px 0 0;font-size:.75rem;line-height:1.35}.hl-live dd{color:var(--live)}.hl-warn dd{color:var(--warn)}.hl-crit dd{color:var(--crit)}.hl-gilt dd{color:var(--gilt)}.split{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.detail{border:1px solid var(--rule);background:var(--panel)}.detail>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:baseline;gap:10px;padding:12px 16px;list-style:none;display:flex}.detail>summary::-webkit-details-marker{display:none}.detail>summary:before{content:"";border-left:5px solid var(--ink-3);border-top:4px solid #0000;border-bottom:4px solid #0000;width:0;height:0;transition:transform .14s;transform:translateY(-1px)}.detail[open]>summary:before{transform:rotate(90deg)translate(-1px)}.detail>summary:hover{background:var(--panel-2)}.detail-label{font-family:var(--cond);letter-spacing:.01em;color:var(--ink-2);font-size:1.02rem;font-weight:600}.detail-note{color:var(--ink-3);font-size:.75rem}.detail-body{border-top:1px solid var(--rule-2);padding:16px}.detail-body>.block,.detail-body>.view-panel{border:0;padding:0}.locked-note{border:1px dashed var(--rule);flex-direction:column;align-items:flex-start;gap:10px;padding:26px 20px;display:flex}.locked-note p{color:var(--ink-3);margin:0}.glossary{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.glossary li{border-left:2px solid var(--rule);padding-left:12px}.glossary strong{color:var(--ink);font-size:.9rem;display:block}.glossary span{font-family:var(--mono);color:var(--ink-3);margin:2px 0 5px;font-size:.72rem;display:block}.glossary p{color:var(--ink-3);margin:0;font-size:.79rem;line-height:1.45}@media (width<=1180px){.split{grid-template-columns:1fr}}@media (width<=900px){.app-body{grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid var(--rule);min-height:0;padding:0;position:static;overflow-x:auto}.rail-list{display:flex}.rail-aside{border-top:0;border-left:1px solid var(--rule);margin:0;padding:0}.rail-item button{white-space:nowrap;border-bottom:2px solid #0000;border-left:0;padding:10px 14px}.rail-item.is-current button{border-left-color:#0000;border-bottom-color:var(--live)}.rail-copy span{display:none}.app-main{padding:20px 14px 56px}.ribbon{position:static}.rb-stats{gap:18px;margin-left:0}}@media (prefers-reduced-motion:reduce){.detail>summary:before{transition:none}}.rail-aside{border-top:1px solid var(--rule);margin:14px 0 0;padding:14px 0 0;list-style:none}.sample-routing{border:1px solid var(--warn);background:#e8a33d0f;border-left-width:3px;padding:14px 16px}.sample-routing p{margin:0 0 6px;font-size:.88rem;line-height:1.5}.sample-routing p:last-child{margin-bottom:0}.loc{border:1px solid var(--rule);border-left:2px solid var(--idle);background:var(--panel);padding:14px 16px}.loc-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.loc-clear,.loc-gps{font:inherit;color:var(--idle);border:1px solid var(--rule);cursor:pointer;background:0 0;padding:7px 12px;font-size:.8rem}.loc-clear{border:0;padding:0;text-decoration:underline}.loc-gps:hover:not(:disabled){border-color:var(--idle);background:var(--panel-2)}.loc-gps:disabled{color:var(--ink-3);cursor:not-allowed}.loc-current{flex-direction:column;gap:2px;margin:0 0 12px;display:flex}.loc-current strong{font-family:var(--mono);color:var(--ink);font-size:1.02rem}.loc-current span,.loc-empty{color:var(--ink-3);font-size:.78rem}.loc-empty{margin:0 0 12px}.loc-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.loc-field{flex-direction:column;flex:220px;gap:4px;min-width:0;display:flex;position:relative}.loc-radius{flex:0 180px}.loc-field label{font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-size:.72rem}.loc-field input,.loc-field select{font:inherit;background:var(--ground);color:var(--ink);border:1px solid var(--rule);min-width:0;padding:7px 10px;font-size:.9rem}.loc-field input:focus-visible,.loc-field select:focus-visible{border-color:var(--idle)}.loc-busy{color:var(--ink-3);font-size:.72rem;position:absolute;bottom:9px;right:10px}.loc-error{color:var(--warn);margin:10px 0 0;font-size:.8rem}.loc-results{border:1px solid var(--rule);margin:10px 0 0;padding:0;list-style:none}.loc-results li+li{border-top:1px solid var(--rule-2)}.loc-results button{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;flex-direction:column;gap:2px;padding:9px 12px;display:flex}.loc-results button:hover{background:var(--panel-2)}.loc-results strong{color:var(--ink);font-size:.9rem}.loc-results span{color:var(--ink-3);font-size:.74rem}.loc-attrib{color:var(--ink-3);margin:10px 0 0;font-size:.68rem}@media (width<=620px){.loc-controls{flex-direction:column;align-items:stretch}.loc-radius{flex:auto}}.rank-basis{border-left:2px solid var(--rule);color:var(--ink-3);margin:0;padding:9px 12px;font-size:.82rem}.rank-basis strong{color:var(--ink-2)}.out-of-range{border:1px solid var(--warn);background:#e8a33d0f;border-left-width:3px;padding:14px 16px}.out-of-range p{margin:0 0 8px;font-size:.88rem;line-height:1.5}.out-of-range strong{color:var(--ink)}.view-panel{min-width:0;font-family:var(--body);color:var(--ink-2);flex-direction:column;gap:20px;display:flex}.view-panel :where(h2){font-family:var(--cond);letter-spacing:0;color:var(--ink);margin:0;font-size:1.42rem;font-weight:600;line-height:1.15}.view-panel :where(h3){font-family:var(--cond);letter-spacing:.005em;color:var(--ink);margin:0;font-size:1.12rem;font-weight:600}.view-panel :where(h4){font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:.82rem;font-weight:600}.view-panel :where(p){color:var(--ink-2);margin:0;font-size:.88rem;line-height:1.55}.view-panel :where(section){border-top:1px solid var(--rule-2);flex-direction:column;gap:12px;padding-top:16px;display:flex}.panel{border:1px solid var(--rule);background:var(--panel);font-family:var(--body);color:var(--ink-2);flex-direction:column;gap:14px;padding:16px;display:flex}.lede{font-family:var(--body);color:var(--ink-2);margin:0;font-size:.92rem;line-height:1.6}.subhead{font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0;font-size:.85rem;font-weight:600}.footnote{color:var(--ink-3);margin:0;font-size:.76rem;line-height:1.5}.meta-grid{border:1px solid var(--rule);background:var(--rule);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:0;display:grid}.meta-grid.dense{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.meta-grid div{background:var(--panel);flex-direction:column;gap:5px;padding:10px 12px;display:flex}.meta-grid dt{font-family:var(--cond);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:.68rem;font-weight:600}.meta-grid dd{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-size:.92rem;line-height:1.25}.table-wrap{border:1px solid var(--rule);background:var(--panel);overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:420px;font-family:var(--body);font-size:.85rem}.table-wrap th{border-bottom:1px solid var(--rule);background:var(--panel-2);font-family:var(--cond);letter-spacing:.16em;text-transform:uppercase;text-align:left;white-space:nowrap;color:var(--ink-3);padding:9px 12px;font-size:.7rem;font-weight:600}.table-wrap td{border-bottom:1px solid var(--rule-2);font-variant-numeric:tabular-nums;color:var(--ink-2);padding:9px 12px}.table-wrap tbody tr:last-child td{border-bottom:0}.plain-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.plain-list :where(li){color:var(--ink-2);padding-left:16px;font-size:.85rem;line-height:1.5;position:relative}.plain-list li:before{content:"";background:var(--ink-3);width:6px;height:1px;position:absolute;top:.62em;left:0}.chip-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip-list li{border:1px solid var(--rule);background:var(--panel-2);font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);padding:3px 8px;font-size:.75rem}.chip-list li.critical{border-color:var(--crit);color:var(--crit)}.stat-row{border:1px solid var(--rule);background:var(--rule);flex-wrap:wrap;gap:1px;display:flex}.stat-row div{background:var(--panel);flex-direction:column;flex:120px;gap:5px;padding:11px 13px;display:flex}.stat-row span{font-family:var(--cond);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:.68rem;font-weight:600}.stat-row strong{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.18rem;font-weight:600;line-height:1.1}.stat-row.compact div{padding:8px 10px}.stat-row.compact strong{font-size:1rem}.compact{gap:1px}.linkish{font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--idle);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.8rem;font-weight:600}.linkish:hover{text-underline-offset:3px;text-decoration:underline}.cta{border:1px solid var(--live);background:var(--live);width:100%;font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;text-align:center;color:var(--ground);cursor:pointer;padding:11px 16px;font-size:.9rem;font-weight:700;display:block}.cta:hover:not(:disabled){background:var(--ground);color:var(--live)}.cta:disabled{border-color:var(--rule);background:var(--panel-2);color:var(--ink-3);cursor:not-allowed}.cta-inline{letter-spacing:.12em;width:auto;padding:8px 14px;font-size:.8rem;display:inline-block}.field{min-width:0;font-family:var(--body);flex-direction:column;gap:6px;display:flex}.field span{font-family:var(--cond);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:.7rem;font-weight:600}.field select,.field input{border:1px solid var(--rule);background:var(--panel-2);width:100%;font-family:var(--body);color:var(--ink);border-radius:0;padding:8px 10px;font-size:.86rem}.field select{font-family:var(--mono);font-variant-numeric:tabular-nums;cursor:pointer}.field input::placeholder{color:var(--ink-3)}.field select:disabled,.field input:disabled{color:var(--ink-3);cursor:not-allowed}.field input[type=file]{font-family:var(--mono);color:var(--ink-2);cursor:pointer;padding:8px;font-size:.75rem}.bar-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.bar-list li{flex-direction:column;gap:6px;display:flex}.bar-label{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.bar-label strong{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-size:.82rem;font-weight:600}.bar-label span{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:.82rem}.bar-track{border:1px solid var(--rule-2);background:var(--panel-3);width:100%;height:8px}.bar-fill{background:var(--live);max-width:100%;height:100%;display:block}.bar-fill.bar-muted{background:var(--ink-3);opacity:.4}.bar-list p{color:var(--ink-3);margin:0;font-size:.78rem;line-height:1.45}.sensor-list{border:1px solid var(--rule);background:var(--rule);flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.sensor-list :where(li){border-left:2px solid var(--rule);background:var(--panel);align-items:baseline;gap:10px;padding:9px 12px;display:flex}.sensor-list strong{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);flex:auto;font-size:.8rem;font-weight:600}.sensor-list span{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:.82rem}.sensor-list em{min-width:54px;font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;text-align:right;color:var(--ink-3);flex:none;font-size:.7rem;font-style:normal;font-weight:700}.sensor-good{border-left-color:var(--live)}.sensor-good em{color:var(--live)}.sensor-watch{border-left-color:var(--warn)}.sensor-watch em{color:var(--warn)}.sensor-poor{border-left-color:var(--crit)}.sensor-poor em{color:var(--crit)}.risk-list,.rec-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.risk-list :where(li),.rec-list :where(li){border:1px solid var(--rule);border-left:3px solid var(--rule);background:var(--panel);flex-direction:column;gap:6px;padding:11px 13px;display:flex}.risk-list strong,.rec-list strong{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-size:.88rem;font-weight:600}.risk-list :where(span){font-family:var(--cond);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);align-self:flex-start;font-size:.7rem;font-weight:700}.risk-list p,.rec-list p{color:var(--ink-2);margin:0;font-size:.83rem;line-height:1.55}.rec-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rec-top span{font-family:var(--mono);font-variant-numeric:tabular-nums;text-transform:uppercase;color:var(--ink-3);flex:none;font-size:.74rem}.rec-list em{font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.72rem;font-style:normal;font-weight:600}.prio-critical{border-left-color:var(--crit);background:#ff625917}.prio-critical span,.prio-critical .rec-top span{color:var(--crit)}.prio-high{border-left-color:var(--crit)}.prio-high span,.prio-high .rec-top span{color:var(--crit)}.prio-medium{border-left-color:var(--warn)}.prio-medium span,.prio-medium .rec-top span{color:var(--warn)}.prio-low{border-left-color:var(--idle)}.prio-low span,.prio-low .rec-top span{color:var(--idle)}.workforce-card{border:1px solid var(--rule);background:var(--panel-2);flex-direction:column;gap:5px;padding:11px 13px;display:flex}.workforce-card strong{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-size:.88rem;font-weight:600}.workforce-card span{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:.78rem;line-height:1.45}.workforce-card span+span{color:var(--ink-3)}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.analytics-grid section{border:1px solid var(--rule);background:var(--panel);flex-direction:column;gap:12px;padding:14px;display:flex}.incentive-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.incentive-list :where(li){border:1px solid var(--rule);border-left:3px solid var(--rule);background:var(--panel);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.incentive-list li div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.incentive-list strong{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-size:.9rem;font-weight:600}.incentive-list span{font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.72rem;font-weight:600}.incentive-list em{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--gilt);font-size:1.02rem;font-style:normal}.incentive-list :where(p){color:var(--ink-2);margin:0;font-size:.82rem;line-height:1.5}.condition{border-left:2px solid var(--warn);background:var(--panel-2);color:var(--warn);padding:6px 8px;font-size:.78rem;line-height:1.45}.status-available{border-left:3px solid var(--live);background:#2fcb9212}.status-conditional{border-left:3px solid var(--warn);background:#e8a33d12}.status-unavailable{border-left:3px solid var(--crit);background:#ff62590f}.factor-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.factor-grid :where(li){border:1px solid var(--rule);border-left:3px solid var(--rule);background:var(--panel);flex-direction:column;gap:6px;padding:12px 13px;display:flex}.factor-grid strong{font-family:var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:.8rem;font-weight:600}.factor-grid span{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:.95rem}.factor-grid p{color:var(--ink-3);margin:0;font-size:.78rem;line-height:1.5}.factor-good{border-left-color:var(--live)}.factor-watch{border-left-color:var(--warn)}.factor-risk{border-left-color:var(--crit)}.factor-info{border-left-color:var(--idle)}.unit-name{font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:0;font-size:1.05rem;font-weight:600}.passport{border:1px solid var(--rule);background:var(--panel-2);font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--gilt);overflow-wrap:anywhere;padding:10px 12px;font-size:.85rem;display:block}.score-hero{grid-template-columns:132px minmax(0,1fr);align-items:center;gap:22px;display:grid}.score-hero>div:last-child{flex-direction:column;gap:10px;min-width:0;display:flex}.score-ring{background:conic-gradient(var(--live) calc(var(--score,0) * 1%), var(--panel-3) 0);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:132px;height:132px;display:flex;position:relative}.score-ring:before{content:"";border:1px solid var(--rule);background:var(--panel);border-radius:50%;position:absolute;inset:12px}.score-ring strong{z-index:1;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:2.1rem;font-weight:600;line-height:1;position:relative}.score-ring span{z-index:1;font-family:var(--cond);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:.68rem;font-weight:600;position:relative}.step-n{border:1px solid var(--rule);background:var(--panel-2);width:24px;height:24px;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);flex:none;justify-content:center;align-items:center;font-size:.78rem;display:flex}.step-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.step-copy strong{font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-size:.82rem;font-weight:600}.step-copy span{font-family:var(--body);color:var(--ink-3);font-size:.76rem;line-height:1.45}.tab{background:var(--panel);text-align:left;cursor:pointer;border:0;border-bottom:2px solid #0000;flex-direction:column;gap:3px;padding:9px 11px;display:flex}.tab:hover:not(:disabled){background:var(--panel-2)}.tab strong{font-family:var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-size:.78rem;font-weight:600}.tab span{font-family:var(--body);color:var(--ink-3);font-size:.7rem;line-height:1.35}.tab.active{border-bottom-color:var(--live);background:var(--panel-2)}.tab.active strong{color:var(--ink)}.tab.locked{opacity:.4;cursor:not-allowed}.image-intake{gap:16px}.image-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.image-controls .field{flex:220px}.upload-field{border:1px dashed var(--rule);background:var(--panel-2);padding:10px}.waste-preview{border:1px solid var(--rule);max-width:100%;display:block}.sample-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.sample-card{border:1px solid var(--rule);background:var(--panel-2);text-align:left;cursor:pointer;flex-direction:column;gap:6px;padding:8px;display:flex}.sample-card:hover:not(:disabled){border-color:var(--ink-3)}.sample-card img{border:1px solid var(--rule-2);object-fit:cover;width:100%;height:92px;display:block}.sample-card strong{font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-size:.78rem;font-weight:600}.sample-card span{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:.7rem}.sample-card.active{border-color:var(--live)}.sample-card:disabled{opacity:.45;cursor:not-allowed}.vision-result-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.dot{background:var(--ink-3);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot.idle{background:var(--ink-3)}.dot.running{background:var(--warn)}.dot.done{background:var(--live)}.gloss-running{border-left-color:var(--warn)}.gloss-done{border-left-color:var(--live)}.flow-shell{border:1px solid var(--rule);background:var(--ground);height:420px}.flow-shell .react-flow__controls button{border:1px solid var(--rule);background:var(--panel-2);color:var(--ink);border-radius:0}.flow-shell .react-flow__controls button:hover{background:var(--panel-3)}.flow-shell .react-flow__controls button svg{fill:currentColor}.flow-shell .react-flow__minimap{border:1px solid var(--rule);background:var(--panel)}.agent-node{border:1px solid var(--rule);background:var(--panel-2);width:200px;font-family:var(--body);flex-direction:column;gap:5px;padding:10px 12px;display:flex}.agent-node-top{align-items:center;gap:7px;display:flex}.agent-pulse{background:var(--ink-3);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.agent-status{font-family:var(--cond);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:.66rem;font-weight:700}.agent-node h3{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:0;font-size:.86rem;font-weight:600}.agent-role{color:var(--ink-3);margin:0;font-size:.72rem;line-height:1.4}.agent-msg{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);overflow-wrap:anywhere;margin:0;font-size:.68rem;line-height:1.4}.agent-node.status-idle{border-color:var(--rule)}.agent-node.status-running{border-color:var(--warn)}.status-running .agent-status{color:var(--warn)}.status-running .agent-pulse{background:var(--warn);animation:1.4s ease-in-out infinite agent-pulse}.agent-node.status-done{border-color:var(--live)}.status-done .agent-status{color:var(--live)}.status-done .agent-pulse{background:var(--live)}.agent-node.status-error{border-color:var(--crit)}.status-error .agent-status{color:var(--crit)}.status-error .agent-pulse{background:var(--crit)}.handle{background:var(--rule-2);border:0;border-radius:50%;width:7px;height:7px}@keyframes agent-pulse{0%,to{box-shadow:0 0 #e8a33d8c}50%{box-shadow:0 0 0 5px #e8a33d00}}.app-footer{border-top:1px solid var(--rule);font-family:var(--body);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 2px 4px;font-size:.74rem;display:flex}.app-footer strong{font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:700}@media (prefers-reduced-motion:reduce){.status-running .agent-pulse{animation:none}}@media (width<=900px){.analytics-grid,.vision-result-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.score-hero{grid-template-columns:minmax(0,1fr);justify-items:start;gap:16px}}@media (width<=620px){.meta-grid,.meta-grid.dense,.factor-grid,.sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-shell{height:340px}.cta-inline{width:100%}}.center-list{border-top:1px solid var(--rule);flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.center-list>li{border-bottom:1px solid var(--rule);min-width:0}.center-empty{border:1px dashed var(--rule);color:var(--ink-3);margin:0;padding:22px 18px;font-size:.88rem;line-height:1.55}.center-card{background:var(--panel);flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex}.center-off{opacity:.62;background:0 0}.center-off .center-verified{color:var(--ink-3);border-color:var(--rule)}.center-top{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.center-rank{font-variant-numeric:tabular-nums;color:var(--ink-3);flex:none;font-size:.86rem}.center-id{flex:260px;min-width:0}.center-name{font-family:var(--cond);letter-spacing:.05em;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:1.14rem;font-weight:600;line-height:1.2}.center-where{color:var(--ink-3);overflow-wrap:anywhere;flex-wrap:wrap;gap:0 6px;margin:3px 0 0;font-size:.79rem;line-height:1.4;display:flex}.center-dot{color:var(--rule)}.center-verified{font-family:var(--cond);letter-spacing:.15em;text-transform:uppercase;color:var(--live);white-space:nowrap;cursor:help;border:1px solid #2fcb9273;flex:none;padding:2px 8px;font-size:.72rem;font-weight:600}.center-dist{color:var(--ink-2);margin:0;font-size:.83rem}.center-dist b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.center-muted{color:var(--ink-3)}.center-reject{font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--crit);margin:0;font-size:.74rem;font-weight:600}.center-classes{color:var(--ink-3);flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.center-chip{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-2);background:var(--panel-2);border:1px solid var(--rule);white-space:nowrap;cursor:help;padding:1px 7px;font-size:.72rem;display:inline-block}.center-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 20px;margin:0;display:grid}.center-facts>div{border-bottom:1px solid var(--rule-2);flex-direction:column;gap:1px;min-width:0;padding:7px 0;display:flex}.center-facts dt,.center-lbl{font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.71rem;font-weight:600}.center-facts dd{color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:.86rem}.center-money{border-left:2px solid var(--rule);background:var(--panel-2);flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.center-net{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.center-net b{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--gilt);overflow-wrap:anywhere;font-size:1.34rem;font-weight:600;line-height:1.1}.center-minus{color:var(--ink-3);justify-content:space-between;align-items:baseline;gap:14px;margin:0;font-size:.79rem;display:flex}.center-minus .n{font-variant-numeric:tabular-nums;color:var(--ink-2)}.center-caveat{border-top:1px solid var(--rule-2);color:var(--ink-3);margin:4px 0 0;padding-top:6px;font-size:.73rem;line-height:1.45}.center-caveat b{color:var(--ink-2);font-weight:600}.center-contact{flex-direction:column;gap:2px;min-width:0;display:flex}.center-person{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.88rem}.center-lines{overflow-wrap:anywhere;flex-wrap:wrap;gap:4px 18px;margin:0;font-size:.81rem;display:flex}.center-lines a,.dir-lines a{color:var(--ink-2);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px;overflow-wrap:anywhere}.center-lines a:hover,.dir-lines a:hover{color:var(--live);-webkit-text-decoration-color:var(--live);text-decoration-color:var(--live)}.dir{border:1px solid var(--rule);background:var(--panel);flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex}.dir-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.dir-title{font-family:var(--cond);letter-spacing:.15em;text-transform:uppercase;color:var(--ink);margin:0;font-size:.95rem;font-weight:600}.dir-count{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:.76rem}.dir-controls{flex-wrap:wrap;gap:12px;display:flex}.dir-field{flex-direction:column;flex:200px;gap:3px;min-width:0;display:flex}.dir-lbl{font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.71rem;font-weight:600}.dir-input{width:100%;min-width:0;font-family:var(--body);color:var(--ink);background:var(--ground);border:1px solid var(--rule);border-radius:0;padding:7px 9px;font-size:.86rem}.dir-input::placeholder{color:var(--ink-3)}.dir-input:hover{border-color:var(--rule-2)}.dir-error{border-left:2px solid var(--crit);color:var(--ink-2);background:#ff625914;margin:0;padding:8px 10px;font-size:.82rem}.dir-scroll{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);max-height:58vh;overflow:auto}.dir-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.82rem}.dir-table th{z-index:1;text-align:left;font-family:var(--cond);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);background:var(--panel-2);border-bottom:1px solid var(--rule);white-space:nowrap;padding:8px 10px;font-size:.72rem;font-weight:600;position:sticky;top:0}.dir-table td{border-bottom:1px solid var(--rule-2);color:var(--ink-2);vertical-align:top;font-variant-numeric:tabular-nums;padding:8px 10px}.dir-table tr:last-child td{border-bottom:0}.dir-table td.n,.dir-table td .n{font-family:var(--mono)}.dir-r{text-align:right}.dir-k{color:var(--ink);overflow-wrap:anywhere;font-weight:500}.dir-addr,.dir-state,.dir-person,.dir-lines{overflow-wrap:anywhere;display:block}.dir-state{font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:.74rem}.dir-classes{flex-wrap:wrap;gap:4px;display:inline-flex}.dir-lines{flex-direction:column;gap:1px;font-size:.78rem;display:flex}.dir-blank{color:var(--ink-3);padding:18px 10px}.dir-prov,.dir-note{color:var(--ink-3);margin:0;font-size:.74rem;line-height:1.5}.dir-fresh{font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--live);font-weight:600}.dir-stale{font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--warn);font-weight:600}@media (width<=820px){.center-card{padding:14px 13px}.center-verified{order:3}.dir{padding:14px 13px}.dir-scroll{max-height:none}}:root{--ground:#080e10;--panel:#0f181b;--panel-2:#141f23;--panel-3:#1a272b;--rule:#223136;--rule-2:#182428;--ink:#dae6e4;--ink-2:#93a8a6;--ink-3:#7b9190;--live:#2fcb92;--warn:#e8a33d;--crit:#ff6259;--idle:#4e9fd1;--gilt:#d3b25e;--cond:"Barlow Condensed", "Arial Narrow", sans-serif;--body:"Barlow", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}:focus-visible{outline:2px solid var(--live);outline-offset:2px}.lbl{font-family:var(--cond);letter-spacing:.17em;text-transform:uppercase;color:var(--ink-3);font-size:.76rem;font-weight:600}.n{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.v-live{color:var(--live)}.v-warn{color:var(--warn)}.v-crit{color:var(--crit)}.v-gilt{color:var(--gilt)}.v-grade-a{color:var(--live)}.v-grade-b{color:var(--idle)}.v-grade-c{color:var(--warn)}.v-grade-d{color:var(--crit)}.beacon{font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;font-size:.78rem;font-weight:600;display:inline-flex}.beacon i{border-radius:50%;flex:none;width:8px;height:8px}.link-live{color:var(--live)}.link-live i{background:var(--live);animation:1.9s ease-in-out infinite beat}.link-wait{color:var(--idle)}.link-wait i{background:var(--idle)}.link-down{color:var(--crit)}.link-down i{background:var(--crit)}@keyframes beat{0%,to{box-shadow:0 0 #2fcb928c}70%{box-shadow:0 0 0 8px #2fcb9200}}.btn-run{font-family:var(--cond);letter-spacing:.11em;text-transform:uppercase;color:#05090b;background:var(--live);cursor:pointer;border:0;align-items:center;gap:9px;padding:10px 20px;font-size:.92rem;font-weight:700;transition:background .14s;display:inline-flex}.btn-run:hover:not(:disabled){background:#4fdcaa}.btn-run:disabled{background:var(--panel-3);color:var(--ink-3);cursor:not-allowed}.btn-spin{border:2px solid #05090b59;border-top-color:#05090b;border-radius:50%;width:11px;height:11px;animation:.72s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.connection-banner{border:1px solid var(--crit);background:#ff625914;border-left-width:3px;flex-direction:column;gap:5px;margin:14px 18px 0;padding:13px 16px;display:flex}.connection-banner strong{font-family:var(--cond);letter-spacing:.11em;text-transform:uppercase;color:var(--crit);font-size:.95rem;font-weight:700}.connection-banner p{color:var(--ink-2);margin:0;font-size:.87rem}.connection-banner code{font-family:var(--mono);color:var(--ink);background:var(--panel-2);padding:1px 5px;font-size:.82rem}.track{margin:0;padding:0 0 4px;list-style:none;display:flex;overflow-x:auto}.node{background:var(--panel-2);border:1px solid var(--rule);border-right:0;flex-direction:column;flex:1 0 132px;gap:6px;min-width:0;padding:11px 12px 12px;display:flex}.node:last-child{border-right:1px solid var(--rule)}.node-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.node-n{font-family:var(--mono);color:var(--ink-3);font-size:.68rem}.node-dot{background:var(--ink-3);border-radius:50%;flex:none;width:8px;height:8px}.node-name{font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:1.04rem;font-weight:600;line-height:1.1}.node-role{color:var(--ink-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.73rem;line-height:1.32;display:-webkit-box;overflow:hidden}.node-ms{font-family:var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:auto;font-size:.68rem}.n-done .node-dot{background:var(--live)}.n-done .node-name{color:var(--ink)}.n-done .node-ms{color:var(--live)}.n-run{background:#1c2417;border-color:#4a5a2c}.n-run .node-dot{background:var(--warn);animation:1.4s ease-in-out infinite beat-warn}.n-run .node-name,.n-run .node-ms{color:var(--warn)}@keyframes beat-warn{0%,to{box-shadow:0 0 #e8a33d99}70%{box-shadow:0 0 0 7px #e8a33d00}}.n-err{border-color:var(--crit)}.n-err .node-dot{background:var(--crit)}.n-err .node-name,.n-err .node-ms{color:var(--crit)}.block{border-bottom:1px solid var(--rule);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.block-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.block-head h3{margin:0}.block-head .n{color:var(--ink-3);font-size:.76rem}.block .lbl.sub{border-top:1px solid var(--rule-2);padding-top:4px}.t-wrap{overflow-x:auto}.t-wrap table{border-collapse:collapse;width:100%;min-width:560px;font-size:.85rem}.t-wrap th{text-align:left;font-family:var(--cond);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule);white-space:nowrap;padding:8px 10px;font-size:.74rem;font-weight:600}.t-wrap td{border-bottom:1px solid var(--rule-2);color:var(--ink-2);font-variant-numeric:tabular-nums;padding:9px 10px}.t-wrap tr:last-child td{border-bottom:0}.t-wrap td.r,.t-wrap th.r{text-align:right}.t-wrap td.k{color:var(--ink);font-weight:500}.t-wrap td .n{color:var(--ink)}.row-active td{background:#4e9fd112}.row-pick{font:inherit;color:var(--ink);cursor:pointer;text-align:left;text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px;background:0 0;border:0;padding:0}.row-pick:hover:not(:disabled){color:var(--live);-webkit-text-decoration-color:var(--live);text-decoration-color:var(--live)}.row-pick:disabled{cursor:not-allowed;color:var(--ink-2);text-decoration:none}.chip{font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;padding:2px 8px;font-size:.74rem;font-weight:600;display:inline-block}.c-run{color:var(--warn);background:#e8a33d26}.c-done{color:var(--live);background:#2fcb9221}.c-queue{color:var(--idle);background:#4e9fd121}.c-hold{color:var(--crit);background:#ff625924}.grade{font-family:var(--cond);letter-spacing:.06em;font-size:1.08rem;font-weight:700}.g-a{color:var(--live)}.g-b{color:var(--idle)}.g-c{color:var(--warn)}.g-d{color:var(--crit)}.facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 22px;margin:0;display:grid}.facts>div{border-bottom:1px solid var(--rule-2);flex-direction:column;gap:1px;min-width:0;padding:8px 0;display:flex}.facts dt{font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.72rem;font-weight:600}.facts dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.9rem}.facts dd.n{font-size:.86rem}.facts.dense{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.facts.dense dd{font-size:.85rem}.units{flex-direction:column;gap:13px;margin:0;padding:0;list-style:none;display:flex}.unit{flex-direction:column;gap:5px;display:flex}.unit-routed{border-left:2px solid var(--live);background:#2fcb920f;margin:0 -18px;padding:8px 18px}.unit-head{justify-content:space-between;align-items:baseline;gap:12px;font-size:.84rem;display:flex}.unit-head b{color:var(--ink);align-items:baseline;gap:8px;min-width:0;font-weight:500;display:flex}.unit-tag{font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--live);white-space:nowrap;font-size:.68rem;font-weight:600}.unit-head .n{color:var(--ink-3);white-space:nowrap;font-size:.75rem}.meter{background:var(--panel-3);height:7px;display:flex}.meter i{height:100%;display:block}.m-ok{background:var(--live)}.m-busy{background:var(--warn)}.m-full{background:var(--crit)}.m-inbound{background:repeating-linear-gradient(135deg, var(--gilt) 0 3px, #d3b25e59 3px 6px)}.unit-sub{font-family:var(--mono);color:var(--ink-3);flex-wrap:wrap;gap:12px;font-size:.69rem;display:flex}.feed{flex-direction:column;max-height:340px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.feed li{border-bottom:1px solid var(--rule-2);grid-template-columns:66px 12px minmax(0,1fr);align-items:start;gap:10px;padding:8px 0;font-size:.83rem;display:grid}.feed li:last-child{border-bottom:0}.feed time{font-family:var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.72rem}.feed i{border-radius:50%;width:6px;height:6px;margin-top:7px}.feed span{color:var(--ink-2);min-width:0}.feed b{color:var(--ink);font-weight:500}.f-live i{background:var(--live)}.f-warn i{background:var(--warn)}.f-crit i{background:var(--crit)}.f-info i{background:var(--idle)}.feed-empty{color:var(--ink-3);border-bottom:0;padding:8px 0;font-size:.85rem;display:block}@media (width<=820px){.hide-md{display:none}.block{padding-left:13px;padding-right:13px}.unit-routed{margin:0 -13px;padding-left:13px;padding-right:13px}}@media (prefers-reduced-motion:reduce){.link-live i,.n-run .node-dot,.btn-spin{animation:none}}
