.caa-avatar-svg { display:block; width:100%; height:100%; overflow:visible; }

.caa-arcs {
  transform-origin: 100px 100px;
}

/* IDLE thinking — roztočí se a postupně zpomalí až zastaví (do ztracena) */
.caa-avatar-svg.caa-state-thinking .caa-arcs {
  animation: caa-spin-fadeout 4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes caa-spin-fadeout {
  0%   { transform: rotate(0deg); }
  40%  { transform: rotate(360deg); }
  70%  { transform: rotate(600deg); }
  88%  { transform: rotate(690deg); }
  96%  { transform: rotate(718deg); }
  100% { transform: rotate(720deg); }
}

/* RETURNING — plynný návrat na 0° */
.caa-avatar-svg.caa-state-returning .caa-arcs {
  animation: none;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* TALKING — kolébání (jen mini ikona u zpráv) */
.caa-avatar-svg.caa-state-talking .caa-arcs {
  animation: caa-sway 0.5s ease-in-out infinite;
}
@keyframes caa-sway {
  0%,100% { transform: rotate(0deg); }
  25%     { transform: rotate(-12deg); }
  75%     { transform: rotate(12deg); }
}

/* Mini avatar talking */
.caa-mini-avatar .caa-avatar-svg.caa-state-talking .caa-arcs {
  animation: caa-sway 0.45s ease-in-out infinite;
}
