.ride-bike{filter:drop-shadow(0 3px 3px #00000059);animation:1.6s ease-in-out infinite ride-bob}.ride-bike .ride-spokes{transform-box:fill-box;transform-origin:50%;animation:.9s linear infinite ride-spin}.ride-bike .ride-speed{animation:1s ease-in-out infinite ride-fade}@keyframes ride-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@keyframes ride-spin{to{transform:rotate(360deg)}}@keyframes ride-fade{0%,to{opacity:.25}50%{opacity:.8}}@media (prefers-reduced-motion:reduce){.ride-bike,.ride-bike .ride-spokes,.ride-bike .ride-speed{animation:none}}.ride-confetti{pointer-events:none;z-index:40;position:fixed;inset:0;overflow:hidden}.ride-confetti span{opacity:0;width:10px;height:16px;animation:ride-fall var(--dur,3.2s) cubic-bezier(.25, .6, .4, 1) var(--delay,0s) 1 forwards;border-radius:2px;position:absolute;top:-24px}@keyframes ride-fall{0%{opacity:1;transform:translate(0,0)rotate(0)}85%{opacity:1}to{opacity:0;transform:translate3d(var(--drift,0px), 105vh, 0) rotate(var(--spin,540deg))}}@media (prefers-reduced-motion:reduce){.ride-confetti{display:none}}.ride-rise{animation:.6s ease-out both ride-rise}@keyframes ride-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.ride-rise{animation:none}}.ride-pulse{opacity:.45;animation:2s ease-out infinite ride-pulse}@keyframes ride-pulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}.ride-flag{transform-origin:6px 7px;animation:1.8s ease-in-out infinite ride-wave}@keyframes ride-wave{0%,to{transform:skewY(0)}50%{transform:skewY(-6deg)}}@media (prefers-reduced-motion:reduce){.ride-pulse,.ride-flag{animation:none}}
