@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #3b82f64d}50%{box-shadow:0 0 20px #3b82f699}}@keyframes typing-dots{0%,20%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}80%,to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:.3s ease-out fade-in}.animate-slide-up{animation:.4s ease-out slide-up}.animate-pulse-glow{animation:2s infinite pulse-glow}.animate-typing-dots{animation:1.4s infinite typing-dots}.message-bubble{transition:all .2s ease-in-out}.message-bubble:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.action-button{transition:all .2s ease-in-out}.action-button:hover{transform:scale(1.05)}.gradient-bg{background:linear-gradient(-45deg,#f8fafc,#e2e8f0,#cbd5e1,#94a3b8) 0 0/400% 400%;animation:15s infinite gradient-shift}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.loading-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-indicator{position:relative;overflow:hidden}.status-indicator:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);width:100%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:-100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes message-slide-in{0%{opacity:0;transform:translate(-20px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.animate-message-slide-in{animation:.3s cubic-bezier(.175,.885,.32,1.275) message-slide-in}@keyframes breathing{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.animate-breathing{animation:2s ease-in-out infinite breathing}@keyframes typing-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.typing-dot{animation:1.4s infinite typing-dot}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
