/* AntiStress cat — transparent sprite, no own background/world. */
.antistress-cat-wow{
  position:fixed;
  left:0;
  bottom:8px;
  width:180px;
  height:180px;
  z-index:9998;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-210px,0,0);
  will-change:transform,opacity;
  background:transparent!important;
}
.antistress-cat-frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  background-image:url('/cat-sprite-transparent.webp');
  background-repeat:no-repeat;
  background-size:800% 100%;
  background-position:0 0;
  background-color:transparent!important;
  transform:translateZ(0);
  transform-origin:50% 88%;
  will-change:background-position,transform;
}
.antistress-cat-wow.startled .antistress-cat-frame{
  animation:catStartle .20s cubic-bezier(.15,1.7,.3,1) both;
}
.antistress-cat-wow.resting .antistress-cat-frame{
  animation:catBreath 2.8s ease-in-out infinite alternate;
}
@keyframes catStartle{
  0%{transform:translate3d(0,0,0) scale(1)}
  45%{transform:translate3d(0,-10px,0) scale(1.04)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
@keyframes catBreath{
  from{transform:scale(1)}
  to{transform:scale(1.012)}
}
@media(max-width:700px){
  .antistress-cat-wow{width:138px;height:138px;bottom:5px;transform:translate3d(-165px,0,0);}
}
@media(prefers-reduced-motion:reduce){.antistress-cat-wow{display:none!important;}}
