.zarch{--zarch-indigo:#4f46e5;--zarch-teal:#0e7c86;--zarch-violet:#6a58e0;--zarch-purple:#7a2ff0;--zarch-slate:#475569;--zarch-text:#0f172a;--zarch-muted:#334155;--zarch-card:#fffffff7;--zarch-card-solid:#fff;--zarch-border:#cbd5e1;--zarch-edge:#7b8794;--zarch-down:#94a3b8;--zarch-focus:#0e7c86;--zarch-plain-bg:#f1f5f9;--zarch-hall-bg:#dfe5eb;--zarch-hall-fog:#e9eef2;--zarch-hall-ceiling:#f3f6f8;--zarch-hall-floor:#cdd5dd;--zarch-hall-floor-alt:#c5ced7;--zarch-hall-floor-line:#aeb9c4;--zarch-hall-rack:#a9b4bf;--zarch-hall-rack-edge:#74808c;--zarch-hall-unit:#b7c1cb;--zarch-hall-unit-line:#8b97a3;--zarch-hall-tray:#98a4b0;--zarch-hall-light:#fff;--zarch-hall-dim:#eef2f694;--zarch-hall-vignette:#8c9baa52;--zarch-hall-led-1:#0e7c86;--zarch-hall-led-2:#1f9d55;--zarch-hall-led-3:#c27c0e;--zarch-stage-h:clamp(440px, 54vw, 700px);color:var(--zarch-text)}.dark .zarch{--zarch-indigo:#8b8cf8;--zarch-teal:#2fc1af;--zarch-violet:#8b7cf7;--zarch-purple:#b080ff;--zarch-slate:#94a3b8;--zarch-text:#f1f5f9;--zarch-muted:#c6d0dc;--zarch-card:#0c131cf5;--zarch-card-solid:#0f1720;--zarch-border:#2a3644;--zarch-edge:#5f6f80;--zarch-down:#475569;--zarch-focus:#2fc1af;--zarch-plain-bg:#0c131b;--zarch-hall-bg:#070b10;--zarch-hall-fog:#0e1620;--zarch-hall-ceiling:#05080c;--zarch-hall-floor:#101923;--zarch-hall-floor-alt:#142029;--zarch-hall-floor-line:#223040;--zarch-hall-rack:#1a2532;--zarch-hall-rack-edge:#04070a;--zarch-hall-unit:#223142;--zarch-hall-unit-line:#2f4256;--zarch-hall-tray:#26364a;--zarch-hall-light:#b9cde0;--zarch-hall-dim:#04080c57;--zarch-hall-vignette:#0000008c;--zarch-hall-led-1:#2fc1af;--zarch-hall-led-2:#3ddc84;--zarch-hall-led-3:#f0a73a}.zarch [data-tone=indigo]{--zarch-tone:var(--zarch-indigo)}.zarch [data-tone=teal]{--zarch-tone:var(--zarch-teal)}.zarch [data-tone=violet]{--zarch-tone:var(--zarch-violet)}.zarch [data-tone=purple]{--zarch-tone:var(--zarch-purple)}.zarch [data-tone=slate]{--zarch-tone:var(--zarch-slate)}.zarch{width:100%;padding-block:3rem}.zarch-inner{width:100%;max-width:90rem;margin-inline:auto;padding-inline:1rem}.zarch-head{text-align:center;max-width:48rem;margin:0 auto 1.5rem}.zarch-heading{letter-spacing:-.01em;font-size:clamp(1.6rem,3vw,2.25rem);font-weight:700;line-height:1.15}.zarch-intro{color:var(--zarch-muted);margin-top:.75rem;font-size:1.05rem;line-height:1.6}.zarch-stage{height:var(--zarch-stage-h);border:1px solid var(--zarch-border);background:var(--zarch-plain-bg);isolation:isolate;border-radius:1rem;position:relative;overflow:hidden}.zarch-stage[data-bg=datacenter]{background:radial-gradient(ellipse at 50% 42%, var(--zarch-hall-fog) 0%, transparent 60%), linear-gradient(180deg, var(--zarch-hall-ceiling) 0%, var(--zarch-hall-fog) 42%, var(--zarch-hall-floor) 100%)}.zarch-hall{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.zarch-flow,.zarch-static{z-index:1;position:absolute;inset:0}.zarch-static{place-items:center;padding:16px;display:grid}.zarch-plane{width:min(100%, calc((var(--zarch-stage-h) - 32px) * var(--zarch-ratio)));aspect-ratio:var(--zarch-ratio);position:relative;container-type:inline-size}.zarch-plane>*{position:absolute}.zarch-plane .zarch-node,.zarch-plane .zarch-group{font-size:calc(100cqw * 13 / var(--zarch-w))}.zarch-group{border:1.5px dashed color-mix(in srgb, var(--zarch-tone,var(--zarch-slate)) 60%, transparent);background:color-mix(in srgb, var(--zarch-tone,var(--zarch-slate)) 8%, transparent);border-radius:.9em;width:100%;height:100%;transition:opacity .25s,filter .25s,border-color .25s}.zarch-group-label{border:1px solid color-mix(in srgb, var(--zarch-tone,var(--zarch-slate)) 55%, transparent);background:var(--zarch-card-solid);letter-spacing:.01em;max-width:calc(100% - 1.2em);color:color-mix(in srgb, var(--zarch-tone,var(--zarch-slate)) 70%, var(--zarch-text));white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:.12em .6em;font-size:.85em;font-weight:700;position:absolute;top:.5em;left:.6em;overflow:hidden}.zarch-group[data-label=top-right] .zarch-group-label{left:auto;right:.6em}.zarch-group[data-label=bottom-left] .zarch-group-label{top:auto;bottom:.5em}.zarch-group[data-label=bottom-right] .zarch-group-label{inset:auto .6em .5em auto}.zarch-group[data-state=active]{border-style:solid;border-color:var(--zarch-tone)}.zarch-group[data-state=dim]{opacity:.55}.zarch-group[data-down=true]{filter:grayscale();opacity:.45;border-color:var(--zarch-down)}.zarch-node{width:100%;height:100%;min-height:70px;transition:opacity .25s,filter .25s}.zarch-plane .zarch-node{min-height:0}.zarch-flow .zarch-node,.zarch-flow .zarch-group{font-size:13px}.zarch-node-btn{all:unset;box-sizing:border-box;background:var(--zarch-card);border:1px solid color-mix(in srgb, var(--zarch-tone,var(--zarch-slate)) 40%, var(--zarch-border));width:100%;height:100%;box-shadow:inset 3px 0 0 var(--zarch-tone,var(--zarch-slate)), 0 4px 14px #0000001f;-webkit-backdrop-filter:blur(6px);color:var(--zarch-text);cursor:pointer;text-align:left;border-radius:.75em;align-items:center;gap:.6em;padding:.6em .75em;transition:box-shadow .25s,border-color .25s,transform .25s;display:flex}.zarch-node-btn:hover{border-color:var(--zarch-tone,var(--zarch-slate))}.zarch-node-btn:focus-visible{outline:2px solid var(--zarch-focus);outline-offset:3px}.zarch-node-icon{width:2.1em;height:2.1em;color:var(--zarch-tone,var(--zarch-slate));background:color-mix(in srgb, var(--zarch-tone,var(--zarch-slate)) 14%, transparent);border-radius:.55em;flex:none;place-items:center;display:grid}.zarch-node-icon svg{width:1.2em;height:1.2em}.zarch-node-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.zarch-node-label{text-overflow:ellipsis;white-space:nowrap;font-size:1em;font-weight:650;overflow:hidden}.zarch-node-sub{color:var(--zarch-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.15em;font-size:.84em;font-weight:500;overflow:hidden}.zarch-node-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--zarch-card-solid);background:var(--zarch-muted);border-radius:999px;flex:none;margin-left:auto;padding:.2em .45em;font-size:.68em;font-weight:700}.zarch-node[data-state=active] .zarch-node-btn{border-color:var(--zarch-tone);box-shadow:inset 3px 0 0 var(--zarch-tone), 0 0 0 2px var(--zarch-tone), 0 0 26px color-mix(in srgb, var(--zarch-tone) 45%, transparent)}.zarch-node[data-selected=true] .zarch-node-btn{box-shadow:inset 3px 0 0 var(--zarch-tone), 0 0 0 2px var(--zarch-tone), 0 0 0 6px color-mix(in srgb, var(--zarch-tone) 25%, transparent)}.zarch-node[data-state=dim]{opacity:.45}.zarch-node[data-down=true]{filter:grayscale();opacity:.5}.zarch-node[data-down=true] .zarch-node-btn{box-shadow:none;border-style:dashed}.zarch .react-flow__handle.zarch-handle{opacity:0;pointer-events:none;background:0 0;border:0;width:1px;min-width:0;height:1px;min-height:0}.zarch .react-flow__edge-path.zarch-edge{stroke:var(--zarch-edge);stroke-width:1.4px;fill:none;transition:stroke .25s,opacity .25s,stroke-width .25s}.zarch .react-flow__edge-path.zarch-edge--data{stroke-dasharray:6 5}.zarch .react-flow__edge-path.zarch-edge--watch{stroke-dasharray:1.5 5;stroke-linecap:round}.zarch .react-flow__edge-path.zarch-edge.is-active{stroke:var(--zarch-tone);stroke-width:2.4px}.zarch .react-flow__edge-path.zarch-edge.is-dim{opacity:.22}.zarch .react-flow__edge-path.zarch-edge.is-down{stroke:var(--zarch-down);opacity:.45;stroke-dasharray:3 6}.zarch-dot{fill:var(--zarch-tone);filter:drop-shadow(0 0 4px var(--zarch-tone))}.zarch-marker-idle{fill:var(--zarch-edge)}.zarch-marker-tone{fill:var(--zarch-tone)}.zarch-edge-label{z-index:1000;pointer-events:none;white-space:nowrap;color:var(--zarch-text);background:var(--zarch-card-solid);border:1px solid var(--zarch-tone,var(--zarch-border));border-radius:999px;padding:.2rem .5rem;font-size:11px;font-weight:600;position:absolute;box-shadow:0 2px 8px #00000026}.zarch .react-flow{--xy-background-color:transparent;--xy-controls-button-background-color:var(--zarch-card-solid);--xy-controls-button-background-color-hover:color-mix(in srgb, var(--zarch-card-solid) 85%, var(--zarch-text));--xy-controls-button-color:var(--zarch-text);--xy-controls-button-color-hover:var(--zarch-text);--xy-controls-button-border-color:var(--zarch-border);--xy-controls-box-shadow:0 2px 10px #0000002e;--xy-attribution-background-color:transparent;background:0 0}.zarch .react-flow__attribution a{color:var(--zarch-muted)}.zarch .react-flow__controls{border-radius:.5rem;overflow:hidden}.zarch .react-flow__node{cursor:default}.zarch-detail{z-index:5;background:var(--zarch-card-solid);border:1px solid var(--zarch-border);border-top:4px solid var(--zarch-tone,var(--zarch-slate));border-radius:.9rem;width:min(340px,100% - 24px);padding:1.1rem 1.2rem 1.25rem;position:absolute;top:12px;bottom:12px;right:12px;overflow:auto;box-shadow:0 18px 50px #00000047}.zarch-detail-close{all:unset;cursor:pointer;width:2rem;height:2rem;color:var(--zarch-muted);border-radius:999px;place-items:center;display:grid;position:absolute;top:.6rem;right:.6rem}.zarch-detail-close:hover{background:color-mix(in srgb, var(--zarch-text) 8%, transparent)}.zarch-detail-close:focus-visible{outline:2px solid var(--zarch-focus)}.zarch-detail-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--zarch-tone,var(--zarch-muted));font-size:.72rem;font-weight:700}.zarch-detail-title{outline:none;margin-top:.25rem;padding-right:2rem;font-size:1.2rem;font-weight:700}.zarch-detail-sub{color:var(--zarch-muted);margin-top:.15rem;font-size:.85rem}.zarch-detail-body{margin-top:.8rem;font-size:.95rem;line-height:1.6}@media (max-width:767px){.zarch{--zarch-stage-h:440px;padding-block:2rem}.zarch-detail{z-index:60;border-radius:1rem 1rem 0 0;width:auto;max-height:62vh;position:fixed;inset:auto 0 0}}.zarch-controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.zarch-btn{all:unset;box-sizing:border-box;border:1px solid var(--zarch-border);background:var(--zarch-card-solid);min-height:2.5rem;color:var(--zarch-text);cursor:pointer;border-radius:.6rem;align-items:center;gap:.4rem;padding:0 .9rem;font-size:.9rem;font-weight:600;display:inline-flex}.zarch-btn:hover{border-color:var(--zarch-muted)}.zarch-btn:focus-visible{outline:2px solid var(--zarch-focus);outline-offset:2px}.zarch-btn[disabled]{opacity:.45;cursor:default}.zarch-btn--primary{background:var(--zarch-text);color:var(--zarch-card-solid);border-color:var(--zarch-text)}.zarch-btn svg{width:1rem;height:1rem}.zarch-dots{align-items:center;gap:.15rem;margin-inline:.25rem;display:flex}.zarch-dot-btn{all:unset;cursor:pointer;place-items:center;width:1.5rem;height:2.5rem;display:grid}.zarch-dot-btn:before{content:"";background:var(--zarch-border);border-radius:999px;width:.55rem;height:.55rem;transition:background .2s,transform .2s}.zarch-dot-btn[aria-current=step]:before{background:var(--zarch-text);transform:scale(1.35)}.zarch-dot-btn:focus-visible{outline:2px solid var(--zarch-focus);border-radius:.3rem}.zarch-scenarios{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.zarch-scenario[aria-pressed=true]{border-color:var(--zarch-text);background:color-mix(in srgb, var(--zarch-text) 10%, var(--zarch-card-solid))}.zarch-scenario-note{border:1px solid var(--zarch-border);border-left:4px solid var(--zarch-muted);background:var(--zarch-card-solid);border-radius:.6rem;margin-top:.75rem;padding:.75rem 1rem;font-size:.95rem;line-height:1.55}.zarch-scenario-note strong{margin-bottom:.15rem;display:block}.zarch-steps{counter-reset:zarch-step;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.zarch-step{counter-increment:zarch-step;border:1px solid var(--zarch-border);background:var(--zarch-card-solid);border-radius:.7rem;transition:border-color .2s,box-shadow .2s}.zarch-step-title{all:unset;box-sizing:border-box;cursor:pointer;align-items:baseline;gap:.6rem;width:100%;padding:.65rem .9rem;font-weight:650;display:flex}.zarch-step-title:before{content:counter(zarch-step);width:1.5rem;height:1.5rem;color:var(--zarch-muted);border:1px solid var(--zarch-border);border-radius:999px;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:inline-grid}.zarch-step-title:focus-visible{outline:2px solid var(--zarch-focus);border-radius:.7rem}.zarch-step-caption{color:var(--zarch-muted);margin:0;padding:0 .9rem .8rem 3rem;line-height:1.6}.zarch-step.is-active{border-color:var(--zarch-text);box-shadow:0 4px 18px #00000014}.zarch-step.is-active .zarch-step-title:before{color:var(--zarch-card-solid);background:var(--zarch-text);border-color:var(--zarch-text)}.zarch-step.is-active .zarch-step-caption{color:var(--zarch-text)}.zarch[data-interactive=true] .zarch-step:not(.is-active) .zarch-step-caption{display:none}.zarch-parts{border:1px solid var(--zarch-border);background:var(--zarch-card-solid);border-radius:.7rem;margin-top:1rem}.zarch-parts>summary{cursor:pointer;padding:.75rem .9rem;font-weight:650}.zarch-parts>summary:focus-visible{outline:2px solid var(--zarch-focus);border-radius:.7rem}.zarch-parts dl{gap:.85rem;margin:0;padding:0 .9rem .9rem;display:grid}@media (min-width:768px){.zarch-parts dl{grid-template-columns:1fr 1fr;column-gap:1.5rem}}.zarch-parts dt{font-weight:650}.zarch-parts dt small{color:var(--zarch-muted);font-weight:500}.zarch-parts dd{color:var(--zarch-muted);margin:.2rem 0 0;font-size:.95rem;line-height:1.55}.zarch-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.zarch *,.zarch :before{transition:none!important}}
.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))}
