
@keyframes voiceRing {
  0%   { transform: scale(.85); opacity: .6; }
  100% { transform: scale(1.7); opacity: 0; }
}

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

@keyframes voiceDotPulse { 0%,100%{opacity:1} 50%{opacity:.3} }


@keyframes waveBar {
  0%, 100% { height: calc(var(--mh) * .28); opacity: .38; }
  50%       { height: var(--mh);            opacity: .85; }
}

@keyframes vring {
  0%   { opacity: .7; transform: scale(.85); }
  100% { opacity: 0;  transform: scale(1.3); }
}

@keyframes vdotPulse { 0%,100%{opacity:1} 50%{opacity:.3} }


@keyframes msgIn { from{opacity:0;transform:translateY(6px) scale(.97)} to{opacity:1;transform:none} }
