.grim-body{transform-box:view-box;transform-origin:100px 224px}.grim-idle{animation:3.2s ease-in-out infinite grim-idle}.grim-jump{animation:1.4s ease-in-out 3 grim-jump,3.2s ease-in-out 4.2s infinite grim-idle}.grim-pulse{animation:2.2s ease-in-out infinite grim-pulse}.grim-shake{animation:.5s ease-in-out grim-shake,3.2s ease-in-out .5s infinite grim-idle}.grim-eyes{transform-box:fill-box;transform-origin:50%;animation:4.8s infinite grim-blink}@keyframes grim-idle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(.99,1.01)}}@keyframes grim-jump{0%,to{transform:translateY(0)scale(1)}12%{transform:translateY(0)scale(1.06,.92)}40%{transform:translateY(-14px)scale(.96,1.06)}60%{transform:translateY(-14px)scale(1)}80%{transform:translateY(0)scale(1.06,.92)}90%{transform:translateY(0)scale(.98,1.02)}}@keyframes grim-pulse{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.03)rotate(-1.5deg)}}@keyframes grim-shake{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-4px)rotate(-2deg)}40%{transform:translate(4px)rotate(2deg)}60%{transform:translate(-3px)rotate(-1deg)}80%{transform:translate(2px)rotate(1deg)}}@keyframes grim-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.grim-hopping{transform-origin:50% 100%;animation:.32s ease-in-out infinite grim-scroll-hop}@keyframes grim-scroll-hop{0%,to{transform:translateY(0)scale(1.06,.92)}50%{transform:translateY(-22px)scale(.96,1.06)}}.grim-squish{transform-origin:50% 100%;animation:.35s ease-out grim-squish}@keyframes grim-squish{0%{transform:scale(1)}30%{transform:scale(1.14,.82)}65%{transform:scale(.94,1.1)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.grim-idle,.grim-jump,.grim-pulse,.grim-shake,.grim-eyes,.grim-hopping,.grim-squish{animation:none}}
