/* Presença V4: movimentos gentis, ancorados nos grupos do SVG.
   Os estados existem somente durante a interação; a boca é dirigida pelo TTS. */
.avatar.pr-managed{--pr-rhythm:2.5s}
.avatar.pr-managed .head{transform-origin:120px 180px;transition:transform .42s ease}
.avatar.pr-managed .iris{transition:transform .32s ease}
.avatar.pr-listening .head{transform:rotate(-4deg) translateY(-1px)}
.avatar.pr-listening .arm-l{transform:rotate(-12deg)}
.avatar.pr-listening .arm-r{transform:rotate(12deg)}
.avatar.pr-listening .brow-l,.avatar.pr-listening .brow-r{transform:translateY(-2px)}
.avatar.pr-thinking .head{transform:rotate(4deg)}
.avatar.pr-thinking .brow-l{transform:translateY(-4px) rotate(-3deg)}
.avatar.pr-thinking .brow-r{transform:translateY(-1px)}
.avatar.pr-thinking .arm-r{transform:rotate(26deg)}
.avatar.pr-speaking .head{animation:presence-speak-head var(--pr-rhythm) ease-in-out infinite}
.avatar.pr-speaking .breathe{animation:presence-speak-body 3.4s ease-in-out infinite}
.avatar.pr-speaking .arm-r{animation:presence-speak-hand calc(var(--pr-rhythm) * 1.8) ease-in-out infinite}
.avatar.pr-speaking[data-presence-gesture="wave"] .arm-l{animation:presence-open-hand 5.2s ease-in-out infinite}
.avatar.pr-speaking[data-presence-gesture="laugh"] .head{animation-duration:2.1s}
.avatar.pr-speaking[data-presence-gesture="think"] .head{animation-duration:3.1s}
.avatar.pr-speaking[data-presence-gesture="thumb"] .arm-r{animation-duration:3.2s}
.avatar.pr-happy .head{transform:rotate(-2deg) translateY(-2px)}
.avatar.pr-managed.pose-wave .arm-r{animation:wave 1.8s ease-in-out 1 both}
.avatar.pr-managed.pose-nod .head{animation:nod .5s ease-in-out 2}
.avatar.pr-managed.pose-laugh .head{transform:rotate(3deg) translateY(-2px)}
.avatar.pr-managed.pose-thumb .arm-r{animation:none;transform:rotate(140deg)}
.avatar.pr-managed.pose-think .arm-r{animation:none;transform:rotate(155deg)}
.avatar.pr-managed.pose-clap .arm-r{animation:clapr .3s ease-in-out 5}
.avatar.pr-managed.pose-clap .arm-l{animation:clapl .3s ease-in-out 5}
@keyframes presence-speak-head{
  0%,100%{transform:rotate(-1deg) translateY(0)}
  28%{transform:rotate(1.4deg) translateY(1.5px)}
  58%{transform:rotate(.2deg) translateY(-1px)}
  80%{transform:rotate(-1.2deg) translateY(.5px)}
}
@keyframes presence-speak-body{
  0%,100%{transform:translateY(0) scaleY(1)}
  50%{transform:translateY(-1px) scaleY(1.009)}
}
@keyframes presence-speak-hand{
  0%,100%{transform:rotate(5deg)}
  28%{transform:rotate(23deg)}
  58%{transform:rotate(9deg)}
  78%{transform:rotate(17deg)}
}
@keyframes presence-open-hand{
  0%,100%{transform:rotate(-3deg)}
  45%{transform:rotate(-17deg)}
  70%{transform:rotate(-8deg)}
}
@media (prefers-reduced-motion:reduce){
  .avatar.pr-managed *{animation:none!important;transition:none!important}
  .avatar.pr-managed .head,.avatar.pr-managed .arm-l,.avatar.pr-managed .arm-r,.avatar.pr-managed .breathe{transform:none!important}
}
:root[data-motion="reduce"] .avatar.pr-managed *{animation:none!important;transition:none!important}
:root[data-motion="reduce"] .avatar.pr-managed .head,
:root[data-motion="reduce"] .avatar.pr-managed .arm-l,
:root[data-motion="reduce"] .avatar.pr-managed .arm-r,
:root[data-motion="reduce"] .avatar.pr-managed .breathe{transform:none!important}
