/* ═══════════════════════════════════════════════════════════════════
   assistant-animations.css — J.art Photographe V7
   Animations CSS de l'avatar/robot. Marque l'element avec
   data-jart-avatar pour activer les animations.
   ═══════════════════════════════════════════════════════════════════ */

:root {
  --jart-gold:      #d4af37;
  --jart-gold-soft: #e8c46c;
}

[data-jart-avatar] {
  display: inline-block;
  transform-origin: center;
  transition: filter .3s ease;
  will-change: transform, filter;
}

.jart-avatar--idle      { animation: jartBreath 4s ease-in-out infinite; }
.jart-avatar--listening { filter: drop-shadow(0 0 6px var(--jart-gold-soft)); }
.jart-avatar--thinking  { filter: drop-shadow(0 0 4px var(--jart-gold)); }
.jart-avatar--talking   { animation: jartTalk .6s ease-in-out infinite;
                          filter: drop-shadow(0 0 10px var(--jart-gold)); }
.jart-avatar--happy     { animation: jartHappy 1s ease-in-out; }
.jart-avatar--sad       { filter: brightness(.85) saturate(.7); }
.jart-avatar--surprised { transform: scale(1.08); }

@keyframes jartBreath {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.02); }
}

@keyframes jartTalk {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.05); }
}

@keyframes jartHappy {
  0%, 100% { transform: translateY(0); }
  25%      { transform: translateY(-6px); }
  75%      { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  [data-jart-avatar],
  .jart-avatar--idle,
  .jart-avatar--talking,
  .jart-avatar--happy {
    animation: none !important;
  }
}
