@keyframes hero-stack-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes hero-stack-pulse{0%{opacity:0;top:0%}12%{opacity:1}88%{opacity:1}to{opacity:0;top:100%}}@keyframes hero-stack-drift{0%,to{transform:translate(0)}33%{transform:translate(4px,-6px)}66%{transform:translate(-3px,4px)}}.hero-stack-float{animation:7s ease-in-out infinite hero-stack-float}.hero-stack-pulse{animation:3.4s cubic-bezier(.45,0,.55,1) infinite hero-stack-pulse}.hero-stack-drift{animation:9s ease-in-out infinite hero-stack-drift}@media (prefers-reduced-motion:reduce){.hero-stack-float,.hero-stack-drift{animation:none}.hero-stack-pulse{animation:none;display:none}}@keyframes router-flow{0%{opacity:0;left:0%}12%{opacity:1}82%{opacity:1}to{opacity:0;left:calc(100% - 1rem)}}.router-flow-dot{animation:2.8s cubic-bezier(.45,0,.55,1) infinite router-flow}@media (prefers-reduced-motion:reduce){.router-flow-dot{animation:none;left:calc(50% - .5rem)}}@keyframes grid-sweep-x{0%{left:-2%}to{left:102%}}@keyframes grid-sweep-y{0%{top:-2%}to{top:102%}}.grid-sweep-x{animation:14s linear infinite grid-sweep-x}.grid-sweep-y{animation:18s linear infinite grid-sweep-y}@keyframes flow-dash-h{to{background-position:-28px 0}}@keyframes flow-dash-v{to{background-position:0 -28px}}.flow-dash-h{animation:1.1s linear infinite flow-dash-h}.flow-dash-v{animation:1.1s linear infinite flow-dash-v}@media (prefers-reduced-motion:reduce){.grid-sweep-x,.grid-sweep-y{animation:none;display:none}.flow-dash-h,.flow-dash-v{animation:none}}@keyframes node-pulse{0%{opacity:.75;transform:scale(.92)}to{opacity:0;transform:scale(1.9)}}.node-pulse{animation:3.6s cubic-bezier(.215,.61,.355,1) infinite node-pulse}@media (prefers-reduced-motion:reduce){.node-pulse{animation:none;display:none}}.node-pulse-fast{animation-duration:1.5s}@keyframes node-burst{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(2.5)}}.node-burst{animation:1.2s cubic-bezier(.215,.61,.355,1) forwards node-burst}@media (prefers-reduced-motion:reduce){.node-burst{animation:none;display:none}}@keyframes fade-swap{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.fade-swap{animation:fade-swap .22s var(--ease-out-cubic)}@media (prefers-reduced-motion:reduce){.fade-swap{animation:none}}@keyframes gradient-pan{0%,to{background-position:0%}50%{background-position:100%}}.gradient-pan{background-size:220% 220%;animation:5.5s ease-in-out infinite gradient-pan}@media (prefers-reduced-motion:reduce){.gradient-pan{animation:none}}@keyframes beam-travel{to{stroke-dashoffset:-100px}}.beam-travel{animation:8s linear infinite beam-travel}@media (prefers-reduced-motion:reduce){.beam-travel{opacity:0;animation:none}}@keyframes beam-color{0%,24.5%{stroke:#3565d0;filter:drop-shadow(0 0 4px #3565d0)}27%,49.5%{stroke:#7550c8;filter:drop-shadow(0 0 4px #7550c8)}52%,98%{stroke:#2f7d54;filter:drop-shadow(0 0 4px #2f7d54)}to{stroke:#3565d0;filter:drop-shadow(0 0 4px #3565d0)}}.beam-color{animation:8s linear infinite beam-color}@media (prefers-reduced-motion:reduce){.beam-color{animation:none}}@keyframes beam-shot{0%{stroke-dashoffset:var(--beam-from)}to{stroke-dashoffset:var(--beam-to)}}.beam-shot{animation:4s linear infinite beam-shot}@media (prefers-reduced-motion:reduce){.beam-shot{opacity:0;animation:none}}.beam-travel.beam-color{animation:8s linear infinite beam-travel,8s linear infinite beam-color}@media (prefers-reduced-motion:reduce){.beam-travel.beam-color{opacity:0;animation:none}}
