.ring-kind .wv-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-border-default: 1px solid #bbb;--xy-node-border-selected-default: 1px solid #555;--xy-handle-background-color-default: #333;--xy-selection-background-color-default: rgba(150, 150, 180, .1);--xy-selection-border-default: 1px dotted rgba(155, 155, 155, .8);--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default))}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border:var(--xy-node-border, var(--xy-node-border-default));color:var(--xy-node-color, var(--xy-node-color-default))}.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible{outline:none;border:var(--xy-node-border-selected, var(--xy-node-border-selected-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__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.dept-segments>div>button{flex:1 1 0;justify-content:center}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/app/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/app/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/app/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/app/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/app/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/app/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/app/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff")}:root{--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base:.875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal:1.5;--weight-regular: 400;--weight-medium: 500;--weight-semibold:600;--weight-bold: 700;--tracking-label: .06em;--tracking-tight: -.01em}:root{--brand-50: #eef6fc;--brand-100: #d6e9f7;--brand-200: #afd3ef;--brand-300: #7fb6e2;--brand-400: #4b93ce;--brand-500: #2673b3;--brand-600: #175a94;--brand-700: #114878;--brand-800: #0e3a61;--brand-900: #0c2f4e;--brand-950: #071e33;--accent-300: #6ddde4;--accent-400: #2bc4ce;--accent-500: #12a5b0;--accent-600: #0c8791;--accent-700: #0b6b74;--brand-navy: #263f6a;--brand-navy-deep: #002949;--logo: var(--brand-navy);--bg: #f4f6f8;--surface: #ffffff;--surface-2: #eef1f4;--surface-3: #e4e9ee;--overlay: #ffffff;--border: #dbe1e8;--border-strong: #c2ccd6;--ring: var(--brand-500);--fg: #131c25;--fg-muted: #56646f;--fg-subtle: #7d8b97;--fg-on-brand: #ffffff;--tooltip-bg: #1b2530;--tooltip-fg: #f1f5f9;--tooltip-fg-muted: #a9b6c3;--tooltip-border: #1b2530;--tooltip-divider: #334151;--brand: var(--brand-600);--brand-hover: var(--brand-700);--brand-soft: var(--brand-50);--accent: var(--accent-600)}.dark{--bg: #0b1017;--surface: #121a24;--surface-2: #19222e;--surface-3: #212d3b;--overlay: #16202c;--border: #26313f;--border-strong: #37475a;--ring: var(--brand-400);--fg: #e6edf3;--fg-muted: #93a3b4;--fg-subtle: #6b7d90;--fg-on-brand: #ffffff;--tooltip-bg: #2a3746;--tooltip-fg: #eef3f8;--tooltip-fg-muted: #a3b2c2;--tooltip-border: #3d4e62;--tooltip-divider: #3d4e62;--brand: var(--brand-400);--brand-hover: var(--brand-300);--brand-soft: #10263c;--accent: var(--accent-400);--logo: #e3ebf6}:root{--state-run: #15803d;--state-stop: #64748b;--state-warn: #b45309;--state-fault: #dc2626;--state-comm: #7c3aed;--state-manual: #2563eb;--state-run-bg: #dcfce7;--state-stop-bg: #eef1f4;--state-warn-bg: #fef3c7;--state-fault-bg: #fee2e2;--state-comm-bg: #ede9fe;--state-manual-bg: #dbeafe;--prio-critical: var(--state-fault);--prio-high: var(--state-warn);--prio-medium: #a21caf;--prio-low: #334155;--prio-critical-bg: var(--state-fault-bg);--prio-high-bg: var(--state-warn-bg);--prio-medium-bg: #fae8ff;--prio-low-bg: #e2e8f0;--prio-critical-fill: #b91c1c;--prio-high-fill: #b45309;--prio-medium-fill: #a21caf;--prio-low-fill: #334155;--prio-critical-on: #fee2e2;--prio-high-on: #fef3c7;--prio-medium-on: #fae8ff;--prio-low-on: #e2e8f0}.dark{--state-run: #4ade80;--state-stop: #94a3b8;--state-warn: #fbbf24;--state-fault: #f87171;--state-comm: #a78bfa;--state-manual: #60a5fa;--state-run-bg: #0d2c1b;--state-stop-bg: #1c2632;--state-warn-bg: #3a2a06;--state-fault-bg: #3b1416;--state-comm-bg: #251a45;--state-manual-bg: #10254a;--prio-critical: var(--state-fault);--prio-high: var(--state-warn);--prio-medium: #e879f9;--prio-low: #cbd5e1;--prio-critical-bg: var(--state-fault-bg);--prio-high-bg: var(--state-warn-bg);--prio-medium-bg: #3b0d3f;--prio-low-bg: #263141;--prio-critical-fill: #991b1b;--prio-high-fill: #92400e;--prio-medium-fill: #86198f;--prio-low-fill: #475569;--prio-critical-on: #fee2e2;--prio-high-on: #fef3c7;--prio-medium-on: #fae8ff;--prio-low-on: #f1f5f9}:root{--canvas: #e3e8ed;--canvas-grid: #d2dae2;--pipe: #8b98a5;--pipe-flow: var(--accent-600);--pipe-bore: #f2f5f8;--sym-line: #3a4854;--sym-fill: #ffffff;--sym-fill-2: #c3ced9}.dark{--canvas: #0c131b;--canvas-grid: #182333;--pipe: #55677b;--pipe-flow: var(--accent-400);--pipe-bore: #0f1720;--sym-line: #a9bacb;--sym-fill: #151f2a;--sym-fill-2: #3a4d61}:root{--chart-1: #2a78d6;--chart-2: #eb6834;--chart-3: #1baf7a;--chart-4: #eda100;--chart-5: #e87ba4;--chart-6: #008300;--chart-7: #4a3aa7;--chart-8: #e34948}.dark{--chart-1: #3987e5;--chart-2: #d95926;--chart-3: #199e70;--chart-4: #c98500;--chart-5: #d55181;--chart-6: #008300;--chart-7: #9085e9;--chart-8: #e66767}:root{--shadow-sm: 0 1px 2px 0 rgb(16 26 36 / .06);--shadow: 0 2px 8px -1px rgb(16 26 36 / .1), 0 1px 3px -1px rgb(16 26 36 / .06);--shadow-lg: 0 12px 32px -8px rgb(16 26 36 / .18), 0 4px 10px -4px rgb(16 26 36 / .1)}.dark{--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .4);--shadow: 0 2px 8px -1px rgb(0 0 0 / .5), 0 1px 3px -1px rgb(0 0 0 / .4);--shadow-lg: 0 12px 32px -8px rgb(0 0 0 / .65), 0 4px 10px -4px rgb(0 0 0 / .5)}:root{--space-0: 0;--space-05: .125rem;--space-1: .25rem;--space-15: .375rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-card: .75rem;--radius-pill: 999px;--border-width: 1px;--border-width-strong: 2px;--hit-target: 2.75rem;--hit-target-dense: 2rem;--topbar-h: 3.5rem;--sidebar-w: 15rem;--sidebar-w-collapsed: 3.5rem;--statusbar-h: 1.75rem}:root{--dur-instant: 80ms;--dur-fast: .12s;--dur-base: .18s;--dur-slow: .26s;--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-fault-pulse: 1.6s;--dur-alarm-glow: 1.3s;--dur-valve-travel:1.9s}@layer base{*{border-color:var(--border)}html{color-scheme:light;-webkit-tap-highlight-color:transparent}html.dark{color-scheme:dark}body{background-color:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--border-strong);border-radius:6px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--fg-subtle);background-clip:content-box}}.wv-label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-subtle)}
