:root{--color-ink:#1a150f;--color-bone:#e8e4dc;--color-ash:#a8a29a;--color-mute:#8a857c;--color-faint:#4a4740;--color-ghost:#3e3b36;--color-rule:#e8e4dc12;--color-hairline:#e8e4dc1a;--color-hairline-strong:#e8e4dc24;--color-accent:#f0a83a;--color-degraded:#8a857c;--color-down:#5a3a38;--color-accent-amber:#f0a83a;--color-accent-rust:#ea5f36;--color-accent-green:#63cf60;--color-accent-blue:#2bb0c4;--font-serif:Spectral, Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--font-display:"Instrument Serif", Spectral, Georgia, serif;--duration-pulse:2.8s;--duration-flow:3.2s;--duration-swap:.62s;--duration-ui:.18s;--ease-pulse:cubic-bezier(.4, 0, .6, 1);--ease-flow:linear;--ease-swap:cubic-bezier(.22, .61, .36, 1);--animate-dot-pulse:dotPulse var(--duration-pulse) var(--ease-pulse) infinite;--animate-ring-pulse:ringPulse var(--duration-pulse) ease-out infinite;--animate-edge-flow:edgeFlow var(--duration-flow) var(--ease-flow) infinite;--animate-node-wake:nodeWake calc(var(--duration-flow)*1.5) var(--ease-pulse) infinite;--animate-face-in:faceIn var(--duration-swap) var(--ease-swap) both;--animate-float-y:floatY 7s ease-in-out infinite;--animate-scroll-hint:scrollHint 2.2s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.82)}}@keyframes ringPulse{0%{opacity:.5;transform:scale(1)}70%,to{opacity:0;transform:scale(2.6)}}@keyframes edgeFlow{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}@keyframes nodeWake{0%,55%,to{opacity:.55}72%{opacity:1}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-.076em)}}@keyframes scrollHint{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes faceIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.vue-flow{z-index:0;direction:ltr;width:100%;height:100%;position:relative;overflow:hidden}.vue-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__connection-path,.vue-flow__edge-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-textbg{fill:#fff}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.vue-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{pointer-events:none;min-width:5px;min-height:5px;position:absolute}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{bottom:0;left:50%;transform:translate(-50%,50%)}.vue-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{z-index:5;margin:15px;position:absolute}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.vue-flow__minimap{background-color:#fff}.vue-flow__minimap.pannable{cursor:grab}.vue-flow__minimap.dragging{cursor:grabbing}.vue-flow__minimap-mask.pannable{cursor:grab}:root{--surface-1:color-mix(in srgb, var(--color-bone) 3%, var(--color-ink));--surface-2:color-mix(in srgb, var(--color-bone) 5.5%, var(--color-ink));--surface-3:color-mix(in srgb, var(--color-bone) 9%, var(--color-ink));--surface-glass:color-mix(in srgb, var(--color-ink) 82%, transparent);--state-running:var(--color-accent);--state-ok:#7fbf6a;--state-fail:#d8613c;--state-skip:var(--color-faint);--radius:3px;--rail-width:264px;--inspector-width:340px;--topbar-height:52px;--shadow-panel:0 1px 0 #0006, 0 12px 32px #00000059;--focus-ring:0 0 0 1px var(--color-ink), 0 0 0 3px var(--color-accent)}*,:after,:before{box-sizing:border-box}#__nuxt,body,html{height:100%}body{background:var(--color-ink);color:var(--color-bone);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius);outline:none}.label{letter-spacing:.14em;text-transform:uppercase;color:var(--color-mute);font-size:10px}.label,.mono{font-family:var(--font-mono)}.mono{font-size:12px}.muted{color:var(--color-ash)}.faint{color:var(--color-mute)}.button{border:1px solid var(--color-hairline);border-radius:var(--radius);color:var(--color-bone);font-family:var(--font-mono);cursor:pointer;transition:background var(--duration-ui) var(--ease-swap),border-color var(--duration-ui) var(--ease-swap),color var(--duration-ui) var(--ease-swap);background:0 0;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:inline-flex}.button:hover:not(:disabled){background:var(--surface-2);border-color:var(--color-hairline-strong)}.button:disabled{color:var(--color-faint);cursor:not-allowed}.button--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-ink);font-weight:500}.button--primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 88%,var(--color-bone));border-color:color-mix(in srgb,var(--color-accent) 88%,var(--color-bone))}.button--primary:disabled{background:var(--surface-2);border-color:var(--color-hairline)}.button--quiet{color:var(--color-ash);border-color:#0000}.button--quiet:hover:not(:disabled){color:var(--color-bone)}.input,.select,.textarea{border:1px solid var(--color-hairline);border-radius:var(--radius);background:var(--color-ink);width:100%;font-family:var(--font-mono);transition:border-color var(--duration-ui) var(--ease-swap);padding:6px 8px;font-size:12px}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-hairline-strong)}.input::-moz-placeholder{color:var(--color-faint)}.textarea::-moz-placeholder{color:var(--color-faint)}.input::placeholder,.textarea::placeholder{color:var(--color-faint)}.textarea{resize:vertical;min-height:96px;line-height:1.5}.kbd{border:1px solid var(--color-hairline);background:var(--surface-2);min-width:18px;font-family:var(--font-mono);text-align:center;color:var(--color-ash);border-bottom-width:2px;border-radius:3px;padding:1px 5px;font-size:10px;display:inline-block}.panel{background:var(--surface-1);border:1px solid var(--color-rule)}.panel__header{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.scroll{scrollbar-width:thin;scrollbar-color:var(--color-ghost) transparent;overflow-y:auto}.vue-flow__pane{cursor:default}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__handle{border:1px solid var(--color-mute);background:var(--color-ink);width:9px;height:9px;transition:transform var(--duration-ui) var(--ease-swap),border-color var(--duration-ui) var(--ease-swap),background var(--duration-ui) var(--ease-swap);border-radius:50%}.vue-flow__handle.connectingfrom,.vue-flow__handle.connectingto,.vue-flow__handle:hover{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.35)}.vue-flow__handle:after{content:"";position:absolute;inset:-6px}.vue-flow__edge-path{stroke:var(--color-ghost);stroke-width:1.5px;transition:stroke var(--duration-ui) var(--ease-swap)}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:hover .vue-flow__edge-path{stroke:var(--color-bone)}.vue-flow__connectionline path{stroke:var(--color-accent);stroke-width:1.5px;stroke-dasharray:4 3}.vue-flow__selection{background:color-mix(in srgb,var(--color-accent) 10%,transparent);border:1px solid var(--color-accent)}.vue-flow__minimap{border:1px solid var(--color-rule)}.node,.vue-flow__minimap{background:var(--surface-1);border-radius:var(--radius)}.node{border:1px solid var(--color-hairline);width:216px;transition:border-color var(--duration-ui) var(--ease-swap),box-shadow var(--duration-ui) var(--ease-swap),background var(--duration-ui) var(--ease-swap);padding:10px 12px 12px;position:relative;box-shadow:0 1px #00000059}.node:hover{border-color:var(--color-hairline-strong)}.node.is-selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.node.is-focused{box-shadow:var(--focus-ring)}.node.is-running{border-color:var(--state-running);box-shadow:0 0 0 1px var(--state-running),0 0 24px color-mix(in srgb,var(--state-running) 30%,transparent)}.node.is-succeeded{border-color:color-mix(in srgb,var(--state-ok) 60%,transparent)}.node.is-failed{border-color:var(--state-fail)}.node.is-skipped{opacity:.55}.node__kind{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.node__title{overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.25}.node__summary{font-family:var(--font-mono);color:var(--color-mute);overflow-wrap:anywhere;margin:4px 0 0;font-size:11px}.node__ports{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.node__port-label{color:var(--color-faint)}.node__badge,.node__port-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.node__badge{align-items:center;gap:4px;display:inline-flex}.dot{background:var(--color-ghost);border-radius:50%;flex:none;width:6px;height:6px}.dot--running{background:var(--state-running);animation:var(--animate-dot-pulse)}.dot--succeeded{background:var(--state-ok)}.dot--failed{background:var(--state-fail)}.dot--skipped{background:var(--state-skip)}.edge-payload{font-family:var(--font-mono);fill:var(--color-ash);font-size:10px}.edge-payload__plate{fill:var(--surface-glass);stroke:var(--color-rule)}.vue-flow__edge.is-live .vue-flow__edge-path{stroke:var(--color-accent);stroke-dasharray:6 4;animation:var(--animate-edge-flow)}.vue-flow__edge.is-delivered .vue-flow__edge-path{stroke:color-mix(in srgb,var(--state-ok) 70%,transparent)}.scroll::-webkit-scrollbar{width:8px;height:8px}.scroll::-webkit-scrollbar-thumb{background:var(--color-ghost);border-radius:4px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.vue-flow__edge.is-live .vue-flow__edge-path{stroke-dasharray:6 4}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#__nuxt{grid-template-rows:100%;height:100dvh;display:grid;overflow:hidden}
