.page-transition-enter{opacity:0;filter:blur(10px);transform:translateY(20px)}.page-transition-enter-active{opacity:1;filter:blur(0);transform:translateY(0);transition:all .4s cubic-bezier(.4,0,.2,1)}.page-transition-exit{opacity:1;filter:blur(0)}.page-transition-exit-active{opacity:0;filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes fadeInScaleUp{0%{opacity:0;transform:scale(.95) translateY(10px);filter:blur(5px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}.animate-fade-in-scale-up{animation:fadeInScaleUp .5s cubic-bezier(.4,0,.2,1)}.btn-hover{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-hover:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-hover:hover:before{width:300px;height:300px}.btn-hover:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 10px 40px #ef444466}.btn-hover:active{transform:scale(.98) translateY(0)}@keyframes pulse-glow{0%,to{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 15px #ef444400}}.btn-pulse{animation:pulse-glow 2s infinite}.icon-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.icon-hover:hover{transform:scale(1.2) rotate(5deg);filter:brightness(1.2)}.card-hover{transition:all .4s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #ef44444d}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{animation:shimmer 2s infinite linear;background:linear-gradient(90deg,#18181b,#27272a,#18181b);background-size:1000px 100%}.skeleton-text{height:1rem;border-radius:.25rem;margin-bottom:.5rem}.skeleton-title{height:1.5rem;border-radius:.25rem;margin-bottom:1rem;width:60%}.skeleton-avatar{width:3rem;height:3rem;border-radius:50%}.skeleton-card{border-radius:.75rem;padding:1.5rem;background:#18181b}.parallax-bg{transition:transform .1s ease-out;will-change:transform}html{scroll-behavior:smooth}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-enter{animation:modalFadeIn .3s cubic-bezier(.4,0,.2,1)}@keyframes backdropFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.backdrop-enter{animation:backdropFadeIn .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-enter{animation:slideInRight .4s cubic-bezier(.4,0,.2,1)}@keyframes ripple{to{transform:scale(4);opacity:0}}.ripple{position:absolute;border-radius:50%;background:#ffffff80;width:20px;height:20px;pointer-events:none;animation:ripple .6s ease-out}@keyframes swipeRight{to{transform:translate(150%) rotate(20deg);opacity:0}}@keyframes swipeLeft{to{transform:translate(-150%) rotate(-20deg);opacity:0}}@keyframes swipeUp{to{transform:translateY(-150%) scale(1.1);opacity:0}}.swipe-right{animation:swipeRight .4s cubic-bezier(.4,0,.6,1)}.swipe-left{animation:swipeLeft .4s cubic-bezier(.4,0,.6,1)}.swipe-up{animation:swipeUp .5s cubic-bezier(.4,0,.6,1)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce-slow{animation:bounce 2s infinite}.glow-on-hover{position:relative;transition:all .3s}.glow-on-hover:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;opacity:0;transition:opacity .3s;box-shadow:0 0 30px #ef444499}.glow-on-hover:hover:after{opacity:1}@keyframes drip{0%{transform:translateY(-100%);opacity:0}10%{opacity:1}to{transform:translateY(100vh);opacity:0}}.blood-drip{animation:drip 3s ease-in infinite}@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)}}.animate-fade-in-up{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1)}.animate-fade-in-down{animation:fadeInDown .6s cubic-bezier(.4,0,.2,1)}.animate-fade-in-left{animation:fadeInLeft .6s cubic-bezier(.4,0,.2,1)}.animate-fade-in-right{animation:fadeInRight .6s cubic-bezier(.4,0,.2,1)}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}@keyframes spin-glow{0%{transform:rotate(0);filter:drop-shadow(0 0 5px rgba(239,68,68,.5))}50%{filter:drop-shadow(0 0 20px rgba(239,68,68,.8))}to{transform:rotate(360deg);filter:drop-shadow(0 0 5px rgba(239,68,68,.5))}}.spinner-glow{animation:spin-glow 1s linear infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.text-gradient-animated{background:linear-gradient(90deg,#ef4444,#dc2626,#b91c1c,#ef4444);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite}@keyframes countUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.count-up{animation:countUp .5s cubic-bezier(.4,0,.2,1)}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{50%{border-color:transparent}}.typewriter{overflow:hidden;border-right:2px solid #ef4444;white-space:nowrap;animation:typing 3s steps(40) 1s,blink .75s step-end infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes pulse-glow-soft{0%,to{box-shadow:0 0 15px #dc262633}50%{box-shadow:0 0 25px #dc262680}}.animate-pulse-glow-soft{animation:pulse-glow-soft 3s infinite}@keyframes swipe-in{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-swipe-in{animation:swipe-in .5s cubic-bezier(.16,1,.3,1) forwards}
