.node{fill:var(--color-card);stroke:var(--color-border);stroke-width:1.25px}.node--app{stroke:color-mix(in oklch, var(--color-primary) 35%, var(--color-border))}.node--cloud{stroke:color-mix(in oklch, var(--color-primary) 50%, var(--color-border))}.node-label{font-family:var(--font-display);fill:var(--color-foreground);font-size:13px}.node-eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;fill:var(--color-muted-foreground);font-size:9px}.node-group--hidden{opacity:.15;transition:opacity .6s ease-out}.node-group--visible{opacity:1;transition:opacity .6s ease-out}.edge{stroke-width:1.5px;stroke-linecap:round;transition:stroke .4s ease-out,opacity .4s ease-out}.edge--hidden{stroke:var(--color-border);opacity:0}.edge--settled{stroke:var(--color-muted-foreground);opacity:.5;stroke-dasharray:0}.edge--active{stroke:var(--color-primary);opacity:1;stroke-dasharray:6 4;animation:1.6s linear infinite svelte-ganq9r-edge-flow}@keyframes svelte-ganq9r-edge-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-20px}}.edge-label{font-family:var(--font-mono);letter-spacing:.06em;fill:var(--color-muted-foreground);font-size:10px;transition:opacity .4s ease-out,fill .4s ease-out}.edge-label--off{opacity:0}.edge-label--on{opacity:1}@media (prefers-reduced-motion:reduce){.edge--active{animation:none}}
