@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{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 slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes slideLeft{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideRight{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(.9)}20%,40%{transform:scale(1.1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .6s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .6s ease-out forwards}.animate-fade-in-left{animation:fadeInLeft .6s ease-out forwards}.animate-fade-in-right{animation:fadeInRight .6s ease-out forwards}.animate-scale-in{animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275) forwards}.animate-slide-in-up{animation:slideInUp .5s ease-out forwards}.animate-slide-in-down{animation:slideInDown .5s ease-out forwards}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-rotate{animation:rotate 1s linear infinite}.animate-wiggle{animation:wiggle .5s ease-in-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-zoom-in{animation:zoomIn .5s ease-out forwards}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.hover-lift{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001f}.hover-grow{transition:transform .3s ease}.hover-grow:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .3s ease,transform .3s ease}.hover-glow:hover{box-shadow:0 0 30px #ff6b3566;transform:scale(1.02)}.hover-slide-right{transition:transform .3s ease}.hover-slide-right:hover{transform:translate(5px)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:1000px 100%;animation:shimmer 2s infinite;border-radius:var(--radius-md)}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-title{height:1.5em;width:60%;margin-bottom:1em}.skeleton-avatar{width:50px;height:50px;border-radius:50%}.skeleton-card{height:200px;width:100%}.spinner{width:40px;height:40px;border:3px solid rgba(255,107,53,.1);border-top-color:var(--primary);border-radius:50%;animation:rotate .8s linear infinite}.spinner-small{width:20px;height:20px;border-width:2px}.spinner-large{width:60px;height:60px;border-width:4px}.stagger-item{opacity:0;animation:fadeInUp .6s ease-out forwards}.stagger-item:nth-child(1){animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}.stagger-item:nth-child(7){animation-delay:.35s}.stagger-item:nth-child(8){animation-delay:.4s}.stagger-item:nth-child(9){animation-delay:.45s}.stagger-item:nth-child(10){animation-delay:.5s}.stagger-item:nth-child(11){animation-delay:.55s}.stagger-item:nth-child(12){animation-delay:.6s}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-ripple:active:after{width:300px;height:300px}.state-success{animation:scaleIn .3s ease-out,pulse .5s ease-out .3s;color:var(--success)!important}.state-error{animation:shake .5s ease-in-out;color:var(--danger)!important}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .4s ease-out,transform .4s ease-out}.page-transition-exit{opacity:1}.page-transition-exit-active{opacity:0;transition:opacity .3s ease-in}.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:768px){.hover-lift:hover{transform:translateY(-4px)}.animate-fade-in-up,.animate-fade-in-down,.animate-fade-in-left,.animate-fade-in-right{animation-duration:.4s}}
