/* DeliveryAI Baeby Character Rig Motion Classes */
#baeby-root,
.baeby-character {
  transform-origin: 50% 70%;
  will-change: transform;
}

#baeby-bubble,
.baeby-bubble {
  transform-origin: 15% 100%;
}

.baeby-bubble-pop {
  animation: baebyBubblePop 280ms ease-out;
}

.baeby-motion-softBob { animation: baebySoftBob 2.4s ease-in-out infinite; }
.baeby-motion-listeningBob { animation: baebySoftBob 1.4s ease-in-out infinite; }
.baeby-motion-slowTilt { animation: baebySlowTilt 1.8s ease-in-out infinite; }
.baeby-motion-jump { animation: baebyJump 720ms ease-in-out infinite; }
.baeby-motion-bounce { animation: baebyJump 1.2s ease-in-out 2; }
.baeby-motion-antennaPulse #baeby-antenna,
.baeby-motion-antennaPulse .baeby-antenna { animation: baebyPulse 900ms ease-in-out infinite; }
.baeby-motion-antennaFlash #baeby-antenna,
.baeby-motion-antennaFlash .baeby-antenna { animation: baebyPulse 260ms ease-in-out infinite; }
.baeby-motion-mouthTalk #baeby-mouth,
.baeby-motion-mouthTalk .baeby-mouth { animation: baebyTalk 180ms ease-in-out infinite; }
.baeby-motion-wave #baeby-arm-right,
.baeby-motion-wave .baeby-arm-right { animation: baebyWave 900ms ease-in-out infinite; transform-origin: 20% 20%; }
.baeby-motion-openPalm #baeby-arm-left,
.baeby-motion-openPalm .baeby-arm-left,
.baeby-motion-rightPalmOpen #baeby-arm-right,
.baeby-motion-rightPalmOpen .baeby-arm-right { animation: baebyPresent 1.2s ease-in-out infinite; transform-origin: 20% 20%; }
.baeby-motion-pointRoulette #baeby-arm-right,
.baeby-motion-pointRoulette .baeby-arm-right,
.baeby-motion-presentCard #baeby-arm-right,
.baeby-motion-presentCard .baeby-arm-right,
.baeby-motion-checklistPoint #baeby-arm-right,
.baeby-motion-checklistPoint .baeby-arm-right,
.baeby-motion-smallPoint #baeby-arm-right,
.baeby-motion-smallPoint .baeby-arm-right { animation: baebyPoint 1.1s ease-in-out infinite; transform-origin: 20% 20%; }
.baeby-motion-browMove #baeby-brow-left,
.baeby-motion-browMove #baeby-brow-right,
.baeby-motion-browMove .baeby-brow { animation: baebyBrow 900ms ease-in-out infinite; }
.baeby-motion-blink #baeby-eye-left,
.baeby-motion-blink #baeby-eye-right,
.baeby-motion-calmBlink #baeby-eye-left,
.baeby-motion-calmBlink #baeby-eye-right,
.baeby-motion-blink .baeby-eye,
.baeby-motion-calmBlink .baeby-eye { animation: baebyBlink 4s ease-in-out infinite; transform-origin: 50% 50%; }
.baeby-motion-softNod,
.baeby-motion-slowNod { animation: baebySoftNod 2.2s ease-in-out infinite; }
.baeby-motion-celebrateSmall { animation: baebyCelebrateSmall 900ms ease-in-out 2; }
.baeby-motion-handsDown #baeby-arm-left,
.baeby-motion-handsDown #baeby-arm-right,
.baeby-motion-handsDown .baeby-arm-left,
.baeby-motion-handsDown .baeby-arm-right { transform: translateY(4px) rotate(6deg); transform-origin: 20% 20%; }

@keyframes baebySoftBob { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-4px); } }
@keyframes baebySlowTilt { 0%,100%{ transform: rotate(0deg); } 50%{ transform: rotate(-3deg); } }
@keyframes baebyJump { 0%,100%{ transform: translateY(0) scaleY(1); } 45%{ transform: translateY(-10px) scaleY(1.03); } 70%{ transform: translateY(1px) scaleY(.97); } }
@keyframes baebyPulse { 0%,100%{ opacity:.7; filter: brightness(1); } 50%{ opacity:1; filter: brightness(1.8); } }
@keyframes baebyTalk { 0%,100%{ transform: scaleY(.65); } 50%{ transform: scaleY(1.25); } }
@keyframes baebyWave { 0%,100%{ transform: rotate(0deg); } 35%{ transform: rotate(-16deg); } 70%{ transform: rotate(10deg); } }
@keyframes baebyPresent { 0%,100%{ transform: translateX(0) rotate(0deg); } 50%{ transform: translateX(4px) rotate(-4deg); } }
@keyframes baebyPoint { 0%,100%{ transform: translateX(0) rotate(0deg); } 50%{ transform: translateX(6px) rotate(-8deg); } }
@keyframes baebyBrow { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-3px); } }
@keyframes baebyBlink { 0%, 92%, 100%{ transform: scaleY(1); } 95%{ transform: scaleY(.08); } }
@keyframes baebySoftNod { 0%,100%{ transform: rotate(0deg); } 35%{ transform: rotate(2.5deg); } 65%{ transform: rotate(-1deg); } }
@keyframes baebyCelebrateSmall { 0%,100%{ transform: scale(1) translateY(0); } 50%{ transform: scale(1.05) translateY(-4px); } }
@keyframes baebyBubblePop { 0%{ transform: scale(.96); opacity:.65; } 100%{ transform: scale(1); opacity:1; } }

@media (prefers-reduced-motion: reduce) {
  .baeby-character,
  #baeby-root,
  [class*="baeby-motion-"] {
    animation: none !important;
  }
}

/* v0.6.1 mobile layout — prevent baeby / bubble / panel overlap */
@media (max-width: 430px) {
  .baeby-zone {
    padding: 14px 12px;
    margin-bottom: 12px;
  }

  .baeby-scene {
    width: 132px;
    height: 148px;
  }

  .speech-bubble {
    max-width: 100%;
    font-size: 0.88rem;
    padding: 12px 14px;
    margin-top: 8px;
    min-height: 44px;
  }

  .stage-panel {
    margin-top: 4px;
  }
}

@media (max-width: 375px) {
  .app-shell {
    padding: 12px 10px 28px;
  }

  .baeby-zone {
    padding: 12px 10px;
  }

  #baeby-container .baeby-scene {
    transform: scale(0.86);
    transform-origin: center top;
  }

  .speech-bubble {
    font-size: 0.85rem;
    padding: 10px 12px;
  }

  .stage-panel .btn-block {
    padding: 12px 10px;
    font-size: 0.85rem;
  }

  .voice-text-row {
    margin-top: 10px;
  }
}
