.color-swatch[data-v-63685a48]{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1px #000}.v-ng-selection-box{shape-rendering:crispEdges}.v-ng-background-grid{pointer-events:none}.v-ng-line-background.selectable{cursor:pointer}.v-ng-edge{transition:stroke .1s linear,stroke-width .1s linear;pointer-events:none}.v-ng-line-summarized.selectable{cursor:pointer}.v-ng-edge-labels .v-ng-text,.v-ng-edge-labels .v-ng-text-background,.v-ng-node-focusring{pointer-events:none}:where(.v-ng-shape-circle){transition:r .1s linear}:where(.v-ng-shape-rect){transition:x .1s linear,y .1s linear,width .1s linear,height .1s linear}:where(.dragging .v-ng-shape-circle),:where(.dragging .v-ng-shape-rect){transition:none}.v-ng-node :where(.v-ng-shape-circle){transition:fill .1s linear,stroke .1s linear,stroke-width .1s linear,r .1s linear}.v-ng-node :where(.v-ng-shape-rect){transition:fill .1s linear,stroke .1s linear,stroke-width .1s linear,x .1s linear,y .1s linear,width .1s linear,height .1s linear}.v-ng-node :where(.v-ng-node-default.v-ng-shape-circle){pointer-events:none}.v-ng-node :where(.v-ng-node-default.v-ng-shape-rect){pointer-events:none}.v-ng-node .draggable,.v-ng-node .selectable{pointer-events:all;cursor:pointer}:where(.v-ng-node-label)>:where(*){cursor:default;user-select:none;transition:transform .1s linear}:where(.v-ng-node-label) .draggable,:where(.v-ng-node-label) .selectable{pointer-events:all;cursor:pointer}.v-path{pointer-events:none;transition:stroke .1s linear,stroke-width .1s linear}.v-path.clickable{pointer-events:stroke;cursor:pointer}.v-path.hoverable{pointer-events:stroke}:where(.v-ng-container){width:100%;height:100%}.v-ng-container{padding:0;position:relative;user-select:none}.v-ng-canvas{-webkit-tap-highlight-color:transparent;width:100%;height:100%;opacity:0}.v-ng-canvas.show{opacity:1;transition:opacity .5s linear}.v-ng-canvas.dragging *{cursor:grabbing!important}.v-ng-canvas.dragging .v-ng-line{transition:d 0s}.v-ng-canvas.touches{touch-action:none}.v-ng-canvas.box-selection-mode,.v-ng-canvas.box-selection-mode *{cursor:crosshair!important}.v-ng-canvas:not(.show) .v-ng-node,.v-ng-canvas:not(.show) .v-ng-node-label,.v-ng-canvas:not(.show) .v-ng-node-focusring,.v-ng-canvas:not(.show) .v-ng-edge,.v-ng-canvas:not(.show) .v-ng-edge-label,.v-ng-canvas:not(.show) .v-ng-path{transition:none}.v-ng-canvas:not(.show) .v-ng-node>*,.v-ng-canvas:not(.show) .v-ng-node-label>*,.v-ng-canvas:not(.show) .v-ng-node-focusring>*,.v-ng-canvas:not(.show) .v-ng-edge>*,.v-ng-canvas:not(.show) .v-ng-edge-label>*,.v-ng-canvas:not(.show) .v-ng-path>*{transition:none}.v-ng-viewport.v-ng-transition{--transition-duration: .3s;--transition-function: linear}.v-ng-viewport.v-ng-transition .v-ng-node,.v-ng-viewport.v-ng-transition .v-ng-node-label,.v-ng-viewport.v-ng-transition .v-ng-node-focusring,.v-ng-viewport.v-ng-transition .v-ng-edge,.v-ng-viewport.v-ng-transition .v-ng-edge-label,.v-ng-viewport.v-ng-transition .v-ng-path{transition:all var(--transition-duration) var(--transition-function)}.v-ng-viewport.v-ng-transition .v-ng-node>*,.v-ng-viewport.v-ng-transition .v-ng-node-label>*,.v-ng-viewport.v-ng-transition .v-ng-node-focusring>*,.v-ng-viewport.v-ng-transition .v-ng-edge>*,.v-ng-viewport.v-ng-transition .v-ng-edge-label>*,.v-ng-viewport.v-ng-transition .v-ng-path>*{transition:all var(--transition-duration) var(--transition-function)}.v-ng-line.animate,.v-ng-path.animate{--animation-speed: 100;animation:v-ng-dash 10s linear infinite;stroke-dashoffset:var(--animation-speed)}@keyframes v-ng-dash{to{stroke-dashoffset:0}}.graph-panel[data-v-fe466211]{position:relative;height:min(56vh,480px,calc(100dvh - 18rem));min-height:12rem}.graph-panel--tall[data-v-fe466211]{height:auto;flex:1 1 0%;min-height:10rem}.graph-panel--fill[data-v-fe466211]{height:100%;flex:1 1 0%;min-height:12rem;border:none;border-radius:0;background:transparent}.graph-root--tall[data-v-fe466211],.graph-root[data-v-fe466211]:has(.graph-panel--fill){height:100%}.topology-graph[data-v-fe466211]{width:100%;height:100%}.graph-custom-props[data-v-fe466211]{height:calc(4.875em + .75rem)}.ft-studio[data-v-6c2fcbee]{--ft-panel-bg: color-mix(in srgb, var(--zl-surface, #f7f8fa) 72%, transparent);--ft-panel-border: color-mix(in srgb, var(--zl-line, #c5ccd4) 75%, transparent);--ft-btn-bg: color-mix(in srgb, var(--zl-accent-soft, rgba(47, 111, 106, .12)) 88%, transparent);--ft-btn-hover: color-mix(in srgb, var(--zl-accent, #2f6f6a) 18%, transparent);--ft-btn-pressed: color-mix(in srgb, var(--zl-accent, #2f6f6a) 28%, transparent);--ft-btn-warning: color-mix(in srgb, var(--zl-warn, #9a6b1f) 28%, transparent);--ft-ink: var(--zl-ink, #12181f);--ft-ink-muted: var(--zl-ink-muted, #6b7585);--ft-on-accent: var(--zl-on-accent, #f7faf9);--ft-tool-gap: .35rem;--ft-tool-pad: .35rem;--ft-tool-size: 2.5rem;--ft-panel-inset: .65rem;position:relative;display:flex;flex-direction:column;box-sizing:border-box;min-width:0;min-height:min(56vh,480px,calc(100dvh - 18rem));height:min(56vh,480px,calc(100dvh - 18rem));overflow:hidden;border-radius:var(--zl-radius-lg, 14px);border:1px solid var(--zl-line, #c5ccd4);background:var(--zl-paper-raised, #f2f4f6);color:var(--ft-ink);font-family:var(--zl-font-body, inherit)}.ft-studio--tall[data-v-6c2fcbee]{height:100%;min-height:12rem;flex:1 1 0%}.ft-studio--fs[data-v-6c2fcbee]{height:100%;min-height:100%;border-radius:0;border:none;background:var(--zl-paper, #e8ecef)}.ft-studio-canvas[data-v-6c2fcbee]{position:absolute;inset:0;min-height:0}.ft-studio-canvas[data-v-6c2fcbee] .graph-root{height:100%;gap:0}.ft-studio-panel[data-v-6c2fcbee]{position:absolute;z-index:5;display:flex;align-items:center;gap:var(--ft-tool-gap);box-sizing:border-box;padding:var(--ft-tool-pad);border:1px solid var(--ft-panel-border);background:var(--ft-panel-bg);backdrop-filter:blur(12px);box-shadow:var(--zl-shadow, 0 12px 40px rgba(18, 24, 31, .12));color:var(--ft-ink)}.ft-studio-panel--top[data-v-6c2fcbee]{top:var(--ft-panel-inset);left:50%;right:auto;transform:translate(-50%);width:max-content;max-width:calc(100% - var(--ft-panel-inset) * 2);min-height:0;height:auto;border-radius:var(--zl-radius, 10px);align-items:center;justify-content:center;gap:0}.ft-scale-panel[data-v-6c2fcbee]{top:calc(var(--ft-panel-inset) + var(--ft-tool-pad) * 2 + var(--ft-tool-size) + var(--ft-tool-gap));left:50%;transform:translate(-50%);z-index:6;width:max-content;max-width:calc(100% - var(--ft-panel-inset) * 2);flex-direction:column;align-items:stretch;gap:.45rem;padding:.55rem .7rem;border-radius:var(--zl-radius, 10px)}.ft-scale-title[data-v-6c2fcbee]{margin:0;font-size:.75rem;font-weight:650;color:var(--ft-ink)}.ft-scale-hint[data-v-6c2fcbee]{margin:0;max-width:16.5rem;font-size:.6875rem;line-height:1.4;color:var(--ft-ink-muted)}.ft-scale-presets[data-v-6c2fcbee]{display:flex;flex-wrap:wrap;gap:.3rem}.ft-scale-preset[data-v-6c2fcbee]{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;height:1.75rem;padding:0 .45rem;border:1px solid color-mix(in srgb,var(--zl-line, #c5ccd4) 55%,transparent);border-radius:var(--zl-radius-sm, 6px);background:var(--ft-btn-bg);color:var(--ft-ink);font-size:.75rem;font-weight:600;cursor:pointer}.ft-scale-preset[data-v-6c2fcbee]:hover{background:var(--ft-btn-hover);border-color:color-mix(in srgb,var(--zl-accent, #2f6f6a) 45%,transparent)}.ft-scale-custom[data-v-6c2fcbee]{display:flex;align-items:center;gap:.35rem}.ft-scale-input[data-v-6c2fcbee]{min-width:0;flex:1 1 6.5rem}.ft-scale-unit[data-v-6c2fcbee]{flex-shrink:0;font-size:.75rem;color:var(--ft-ink-muted)}.ft-studio-panel--right[data-v-6c2fcbee]{top:calc(var(--ft-panel-inset) + var(--ft-tool-pad) * 2 + var(--ft-tool-size) + var(--ft-tool-gap));right:var(--ft-panel-inset);bottom:auto;width:max-content;height:max-content;max-height:calc(100% - var(--ft-panel-inset) * 2 - var(--ft-tool-pad) * 2 - var(--ft-tool-size) - var(--ft-tool-gap));border-radius:var(--zl-radius, 10px);flex-direction:column;align-items:center;overflow:hidden}.ft-studio-panel--props[data-v-6c2fcbee]{left:var(--ft-panel-inset);right:calc(var(--ft-panel-inset) + var(--ft-tool-pad) * 2 + var(--ft-tool-size) + var(--ft-tool-gap));bottom:var(--ft-panel-inset);padding:.5rem .65rem;border-radius:var(--zl-radius, 10px);align-items:stretch;overflow:hidden}.ft-props-scroll[data-v-6c2fcbee]{--ft-props-lh: 1.55;--ft-props-size: .875rem;max-height:calc(var(--ft-props-size) * var(--ft-props-lh) * 3);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--zl-accent, #2f6f6a) var(--zl-paper, #e8ecef)}.ft-props-scroll[data-v-6c2fcbee]::-webkit-scrollbar{width:10px;height:10px}.ft-props-scroll[data-v-6c2fcbee]::-webkit-scrollbar-track{background:var(--zl-paper, #e8ecef);border-radius:999px}.ft-props-scroll[data-v-6c2fcbee]::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--zl-accent, #2f6f6a) 70%,#6b7585);border-radius:999px;border:2px solid var(--zl-paper, #e8ecef)}.ft-props-scroll[data-v-6c2fcbee]::-webkit-scrollbar-thumb:hover{background:var(--zl-accent, #2f6f6a)}.ft-studio-scroll[data-v-6c2fcbee]{display:flex;align-items:center;gap:var(--ft-tool-gap);min-width:0;min-height:0;box-sizing:border-box}.ft-studio-scroll--x[data-v-6c2fcbee]{flex:0 1 auto;display:flex;align-items:center;justify-content:flex-start;width:max-content;max-width:100%;min-width:0;height:auto;padding:0;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.ft-studio-scroll--y[data-v-6c2fcbee]{flex:0 1 auto;width:max-content;max-height:100%;flex-direction:column;align-items:center;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-gutter:auto;padding:0}.ft-icon-btn[data-v-6c2fcbee]{display:inline-flex;align-items:center;justify-content:center;width:var(--ft-tool-size);height:var(--ft-tool-size);flex-shrink:0;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--zl-line, #c5ccd4) 55%,transparent);border-radius:var(--zl-radius-sm, 6px);background:var(--ft-btn-bg);color:var(--ft-ink);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.ft-icon-btn[data-v-6c2fcbee]:hover:not(:disabled){background:var(--ft-btn-hover);border-color:color-mix(in srgb,var(--zl-accent, #2f6f6a) 45%,transparent)}.ft-icon-btn[data-v-6c2fcbee]:focus-visible{outline:2px solid var(--zl-focus-ring, rgba(61, 138, 132, .55));outline-offset:1px}.ft-icon-btn[data-v-6c2fcbee]:disabled{opacity:.38;cursor:not-allowed}.ft-icon-btn.is-pressed[data-v-6c2fcbee]{background:var(--ft-btn-pressed);border-color:color-mix(in srgb,var(--zl-accent, #2f6f6a) 55%,transparent);color:var(--zl-accent-deep, var(--zl-accent))}.ft-icon-btn.is-warning[data-v-6c2fcbee]{background:var(--ft-btn-warning);border-color:color-mix(in srgb,var(--zl-warn, #9a6b1f) 50%,transparent);color:var(--zl-warn, #9a6b1f)}.ft-icon-btn--lg[data-v-6c2fcbee]{width:var(--ft-tool-size);height:var(--ft-tool-size)}.ft-sep[data-v-6c2fcbee]{width:1px;height:1.35rem;flex-shrink:0;align-self:center;background:var(--ft-panel-border);margin:0}.ft-sep--y[data-v-6c2fcbee]{width:1.35rem;height:1px;margin:0;align-self:center}.ft-zoom[data-v-6c2fcbee]{display:flex;align-items:center;justify-content:center;width:var(--ft-tool-size);min-height:var(--ft-tool-size);font-size:10px;font-variant-numeric:tabular-nums;color:var(--ft-ink-muted);user-select:none}.ft-props-text[data-v-6c2fcbee]{margin:0;font-size:var(--ft-props-size, .875rem);line-height:var(--ft-props-lh, 1.55);word-break:break-word}.ft-prop-key[data-v-6c2fcbee]{color:var(--zl-ink-muted, #6b7585);font-weight:400}.ft-prop-colon[data-v-6c2fcbee]{color:var(--zl-ink-muted, #6b7585);font-weight:400;margin-right:.2em}.ft-prop-val[data-v-6c2fcbee]{display:inline;padding:.05em .35em;border-radius:var(--zl-radius-sm, 6px);background:color-mix(in srgb,var(--zl-accent-soft, rgba(47, 111, 106, .12)) 90%,var(--zl-surface, #f7f8fa));color:var(--zl-ink, #12181f);font-weight:700;box-decoration-break:clone;-webkit-box-decoration-break:clone}.ft-prop-sep[data-v-6c2fcbee]{color:var(--zl-ink-muted, #6b7585)}@media(max-width:640px){.ft-studio-panel--right[data-v-6c2fcbee]{top:auto;bottom:var(--ft-panel-inset);right:50%;left:auto;transform:translate(50%);width:max-content;max-width:calc(100% - var(--ft-panel-inset) * 2);height:auto;flex-direction:row;align-items:center;overflow:hidden}.ft-studio-scroll--y[data-v-6c2fcbee]{flex-direction:row;width:max-content;max-width:100%;flex:0 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:auto;align-items:center}.ft-sep--y[data-v-6c2fcbee]{width:1px;height:1.35rem;margin:0}.ft-studio-panel--props[data-v-6c2fcbee]{right:var(--ft-panel-inset);bottom:calc(var(--ft-panel-inset) + var(--ft-tool-pad) * 2 + var(--ft-tool-size) + var(--ft-tool-gap))}.ft-zoom[data-v-6c2fcbee]{width:var(--ft-tool-size);min-width:var(--ft-tool-size)}}
