/* Motion belongs to the illustration, leaving every touch target in place. */
.insect-rig,.insect-reaction,.insect-eyes,.insect-antennae,.insect-left-legs,.insect-right-legs,.insect-left-wing,.insect-right-wing{transform-box:fill-box}
.insect-rig,.insect-reaction{transform-origin:50% 58%}
.insect-eyes{transform-origin:50% 50%}
.insect-antennae{transform-origin:50% 100%}
.insect-left-legs{transform-origin:100% 35%}
.insect-right-legs{transform-origin:0 35%}
.insect-left-wing{transform-origin:96% 52%}
.insect-right-wing{transform-origin:4% 52%}
.bug-actor .insect-eyes{animation:insect-blink 6.1s infinite}
.bug-actor.mood-worried .insect-rig{animation:insect-worried 3.2s ease-in-out infinite}
.bug-actor.mood-uneasy .insect-rig{animation:insect-uneasy 3.8s ease-in-out infinite}
.bug-actor.mood-relieved .insect-rig{animation:insect-breathe 3.5s ease-in-out infinite}
.bug-actor.mood-happy .insect-rig{animation:insect-happy 2.4s ease-in-out infinite}
.bug-actor.mood-joy .insect-rig{animation:insect-joy 1.65s ease-in-out infinite}
.bug-actor.mood-worried .insect-teardrop{animation:insect-tear 3.2s ease-in-out infinite}
.bug-actor.mood-relieved .insect-antennae,.bug-actor.mood-happy .insect-antennae,.bug-actor.mood-joy .insect-antennae{animation:insect-antenna 2.4s ease-in-out infinite}
.bug-actor .insect-left-wing,.bug-actor .insect-right-wing{animation:insect-wing 4s ease-in-out infinite}
.bug-actor.mood-worried .insect-left-wing,.bug-actor.mood-worried .insect-right-wing{animation-duration:5s}
.bug-actor.mood-happy .insect-left-wing,.bug-actor.mood-happy .insect-right-wing{animation-duration:1.4s}
.bug-actor.mood-joy .insect-left-wing,.bug-actor.mood-joy .insect-right-wing,.bug-actor.celebrating .insect-left-wing,.bug-actor.celebrating .insect-right-wing{animation:insect-wing-joy .6s ease-in-out infinite}
.bug-actor.mood-joy .insect-left-legs,.bug-actor.celebrating .insect-left-legs{animation:insect-wave-left .85s ease-in-out infinite}
.bug-actor.mood-joy .insect-right-legs,.bug-actor.celebrating .insect-right-legs{animation:insect-wave-right .85s ease-in-out infinite}
.bug-actor.mood-happy .insect-beetle,.bug-actor.mood-joy .insect-beetle{animation-name:insect-beetle-dance;animation-duration:2.1s}
.bug-actor.mood-happy .insect-butterfly,.bug-actor.mood-joy .insect-butterfly{animation-name:insect-butterfly-float;animation-duration:2.2s}
.bug-actor.celebrating .insect-rig{animation:insect-celebrate 1.25s ease-in-out infinite}
.bug-actor.reacting .insect-reaction{animation:insect-thank-you .65s ease-out both}
.bug-actor.reacting .insect-antennae{animation:insect-antenna .3s ease-in-out 2}
.bug-actor.reacting .insect-left-wing,.bug-actor.reacting .insect-right-wing{animation:insect-wing-joy .3s ease-in-out 2}

.woodland-leaf,.woodland-flower,.woodland-grass{transform-box:fill-box;transform-origin:50% 100%;animation:woodland-sway 5.8s ease-in-out infinite;animation-delay:var(--sway-delay,0s);pointer-events:none}
.woodland-leaf{transform-origin:85% 96%;animation-duration:6.7s}
.woodland-grass{animation-duration:4.6s}
.woodland-light{animation:woodland-light 6.5s ease-in-out infinite;animation-delay:var(--light-delay,0s);pointer-events:none}

@keyframes insect-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.12)}}
@keyframes insect-worried{0%,72%,100%{transform:translateY(2px) rotate(-2deg)}76%,84%{transform:translate(-.8px,2px) rotate(-2.5deg)}80%,88%{transform:translate(.8px,2px) rotate(-1.5deg)}}
@keyframes insect-uneasy{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(2px) rotate(.4deg)}}
@keyframes insect-breathe{0%,100%{transform:translateY(1px) scale(1)}50%{transform:translateY(-1px) scale(1.012)}}
@keyframes insect-happy{0%,75%,100%{transform:translateY(0) rotate(-1deg)}35%{transform:translateY(-3px) rotate(1deg)}50%{transform:translateY(0) scale(1.015,.99)}}
@keyframes insect-joy{0%,100%{transform:translateY(0) rotate(-2deg)}30%{transform:translateY(-6px) rotate(2deg)}50%{transform:translateY(1px) scale(1.025,.98)}78%{transform:translateY(-3px) rotate(-1deg)}}
@keyframes insect-beetle-dance{0%,100%{transform:translateY(0) rotate(-2deg)}25%{transform:translateY(-2px) rotate(2deg)}50%{transform:translateY(1px) scale(1.025,.99)}75%{transform:translateY(-3px) rotate(-2deg)}}
@keyframes insect-butterfly-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}
@keyframes insect-celebrate{0%,100%{transform:translateY(0) rotate(-3deg)}25%{transform:translateY(-8px) rotate(3deg)}45%{transform:translateY(1px) scale(1.035,.97)}65%{transform:translateY(-5px) rotate(-2deg)}85%{transform:translateY(0) rotate(2deg)}}
@keyframes insect-thank-you{0%{transform:translateY(0) scale(1)}20%{transform:translateY(2px) scale(1.035,.97)}50%{transform:translateY(-7px) scale(.985,1.025)}75%{transform:translateY(1px) scale(1.015,.99)}100%{transform:translateY(0) scale(1)}}
@keyframes insect-antenna{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
@keyframes insect-wing{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.94)}}
@keyframes insect-wing-joy{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.78)}}
@keyframes insect-wave-left{0%,100%{transform:rotate(0)}50%{transform:rotate(9deg)}}
@keyframes insect-wave-right{0%,100%{transform:rotate(0)}50%{transform:rotate(-9deg)}}
@keyframes insect-tear{0%,100%{opacity:.8;transform:translateY(0)}55%{opacity:1;transform:translateY(2px)}}
@keyframes woodland-sway{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(2deg)}}
@keyframes woodland-light{0%,100%{opacity:.45;transform:translate(0,0)}50%{opacity:1;transform:translate(4px,-6px)}}

@media(prefers-reduced-motion:reduce){.insect-rig,.insect-reaction,.insect-eyes,.insect-antennae,.insect-left-legs,.insect-right-legs,.insect-left-wing,.insect-right-wing,.insect-teardrop,.woodland-leaf,.woodland-flower,.woodland-grass,.woodland-light{animation:none!important;transform:none!important}}
