@keyframes float{0%,to{transform:translateY(0)translate(-50%)}50%{transform:translateY(-2px)translate(-50%)}}@keyframes speaking-pulse{0%{box-shadow:0 0 0 0 hsl(var(--green-500)/.7)}70%{box-shadow:0 0 0 10px hsl(var(--green-500)/0)}to{box-shadow:0 0 0 0 hsl(var(--green-500)/0)}}@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 backdrop-fade-in{0%{-webkit-backdrop-filter:blur();backdrop-filter:blur();opacity:0}to{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:1}}@keyframes button-press{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.animate-float{animation:3s ease-in-out infinite float}.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-backdrop-fade-in{animation:.3s ease-out forwards backdrop-fade-in}.animate-button-press{animation:.1s ease-out button-press}.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}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-morphism{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsl(var(--background)/.8);border:1px solid hsl(var(--border))}.glass-morphism-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsl(var(--card)/.95);border:1px solid hsl(var(--border))}
