@keyframes pulse-ring{0%{transform:scale(.95);opacity:1}50%{transform:scale(1.05);opacity:.5}to{transform:scale(.95);opacity:1}}.recording-indicator{animation:pulse-ring 2s ease-in-out infinite}@keyframes wave-animation{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.streaming-wave{animation:wave-animation 3s linear infinite}@keyframes pulse{0%,to{opacity:.3;transform:scaleY(.3)}50%{opacity:1;transform:scaleY(1)}}@keyframes wave{0%{d:path("M0,150 Q100,100 200,150 T400,150 T600,150 T800,150")}50%{d:path("M0,150 Q100,180 200,150 T400,120 T600,180 T800,150")}to{d:path("M0,150 Q100,100 200,150 T400,150 T600,150 T800,150")}}@keyframes wave-slow{0%{d:path("M0,150 Q100,200 200,150 T400,150 T600,150 T800,150")}50%{d:path("M0,150 Q100,120 200,150 T400,180 T600,120 T800,150")}to{d:path("M0,150 Q100,200 200,150 T400,150 T600,150 T800,150")}}@keyframes wave-fast{0%{d:path("M0,150 Q100,120 200,150 T400,150 T600,150 T800,150")}50%{d:path("M0,150 Q100,170 200,150 T400,130 T600,170 T800,150")}to{d:path("M0,150 Q100,120 200,150 T400,150 T600,150 T800,150")}}.animate-wave{animation:wave 3s ease-in-out infinite}.animate-wave-slow{animation:wave-slow 4s ease-in-out infinite}.animate-wave-fast{animation:wave-fast 2.5s ease-in-out infinite}