.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{transition:opacity .3s ease-out,transform .3s ease-out}.page-transition-enter-active,.page-transition-exit{opacity:1;transform:translateY(0)}.page-transition-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .2s ease-in,transform .2s ease-in}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.card-scale{transition:transform .2s ease-in-out}.card-scale:active{transform:scale(.98)}.btn-gradient{position:relative;overflow:hidden;transition:all .3s ease}.btn-gradient:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s ease}.btn-gradient:hover:before{left:100%}.btn-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.skeleton{animation:skeleton-loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in-up{animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-down{animation:fadeInDown .6s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.scale-in-bounce{animation:scaleInBounce .5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes scaleInBounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.slide-in-right{animation:slideInRight .4s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}.slide-in-left{animation:slideInLeft .4s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}.bounce{animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.gradient-shift{background-size:200% 200%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.glow{animation:glow 2s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(139,92,246,.5)}50%{box-shadow:0 0 20px rgba(139,92,246,.8),0 0 30px rgba(20,184,166,.6)}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px}.progress-bar{position:relative;overflow:hidden}.progress-bar:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);animation:progressShine 2s ease-in-out infinite}@keyframes progressShine{0%{left:-100%}to{left:100%}}.badge-pulse{animation:badgePulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes badgePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.stagger-item{animation:staggerFadeIn .5s ease-out backwards}.stagger-item:first-child{animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.stagger-item:nth-child(6){animation-delay:.6s}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth}:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px;border-radius:4px}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-fast{transition:all .15s ease-in-out}.transition-slow{transition:all .5s ease-in-out}