/* v5.1 motion uses the approved static pose images. No 3D rig is implied.
   The host supplies real work state; this CSS never starts or completes work. */
.puddee-bot {
  display: block;
  object-fit: contain;
  transform-origin: 50% 85%;
  animation: none;
}
.puddee-bot[data-motion="idle"] {
  animation: puddee-breathe 3.2s ease-in-out infinite;
}
.puddee-bot[data-motion="greeting"] {
  animation: puddee-greet 2s ease-in-out 1 both;
}
.puddee-bot[data-motion="confirmation"] {
  animation: puddee-nod 1.6s ease-in-out 1 both;
}
.puddee-bot[data-motion="complete"] {
  animation: puddee-complete 1.6s ease-in-out 1 both;
}
@keyframes puddee-breathe {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-0.4%) scale(1.004, 1.008); }
}
@keyframes puddee-greet {
  0%, 100% { transform: rotate(0); }
  20%, 60% { transform: rotate(-2deg) translateY(-1%); }
  40%, 80% { transform: rotate(1deg); }
}
@keyframes puddee-nod {
  0%, 100% { transform: translateY(0) scale(1); }
  35% { transform: translateY(1%) scale(1.01, 0.985); }
  65% { transform: translateY(0) scale(1); }
}
@keyframes puddee-complete {
  0%, 100% { transform: translateY(0); }
  35% { transform: translateY(-2%); }
  65% { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .puddee-bot[data-motion] { animation: none; transform: none; }
}
