.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.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 .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation: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:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:white}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.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:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;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:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.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.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{font-size:10px;background:rgba(255,255,255,.5);padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@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}.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-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border:1px solid #1a192b;background-color:white}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px rgba(0,0,0,.08)}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:rgba(240,240,240,.25)}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.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{box-shadow:0 0 2px 1px rgba(0,0,0,.08)}.react-flow__controls-button{background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform: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.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.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.bottom,.react-flow__resize-control.line.top{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%}.node{position:relative;box-sizing:border-box;font-family:var(--font-space-grotesk),"Space Grotesk",system-ui,sans-serif;color:#e9f1fb;border-radius:20px;overflow:hidden;border:1.5px solid color-mix(in oklab,var(--accent) 92%,white 12%);background:radial-gradient(135% 80% at 50% -12%,color-mix(in oklab,var(--accent) 22%,transparent),transparent 58%),linear-gradient(180deg,#182a40 0,#0e1b2c 46%,#0a1422 100%);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 18%,transparent),0 18px 40px -18px rgba(0,0,0,.85),0 0 30px -10px color-mix(in oklab,var(--accent) 55%,transparent),inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px rgba(255,255,255,.02);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s ease,border-color .22s ease;user-select:none}.node:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 22%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;pointer-events:none;opacity:.5}.logo-tile{position:relative;border-radius:16px;overflow:hidden;background:radial-gradient(80% 70% at 50% 34%,color-mix(in oklab,var(--accent) 30%,transparent),transparent 72%),linear-gradient(180deg,#0c1727 0,#060e19 100%);border:1px solid color-mix(in oklab,var(--accent) 22%,rgba(255,255,255,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 28px -6px color-mix(in oklab,var(--accent) 40%,transparent),0 0 22px -2px color-mix(in oklab,var(--accent) 50%,transparent),0 0 54px 2px color-mix(in oklab,var(--accent) 26%,transparent)}.logo-tile--lg{width:120px;height:120px}.logo-tile--md{width:104px;height:104px}.logo-tile--sm{width:64px;height:64px;border-radius:13px;flex:0 0 auto}.logo-tile__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:16%;display:block}.logo-tile__placeholder{position:absolute;inset:0;background-image:repeating-linear-gradient(-45deg,color-mix(in oklab,var(--accent) 16%,transparent) 0 7px,transparent 7px 14px)}.node__name{font-weight:600;font-size:19px;letter-spacing:-.01em;line-height:1.05;color:#f1f6fc}.cat{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-weight:600;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-bright);padding:5px 11px 5px 10px;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 38%,transparent);background:color-mix(in oklab,var(--accent) 14%,transparent);box-shadow:inset 0 0 12px -4px color-mix(in oklab,var(--accent) 50%,transparent)}.cat--plain{border:none;background:none;box-shadow:none;padding:0;color:color-mix(in oklab,var(--accent-bright) 78%,#aebfce)}.cat__dot{width:6px;height:6px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 8px 1px color-mix(in oklab,var(--accent-bright) 80%,transparent)}.node-tags{display:flex;gap:6px;justify-content:center;flex-wrap:nowrap}.node .tag{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-weight:600;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:color-mix(in oklab,var(--accent-bright) 78%,#c3cfda);padding:4px 9px;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 32%,transparent);background:color-mix(in oklab,var(--accent) 9%,transparent)}.node .tag__dot{width:6px;height:6px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 8px 1px color-mix(in oklab,var(--accent-bright) 80%,transparent)}.node__body{display:flex;flex-direction:column;align-items:center}.node--stacked{width:200px;padding:18px 18px 20px}.node__body--stacked{gap:14px}.node__body--stacked .logo-tile{margin-top:2px}.node__body--stacked .node__name{margin-top:1px}.node--hero{width:212px;padding:12px}.node__body--hero{align-items:stretch}.node--hero .hero-img{position:relative;height:142px;border-radius:14px;overflow:hidden;background:radial-gradient(78% 88% at 50% 28%,color-mix(in oklab,var(--accent) 32%,transparent),transparent 70%),linear-gradient(180deg,#0b1626 0,#050c16 100%);border:1px solid color-mix(in oklab,var(--accent) 20%,rgba(255,255,255,.05));box-shadow:inset 0 0 34px -8px color-mix(in oklab,var(--accent) 45%,transparent),0 0 26px -2px color-mix(in oklab,var(--accent) 48%,transparent),0 0 64px 4px color-mix(in oklab,var(--accent) 24%,transparent)}.node--hero .hero-img .hero-logo{position:absolute;inset:0;width:100%;height:100%;border:none;background:none;box-shadow:none;border-radius:14px}.node--hero .hero-img .hero-glint{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.16) 47%,color-mix(in oklab,var(--accent-bright) 45%,transparent) 50%,rgba(255,255,255,.16) 53%,transparent 60%);background-size:260% 100%;background-repeat:no-repeat;background-position:150% 0;mix-blend-mode:screen}.node--hero .hero-foot{padding:13px 6px 6px}.node--hero .hero-foot__text{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px}@media (prefers-reduced-motion:no-preference){.node--hero .hero-img .hero-glint{will-change:background-position;animation:hero-glint 5s ease-in-out infinite}}@keyframes hero-glint{0%{background-position:150% 0}55%{background-position:-55% 0}to{background-position:-55% 0}}.node--horizontal{width:236px;padding:14px}.node__body--row{flex-direction:row;align-items:center;gap:14px}.node--horizontal .row-text{display:flex;flex-direction:column;gap:8px;min-width:0}.node--horizontal .node__name{font-size:18px}.node--server{width:216px;padding:12px;--srv-cycle:3.6s}.node__body--server{align-items:stretch}.node--server .srv-canvas{position:relative;height:150px;border-radius:12px;overflow:hidden;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 7px),radial-gradient(82% 80% at 28% 18%,color-mix(in oklab,var(--accent) 22%,transparent),transparent 70%),linear-gradient(180deg,#0e1a2a 0,#060e19 100%);border:1px solid color-mix(in oklab,var(--accent) 20%,rgba(255,255,255,.05));box-shadow:inset 0 0 30px -10px color-mix(in oklab,var(--accent) 40%,transparent),0 0 26px -2px color-mix(in oklab,var(--accent) 42%,transparent),0 0 60px 4px color-mix(in oklab,var(--accent) 20%,transparent);padding:14px;display:flex;flex-direction:column;align-items:center;gap:13px}.node--server .srv-logo{width:100%;flex:1 1 auto;min-height:88px;height:auto;border-radius:12px}.node--server .srv-leds{display:flex;gap:11px;justify-content:center}.node--server .srv-led{width:9px;height:9px;border-radius:50%;background:var(--accent-bright);transform-origin:center;box-shadow:0 0 7px 1px color-mix(in oklab,var(--accent-bright) 80%,transparent)}.node--server .srv-foot{padding:13px 6px 6px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}.node--server .srv-foot .node__name{white-space:nowrap}@media (prefers-reduced-motion:no-preference){.node--server .srv-led{will-change:transform,opacity;animation:srv-pulse var(--srv-cycle) ease-in-out infinite}}@keyframes srv-pulse{0%,to{opacity:.28;transform:scale(.84)}50%{opacity:1;transform:scale(1)}}.node--hub{--hub-fill-glow:color-mix(in oklab,var(--accent) 24%,#182a40);width:232px;height:210px;border:none;overflow:visible;padding:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.node--hub:after{display:none}.node--hub .hub-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0;pointer-events:none}.node--hub .hub-inner{position:absolute;inset:0;z-index:1;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:14px 38px;text-align:center}.node--hub .hub-core{width:74px;height:74px;border-radius:17px}.node--hub .hub-foot{display:flex;flex-direction:column;align-items:center;gap:7px}.node--hub .node__name{font-size:18px}.node.node--hub:hover{transform:none;box-shadow:none;border-color:transparent}.node--hub .hub-pulse{fill:none;stroke:var(--accent-bright);stroke-dasharray:13 87;stroke-dashoffset:0;opacity:.9;filter:drop-shadow(0 0 3px color-mix(in oklab,var(--accent-bright) 90%,transparent))}.node--hub .hub-lane{stroke:color-mix(in oklab,var(--accent) 42%,transparent);stroke-width:1;stroke-linecap:round}.node--hub .hub-flow{stroke:var(--accent-bright);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1.6 7}.node--hub .hub-port{fill:var(--accent-bright);filter:drop-shadow(0 0 3px color-mix(in oklab,var(--accent-bright) 85%,transparent))}.node--hub .hub-port--in{fill:color-mix(in oklab,var(--accent-bright) 88%,white)}.node--hub .hub-status{white-space:nowrap}@media (prefers-reduced-motion:no-preference){.node--hub .hub-pulse{will-change:stroke-dashoffset;animation:hub-perimeter 3.6s linear infinite}.node--hub .hub-flow{will-change:stroke-dashoffset;animation:hub-flow 1s linear infinite}.node--hub .hub-port{will-change:opacity;animation:hub-port-pulse 1.6s ease-in-out infinite}.node.node--hub:hover .hub-flow{animation-duration:.5s}.node.node--hub:hover .hub-pulse{animation-duration:2s}}@keyframes hub-perimeter{to{stroke-dashoffset:-100}}@keyframes hub-flow{to{stroke-dashoffset:-8.6}}@keyframes hub-port-pulse{0%,to{opacity:.45}50%{opacity:1}}.node--serverless{width:230px;padding:12px}.node__body--serverless{align-items:stretch}.node--serverless .sl-canvas{position:relative;height:150px;border-radius:14px;overflow:hidden;background:radial-gradient(76% 86% at 50% 42%,color-mix(in oklab,var(--accent) 30%,transparent),transparent 70%),linear-gradient(180deg,#0b1626 0,#050c16 100%);border:1px solid color-mix(in oklab,var(--accent) 20%,rgba(255,255,255,.05));box-shadow:inset 0 0 34px -8px color-mix(in oklab,var(--accent) 42%,transparent),0 0 26px -2px color-mix(in oklab,var(--accent) 44%,transparent),0 0 64px 4px color-mix(in oklab,var(--accent) 22%,transparent);display:grid;place-items:center}.node--serverless .sl-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.node--serverless .sl-inst{fill:color-mix(in oklab,var(--accent) 30%,#16263e);stroke:var(--accent-bright);stroke-width:1.2;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 4px color-mix(in oklab,var(--accent) 70%,transparent));opacity:1}.node--serverless .sl-core{width:58px;height:58px;border-radius:14px;position:relative;z-index:2}.node--serverless .sl-foot{padding:13px 6px 6px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}.node--serverless .sl-foot .node__name{white-space:nowrap}@media (prefers-reduced-motion:no-preference){.node--serverless .sl-inst{will-change:transform,opacity;animation:sl-spawn 2.6s ease-in-out infinite}}@keyframes sl-spawn{0%{opacity:0;transform:scale(.2)}14%{opacity:1;transform:scale(1)}58%{opacity:1;transform:scale(1)}78%{opacity:0;transform:scale(.45)}to{opacity:0;transform:scale(.2)}}.node--cloud{--cloud-top:color-mix(in oklab,var(--accent) 58%,#cfe6ff);--cloud-bot:color-mix(in oklab,var(--accent) 40%,#16263e);width:230px;padding:12px}.node__body--cloud{align-items:stretch}.node--cloud .cloud-canvas{position:relative;height:150px;border-radius:14px;overflow:hidden;background:radial-gradient(76% 86% at 50% 38%,color-mix(in oklab,var(--accent) 26%,transparent),transparent 70%),linear-gradient(180deg,#0b1626 0,#050c16 100%);border:1px solid color-mix(in oklab,var(--accent) 20%,rgba(255,255,255,.05));box-shadow:inset 0 0 34px -8px color-mix(in oklab,var(--accent) 42%,transparent),0 0 26px -2px color-mix(in oklab,var(--accent) 44%,transparent),0 0 64px 4px color-mix(in oklab,var(--accent) 22%,transparent);display:grid;place-items:center}.node--cloud .cloud-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.node--cloud .cloud-core{width:58px;height:58px;border-radius:14px;position:relative;z-index:2}.node--cloud .cloud-dot{fill:var(--accent-bright)}.node--cloud .cloud-foot{padding:13px 6px 6px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}.node--cloud .cloud-foot .node__name{white-space:nowrap}@media (prefers-reduced-motion:no-preference){.node--cloud .cloud-dot{will-change:transform,opacity;animation:cloud-rise 2.2s ease-in-out infinite}}@keyframes cloud-rise{0%{transform:translateY(7px);opacity:0}25%{opacity:1}70%{opacity:1}to{transform:translateY(-22px);opacity:0}}.node--cluster{width:220px;padding:12px}.node__body--cluster{align-items:stretch}.node--cluster .cluster-canvas{position:relative;height:150px;border-radius:14px;overflow:hidden;background:radial-gradient(76% 86% at 50% 50%,color-mix(in oklab,var(--accent) 28%,transparent),transparent 72%),linear-gradient(180deg,#0b1626 0,#050c16 100%);border:1px solid color-mix(in oklab,var(--accent) 20%,rgba(255,255,255,.05));box-shadow:inset 0 0 34px -8px color-mix(in oklab,var(--accent) 42%,transparent),0 0 26px -2px color-mix(in oklab,var(--accent) 44%,transparent),0 0 64px 4px color-mix(in oklab,var(--accent) 22%,transparent);display:grid;place-items:center}.node--cluster .cluster-mesh{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.node--cluster .cluster-edge{stroke:color-mix(in oklab,var(--accent) 38%,transparent);stroke-width:1;stroke-linecap:round}.node--cluster .cluster-flow{stroke:var(--accent-bright);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:2 7;stroke-dashoffset:0;filter:drop-shadow(0 0 2px color-mix(in oklab,var(--accent-bright) 80%,transparent))}.node--cluster .cluster-worker{fill:color-mix(in oklab,var(--accent) 55%,#16263e);stroke:var(--accent-bright);stroke-width:1.2;filter:drop-shadow(0 0 3px color-mix(in oklab,var(--accent) 70%,transparent))}.node--cluster .cluster-core{width:56px;height:56px;border-radius:14px;position:relative;z-index:2}.node--cluster .cluster-foot{padding:12px 6px 5px;flex-direction:column;text-align:center}.node--cluster .cluster-foot,.node--cluster .cluster-foot__meta{display:flex;align-items:center;gap:8px}.node--cluster .cluster-badge{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-weight:600;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklab,var(--accent-bright) 85%,white);padding:3px 8px;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 42%,transparent);background:color-mix(in oklab,var(--accent) 16%,transparent);box-shadow:inset 0 0 10px -4px color-mix(in oklab,var(--accent) 48%,transparent)}@media (prefers-reduced-motion:no-preference){.node--cluster .cluster-flow{will-change:stroke-dashoffset;animation:cluster-flow 1.1s linear infinite}.node--cluster .cluster-worker{will-change:opacity;animation:cluster-worker-pulse 2.2s ease-in-out infinite}}@keyframes cluster-flow{to{stroke-dashoffset:-9}}@keyframes cluster-worker-pulse{0%,to{opacity:.55}50%{opacity:1}}.node--api{width:188px;height:64px;padding:0;overflow:visible;display:flex;align-items:center;justify-content:center}.node--api,.node--api:after{border-radius:999px}.node--api .api-port{position:absolute;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;z-index:3;background:var(--accent-bright);box-shadow:0 0 8px 1px color-mix(in oklab,var(--accent-bright) 80%,transparent);pointer-events:none}.node--api .api-port--l{left:6px}.node--api .api-port--r{right:6px}.node--api .api-lane{position:absolute;inset:0 18px;z-index:1}.node--api .api-stream{position:absolute;left:0;right:0;height:2px;border-radius:1px;background-image:repeating-linear-gradient(90deg,var(--accent-bright) 0 4px,transparent 4px 14px),linear-gradient(90deg,color-mix(in oklab,var(--accent) 38%,transparent),color-mix(in oklab,var(--accent) 38%,transparent));background-position:0 0,0 0;box-shadow:0 0 7px -1px color-mix(in oklab,var(--accent) 75%,transparent)}.node--api .api-stream--fwd{top:calc(36% - 1px)}.node--api .api-stream--rev{top:calc(64% - 1px);opacity:.26}.node--api.api--duplex .api-stream--rev{opacity:.95}.node--api .api-label{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 16px;border-radius:13px;background:rgba(6,12,20,.78);border:1px solid color-mix(in oklab,var(--accent) 36%,transparent);box-shadow:inset 0 0 12px -4px color-mix(in oklab,var(--accent) 50%,transparent),0 0 18px -4px color-mix(in oklab,var(--accent) 55%,transparent)}.node--api .api-proto{font-weight:600;font-size:16px;letter-spacing:-.01em;line-height:1;color:#f1f6fc}.node--api .api-handle{width:9px;height:9px;border-radius:50%;background:color-mix(in oklab,var(--accent-bright) 60%,#0a1422);border:1px solid color-mix(in oklab,var(--accent) 50%,transparent);z-index:4}.node--api .api-handle--port{width:13px;height:13px;background:var(--accent-bright);border:2px solid #0a1422;box-shadow:0 0 9px 1px color-mix(in oklab,var(--accent-bright) 75%,transparent)}@media (prefers-reduced-motion:no-preference){.node--api .api-stream--fwd{animation:api-flow .9s linear infinite}.node--api .api-stream--rev{animation:api-flow .9s linear infinite reverse}.node--api .api-port--l{animation:api-port-pulse 1.8s ease-in-out infinite}.node--api .api-port--r{animation:api-port-pulse 1.8s ease-in-out .45s infinite}.node.node--api:hover .api-stream{animation-duration:.45s}}@keyframes api-flow{to{background-position:14px 0,0 0}}@keyframes api-port-pulse{0%,to{opacity:.5}50%{opacity:1}}.node:hover{transform:translateY(-4px);border-color:color-mix(in oklab,var(--accent) 100%,white 18%);box-shadow:0 0 0 5px color-mix(in oklab,var(--accent) 30%,transparent),0 26px 52px -20px rgba(0,0,0,.9),0 0 56px -6px color-mix(in oklab,var(--accent) 80%,transparent),inset 0 1px 0 rgba(255,255,255,.18)}.node__delete{position:absolute;top:8px;right:8px;z-index:1000;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.18);color:#fff;background:oklch(.62 .2 18);box-shadow:0 4px 12px -4px rgba(0,0,0,.7);opacity:0;cursor:pointer;transition:opacity .2s ease,transform .2s ease,background .2s ease}.node:hover .node__delete{opacity:1}.node__delete:hover{background:oklch(.55 .22 18);transform:scale(1.1)}.node .node__handle{width:10px;height:10px;border-radius:50%;background:var(--accent-bright);border:2px solid #0a1422;box-shadow:0 0 8px 1px color-mix(in oklab,var(--accent-bright) 70%,transparent)}.node__service{display:flex;justify-content:center;margin-top:10px}.node__service-input,.node__service-label{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-weight:600;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:color-mix(in oklab,var(--accent-bright) 80%,#c3cfda);padding:4px 9px;border-radius:7px;border:1px solid color-mix(in oklab,var(--accent) 32%,transparent);background:color-mix(in oklab,var(--accent) 10%,transparent)}.node__service-label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.node__service-input{outline:none;min-width:60px;max-width:130px;text-align:center}.node--drum{width:112px;padding:14px 8px 12px;border-radius:50%/14px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}.node--drum .logo-tile--md{width:52px;height:52px}.node--drum .node__name{font-size:10px;line-height:1.05}.node--drum .drum-img{margin:2px 0 1px}.node--drum .drum-foot{display:flex;flex-direction:column;align-items:center;gap:5px}.node--drum .drum-scan{position:absolute;left:4px;right:4px;top:12px;height:17px;pointer-events:none;border-radius:50%;background:radial-gradient(58% 100% at 50% 50%,color-mix(in oklab,var(--accent-bright) 60%,transparent),transparent 74%);mix-blend-mode:screen;opacity:0;will-change:transform,opacity}@media (prefers-reduced-motion:no-preference){.node--drum .drum-scan{animation:drum-scan 3s ease-in-out infinite}}@keyframes drum-scan{0%{transform:translateY(0);opacity:0}16%{opacity:.9}84%{opacity:.9}to{transform:translateY(74px);opacity:0}}.node--drum .node-tags .tag{font-size:7px;padding:2px 6px}.node--drum .logo-tile__monogram{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-space-grotesk),"Space Grotesk",system-ui,sans-serif;font-weight:700;font-size:19px;color:color-mix(in oklab,var(--accent-bright) 82%,#e9f1fb);text-shadow:0 0 7px color-mix(in oklab,var(--accent) 60%,transparent)}.node--drum .drum-handle{width:6px;height:6px;border-radius:50%;background:var(--accent-bright);border:1.5px solid #0a1422;box-shadow:0 0 5px 1px color-mix(in oklab,var(--accent-bright) 70%,transparent);z-index:4}.host{--h-line:rgba(150,175,210,0.16);box-sizing:border-box;width:100%;height:100%;flex-direction:column;font-family:Space Grotesk,system-ui,sans-serif;color:#e7eef7;border-radius:26px;border:1px solid color-mix(in oklab,var(--accent) 26%,rgba(255,255,255,.1));background:radial-gradient(150% 80% at 0 0,color-mix(in oklab,var(--accent) 13%,transparent),transparent 46%),linear-gradient(165deg,#15212f 0,#101a26 48%,#0c141d 100%);box-shadow:0 40px 90px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.07);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.host,.host__header{position:relative;display:flex}.host__header{flex:0 0 auto;z-index:3;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--h-line);background:linear-gradient(180deg,rgba(20,30,42,.85),rgba(16,26,38,.7))}.host__id{display:flex;align-items:center;gap:13px;min-width:0}.host__logo{position:relative;width:46px;height:46px;flex:0 0 auto;border-radius:13px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(180deg,#0c1622,#060d16);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);color:color-mix(in oklab,var(--accent-bright) 70%,white)}.host__logo img{width:28px;height:28px;object-fit:contain}.host__logo svg{width:22px;height:22px;display:block}.host__titles{display:flex;flex-direction:column;gap:3px;min-width:0}.host__name{font-weight:600;font-size:19px;letter-spacing:-.01em;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host__type{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:rgba(176,194,216,.62);white-space:nowrap}.host__meta{display:flex;align-items:center;gap:12px;flex:0 0 auto}.host__role{display:inline-flex;align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-bright);padding:5px 11px;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 40%,transparent);background:color-mix(in oklab,var(--accent) 13%,transparent)}.host__role-dot{position:relative;width:6px;height:6px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 8px 1px color-mix(in oklab,var(--accent-bright) 80%,transparent)}.host__globe{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:rgba(190,208,228,.72);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}.host__globe svg{width:17px;height:17px}.host__role-dot:after{border-radius:50%}@property --host-edge{syntax:"<angle>";inherits:false;initial-value:0deg}.host:after,.host__role-dot:after{content:"";position:absolute;inset:0}.host:after{border-radius:inherit;padding:1.5px;pointer-events:none;opacity:.62;z-index:6;background:conic-gradient(from var(--host-edge),transparent 0deg 224deg,color-mix(in oklab,var(--accent) 70%,white) 300deg,rgba(255,255,255,.9) 330deg,transparent 358deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}@media (prefers-reduced-motion:no-preference){.host:after{animation:host-edge-spin 7s linear infinite}.host__role-dot:after{animation:host-beat 2.6s ease-out infinite}}@keyframes host-edge-spin{to{--host-edge:360deg}}@keyframes host-beat{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--accent-bright) 60%,transparent)}70%,to{box-shadow:0 0 0 7px transparent}}.host__body{flex:1 1 auto;position:relative;z-index:1;display:flex;flex-wrap:wrap;align-content:flex-start;gap:18px;padding:22px;margin:14px;border-radius:18px;border:1px dashed rgba(150,175,210,.18);background:radial-gradient(circle at 1px 1px,rgba(150,180,220,.06) 1px,transparent 1.4px) 0 0 /20px 20px,rgba(0,0,0,.18);box-shadow:inset 0 2px 14px -6px rgba(0,0,0,.6)}.k8s,.k8s-container{position:relative;height:100%}.k8s{--k-accent:oklch(0.74 0.13 200);--k-accent-bright:oklch(0.87 0.11 200);--k-green:oklch(0.86 0.14 155);box-sizing:border-box;width:100%;display:flex;flex-direction:column;font-family:Space Grotesk,system-ui,sans-serif;color:#e7eef7;border-radius:26px;border:1px solid color-mix(in oklab,var(--k-accent) 32%,rgba(255,255,255,.1));background:radial-gradient(150% 80% at 0 0,color-mix(in oklab,var(--k-accent) 16%,transparent),transparent 50%),radial-gradient(100% 60% at 100% 100%,color-mix(in oklab,var(--k-accent-bright) 8%,transparent),transparent 55%),linear-gradient(165deg,rgba(10,22,36,.88) 0,rgba(8,18,30,.92) 48%,rgba(6,14,24,.96) 100%);box-shadow:0 40px 90px -40px rgba(0,0,0,.85),0 0 60px -20px color-mix(in oklab,var(--k-accent) 28%,transparent),inset 0 1px 0 rgba(255,255,255,.09),inset 0 0 0 1px color-mix(in oklab,var(--k-accent) 12%,transparent);overflow:hidden}.k8s__header{flex:0 0 auto;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid color-mix(in oklab,var(--k-accent) 22%,rgba(150,175,210,.1));background:linear-gradient(180deg,color-mix(in oklab,var(--k-accent) 8%,rgba(14,24,38,.9)) 0,rgba(10,18,30,.75) 100%)}.k8s__header,.k8s__id{display:flex;align-items:center}.k8s__id{gap:12px;min-width:0}.k8s__helm{width:44px;height:44px;flex:0 0 auto;border-radius:13px;display:grid;place-items:center;overflow:hidden;color:color-mix(in oklab,var(--k-accent-bright) 80%,white);border:1px solid color-mix(in oklab,var(--k-accent) 42%,rgba(255,255,255,.1));background:radial-gradient(70% 70% at 50% 30%,color-mix(in oklab,var(--k-accent) 28%,transparent),transparent 75%),linear-gradient(180deg,rgba(12,24,38,.95) 0,rgba(6,14,24,.98) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 22px -4px color-mix(in oklab,var(--k-accent) 55%,transparent)}.k8s__helm svg{width:24px;height:24px;display:block}.k8s__helm img{width:28px;height:28px;object-fit:contain}.k8s__titles{display:flex;flex-direction:column;gap:3px;min-width:0}.k8s__name{font-weight:600;font-size:18px;letter-spacing:-.01em;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in oklab,var(--k-accent-bright) 20%,#e7eef7)}.k8s__type{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklab,var(--k-accent) 55%,rgba(176,194,216,.65));white-space:nowrap}.k8s__meta{display:flex;align-items:center;gap:10px;flex:0 0 auto}.k8s__pill{display:inline-flex;align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-weight:600;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:none;border:none;cursor:default}.k8s__pill--cp{color:var(--k-green);border:1px solid color-mix(in oklab,var(--k-green) 38%,transparent);background:color-mix(in oklab,var(--k-green) 12%,transparent)}.k8s__pill--cp.k8s__pill--down{color:oklch(.72 .17 25);border-color:color-mix(in oklab,oklch(.72 .17 25) 38%,transparent);background:color-mix(in oklab,oklch(.72 .17 25) 12%,transparent)}.k8s__pill--cp i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px 1px color-mix(in oklab,currentColor 80%,transparent)}.k8s__pill--ver{color:color-mix(in oklab,var(--k-accent-bright) 60%,rgba(190,206,226,.7));border:1px solid color-mix(in oklab,var(--k-accent) 24%,rgba(255,255,255,.1));background:color-mix(in oklab,var(--k-accent) 8%,rgba(255,255,255,.03));letter-spacing:.05em;text-transform:none}.k8s__body{flex:1 1 auto;position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:16px;margin:14px;padding:18px;border-radius:18px;border:1px dashed color-mix(in oklab,var(--k-accent) 30%,rgba(150,175,210,.12));background:radial-gradient(circle at 1px 1px,color-mix(in oklab,var(--k-accent) 7%,rgba(150,180,220,.04)) 1px,transparent 1.4px) 0 0 /20px 20px,color-mix(in oklab,var(--k-accent) 4%,rgba(0,0,0,.2));box-shadow:inset 0 2px 18px -6px rgba(0,0,0,.55),inset 0 0 0 1px color-mix(in oklab,var(--k-accent) 6%,transparent)}@media (prefers-reduced-motion:no-preference){.k8s__helm svg{animation:helm-spin 28s linear infinite}.k8s__pill--cp:not(.k8s__pill--down) i{animation:k8s-pod-beat 2.6s ease-out infinite}}@keyframes helm-spin{to{transform:rotate(1turn)}}@keyframes k8s-pod-beat{0%{box-shadow:0 0 0 0 color-mix(in oklab,currentColor 55%,transparent)}70%,to{box-shadow:0 0 0 6px transparent}}.node--lb{width:230px;padding:12px;--lb-cycle:3.9s}.node--lb .lb-canvas{position:relative;height:150px;border-radius:14px;overflow:hidden;background:radial-gradient(76% 86% at 42% 50%,color-mix(in oklab,var(--accent) 26%,transparent),transparent 70%),linear-gradient(180deg,#0b1626 0,#050c16 100%);border:1px solid color-mix(in oklab,var(--accent) 20%,rgba(255,255,255,.05));box-shadow:inset 0 0 34px -8px color-mix(in oklab,var(--accent) 42%,transparent),0 0 26px -2px color-mix(in oklab,var(--accent) 44%,transparent),0 0 64px 4px color-mix(in oklab,var(--accent) 22%,transparent)}.node--lb .lb-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.node--lb .lb-foot{padding:13px 6px 6px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}.node--lb .lb-foot .node__name{white-space:nowrap}.node--lb .lb-foot .lb-logo{width:22px;height:22px;object-fit:contain;border-radius:4px;flex-shrink:0}.node--lb .lb-lane{stroke:color-mix(in oklab,var(--accent) 38%,transparent);stroke-width:1;stroke-linecap:round}.node--lb .lb-flow{stroke:var(--accent-bright);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:2 8;opacity:.55}.node--lb .lb-flow--in{opacity:.95}.node--lb .lb-target{fill:color-mix(in oklab,var(--accent) 26%,#14202f);stroke:var(--accent);stroke-width:1.2;transform-box:fill-box;transform-origin:center}.node--lb .lb-port-in{fill:color-mix(in oklab,var(--accent-bright) 88%,white);filter:drop-shadow(0 0 3px color-mix(in oklab,var(--accent-bright) 85%,transparent))}.node--lb .lb-rotor-ring{fill:rgba(6,12,20,.55);stroke:color-mix(in oklab,var(--accent) 55%,transparent);stroke-width:1.2;filter:drop-shadow(0 0 4px color-mix(in oklab,var(--accent) 60%,transparent))}.node--lb .lb-arm{stroke:var(--accent-bright);stroke-width:2;stroke-linecap:round;transform-box:view-box;transform-origin:92px 75px;filter:drop-shadow(0 0 3px color-mix(in oklab,var(--accent-bright) 85%,transparent))}.node--lb .lb-pivot{fill:var(--accent-bright)}.node--lb .lb-x{display:none}.node--lb.lb--degraded .lb-x,.node--lb.lb-degraded .lb-x{display:block}.node--lb.lb--degraded .lb-x line,.node--lb.lb-degraded .lb-x line{stroke:oklch(.68 .19 25);stroke-width:1.6;stroke-linecap:round}.node--lb.lb--degraded .lb-target--mid,.node--lb.lb-degraded .lb-target--mid{fill:#1b2533;stroke:rgba(150,170,195,.38);animation:none!important}.node--lb.lb--degraded .lb-lane--mid,.node--lb.lb-degraded .lb-lane--mid{stroke:rgba(150,170,195,.16);stroke-dasharray:3 5}.node--lb.lb--degraded .lb-flow--mid,.node--lb.lb-degraded .lb-flow--mid{animation:none!important;opacity:0!important}.node--lb .lb-algo{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.02em;color:color-mix(in oklab,var(--accent-bright) 70%,#cdd9e8);text-transform:uppercase}.node--lb .lb-handle{width:9px;height:9px;border-radius:50%;background:color-mix(in oklab,var(--accent-bright) 60%,#0a1422);border:1px solid color-mix(in oklab,var(--accent) 50%,transparent);z-index:4}.node--lb .lb-handle--port{width:13px;height:13px;background:var(--accent-bright);border:2px solid #0a1422;box-shadow:0 0 9px 1px color-mix(in oklab,var(--accent-bright) 75%,transparent)}@media (prefers-reduced-motion:no-preference){.node--lb .lb-flow{opacity:0;animation:lb-dash 1s linear infinite,lb-gate var(--lb-cycle) linear infinite}.node--lb .lb-flow--in{opacity:.95;animation:lb-dash 1s linear infinite}.node--lb .lb-target{animation:lb-tpulse var(--lb-cycle) linear infinite}.node--lb .lb-arm{animation:lb-arm var(--lb-cycle) cubic-bezier(.65,.05,.3,1) infinite}.node--lb .lb-port-in{animation:lb-port-pulse 1.8s ease-in-out infinite}.node--lb.lb--degraded .lb-arm,.node--lb.lb-degraded .lb-arm{animation-name:lb-arm-deg}.node--lb.lb--degraded .lb-flow,.node--lb.lb-degraded .lb-flow{animation-name:lb-dash,lb-gate-deg}.node--lb.lb--degraded .lb-flow--in,.node--lb.lb-degraded .lb-flow--in{animation-name:lb-dash}.node--lb.lb--degraded .lb-target,.node--lb.lb-degraded .lb-target{animation-name:lb-tpulse-deg}}@keyframes lb-dash{to{stroke-dashoffset:-10}}@keyframes lb-arm{0%,28%{transform:rotate(-27deg)}33.3%,61%{transform:rotate(0deg)}66.6%,94%{transform:rotate(27deg)}to{transform:rotate(-27deg)}}@keyframes lb-arm-deg{0%,43%{transform:rotate(-27deg)}50%,93%{transform:rotate(27deg)}to{transform:rotate(-27deg)}}@keyframes lb-gate{0%,30%{opacity:.95}34%,to{opacity:0}}@keyframes lb-gate-deg{0%,45%{opacity:.95}51%,to{opacity:0}}@keyframes lb-tpulse{0%,30%{fill:var(--accent-bright);transform:scale(1.18)}36%,to{fill:color-mix(in oklab,var(--accent) 26%,#14202f);transform:scale(1)}}@keyframes lb-tpulse-deg{0%,45%{fill:var(--accent-bright);transform:scale(1.18)}51%,to{fill:color-mix(in oklab,var(--accent) 26%,#14202f);transform:scale(1)}}@keyframes lb-port-pulse{0%,to{opacity:.6}50%{opacity:1}}.api-edge-pill{position:absolute;pointer-events:all;display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:rgba(6,12,20,.82);border:1px solid color-mix(in oklab,var(--accent) 40%,transparent);box-shadow:inset 0 0 12px -5px color-mix(in oklab,var(--accent) 55%,transparent),0 0 16px -4px color-mix(in oklab,var(--accent) 60%,transparent);font-family:Space Grotesk,system-ui,sans-serif}.api-edge-proto{font-weight:600;font-size:13px;letter-spacing:-.01em;color:#f1f6fc;line-height:1}.api-edge-sub{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab,var(--accent-bright) 75%,#aebfce)}.api-edge-port{width:7px;height:7px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 8px 1px color-mix(in oklab,var(--accent-bright) 80%,transparent)}