@keyframes speaking-pulse{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes wave{0%,to{height:4px}50%{height:12px}}@keyframes slide-in{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 5px hsl(var(--primary)/.5)}50%{box-shadow:0 0 20px hsl(var(--primary)/.8),0 0 30px hsl(var(--primary)/.4)}}@keyframes button-press{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes ring-expand{0%{opacity:.6;transform:scale(.8)}to{opacity:0;transform:scale(1.4)}}@keyframes breathe{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.animate-speaking-pulse{animation:2s infinite speaking-pulse}.animate-wave{animation:1s ease-in-out infinite wave}.animate-wave-delay-75{animation:1s ease-in-out 75ms infinite wave}.animate-wave-delay-150{animation:1s ease-in-out .15s infinite wave}.animate-slide-in{animation:.5s ease-out forwards slide-in}.animate-glow{animation:2s ease-in-out infinite glow}.animate-button-press{animation:.1s ease-out button-press}.animate-ring-expand{animation:2s ease-out infinite ring-expand}.animate-breathe{animation:3s ease-in-out infinite breathe}.control-button{transition:all .2s}.control-button:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.control-button:active{transform:scale(.95)}.video-tile{transition:all .3s cubic-bezier(.4,0,.2,1)}.video-tile:hover{transform:scale(1.02);box-shadow:0 8px 25px #0003}.glass-morphism{-webkit-backdrop-filter:blur(12px);background:hsl(var(--background)/.6);border:1px solid hsl(var(--border)/.4)}.glass-morphism-card{-webkit-backdrop-filter:blur(12px);background:hsl(var(--card)/.8);border:1px solid hsl(var(--border)/.4)}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}
