/* animazioni del pet: tutte disattivate con prefers-reduced-motion */
.pet-svg{display:block;overflow:visible}
.pet-svg .body-g{animation:breathe 3.4s ease-in-out infinite}
.pet-svg.st-WORKING .body-g{animation:bob .9s ease-in-out infinite}
.pet-svg.st-HYPED .body-g{animation:hop .55s ease-in-out infinite}
.pet-svg.st-PROUD .body-g{animation:proud 2.6s ease-in-out infinite}
.pet-svg.st-ANNOYED .body-g{animation:grumble .35s linear infinite}
.pet-svg.st-SLEEPING .body-g{animation:breathe 5.5s ease-in-out infinite}
.pet-svg.st-CHILL .body-g{animation:sway 4s ease-in-out infinite}
.pet-svg .blinks .eyes{transform-box:fill-box;transform-origin:center;animation:blink 5.5s infinite}
.pet-svg .antenna{animation:glow 1.8s ease-in-out infinite}
.pet-svg .zzz text{animation:zfloat 3s ease-in infinite;opacity:0}
.pet-svg .zzz text:nth-child(2){animation-delay:.9s}.pet-svg .zzz text:nth-child(3){animation-delay:1.8s}
.pet-svg .spark path{transform-box:fill-box;transform-origin:center;animation:twinkle 1.6s ease-in-out infinite}
.pet-svg .spark path:nth-child(2){animation-delay:.5s}.pet-svg .spark path:nth-child(3){animation-delay:1s}
.pet-svg .dots circle{animation:typing 1s ease-in-out infinite}
.pet-svg .dots circle:nth-child(2){animation-delay:.2s}.pet-svg .dots circle:nth-child(3){animation-delay:.4s}
.pet-svg .puff{animation:rise 2.4s ease-out infinite}
.pet-svg .note text{animation:rise 3s ease-out infinite}
.pet-svg .think{animation:fadepulse 2.4s ease-in-out infinite}
.pet-tap{animation:squish .45s ease-out}
@keyframes breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.025,.975)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes hop{0%,100%{transform:translateY(0) scale(1.03,.97)}50%{transform:translateY(-16px) scale(.98,1.03)}}
@keyframes proud{0%,100%{transform:scale(1)}50%{transform:scale(1.045) translateY(-2px)}}
@keyframes grumble{0%,100%{transform:translateX(0)}25%{transform:translateX(-1.2px)}75%{transform:translateX(1.2px)}}
@keyframes sway{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}
@keyframes blink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.08)}}
@keyframes glow{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes zfloat{0%{opacity:0;transform:translate(0,6px)}30%{opacity:.9}100%{opacity:0;transform:translate(8px,-14px)}}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}
@keyframes typing{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
@keyframes rise{0%{opacity:0;transform:translateY(8px)}30%{opacity:1}100%{opacity:0;transform:translateY(-10px)}}
@keyframes fadepulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes squish{0%{transform:scale(1)}30%{transform:scale(1.12,.88)}60%{transform:scale(.94,1.06)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.pet-svg *,.pet-tap{animation:none!important}.pet-svg .zzz text,.pet-svg .puff,.pet-svg .note text{opacity:.85!important}}
