.progress-bar-fill-smooth{transition:width .5s cubic-bezier(.25,.46,.45,.94);box-shadow:0 0 8px rgba(0,200,150,.3)}@keyframes fade-in-subtle{0%{opacity:0}to{opacity:1}}.animate-fade-in-subtle{animation:fade-in-subtle .4s ease-out forwards}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .4s ease-out forwards}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton-shimmer{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.1) 50%,rgba(255,255,255,0));background-size:1000px 100%;animation:shimmer 2s linear infinite}.dark .skeleton-shimmer{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.05) 50%,rgba(255,255,255,0));background-size:1000px 100%}.animate-shimmer{animation:shimmer 2s linear infinite}@keyframes dot-bounce{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.animate-dot-bounce{animation:dot-bounce 1.4s ease-in-out infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.animate-blink,.typewriter-cursor{animation:blink 1s infinite}.typewriter-cursor{display:inline-block;color:#00c896;margin-left:2px}.skeleton-content,.typewriter-content{animation:fade-in .3s ease-out forwards}@keyframes slide-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-review-animate-in{animation:slide-in-up .3s ease-out forwards}.ai-progress-container{transition:all .3s ease-out}.ai-progress-container>div>div{transition:color .3s ease-out,transform .3s ease-out}