@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-10px)}70%{transform:translateY(-5px)}90%{transform:translateY(-2px)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.animate-fade-in{animation:.6s ease-out forwards fadeIn}.animate-fade-in-up{animation:.8s ease-out forwards fadeInUp}.animate-fade-in-left{animation:.8s ease-out forwards fadeInLeft}.animate-fade-in-right{animation:.8s ease-out forwards fadeInRight}.animate-scale-in{animation:.5s ease-out forwards scaleIn}.animate-slide-in-down{animation:.6s ease-out forwards slideInDown}.animate-slide-in-up{animation:.6s ease-out forwards slideInUp}.animate-pulse{animation:2s infinite pulse}.animate-bounce{animation:1s infinite bounce}.animate-gradient{background-size:200% 200%;animation:3s infinite gradientShift}.animate-float{animation:3s ease-in-out infinite float}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent) 0 0/200px 100%;animation:1.5s infinite shimmer}.animate-stagger-1{animation-delay:.1s}.animate-stagger-2{animation-delay:.2s}.animate-stagger-3{animation-delay:.3s}.animate-stagger-4{animation-delay:.4s}.animate-stagger-5{animation-delay:.5s}.animate-stagger-6{animation-delay:.6s}.hover-lift{transition:transform .3s,box-shadow .3s}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.hover-scale{transition:transform .3s}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .3s}.hover-glow:hover{box-shadow:0 0 20px rgba(59,130,246,.5)}.btn-animate{transition:all .3s;position:relative;overflow:hidden}.btn-animate:before{content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-animate:hover:before{left:100%}.loading-dots{display:inline-block}.loading-dots:after{content:"";animation:1.5s steps(4,end) infinite dots}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}*{transition:color .2s,background-color .2s,border-color .2s,opacity .2s}.focus-ring{transition:all .2s}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.5)}.page-transition{animation:.6s ease-out fadeInUp}.modal-backdrop{animation:.3s ease-out fadeIn}.modal-content{animation:.3s ease-out scaleIn}.card-hover{transition:all .3s}.card-hover:hover{transform:translateY(-2px);box-shadow:0 10px 25px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}@keyframes scrollLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes scrollRight{0%{transform:translate(-100%)}to{transform:translate(0)}}.animate-scroll-left{animation:15s linear infinite scrollLeft}.animate-scroll-right{animation:15s linear infinite scrollRight}
