.hero-grid{--grid-line:color-mix(in srgb, var(--line) 55%, transparent);background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);background-position:top;background-size:32px 32px}.swarm-canvas .sb-anim{transform-box:fill-box;transform-origin:50%}.swarm-canvas .sb-agent{transform-box:view-box;transform-origin:0 0;transform:translate(var(--x2), var(--y2))}.swarm-canvas .sb-strike,.swarm-canvas .sb-link{transform-origin:0}.sb-pause{display:none}@media (prefers-reduced-motion:no-preference) and (min-width:640px){.sb-pause{display:inline-flex}.swarm-canvas .sb-anim{animation-duration:12s;animation-timing-function:cubic-bezier(.2,0,0,1);animation-iteration-count:infinite}.swarm-canvas[data-paused] .sb-anim{animation-play-state:paused}.swarm-canvas .sb-agent-1{animation-name:sb-agent-1}.swarm-canvas .sb-agent-2{animation-name:sb-agent-2}.swarm-canvas .sb-agent-3{animation-name:sb-agent-3}.swarm-canvas .sb-candidate-1{animation-name:sb-candidate-1}.swarm-canvas .sb-candidate-2{animation-name:sb-candidate-2}.swarm-canvas .sb-candidate-3{animation-name:sb-candidate-3}.swarm-canvas .sb-candidate-4{animation-name:sb-candidate-4}.swarm-canvas .sb-strike{animation-name:sb-strike}.swarm-canvas .sb-snap{animation-name:sb-snap}.swarm-canvas .sb-link{animation-name:sb-link}.swarm-canvas .sb-frame{animation-name:sb-frame}}@keyframes sb-agent-1{0%{transform:translate(var(--x0), var(--y0))}12%,30%{transform:translate(var(--x1), var(--y1))}40%,to{transform:translate(var(--x2), var(--y2))}}@keyframes sb-agent-2{0%{transform:translate(var(--x0), var(--y0))}9%{transform:translate(var(--x1), var(--y1))}18%,to{transform:translate(var(--x2), var(--y2))}}@keyframes sb-agent-3{0%,6%{transform:translate(var(--x0), var(--y0))}16%{transform:translate(var(--x1), var(--y1))}26%,to{transform:translate(var(--x2), var(--y2))}}@keyframes sb-candidate-1{0%,13%{transform:scale(0)}16%,to{transform:scale(1)}}@keyframes sb-candidate-2{0%,19%{transform:scale(0)}22%,to{transform:scale(1)}}@keyframes sb-candidate-3{0%,27%{transform:scale(0)}30%,to{transform:scale(1)}}@keyframes sb-candidate-4{0%,41%{transform:scale(0)}44%,to{transform:scale(1)}}@keyframes sb-strike{0%,50%{transform:scaleX(0)}58%,to{transform:scaleX(1)}}@keyframes sb-snap{0%,60%{transform:translate(var(--dx), var(--dy)) scale(0)}63%{transform:translate(var(--dx), var(--dy)) scale(1)}76%,to{transform:translate(0)scale(1)}}@keyframes sb-link{0%,78%{transform:scaleX(0)}84%,to{transform:scaleX(1)}}@keyframes sb-frame{0%,84%{transform:scale(0)}90%,to{transform:scale(1)}}
