/* Inti v1: transform-only motion. The image is decorative; controls keep labels. */
.inti-mascot {
  display: inline-block;
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  object-fit: contain;
  pointer-events: none;
  transform-origin: 50% 65%;
}
.inti-mascot[hidden] {
  display: none !important;
}
.inti-mascot[data-state="idle"] {
  animation: inti-idle 3.4s ease-in-out infinite;
}
.inti-mascot[data-state="welcome"] {
  animation: inti-welcome 1.6s ease-in-out both;
}
.inti-mascot[data-state="thinking"] {
  animation: inti-thinking 1.8s ease-in-out infinite;
}
.inti-mascot[data-state="success"] {
  animation: inti-success 1.3s ease-in-out both;
}
[data-inti-paused="true"] .inti-mascot,
.inti-mascot[data-inti-paused="true"] {
  animation: none !important;
}
@keyframes inti-idle {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}
@keyframes inti-welcome {
  0%,
  100% {
    transform: rotate(0) scale(1);
  }
  25% {
    transform: translateY(-5px) rotate(-6deg) scale(1.04);
  }
  60% {
    transform: rotate(5deg);
  }
}
@keyframes inti-thinking {
  0%,
  100% {
    transform: rotate(-3deg);
  }
  50% {
    transform: translateY(-2px) rotate(3deg);
  }
}
@keyframes inti-success {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }
  35% {
    transform: translateY(-7px) scale(1.08);
  }
  65% {
    transform: translateY(-2px) scale(1.03);
  }
}
@media (prefers-reduced-motion: reduce) {
  .inti-mascot {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}
