/* Generated by tools/snap-demo.mjs from the demo geometry: do not edit by hand. */
@keyframes snap-catch{0%{transform:translateX(120px);opacity:1}8%{transform:translateX(120px);opacity:1}8.5%{transform:translateX(120px);opacity:1}9%{transform:translateX(119.99px);opacity:1}9.5%{transform:translateX(119.98px);opacity:1}10%{transform:translateX(119.95px);opacity:1}10.5%{transform:translateX(119.9px);opacity:1}11%{transform:translateX(119.83px);opacity:1}11.5%{transform:translateX(119.72px);opacity:1}12%{transform:translateX(119.59px);opacity:1}12.5%{transform:translateX(119.41px);opacity:1}13%{transform:translateX(119.19px);opacity:1}13.5%{transform:translateX(118.92px);opacity:1}14%{transform:translateX(118.6px);opacity:1}14.5%{transform:translateX(118.22px);opacity:1}15%{transform:translateX(117.78px);opacity:1}15.5%{transform:translateX(117.27px);opacity:1}16%{transform:translateX(116.68px);opacity:1}16.5%{transform:translateX(116.02px);opacity:1}17%{transform:translateX(115.28px);opacity:1}17.5%{transform:translateX(114.45px);opacity:1}18%{transform:translateX(113.52px);opacity:1}18.5%{transform:translateX(112.5px);opacity:1}19%{transform:translateX(111.38px);opacity:1}19.5%{transform:translateX(110.15px);opacity:1}20%{transform:translateX(108.8px);opacity:1}20.5%{transform:translateX(107.35px);opacity:1}21%{transform:translateX(105.77px);opacity:1}21.5%{transform:translateX(104.06px);opacity:1}22%{transform:translateX(102.22px);opacity:1}22.5%{transform:translateX(100.25px);opacity:1}23%{transform:translateX(98.13px);opacity:1}23.5%{transform:translateX(95.87px);opacity:1}24%{transform:translateX(93.46px);opacity:1}24.5%{transform:translateX(90.9px);opacity:1}25%{transform:translateX(88.17px);opacity:1}25.5%{transform:translateX(85.28px);opacity:1}26%{transform:translateX(82.22px);opacity:1}26.5%{transform:translateX(78.98px);opacity:1}27%{transform:translateX(75.56px);opacity:1}27.5%{transform:translateX(71.96px);opacity:1}28%{transform:translateX(68.17px);opacity:1}28.5%{transform:translateX(64.18px);opacity:1}29%{transform:translateX(60px);opacity:1}29.5%{transform:translateX(55.82px);opacity:1}30%{transform:translateX(51.83px);opacity:1}30.5%{transform:translateX(48.04px);opacity:1}31%{transform:translateX(44.44px);opacity:1}31.5%{transform:translateX(41.02px);opacity:1}32%{transform:translateX(37.78px);opacity:1}32.5%{transform:translateX(34.72px);opacity:1}33%{transform:translateX(31.83px);opacity:1}33.5%{transform:translateX(29.1px);opacity:1}34%{transform:translateX(26.54px);opacity:1}34.5%{transform:translateX(24.13px);opacity:1}35%{transform:translateX(21.87px);opacity:1}35.5%{transform:translateX(19.75px);opacity:1}36%{transform:translateX(17.78px);opacity:1}36.5%{transform:translateX(15.94px);opacity:1}37%{transform:translateX(14.23px);opacity:1}37.5%{transform:translateX(12.65px);opacity:1}38%{transform:translateX(11.2px);opacity:1}38.5%{transform:translateX(9.85px);opacity:1}39%{transform:translateX(8.62px);opacity:1}39.5%{transform:translateX(7.5px);opacity:1}40%{transform:translateX(6.48px);opacity:1}40.5%{transform:translateX(5.55px);opacity:1}41%{transform:translateX(4.72px);opacity:1}41.5%{transform:translateX(3.98px);opacity:1}42%{transform:translateX(3.32px);opacity:1}42.5%{transform:translateX(2.73px);opacity:1}43%{transform:translateX(2.22px);opacity:1}43.25%{transform:translateX(2px);opacity:1}44.1%{transform:translateX(1.78px);opacity:1}44.9%{transform:translateX(1.78px);opacity:1}45.7%{transform:translateX(1.78px);opacity:1}46%{transform:translateX(0.41px);opacity:1}46.5%{transform:translateX(0.28px);opacity:1}47%{transform:translateX(0.17px);opacity:1}47.5%{transform:translateX(0.1px);opacity:1}48%{transform:translateX(0.05px);opacity:1}48.5%{transform:translateX(0.02px);opacity:1}49%{transform:translateX(0.01px);opacity:1}49.5%{transform:translateX(0px);opacity:1}50%{transform:translateX(0px);opacity:1}60%{transform:translateX(0px);opacity:1}63%{transform:translateX(1.9px);opacity:1}80%{transform:translateX(1.9px);opacity:1}86%{transform:translateX(1.9px);opacity:0}86.1%{transform:translateX(120px);opacity:0}93%{transform:translateX(120px);opacity:0}98%{transform:translateX(120px);opacity:1}100%{transform:translateX(120px);opacity:1}}
@keyframes snap-arm{0%{transform:rotate(0deg)}8%{transform:rotate(0deg)}8.5%{transform:rotate(0deg)}9%{transform:rotate(0deg)}9.5%{transform:rotate(0deg)}10%{transform:rotate(0deg)}10.5%{transform:rotate(0deg)}11%{transform:rotate(0deg)}11.5%{transform:rotate(0deg)}12%{transform:rotate(0deg)}12.5%{transform:rotate(0deg)}13%{transform:rotate(0deg)}13.5%{transform:rotate(0deg)}14%{transform:rotate(0deg)}14.5%{transform:rotate(0deg)}15%{transform:rotate(0deg)}15.5%{transform:rotate(0deg)}16%{transform:rotate(0deg)}16.5%{transform:rotate(0deg)}17%{transform:rotate(0deg)}17.5%{transform:rotate(0deg)}18%{transform:rotate(0deg)}18.5%{transform:rotate(0deg)}19%{transform:rotate(0deg)}19.5%{transform:rotate(0deg)}20%{transform:rotate(0deg)}20.5%{transform:rotate(0deg)}21%{transform:rotate(0deg)}21.5%{transform:rotate(0deg)}22%{transform:rotate(0deg)}22.5%{transform:rotate(0deg)}23%{transform:rotate(0deg)}23.5%{transform:rotate(0deg)}24%{transform:rotate(0deg)}24.5%{transform:rotate(0deg)}25%{transform:rotate(0deg)}25.5%{transform:rotate(0deg)}26%{transform:rotate(0deg)}26.5%{transform:rotate(0deg)}27%{transform:rotate(0deg)}27.5%{transform:rotate(0deg)}28%{transform:rotate(0deg)}28.5%{transform:rotate(0deg)}29%{transform:rotate(0deg)}29.5%{transform:rotate(0deg)}30%{transform:rotate(0deg)}30.5%{transform:rotate(0deg)}31%{transform:rotate(0deg)}31.5%{transform:rotate(-0.157deg)}32%{transform:rotate(-0.813deg)}32.5%{transform:rotate(-1.458deg)}33%{transform:rotate(-2.09deg)}33.5%{transform:rotate(-2.708deg)}34%{transform:rotate(-3.311deg)}34.5%{transform:rotate(-3.559deg)}35%{transform:rotate(-3.595deg)}35.5%{transform:rotate(-3.63deg)}36%{transform:rotate(-3.662deg)}36.5%{transform:rotate(-3.664deg)}37%{transform:rotate(-3.664deg)}37.5%{transform:rotate(-3.664deg)}38%{transform:rotate(-3.664deg)}38.5%{transform:rotate(-3.664deg)}39%{transform:rotate(-3.664deg)}39.5%{transform:rotate(-3.664deg)}40%{transform:rotate(-3.664deg)}40.5%{transform:rotate(-3.664deg)}41%{transform:rotate(-3.664deg)}41.5%{transform:rotate(-3.664deg)}42%{transform:rotate(-3.042deg)}42.5%{transform:rotate(-1.863deg)}43%{transform:rotate(-0.63deg)}43.25%{transform:rotate(-0.003deg)}44.1%{transform:rotate(0.35deg)}44.9%{transform:rotate(-0.15deg)}45.7%{transform:rotate(0deg)}46%{transform:rotate(0deg)}46.5%{transform:rotate(0deg)}47%{transform:rotate(0deg)}47.5%{transform:rotate(0deg)}48%{transform:rotate(0deg)}48.5%{transform:rotate(0deg)}49%{transform:rotate(0deg)}49.5%{transform:rotate(0deg)}50%{transform:rotate(0deg)}60%{transform:rotate(0deg)}63%{transform:rotate(0deg)}80%{transform:rotate(0deg)}86%{transform:rotate(0deg)}86.1%{transform:rotate(0deg)}93%{transform:rotate(0deg)}98%{transform:rotate(0deg)}100%{transform:rotate(0deg)}}
@keyframes snap-strain{0%{fill:#2e9d5b}8%{fill:#2e9d5b}8.5%{fill:#2e9d5b}9%{fill:#2e9d5b}9.5%{fill:#2e9d5b}10%{fill:#2e9d5b}10.5%{fill:#2e9d5b}11%{fill:#2e9d5b}11.5%{fill:#2e9d5b}12%{fill:#2e9d5b}12.5%{fill:#2e9d5b}13%{fill:#2e9d5b}13.5%{fill:#2e9d5b}14%{fill:#2e9d5b}14.5%{fill:#2e9d5b}15%{fill:#2e9d5b}15.5%{fill:#2e9d5b}16%{fill:#2e9d5b}16.5%{fill:#2e9d5b}17%{fill:#2e9d5b}17.5%{fill:#2e9d5b}18%{fill:#2e9d5b}18.5%{fill:#2e9d5b}19%{fill:#2e9d5b}19.5%{fill:#2e9d5b}20%{fill:#2e9d5b}20.5%{fill:#2e9d5b}21%{fill:#2e9d5b}21.5%{fill:#2e9d5b}22%{fill:#2e9d5b}22.5%{fill:#2e9d5b}23%{fill:#2e9d5b}23.5%{fill:#2e9d5b}24%{fill:#2e9d5b}24.5%{fill:#2e9d5b}25%{fill:#2e9d5b}25.5%{fill:#2e9d5b}26%{fill:#2e9d5b}26.5%{fill:#2e9d5b}27%{fill:#2e9d5b}27.5%{fill:#2e9d5b}28%{fill:#2e9d5b}28.5%{fill:#2e9d5b}29%{fill:#2e9d5b}29.5%{fill:#2e9d5b}30%{fill:#2e9d5b}30.5%{fill:#2e9d5b}31%{fill:#2e9d5b}31.5%{fill:#359d58}32%{fill:#539c4d}32.5%{fill:#709c42}33%{fill:#8c9b37}33.5%{fill:#a89b2c}34%{fill:#c39a22}34.5%{fill:#ce9a1e}35%{fill:#d09a1d}35.5%{fill:#d19a1d}36%{fill:#d39a1c}36.5%{fill:#d39a1c}37%{fill:#d39a1c}37.5%{fill:#d39a1c}38%{fill:#d39a1c}38.5%{fill:#d39a1c}39%{fill:#d39a1c}39.5%{fill:#d39a1c}40%{fill:#d39a1c}40.5%{fill:#d39a1c}41%{fill:#d39a1c}41.5%{fill:#d39a1c}42%{fill:#b79b27}42.5%{fill:#829b3b}43%{fill:#4a9c50}43.25%{fill:#2e9d5b}44.1%{fill:#2e9d5b}44.9%{fill:#359d58}45.7%{fill:#2e9d5b}46%{fill:#2e9d5b}46.5%{fill:#2e9d5b}47%{fill:#2e9d5b}47.5%{fill:#2e9d5b}48%{fill:#2e9d5b}48.5%{fill:#2e9d5b}49%{fill:#2e9d5b}49.5%{fill:#2e9d5b}50%{fill:#2e9d5b}60%{fill:#2e9d5b}63%{fill:#2e9d5b}80%{fill:#2e9d5b}86%{fill:#2e9d5b}86.1%{fill:#2e9d5b}93%{fill:#2e9d5b}98%{fill:#2e9d5b}100%{fill:#2e9d5b}}
@keyframes snap-click{0%,43.8%{opacity:0;transform:scale(.6)}45.6%{opacity:1;transform:scale(1.1)}58.1%,100%{opacity:0;transform:scale(1)}}
.snap-demo .catch{animation:snap-catch 5.2s linear infinite}
.snap-demo .arm{transform-origin:64px 121px;transform-box:view-box;animation:snap-arm 5.2s linear infinite}
.snap-demo .root{animation:snap-strain 5.2s linear infinite}
.snap-demo .click{transform-origin:296px 80px;transform-box:view-box;opacity:0;animation:snap-click 5.2s ease-out infinite}
@media(prefers-reduced-motion:reduce){.snap-demo .catch,.snap-demo .arm,.snap-demo .root,.snap-demo .click{animation:none}}
