.bug-companion{position:fixed;left:0;top:0;z-index:40;width:64px;height:72px;pointer-events:none}
.bug-companion[hidden]{display:none}
.bug-creature{display:flex;align-items:center;justify-content:center;width:64px;height:64px;padding:8px;border:0;background:transparent;cursor:pointer;border-radius:12px;touch-action:manipulation;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.bug-creature:focus-visible{outline:2px solid #40745b;outline-offset:2px}
.bug-pixel{width:48px;height:48px;flex-shrink:0;filter:drop-shadow(0 3px 0 #253c3825);overflow:visible}
.bug-health{position:absolute;top:0;left:9px;display:flex;gap:2px;padding:3px;background:#fffef2e8;border:1px solid #253c3840;border-radius:3px;transform:translateY(-3px);pointer-events:none}
.bug-health i{display:block;width:6px;height:4px;background:#74b77d}.bug-health i.is-empty{background:#d8dfd7}
.bug-companion.is-walking .bug-legs{animation:bug-feet .22s steps(2,end) infinite}
.bug-companion.is-hit .bug-creature{animation:bug-hit .32s steps(2,end)}
.bug-damage{position:absolute;left:22px;top:-10px;color:#d34444;font:bold 17px/1 monospace;text-shadow:0 1px white,1px 0 white,-1px 0 white;pointer-events:none;animation:bug-damage .65s ease-out forwards}
.bug-swatter-near,.bug-swatter-near *{cursor:url("bug-swatter.cb4eff3678ad.svg") 12 12,crosshair!important}
.bug-swatter-striking,.bug-swatter-striking *{cursor:none!important}
.bug-swat{position:fixed;z-index:100;display:block;width:96px;height:112px;pointer-events:none;animation:bug-swat-fade .46s linear forwards}
.bug-swat-paddle{position:absolute;left:12px;top:6px;width:64px;height:77px;background:url("bug-swatter.cb4eff3678ad.svg") center/contain no-repeat;image-rendering:pixelated;transform-origin:24px 70px;animation:bug-swat-swing .46s cubic-bezier(.22,.7,.3,1) forwards}
.bug-swat-impact{position:absolute;left:17px;top:13px;width:30px;height:30px;opacity:0;border:3px solid #e8b06c;clip-path:polygon(50% 0,61% 30%,85% 15%,70% 40%,100% 50%,70% 60%,85% 85%,60% 70%,50% 100%,40% 70%,15% 85%,30% 60%,0 50%,30% 40%,15% 15%,40% 30%);background:#f8d393;animation:bug-swat-impact .46s ease-out forwards}
@keyframes bug-swat-swing{0%{transform:translate(16px,-25px) rotate(-58deg) scale(1.15)}24%{transform:translate(0,3px) rotate(8deg) scale(.88)}38%{transform:translate(-2px,0) rotate(-6deg) scale(.95)}68%{transform:translate(5px,-9px) rotate(-22deg) scale(1)}100%{transform:translate(12px,-18px) rotate(-32deg) scale(1);opacity:0}}
@keyframes bug-swat-impact{0%,18%{opacity:0;transform:scale(.3)}25%{opacity:1;transform:scale(1)}65%,100%{opacity:0;transform:scale(1.7)}}
@keyframes bug-swat-fade{0%,75%{opacity:1}100%{opacity:0}}
@keyframes bug-feet{50%{transform:translateY(1px)}}
@keyframes bug-hit{0%,50%{filter:sepia(1) saturate(6) hue-rotate(315deg);transform:translateX(-3px)}25%,75%{transform:translateX(3px)}100%{transform:translateX(0)}}
@keyframes bug-damage{to{transform:translateY(-25px);opacity:0}}
.bug-collection{position:fixed;inset:0;z-index:80;overflow:hidden;pointer-events:none}
.bug-collection-rig{position:absolute;width:0;height:0;animation:bug-carry-away 2.3s cubic-bezier(.55,0,.4,1) forwards}
.bug-collection .bug-companion{position:absolute;left:-32px;top:-32px;z-index:0}
.bug-companion.is-dead .bug-creature{pointer-events:none;animation:bug-collapse .28s ease-out forwards}
.bug-companion.is-dead .bug-pixel{filter:grayscale(.6) brightness(.85)}
.bug-companion.is-dead .bug-health{display:none}
.bug-hand-reach{position:absolute;z-index:1;width:0;height:0;animation:bug-hand-reach 2.3s cubic-bezier(.2,.75,.25,1) forwards}
.bug-hand-art{position:absolute;width:0;height:0;transform:scale(.7)}.from-left .bug-hand-art{transform:scale(-.7,.7)}
.bug-hand-glove{position:absolute;left:-20px;top:-48px;width:128px;height:96px;background:url("bug-hand.5cd139c0dfad.svg") 0 0/256px 96px no-repeat;image-rendering:pixelated;animation:bug-hand-grab 2.3s steps(1,end) forwards}
@keyframes bug-collapse{to{transform:scaleY(.65) rotate(-12deg)}}
@keyframes bug-hand-reach{0%,15%{transform:translateX(var(--carry-exit))}44%,100%{transform:translateX(0)}}
@keyframes bug-hand-grab{0%{background-position:0 0}49%,100%{background-position:-128px 0}}
@keyframes bug-carry-away{0%,60%{transform:translate(0,0)}67%{transform:translate(0,-14px)}100%{transform:translate(var(--carry-exit),-70px)}}
@media(prefers-reduced-motion:reduce){.bug-companion .bug-legs{animation:none}.bug-companion.is-hit .bug-creature{animation:none;filter:sepia(1) saturate(3)}.bug-damage{animation:none}}
@media(prefers-reduced-motion:reduce){.bug-swat-paddle{animation:none}.bug-swat-impact{animation:none;opacity:.8}.bug-swat{animation:bug-swat-fade .2s linear forwards}}
@media(prefers-reduced-motion:reduce){.bug-collection-rig{animation:bug-swat-fade .3s linear forwards}.bug-hand-reach{animation:none}.bug-hand-glove{animation:none;background-position:-128px 0}.bug-companion.is-dead .bug-creature{animation:none;transform:scaleY(.65)}}
