.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-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}@font-face{font-family:Selawik;src:url(/assets/selawik-regular-dOYqoPcB.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Selawik;src:url(/assets/selawik-semibold-DJnRixAg.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--orange-1:#ff6d57;--orange-2:#ff7c30;--orange-3:#ff8f1f;--gradient-orange:linear-gradient(to top right, var(--orange-1) 0%, var(--orange-2) 55%, var(--orange-3) 100%);--blue-1:#1f5f8b;--blue-2:#3776ab;--blue-3:#5a9fd4;--ink:#252b32;--ink-strong:#14181d;--ink-soft:#5b656f;--surface:#fbf9f7;--surface-raised:#fff;--surface-sunken:#f3efeb;--accent:var(--orange-2);--accent-ink:#b84514;--accent-secondary:var(--blue-2);--danger:#9b2c2c;--line:#252b321f;--line-strong:#252b3238;--shadow:0 18px 48px #252b320f;--shadow-raised:0 22px 60px #252b321f;--radius:12px;--radius-s:8px;--radius-pill:999px;--ok:var(--blue-2);--degraded:var(--orange-2);--down:var(--danger);--unknown:var(--ink-soft);--paused:#8a94a0;--duration-fast:.14s;--duration-base:.24s;--duration-map:.56s;--duration-float:.78s;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-float:cubic-bezier(.16, .84, .32, 1);--font-display:"Segoe UI Variable Display", "Segoe UI Variable", "Segoe UI", Selawik, Arial, sans-serif;--font-body:"Segoe UI Variable Text", "Segoe UI", Selawik, Arial, sans-serif;--font-mono:"Cascadia Mono", "Segoe UI Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--rail-w:280px;--inspector-w:360px;--row-gap:10px;font-family:var(--font-body);color:var(--ink);line-height:1.45}[data-density=compact]{--rail-w:244px;--inspector-w:320px;--row-gap:6px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1000px 480px at 6% -10%, #ff7c301f 0%, transparent 55%), radial-gradient(900px 440px at 100% 0%, #3776ab17 0%, transparent 52%), var(--surface);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}button,input,select,a{font:inherit}button{cursor:pointer;color:inherit}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:4px}.brand-lockup{align-items:center;gap:.5em;min-width:0;display:flex}.brand-mark{flex:none;display:block}.brand-lockup strong{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;font-size:1.05rem;font-weight:600;line-height:1.15;display:block}.brand-lockup strong span{background:var(--gradient-orange);color:#0000;-webkit-background-clip:text;background-clip:text}.brand-lockup em{color:var(--ink-soft);font-size:.75rem;font-style:normal;display:block}.app{flex-direction:column;height:100%;min-height:0;display:flex}.topbar{background:color-mix(in srgb, var(--surface-raised) 82%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:1rem;padding:.7rem 1.1rem;display:flex}.topbar-spacer{flex:1}.topbar-right{align-items:center;gap:.6rem;display:flex}.search-trigger{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-sunken);width:min(360px,32vw);color:var(--ink-soft);text-align:left;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);align-items:center;gap:.6rem;padding:.45rem .7rem;font-size:.88rem;display:flex}.search-trigger:hover{border-color:var(--line-strong);background:var(--surface-raised)}.search-trigger span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}kbd{font-family:var(--font-mono);border:1px solid var(--line);background:var(--surface-raised);color:var(--ink-soft);border-radius:4px;padding:.1em .4em;font-size:.72rem}.segmented{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-sunken);padding:2px;display:inline-flex}.segmented button{border-radius:var(--radius-pill);color:var(--ink-soft);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:0;padding:.35rem .75rem;font-size:.82rem;font-weight:600}.segmented button:hover{color:var(--ink)}.segmented button.active{background:var(--surface-raised);color:var(--accent-ink);box-shadow:0 1px 3px #252b321a}.icon-btn{border:1px solid var(--line);background:var(--surface-raised);width:32px;height:32px;color:var(--ink-soft);transition:border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);border-radius:50%;place-items:center;display:inline-grid}.icon-btn:hover{border-color:var(--line-strong);color:var(--ink)}.icon-btn.active{border-color:var(--accent);color:var(--accent-ink);background:#ff7c301a}.live-pill{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--ink-soft);white-space:nowrap;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.78rem;display:inline-flex}.live-pill i{background:var(--ok);border-radius:50%;width:7px;height:7px}.live-pill.stale i{background:var(--degraded)}.live-pill.beating i{animation:beat 1.6s var(--ease-out) infinite}.user-chip{color:var(--ink-soft);align-items:center;gap:.5rem;font-size:.8rem;display:inline-flex}.user-chip a{color:var(--accent-ink);text-decoration:none}.user-chip a:hover{text-decoration:underline}.filterbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 55%, transparent);flex-wrap:wrap;align-items:center;gap:.45rem;padding:.5rem 1.1rem;display:flex}.filter-group{position:relative}.filter-button{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--ink-soft);transition:border-color var(--duration-fast) var(--ease-out);align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.82rem;display:inline-flex}.filter-button:hover{border-color:var(--line-strong);color:var(--ink)}.filter-button.has-selection{border-color:var(--accent);color:var(--accent-ink);background:#ff7c3014;font-weight:600}.filter-button .caret{opacity:.6;font-size:.6rem}.popover{z-index:40;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);min-width:216px;max-height:340px;box-shadow:var(--shadow-raised);animation:rise var(--duration-base) var(--ease-out) both;padding:.35rem;position:absolute;top:calc(100% + 6px);left:0;overflow:auto}.popover-option{border-radius:var(--radius-s);text-align:left;background:0 0;border:0;align-items:center;gap:.55rem;width:100%;padding:.4rem .55rem;font-size:.85rem;display:flex}.popover-option:hover{background:var(--surface-sunken)}.popover-option .label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.popover-option .count{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.75rem}.popover-option .tick{width:14px;color:var(--accent-ink);font-weight:700}.popover-option.selected{color:var(--accent-ink);font-weight:600}.token{border-radius:var(--radius-pill);color:var(--accent-ink);background:#ff7c301a;border:1px solid #ff7c3059;align-items:center;gap:.35rem;padding:.22rem .3rem .22rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.token button{width:16px;height:16px;color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;font-size:.7rem;line-height:1;display:grid}.token button:hover{background:#b8451429}.link-btn{color:var(--accent-ink);background:0 0;border:0;padding:.2rem .3rem;font-size:.8rem;text-decoration:underline}.preset-btn{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--ink-soft);align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.82rem;display:inline-flex}.preset-btn:hover{border-color:var(--line-strong);color:var(--ink)}.preset-btn.active{border-color:var(--danger);color:var(--danger);background:#9b2c2c14;font-weight:600}.frame{grid-template-columns:var(--rail-w) minmax(0, 1fr) var(--inspector-w);flex:1;grid-template-rows:0 minmax(0,1fr) 0;grid-template-areas:"slot-top slot-top slot-top""rail canvas inspector""slot-bottom slot-bottom slot-bottom";min-height:0;display:grid;position:relative}.topbar,.filterbar,.banner{flex:none}.frame.no-inspector{grid-template-columns:var(--rail-w) minmax(0, 1fr);grid-template-areas:"slot-top slot-top""rail canvas""slot-bottom slot-bottom"}.frame.no-rail{grid-template-columns:minmax(0, 1fr) var(--inspector-w);grid-template-areas:"slot-top slot-top""canvas inspector""slot-bottom slot-bottom"}.frame.no-rail.no-inspector{grid-template-columns:minmax(0,1fr);grid-template-areas:"slot-top""canvas""slot-bottom"}.frame-slot-top{grid-area:slot-top}.frame-slot-bottom{grid-area:slot-bottom}.canvas,.home{grid-area:canvas;min-width:0;min-height:0}.canvas{min-width:0;min-height:0;position:relative}.rail,.inspector{background:color-mix(in srgb, var(--surface-raised) 72%, transparent);flex-direction:column;min-height:0;display:flex;overflow:auto}.rail{border-right:1px solid var(--line);grid-area:rail}.inspector{border-left:1px solid var(--line);grid-area:inspector}.panel-section{border-bottom:1px solid var(--line);padding:.9rem 1rem}.panel-section:last-child{border-bottom:0}.section-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.74rem;font-weight:600}.section-count{border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--ink-soft);font-variant-numeric:tabular-nums;padding:.1rem .45rem;font-size:.74rem;font-weight:600}.section-count.alarm{color:var(--danger);background:#9b2c2c1f}.incident-list{gap:var(--row-gap);margin:0;padding:0;list-style:none;display:grid}.attention-group{gap:.28rem;display:grid}.attention-group .group-head{padding-bottom:.4rem}.attention-types{gap:.22rem;margin:0;padding:0 0 0 .85rem;list-style:none;display:grid}.attention-types .type-row{padding:.35rem .55rem}.attention-one{color:var(--ink-soft);margin:0;padding:0 .65rem .15rem 1.85rem;font-size:.72rem}.incident{border:1px solid var(--line);border-left:3px solid var(--tone,var(--unknown));border-radius:var(--radius-s);background:var(--surface-raised);text-align:left;width:100%;transition:border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.55rem;padding:.55rem .65rem;display:grid}.incident:hover{border-color:var(--line-strong);border-left-color:var(--tone,var(--unknown));transform:translate(2px)}.incident.selected{background:var(--surface-sunken);border-color:var(--line-strong);border-left-color:var(--tone,var(--unknown))}.incident .body{min-width:0}.incident b{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;display:block;overflow:hidden}.incident em{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-style:normal;display:block;overflow:hidden}.all-clear{border-radius:var(--radius-s);color:var(--blue-1);background:#3776ab14;align-items:center;gap:.5rem;padding:.6rem .65rem;font-size:.85rem;display:flex}.vitals{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.vital{border-radius:var(--radius-s);background:var(--surface-sunken);padding:.5rem .6rem}.vital b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:600;line-height:1.1;display:block}.vital span{color:var(--ink-soft);font-size:.72rem}.pulse-strip{border-radius:var(--radius-s);background:var(--surface-sunken);align-items:flex-end;gap:2px;height:42px;padding:.35rem .4rem;display:flex}.pulse-strip i{background:var(--tone,var(--ok));opacity:.75;border-radius:1px;flex:1;min-width:2px}.pulse-caption{color:var(--ink-soft);justify-content:space-between;margin-top:.35rem;font-size:.7rem;display:flex}.inspector-head{border-bottom:1px solid var(--line);padding:.9rem 1rem .7rem}.inspector-title{align-items:center;gap:.55rem;min-width:0;display:flex}.inspector-actions{flex:none;align-items:center;gap:.4rem;margin-left:auto;display:inline-flex}.zoom-btn{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-raised);height:32px;color:var(--ink);padding:0 .75rem;font-size:.78rem;font-weight:600}.zoom-btn:hover{border-color:var(--accent);color:var(--accent-ink)}.inspector-title h1{font-family:var(--font-display);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.1rem;font-weight:600;overflow:hidden}.inspector-sub{color:var(--ink-soft);margin:.3rem 0 0;font-size:.78rem}.kind-badge{border-radius:var(--radius-pill);background:var(--surface-sunken);border:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);align-items:center;padding:.12rem .5rem;font-size:.68rem;font-weight:600;display:inline-flex}.tabs{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-sunken) 60%, transparent);gap:.15rem;padding:0 .65rem;display:flex}.tabs button{color:var(--ink-soft);background:0 0;border:0;padding:.55rem .6rem;font-size:.82rem;font-weight:600;position:relative}.tabs button:hover{color:var(--ink)}.tabs button.active{color:var(--accent-ink)}.tabs button.active:after{content:"";background:var(--gradient-orange);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:.5rem;right:.5rem}.tab-body{flex:1;min-height:0;overflow:auto}.field{border-bottom:1px solid color-mix(in srgb, var(--line) 55%, transparent);grid-template-columns:96px minmax(0,1fr);gap:.6rem;padding:.3rem 0;font-size:.83rem;display:grid}.field:last-child{border-bottom:0}.field>span{color:var(--ink-soft)}.field>strong{overflow-wrap:anywhere;min-width:0;font-weight:600}.field.mono>strong{font-family:var(--font-mono);font-size:.78rem}.empty{color:var(--ink-soft);margin:0;padding:.5rem 0;font-size:.84rem}.notice{border-radius:var(--radius-s);background:#ff7c300f;border:1px dashed #ff7c3066;gap:.3rem;padding:.65rem .75rem;font-size:.8rem;display:grid}.notice b{font-size:.83rem}.notice code{font-family:var(--font-mono);background:var(--surface-raised);border-radius:4px;padding:.05em .3em;font-size:.76rem}.rows{gap:var(--row-gap);margin:0;padding:0;list-style:none;display:grid}.row-btn{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface-raised);text-align:left;gap:.15rem;width:100%;padding:.5rem .6rem;font-size:.83rem;display:grid}button.row-btn:hover{border-color:var(--line-strong);background:var(--surface-sunken)}.row-btn b{align-items:center;gap:.4rem;min-width:0;font-weight:600;display:flex}.row-btn b>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-btn i,.row-btn em{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-style:normal;overflow:hidden}.row-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ext-link{color:var(--accent-ink);white-space:nowrap;font-size:.74rem;text-decoration:none}.ext-link:hover{text-decoration:underline}.job-grid{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.job-chip{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-sunken);align-items:center;gap:.3rem;padding:.16rem .5rem;font-size:.72rem;display:inline-flex}.stage-group{margin-top:.4rem}.stage-group>span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.2rem;font-size:.68rem;display:block}.ci-panel{z-index:40;border-left:1px solid var(--line-strong);background:var(--surface-raised);width:min(580px,100%);animation:ci-slide var(--duration-base) var(--ease-out) both;flex-direction:column;grid-area:1/1/-1/-1;gap:.7rem;padding:0 1rem 1.2rem;display:flex;position:absolute;inset:0 0 0 auto;overflow:auto;box-shadow:-24px 0 60px #252b321f}@keyframes ci-slide{0%{opacity:0;transform:translate(28px)}}@media (prefers-reduced-motion:reduce){.ci-panel{animation:none}}.ci-head{z-index:1;border-bottom:1px solid var(--line);background:var(--surface-raised);align-items:flex-start;gap:.6rem;padding:.9rem 0 .7rem;display:flex;position:sticky;top:0}.ci-title{flex:1;min-width:0}.ci-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.66rem;display:block}.ci-title h1{font-family:var(--font-display);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin:.1rem 0 0;font-size:1.12rem;font-weight:600;overflow:hidden}.ci-title code{font-family:var(--font-mono);color:var(--ink-soft);font-size:.74rem}.ci-close{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface-sunken);color:var(--ink-soft);flex:none;padding:.2rem .45rem;font-size:.78rem}.ci-close:hover{border-color:var(--line-strong);color:var(--ink)}.ci-tally{flex-wrap:wrap;gap:.35rem;display:flex}.ci-count{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--ink-soft);align-items:center;gap:.3rem;padding:.18rem .55rem;font-size:.73rem;display:inline-flex}.ci-runs{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.ci-run{border:1px solid var(--line);border-left:3px solid var(--tone,var(--unknown));border-radius:var(--radius-s);background:var(--surface);padding:.6rem .7rem}.ci-run-head{align-items:center;gap:.45rem;min-width:0;display:flex}.ci-run-head b{font-family:var(--font-mono);font-size:.82rem}.ci-ref{font-family:var(--font-mono);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:14rem;padding:.1rem .4rem;font-size:.71rem;overflow:hidden}.ci-state{color:var(--ink-soft);margin-left:auto;font-size:.73rem}.ci-run-head .ext-link{margin-left:.2rem}.ci-gates{gap:.9rem;margin:.55rem 0 0;padding:0 0 .2rem;list-style:none;display:flex;overflow-x:auto}.ci-gate{flex:none;min-width:8.5rem;max-width:13rem;position:relative}.ci-gate+.ci-gate:before{content:"";border-top:1px solid var(--line-strong);width:.35rem;position:absolute;top:.55rem;left:-.62rem}.ci-gate-head{border-bottom:2px solid var(--tone,var(--unknown));align-items:center;gap:.3rem;padding-bottom:.3rem;display:flex}.ci-gate-head b{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.ci-gate-head span{color:var(--ink-soft);margin-left:auto;font-size:.7rem}.ci-jobs{gap:.2rem;margin:.3rem 0 0;padding:0;list-style:none;display:grid}.ci-job{background:var(--surface-raised);border:1px solid var(--line);color:inherit;border-radius:6px;align-items:center;gap:.3rem;padding:.24rem .4rem;font-size:.73rem;text-decoration:none;display:flex}a.ci-job:hover{border-color:var(--tone,var(--line-strong));background:var(--surface-sunken)}.ci-job-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ci-job em{color:var(--ink-soft);margin-left:auto;font-size:.66rem;font-style:normal}.incident:has(.row-more){grid-template-columns:auto minmax(0,1fr) auto}.row-more{color:var(--ink-soft);align-self:center;font-size:.78rem}.sparkline{border-radius:var(--radius-s);background:var(--surface-sunken);align-items:stretch;gap:1px;height:34px;padding:3px;display:flex;overflow:hidden}.sparkline i{background:var(--tone,var(--unknown));border-radius:1px;flex:1;min-width:1px}.spark-legend{color:var(--ink-soft);justify-content:space-between;margin-top:.3rem;font-size:.7rem;display:flex}.uptime-grid{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:.35rem;margin-top:.7rem;display:grid}.uptime-cell{border-radius:var(--radius-s);background:var(--surface-sunken);color:var(--ink-soft);padding:.4rem .5rem;font-size:.72rem}.uptime-cell b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.95rem;display:block}.change-list{gap:.3rem;margin:.6rem 0 0;padding:0;font-size:.78rem;list-style:none;display:grid}.change-list li{color:var(--ink-soft);align-items:center;gap:.45rem;display:flex}.change-list time{font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:.72rem}.palette-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade var(--duration-fast) var(--ease-out) both;background:#14181d47;place-items:start center;padding-top:12vh;display:grid;position:fixed;inset:0}.palette{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);width:min(620px,100% - 2rem);max-height:60vh;animation:rise var(--duration-base) var(--ease-out) both;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 32px 80px #14181d42}.palette input{border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;border-radius:0;padding:.95rem 1.1rem;font-size:1rem}.palette input:focus{outline:0}.palette-list{margin:0;padding:.35rem;list-style:none;overflow:auto}.palette-group{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:.5rem .6rem .2rem;font-size:.68rem}.palette-item{border-radius:var(--radius-s);text-align:left;background:0 0;border:0;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;font-size:.88rem;display:flex}.palette-item .body{flex:1;min-width:0}.palette-item b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.palette-item em{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-style:normal;display:block;overflow:hidden}.palette-item .hint{color:var(--ink-soft);white-space:nowrap;font-size:.72rem}.palette-item.active{background:var(--surface-sunken)}.palette-item.active b{color:var(--accent-ink)}.palette-foot{border-top:1px solid var(--line);background:var(--surface-sunken);color:var(--ink-soft);gap:1rem;padding:.5rem .9rem;font-size:.72rem;display:flex}.glyph{color:var(--tone,var(--unknown));flex:none;display:block}.tone-ok{--tone:var(--ok)}.tone-degraded{--tone:var(--degraded)}.tone-down{--tone:var(--down)}.tone-unknown{--tone:var(--unknown)}.tone-paused{--tone:var(--paused)}.node{background:var(--surface-raised);border:1px solid var(--line-strong);width:100%;height:100%;color:var(--ink);transition:box-shadow var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);align-items:center;gap:.45rem;padding:0 .7rem;display:flex;position:relative;box-shadow:0 6px 18px #252b3214}.node .label{flex:1;min-width:0}.node strong{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;line-height:1.2;display:block;overflow:hidden}.node em{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-style:normal;display:block;overflow:hidden}.node-host{text-align:center;background:radial-gradient(circle at 34% 26%, #ffffffeb, transparent 58%), var(--surface-raised);border-width:2px;border-radius:50%;flex-direction:column;justify-content:flex-start;gap:0;padding:0}.node-host .label{position:absolute;top:14%;left:14%;right:14%}.node-host .host-meta{position:absolute;bottom:12%;left:8%;right:8%}.host-core{z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:.28rem;display:flex;position:absolute;top:50%;left:50%;translate:-50% -50%}.resource-pies{align-items:flex-start;gap:5px;display:flex}.resource-pie-wrap{flex-direction:column;align-items:center;gap:1px;display:flex}.resource-pie-wrap i{letter-spacing:.03em;color:var(--ink-soft);font-size:.48rem;font-style:normal;line-height:1}.host-core .glyph{align-self:flex-start;margin-top:2px}.resource-pie{flex:none;width:16px;height:16px;overflow:visible}.pie-track{fill:#252b3217}.pie-slice{stroke:none}.pie-slice.usage-level-ok{fill:var(--blue-2)}.pie-slice.usage-level-warning{fill:var(--degraded)}.pie-slice.usage-level-critical{fill:var(--down)}.pie-slice.usage-level-none{fill:var(--ink-soft);opacity:.55}.node-host.layer-workstation{border-width:2.5px;border-radius:22%}.node-host.layer-storage{border-radius:10px}.node-host strong{font-family:var(--font-display);font-size:.92rem}.node-software{border-radius:var(--radius-pill)}.node-endpoint{border-radius:var(--radius-pill);border-style:dashed}.node-service{border-radius:8px}.node-store{border-radius:50%/24%}.node-network{border-radius:var(--radius-pill);background:0 0;border-style:dotted}.node-agent{border-radius:var(--radius-pill) 14px 14px var(--radius-pill)}.node-model{border-radius:var(--radius-pill);border-color:#ff7c308c;box-shadow:0 0 0 3px #ff7c301f,0 6px 18px #252b3214}.node-project{border-radius:var(--radius-s);clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 50%);padding-left:1rem}.node-pipeline{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%,9px 50%);border-radius:0;padding:0 .85rem 0 1rem}.node-tunnelless{border-radius:var(--radius-s)}.node.tone-ok{border-color:#3776ab73}.node.tone-degraded{border-color:#ff7c308c}.node.tone-down{background:linear-gradient(0deg, #9b2c2c0f, #9b2c2c0f), var(--surface-raised);border-color:#9b2c2c8c}.node.tone-paused{background-image:repeating-linear-gradient(-45deg,#8a94a01a 0 5px,#0000 5px 10px)}.node-host.tone-down{box-shadow:0 0 0 4px #9b2c2c1a,0 8px 22px #252b321a}.node-host.tone-degraded{box-shadow:0 0 0 4px #ff7c301f,0 8px 22px #252b321a}.node.selected{border-color:var(--accent);box-shadow:0 0 0 3px #ff7c303d,0 10px 26px #252b3224}.node-host.is-open,.react-flow__node.membrane.is-open{overflow:visible}.node-host:has(.ci-mini-panel){overflow:visible}.rest-field,.fan-field{pointer-events:none;z-index:0;transition:left .42s cubic-bezier(.22,.61,.36,1),top .42s cubic-bezier(.22,.61,.36,1),width .42s cubic-bezier(.22,.61,.36,1),height .42s cubic-bezier(.22,.61,.36,1);position:absolute}.rest-field{border:1px dashed #3776ab29;border-radius:50%}.fan-field{background:#3776ab0a;border:1px dashed #3776ab47;border-radius:18px}.lod-far .rest-field,.lod-far .fan-field{border-width:calc(1.4px / var(--rf-zoom,.25))}.react-flow__node:hover .node{border-color:var(--line-strong);box-shadow:0 10px 26px #252b3224}.react-flow__node:hover{z-index:20!important}.host-meta{color:var(--ink-soft);justify-content:center;align-items:center;gap:.3rem;font-size:.66rem;display:flex}.host-meta span{white-space:nowrap}.tenant-tone{pointer-events:none;flex:0 0 100%;justify-content:center;margin-top:4px;display:flex}.tenant-tone i{background:var(--tone,var(--unknown));border-radius:50%;width:6px;height:6px}.ci-mini-shell{--lava:#ffc09a;z-index:24;pointer-events:auto;text-align:left;filter:drop-shadow(0 18px 36px #252b321a);background:0 0;border:0;border-radius:20px;width:560px;padding:0;position:fixed;overflow:visible}.ci-mini-shell:before{content:"";border:2.75px solid var(--lava);pointer-events:none;border-radius:22px;position:absolute;inset:-2.75px}.ci-mini-panel{max-height:var(--ci-max,420px);background:var(--surface-raised);scrollbar-width:thin;border:0;border-radius:18px;padding:.7rem .75rem .65rem;position:relative;overflow:auto}.ci-mini-shell.is-left,.ci-mini-shell.is-right{right:auto}.ci-mini-panel .section-head{margin-bottom:.5rem}.ci-flow-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.ci-flow-head{align-items:baseline;gap:.35rem;min-width:0;margin-bottom:.35rem;display:flex}.ci-flow-head b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-display);color:var(--ink);font-size:.72rem;font-weight:600;overflow:hidden}.ci-flow-head a{color:inherit;text-decoration:none}.ci-flow-head code{font-family:var(--font-mono);color:var(--ink-soft);flex:none;font-size:.64rem}.ci-flow-head .ci-ref{border-radius:var(--radius-pill);background:var(--surface-sunken);text-overflow:ellipsis;white-space:nowrap;max-width:7.5rem;padding:.04rem .32rem;overflow:hidden}.ci-flow-graph{scrollbar-width:thin;align-items:flex-start;gap:0;min-width:0;padding:.2rem .08rem;display:flex;overflow-x:auto}.ci-flow-bead{flex:none;align-items:flex-start;display:flex}.ci-flow-bead .ci-drip{margin-top:5px}.ci-dot{width:2.55rem;min-width:0;color:inherit;flex-direction:column;align-items:center;gap:.16rem;text-decoration:none;display:flex}.ci-dot-blob{background:var(--surface-raised);border:1.5px solid var(--tone,var(--line-strong));width:13px;height:13px;box-shadow:0 0 0 2px var(--lava,#ffc09a);border-radius:50%;flex:none;display:block}.ci-dot span{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em;max-width:100%;color:var(--ink-soft);font-size:.58rem;overflow:hidden}.ci-dot.tone-ok{--tone:#3776abb3}.ci-dot.tone-degraded{--tone:#ff7c30cc}.ci-dot.tone-down{--tone:#9b2c2ccc}.ci-dot.tone-paused,.ci-dot.tone-unknown{--tone:#5b656f80}.ci-drip{flex:none;width:11px;height:7px;overflow:visible}.ci-drip path{fill:var(--lava,#ffc09a)}.lod-mid .node-host .ci-mini-panel{display:revert}.lod-far .ci-mini-shell,.lod-far .ci-mini-panel{display:none}.react-flow__node.is-spotlight-kept{overflow:visible!important}.node.is-live:after{content:"";border-radius:inherit;border:1.5px solid var(--tone,var(--ok));opacity:0;pointer-events:none;animation:breathe 2.8s var(--ease-out) infinite;position:absolute;inset:-3px}.node-host.is-live:after{border-radius:50%}.node.just-changed{animation:flash 1.6s var(--ease-out) 1}.react-flow__node.is-entering.satellite .node,.react-flow__node.is-entering .interior{animation:float-in var(--duration-float) var(--ease-float) both}.react-flow__node.is-leaving .node{opacity:0;transition:opacity var(--duration-float) var(--ease-float), transform var(--duration-float) var(--ease-float);transform:scale(.78)}.react-flow__edge.is-entering .react-flow__edge-path{animation:fade var(--duration-map) var(--ease-out) both}.react-flow__node.is-dim{opacity:.26}.react-flow__node.is-dim .node{box-shadow:none}.react-flow__node.is-spotlight-dim{opacity:.16;transition:opacity .28s}.react-flow__node.is-spotlight-dim .node{box-shadow:none}.react-flow__node.is-spotlight-kept{z-index:8!important}.frame.is-spotlight .rail{opacity:.4;transition:opacity .28s}.lod-far .fan-field,.lod-far .rest-field,.node-mark,.lod-mid .react-flow__node.satellite em,.lod-mid .node-host em,.lod-mid .host-meta{display:none}.lod-far .react-flow__node.satellite,.lod-far .react-flow__node.membrane{overflow:visible}.lod-far .node .label,.lod-far .node .glyph,.lod-far .host-meta,.lod-far .host-core{display:none}.lod-far .node{border-width:calc(2.2px / var(--rf-zoom,.25));overflow:visible}.lod-far .node-project,.lod-far .node-pipeline{clip-path:none}.lod-far .react-flow__edge.orbit{opacity:.45}.lod-far .react-flow__edge.orbit .react-flow__edge-path,.lod-far .react-flow__edge.link .react-flow__edge-path{stroke-width:calc(1.6px / var(--rf-zoom,.25))}.lod-far .react-flow__edge.runner .react-flow__edge-path{stroke-width:calc(1.25px / var(--rf-zoom,.25))}.lod-far .react-flow__edge.deploy .react-flow__edge-path,.lod-far .react-flow__edge.joins .react-flow__edge-path,.lod-far .react-flow__edge.publishes .react-flow__edge-path,.lod-far .react-flow__edge.tunnel .react-flow__edge-path{stroke-width:calc(1.1px / var(--rf-zoom,.25))}.react-flow{background:0 0}.react-flow__background{background:0 0!important}.react-flow__handle{opacity:0;background:var(--blue-3);border:0;width:5px;min-width:5px;height:5px;min-height:5px}.react-flow__edge-path{stroke:#252b3233;stroke-width:1.4px}.react-flow__edge.orbit .react-flow__edge-path{stroke:#252b3224;stroke-width:1.1px;stroke-dasharray:3 4}.react-flow__edge.link .react-flow__edge-path{stroke:#3776ab73;stroke-width:1.6px}.react-flow__edge.runner .react-flow__edge-path{stroke:#3776abc7;stroke-width:1.25px}.react-flow__edge.deploy .react-flow__edge-path{stroke:#3776ab85;stroke-width:1.1px}.react-flow__edge.joins .react-flow__edge-path{stroke:#3776abb8;stroke-width:1.1px;stroke-dasharray:2 4}.react-flow__edge.publishes .react-flow__edge-path{stroke:#3776abc7;stroke-width:1.1px}.react-flow__edge.tunnel .react-flow__edge-path{stroke:var(--blue-2);stroke-width:1.1px}.lava-stub{pointer-events:none}.react-flow__node.is-bundle-lit .node{border-color:#ff7c309e;box-shadow:0 0 0 2px #ff7c3029}.react-flow__edge.tunnel.tone-down .react-flow__edge-path{stroke:var(--danger);stroke-dasharray:5 4}.react-flow__edge.tunnel.tone-unknown .react-flow__edge-path{stroke:#5b656f73;stroke-dasharray:5 4}.lava-edge .react-flow__edge-path{stroke-dasharray:none;stroke:#0000!important}.lava-band{fill:none;stroke-linejoin:round;stroke-linecap:round;pointer-events:none;shape-rendering:geometricprecision}.lava-drip{stroke:none;pointer-events:none;shape-rendering:geometricprecision}.react-flow__edge.is-dim{opacity:.16}.react-flow__edge.is-spotlight-dim{opacity:.12;transition:opacity .28s}.react-flow__edge.hidden-edge{display:none}.react-flow__edge-text{font-size:10px;font-family:var(--font-body);fill:var(--ink-soft)!important}.react-flow__edge-textbg{fill:var(--surface)!important}.react-flow__controls{overflow:hidden;border:1px solid var(--line)!important;border-radius:var(--radius-s)!important;box-shadow:var(--shadow)!important;bottom:14px!important;left:14px!important}.react-flow__controls-button{background:var(--surface-raised)!important;border-bottom:1px solid var(--line)!important;fill:var(--ink-soft)!important;width:26px!important;height:26px!important}.react-flow__controls-button:hover{background:var(--surface-sunken)!important}.edge-tabs{z-index:6;pointer-events:none;position:absolute;inset:0}.edge-tab{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 92%, transparent);max-width:168px;height:26px;box-shadow:var(--shadow);color:var(--ink);cursor:pointer;pointer-events:auto;align-items:center;gap:.35rem;padding:0 .6rem;font-size:.72rem;line-height:1;display:flex;position:absolute}.edge-tab span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.edge-tab.left{border-radius:0 var(--radius-pill) var(--radius-pill) 0;border-left:0;transform:translateY(-50%)}.edge-tab.right{border-radius:var(--radius-pill) 0 0 var(--radius-pill);border-right:0;transform:translateY(-50%)}.edge-tab.top{border-radius:0 0 var(--radius-pill) var(--radius-pill);border-top:0;transform:translate(-50%)}.edge-tab.bottom{border-radius:var(--radius-pill) var(--radius-pill) 0 0;border-bottom:0;transform:translate(-50%)}.edge-tab:hover{background:var(--surface-raised)}.canvas-note{z-index:5;border:1px solid var(--line);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-raised) 90%, transparent);box-shadow:var(--shadow);color:var(--ink-soft);padding:.3rem .8rem;font-size:.75rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.banner{border-bottom:1px solid var(--line);align-items:center;gap:.5rem;padding:.5rem 1.1rem;font-size:.82rem;display:flex}.banner.info{color:var(--blue-1);background:#3776ab14}.banner.warn{color:var(--danger);background:#9b2c2c14}.gate{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);max-width:460px;box-shadow:var(--shadow);animation:rise var(--duration-base) var(--ease-out) both;margin:12vh auto;padding:1.75rem}.gate p{color:var(--ink-soft);font-size:.9rem}.gate code{font-family:var(--font-mono);background:var(--surface-sunken);border-radius:4px;padding:.1em .35em;font-size:.8rem}.gate .brand-lockup{margin-bottom:1rem}.btn-primary{border-radius:var(--radius-pill);background:var(--gradient-orange);color:#fff;border:0;margin-top:.5rem;padding:.7rem 1.2rem;font-weight:600;text-decoration:none;display:inline-block}.btn-primary:hover{filter:brightness(.97)}.loading-shell{height:100%;color:var(--ink-soft);place-items:center;gap:.75rem;display:grid}.loading-shell .brand-lockup{animation:breathe-soft 2.4s var(--ease-out) infinite}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes float-in{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes beat{0%,to{opacity:1;transform:scale(1)}45%{opacity:.55;transform:scale(1.5)}}@keyframes breathe{0%,to{opacity:0;transform:scale(.97)}50%{opacity:.7;transform:scale(1.04)}}@keyframes breathe-soft{0%,to{opacity:.6}50%{opacity:1}}@keyframes flash{0%{box-shadow:0 0 0 0 var(--tone,var(--degraded))}35%{box-shadow:0 0 0 7px color-mix(in srgb, var(--tone,var(--degraded)) 22%, transparent)}to{box-shadow:0 0 #fff0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=1240px){:root{--rail-w:244px;--inspector-w:316px}}.mode-switch{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-raised);display:inline-flex;overflow:hidden}.mode-switch button{color:var(--ink-soft);background:0 0;border:0;padding:.3rem .7rem;font-size:.8rem}.mode-switch button:hover{color:var(--ink)}.mode-switch button.active{background:var(--blue-2);color:#fff;font-weight:600}.filter-note{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.78rem}.react-flow__node.is-context{opacity:.55}.react-flow__node.is-context .organism{border-style:dashed}.meter{margin:.55rem 0}.meter-head{color:var(--ink-soft);justify-content:space-between;align-items:baseline;font-size:.82rem;display:flex}.meter-head strong{color:var(--ink);font-variant-numeric:tabular-nums}.meter-track{background:var(--line);border-radius:3px;height:6px;margin-top:.25rem;overflow:hidden}.meter-track i{background:var(--ok);border-radius:3px;height:100%;transition:width .4s;display:block}.meter-warning .meter-track i{background:var(--degraded)}.meter-critical .meter-track i{background:var(--down)}.meter em{color:var(--ink-soft);margin-top:.2rem;font-size:.75rem;font-style:normal;display:block}.metric-trend{border:1px solid var(--line);border-radius:var(--radius-sm,8px);background:var(--surface-raised);margin:.7rem 0;padding:.55rem .6rem}.metric-trend-head{justify-content:space-between;font-size:.82rem;display:flex}.metric-trend-head strong{font-variant-numeric:tabular-nums}.metric-trend em{color:var(--ink-soft);margin-top:.3rem;font-size:.73rem;font-style:normal;display:block}.trend-rising{color:var(--down)}.trend-falling{color:var(--ok)}.trend-flat{color:var(--ink-soft)}.metric-spark{align-items:flex-end;gap:1px;height:34px;margin-top:.4rem;display:flex;position:relative}.metric-spark i{background:var(--blue-2);opacity:.55;border-radius:1px 1px 0 0;flex:1;min-height:2px}.spark-range{color:var(--ink-soft);font-size:.66rem;position:absolute;top:-.1rem;right:0}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius-sm,8px);background:#252b3208;padding:.7rem .75rem}.empty-state strong{color:var(--ink);margin-bottom:.25rem;font-size:.85rem;display:block}.empty-state p{color:var(--ink-soft);margin:0;font-size:.76rem;line-height:1.45}.empty-state code,.source-note code{background:var(--line);border-radius:3px;padding:0 .2rem;font-size:.72rem}.source-note{color:var(--ink-soft);margin:.5rem 0 0;font-size:.73rem;line-height:1.45}.rows .row-btn.column{flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.rows.compact li{font-size:.78rem}.image-ref{color:var(--ink-soft);word-break:break-all;font-size:.72rem}.pill{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-pill);border:1px solid var(--line-strong);color:var(--ink-soft);padding:.05rem .35rem;font-size:.66rem}.pill.warn{border-color:var(--degraded);color:var(--degraded)}.dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.dot-ok{background:var(--ok)}.dot-warning{background:var(--degraded)}.dot-critical{background:var(--down)}.dot-info{background:var(--ink-soft)}.rows.concerns .row-btn b{color:var(--down)}.stat-grid{grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.5rem 0;display:grid}.stat-cell{text-align:center;border:1px solid var(--line);border-radius:var(--radius-sm,8px);color:var(--ink-soft);background:var(--surface-raised);padding:.45rem .3rem;font-size:.7rem}.stat-cell b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.05rem;display:block}.section-count.warn{color:var(--degraded)}.usage-arcs{pointer-events:none;position:absolute;inset:0;overflow:visible}.usage-track{fill:none;stroke:#252b321a;stroke-width:3.5px;stroke-linecap:butt}.usage-arc{fill:none;stroke-width:3.5px;stroke-linecap:butt;transition:stroke-dashoffset .88s var(--ease-out), stroke .48s var(--ease-out), opacity .48s var(--ease-out)}.usage-level-ok{stroke:var(--blue-2)}.usage-level-warning{stroke:var(--degraded)}.usage-level-critical{stroke:var(--down)}.usage-level-none{stroke:var(--ink-soft);opacity:.5}.usage-disk{opacity:.7}.usage-digits{font-variant-numeric:tabular-nums;color:var(--ink-soft);letter-spacing:.01em;gap:.22rem;font-size:.56rem;display:flex}.usage-digits.is-absent{opacity:.6;font-style:italic}.lod-far .usage-digits,.lod-mid .usage-digits.is-absent{display:none}.density-compact .usage-digits{font-size:.58rem}.breadcrumb{border-bottom:1px solid var(--line);background:var(--surface-raised);z-index:4;align-items:baseline;gap:.5rem;padding:.45rem .9rem;font-size:.82rem;display:flex;position:relative}.breadcrumb button{color:var(--blue-2);background:0 0;border:0;padding:0;font-size:.82rem;text-decoration:underline}.breadcrumb strong{color:var(--ink)}.crumb-note{color:var(--ink-soft);margin-left:auto;font-size:.74rem}.interior{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;flex-direction:column;gap:.15rem;width:100%;height:100%;padding:.45rem .6rem;display:flex;position:relative;overflow:hidden}.interior-head{align-items:center;gap:.35rem;display:flex}.interior-head strong{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.interior em{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-style:normal;overflow:hidden}.interior.tone-degraded{border-color:var(--degraded)}.interior.tone-down{border-color:var(--down)}.interior.tone-unknown{border-style:dashed}.interior-machine{border-width:2px;border-color:var(--blue-2);background:#3776ab0f}.interior-container{border-left:3px solid var(--blue-2)}.interior-network{text-align:center;background:#3776ab0d;border-style:dashed;border-radius:999px}.interior-route,.interior-module-endpoint{clip-path:polygon(0 18%,14px 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,14px 100%,0 82%);border-radius:0;padding:.4rem 1.15rem .4rem .85rem}.interior-route{border-style:dashed}.interior-module-scanner{clip-path:polygon(50% 0,100% 16%,92% 68%,50% 100%,8% 68%,0 16%);text-align:center;border-radius:0;align-items:center;padding:.7rem .85rem 1rem}.interior-module-scanner .interior-head{justify-content:center}.interior-module-classifier{clip-path:polygon(0 0,100% 0,74% 62%,62% 100%,38% 100%,26% 62%);text-align:center;border-radius:0;align-items:center;padding:.55rem 1.1rem .85rem}.interior-module-classifier .interior-head{justify-content:center}.interior-module-previewer{clip-path:polygon(0 0,74% 0,100% 26%,100% 100%,0 100%);border-radius:0;padding:.5rem .85rem .45rem .6rem;position:relative}.interior-module-previewer:after{content:"";clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none;background:linear-gradient(135deg,#0000 48%,#252b321a 50%);width:22px;height:22px;position:absolute;top:0;right:0}.interior-module-worker{border-radius:8px}.interior-module-store{text-align:center;border-radius:50%/22%;align-items:center;padding:.7rem .85rem}.interior-module-store .interior-head{justify-content:center}.interior-node.band-data .interior-container,.interior-node.band-data .interior{border-left-color:var(--degraded)}.interior-metrics,.interior-tags{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.3rem;margin-top:.15rem;font-size:.66rem;display:flex}.interior-port{text-align:center;border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:.3rem .4rem}.interior-port strong{font-variant-numeric:tabular-nums;font-size:.82rem}.interior-port.is-exposed{border-color:var(--degraded);background:#ff7c3012}.port-scope{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-size:.6rem}.interior-edge .react-flow__edge-path{stroke:var(--line-strong);stroke-width:1.4px}.edge-publishes .react-flow__edge-path{stroke:var(--blue-2)}.edge-binds .react-flow__edge-path{stroke-dasharray:4 3}.edge-joins .react-flow__edge-path{stroke:var(--blue-2);stroke-dasharray:2 4}.edge-tunnel .react-flow__edge-path{stroke:var(--degraded)}.interior-empty{color:var(--ink-soft);border-bottom:1px solid var(--line);background:#252b3208;padding:.5rem .9rem;font-size:.76rem}.interior-mark,.lod-mid .interior em,.lod-mid .interior-tags,.lod-mid .interior-metrics,.lod-mid .doc-badge,.lod-mid .port-scope{display:none}.lod-far .react-flow__node.interior-node,.lod-far .interior{overflow:visible}.lod-far .interior-head,.lod-far .interior em,.lod-far .interior-tags,.lod-far .interior-metrics,.lod-far .doc-badge,.lod-far .port-scope,.lod-far .interior-module-previewer:after{display:none}.lod-far .interior{border-width:calc(2.2px / var(--rf-zoom,.25));padding:0}.lod-far .node-mark,.lod-far .interior-mark{transform:translateX(-50%) scale(calc(1 / var(--rf-zoom,.25)));transform-origin:top;letter-spacing:.01em;color:var(--ink);white-space:nowrap;pointer-events:none;background:#fbf9f7e0;border-radius:4px;padding:.08rem .28rem;font-size:11px;font-weight:600;line-height:1.2;display:block;position:absolute;top:calc(100% + 4px);left:50%}.lod-far .react-flow__edge.interior-edge .react-flow__edge-path{stroke-width:calc(1.8px / var(--rf-zoom,.25))}.rows.docs .row-btn.column{gap:.25rem}.doc-path{color:var(--ink-soft);font-size:.68rem}.doc-excerpt{color:var(--ink-soft);margin:.1rem 0 0;font-size:.75rem;line-height:1.5}.rows.docs a{color:var(--blue-2)}.doc-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--blue-2);border:1px solid var(--blue-2);border-radius:var(--radius-pill);align-self:flex-start;margin-top:.15rem;padding:0 .3rem;font-size:.6rem}.home{background:var(--surface);min-height:0;padding:1.4rem 1.6rem 2rem;overflow:auto}.home-hero{justify-content:space-between;align-items:flex-start;gap:1.2rem;margin-bottom:1.4rem;display:flex}.home-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .25rem;font-size:.72rem}.home h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.7rem}.home-sub{color:var(--ink-soft);margin:.35rem 0 0;font-size:.88rem}.home-map{border-radius:var(--radius-pill);background:var(--ink);color:var(--surface);border:0;padding:.55rem 1rem;font-size:.88rem}.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.home-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem 1.15rem}.home-card h2{margin:0 0 .7rem;font-size:.92rem}.home-card ul{margin:0;padding:0;list-style:none}.home-row{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:.6rem;width:100%;padding:.45rem 0;display:flex}.home-row span{flex-direction:column;min-width:0;display:flex}.home-row b{font-size:.88rem}.home-row em,.home-row i{color:var(--ink-soft);font-size:.75rem;font-style:normal}.home-row i{color:var(--blue-2);margin-left:auto;text-decoration:underline}.home-concerns{margin-top:.6rem}.home-concerns button,.home-flag{text-align:left;width:100%;color:var(--accent-ink);background:0 0;border:0;padding:.2rem 0;font-size:.8rem;display:block}.home .empty{color:var(--ink-soft);font-size:.84rem}@media (width<=980px){.home-grid{grid-template-columns:1fr}}
