.hover-card{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease,border-color .3s ease}.hover-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 20px 40px -15px #0006,0 0 30px #ec489926}.hover-button{transition:transform .15s ease,box-shadow .15s ease}.hover-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px -10px #ec489980}.hover-button:active{transform:translateY(0) scale(.98)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px #ec489966,0 0 40px #ec489933}.hover-bounce:hover{animation:iconBounce .5s ease}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.gradient-text{background:linear-gradient(135deg,#ec4899,#06b6d4,#ec4899);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite}.gradient-text-static{background:linear-gradient(135deg,#ec4899,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:none}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-border{position:relative;background:linear-gradient(#0f0f14,#0f0f14) padding-box,linear-gradient(135deg,#ec4899,#06b6d4,#ec4899) border-box;border:2px solid transparent}.gradient-border-animated{position:relative}.gradient-border-animated:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:2px;border-radius:inherit;background:linear-gradient(135deg,#ec4899,#06b6d4,#ec4899);background-size:200% 200%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:gradientShift 3s ease infinite;pointer-events:none}.tab-content-enter{animation:tabSlideIn .4s cubic-bezier(.16,1,.3,1) forwards}.tab-content-enter-left{animation:tabSlideInLeft .4s cubic-bezier(.16,1,.3,1) forwards}.tab-content-enter-right{animation:tabSlideInRight .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes tabSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes tabSlideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes tabSlideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px #ec48994d}50%{box-shadow:0 0 20px #ec489999,0 0 40px #ec48994d}}.shimmer{background:linear-gradient(90deg,#fff0,#ffffff0d,#fff0);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-bounce{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.streak-fire{animation:firePulse 1s ease-in-out infinite}@keyframes firePulse{0%,to{filter:drop-shadow(0 0 5px #f97316) drop-shadow(0 0 10px #f97316)}50%{filter:drop-shadow(0 0 10px #f97316) drop-shadow(0 0 20px #ef4444)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}.perspective-1000{perspective:1000px}.glitch-text{position:relative;color:#fff}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;background:#0f0f14}.glitch-text:before{left:2px;text-shadow:-1px 0 #ff00c1;clip:rect(44px,450px,56px,0);animation:glitch-anim-1 5s infinite linear alternate-reverse}.glitch-text:after{left:-2px;text-shadow:-1px 0 #00fff9;clip:rect(44px,450px,56px,0);animation:glitch-anim-2 5s infinite linear alternate-reverse}@keyframes glitch-anim-1{0%{clip:rect(30px,9999px,10px,0)}5%{clip:rect(70px,9999px,90px,0)}10%{clip:rect(20px,9999px,50px,0)}15%{clip:rect(80px,9999px,10px,0)}20%{clip:rect(10px,9999px,40px,0)}25%{clip:rect(50px,9999px,20px,0)}30%{clip:rect(90px,9999px,60px,0)}35%{clip:rect(40px,9999px,80px,0)}40%{clip:rect(60px,9999px,30px,0)}45%{clip:rect(10px,9999px,70px,0)}50%{clip:rect(80px,9999px,20px,0)}55%{clip:rect(30px,9999px,90px,0)}60%{clip:rect(70px,9999px,40px,0)}65%{clip:rect(20px,9999px,60px,0)}70%{clip:rect(50px,9999px,10px,0)}75%{clip:rect(90px,9999px,50px,0)}80%{clip:rect(40px,9999px,80px,0)}85%{clip:rect(60px,9999px,30px,0)}90%{clip:rect(10px,9999px,70px,0)}95%{clip:rect(80px,9999px,20px,0)}to{clip:rect(30px,9999px,90px,0)}}@keyframes glitch-anim-2{0%{clip:rect(60px,9999px,30px,0)}5%{clip:rect(10px,9999px,70px,0)}10%{clip:rect(80px,9999px,20px,0)}15%{clip:rect(30px,9999px,90px,0)}20%{clip:rect(70px,9999px,40px,0)}25%{clip:rect(20px,9999px,60px,0)}30%{clip:rect(50px,9999px,10px,0)}35%{clip:rect(90px,9999px,50px,0)}40%{clip:rect(40px,9999px,80px,0)}45%{clip:rect(60px,9999px,30px,0)}50%{clip:rect(10px,9999px,70px,0)}55%{clip:rect(80px,9999px,20px,0)}60%{clip:rect(30px,9999px,90px,0)}65%{clip:rect(70px,9999px,40px,0)}70%{clip:rect(20px,9999px,60px,0)}75%{clip:rect(50px,9999px,10px,0)}80%{clip:rect(90px,9999px,50px,0)}85%{clip:rect(40px,9999px,80px,0)}90%{clip:rect(60px,9999px,30px,0)}95%{clip:rect(10px,9999px,70px,0)}to{clip:rect(80px,9999px,20px,0)}}.signal-wave{position:relative;overflow:hidden}.signal-wave:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ec489966;border-radius:50%;transform:translate(-50%,-50%);animation:signal-pulse 2s infinite ease-out}@keyframes signal-pulse{0%{width:0;height:0;opacity:.8}to{width:300%;height:300%;opacity:0}}.typing-cursor:after{content:"|";animation:blink 1s step-start infinite}@keyframes blink{50%{opacity:0}}
