@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-30px);}to{opacity:1;transform:translateX(0);}}@keyframes fadeInRight{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:translateX(0);}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes scaleIn{from{opacity:0;transform:scale(0.8);}to{opacity:1;transform:scale(1);}}@keyframes scaleUp{from{transform:scale(1);}to{transform:scale(1.05);}}@keyframes rotateIn{from{opacity:0;transform:rotate(-180deg);}to{opacity:1;transform:rotate(0deg);}}@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes glow{0%,100%{box-shadow:0 0 20px rgba(0,212,255,0.3);}50%{box-shadow:0 0 40px rgba(0,212,255,0.6);}}@keyframes glowPulse{0%,100%{filter:brightness(1);}50%{filter:brightness(1.2);}}@keyframes gradientShift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}@keyframes gradientFlow{0%{background-position:0% 0%;}50%{background-position:100% 100%;}100%{background-position:0% 0%;}}@keyframes slideInUp{from{transform:translateY(100%);}to{transform:translateY(0);}}@keyframes slideInDown{from{transform:translateY(-100%);}to{transform:translateY(0);}}@keyframes slideInLeft{from{transform:translateX(-100%);}to{transform:translateX(0);}}@keyframes slideInRight{from{transform:translateX(100%);}to{transform:translateX(0);}}@keyframes bounce{0%,20%,53%,80%,100%{transform:translateY(0);}40%,43%{transform:translateY(-10px);}70%{transform:translateY(-5px);}90%{transform:translateY(-2px);}}@keyframes bounceIn{0%{opacity:0;transform:scale(0.3);}50%{opacity:1;transform:scale(1.05);}70%{transform:scale(0.9);}100%{opacity:1;transform:scale(1);}}@keyframes shake{0%,100%{transform:translateX(0);}10%,30%,50%,70%,90%{transform:translateX(-5px);}20%,40%,60%,80%{transform:translateX(5px);}}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}@keyframes pulseScale{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}@keyframes wiggle{0%,100%{transform:rotate(0deg);}25%{transform:rotate(5deg);}75%{transform:rotate(-5deg);}}@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}@keyframes typewriter{from{width:0;}to{width:100%;}}@keyframes blink{0%,50%{border-color:transparent;}51%,100%{border-color:currentColor;}}@keyframes wave{0%,100%{transform:rotate(0deg);}25%{transform:rotate(20deg);}75%{transform:rotate(-10deg);}}@keyframes heartbeat{0%,100%{transform:scale(1);}25%{transform:scale(1.1);}50%{transform:scale(1);}75%{transform:scale(1.05);}}.animate-fadeInUp{animation:fadeInUp 0.6s ease-out;}.animate-fadeInDown{animation:fadeInDown 0.6s ease-out;}.animate-fadeInLeft{animation:fadeInLeft 0.6s ease-out;}.animate-fadeInRight{animation:fadeInRight 0.6s ease-out;}.animate-fadeIn{animation:fadeIn 0.6s ease-out;}.animate-scaleIn{animation:scaleIn 0.6s ease-out;}.animate-rotateIn{animation:rotateIn 0.8s ease-out;}.animate-bounceIn{animation:bounceIn 0.8s ease-out;}.animate-slideInUp{animation:slideInUp 0.6s ease-out;}.animate-slideInDown{animation:slideInDown 0.6s ease-out;}.animate-slideInLeft{animation:slideInLeft 0.6s ease-out;}.animate-slideInRight{animation:slideInRight 0.6s ease-out;}.hover-glow:hover{animation:glow 1s ease-in-out infinite;}.hover-pulse:hover{animation:pulse 1s ease-in-out infinite;}.hover-bounce:hover{animation:bounce 0.6s ease-in-out;}.hover-shake:hover{animation:shake 0.5s ease-in-out;}.hover-wiggle:hover{animation:wiggle 0.5s ease-in-out;}.hover-float:hover{animation:float 2s ease-in-out infinite;}.hover-scale:hover{animation:scaleUp 0.3s ease-out;}.hover-rotate:hover{animation:spin 0.6s ease-in-out;}.hover-heartbeat:hover{animation:heartbeat 1s ease-in-out;}.animate-spin{animation:spin 1s linear infinite;}.animate-pulse{animation:pulse 2s ease-in-out infinite;}.animate-bounce{animation:bounce 1s ease-in-out infinite;}.animate-float{animation:float 3s ease-in-out infinite;}.animate-wiggle{animation:wiggle 2s ease-in-out infinite;}.animate-wave{animation:wave 2s ease-in-out infinite;}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite;}.animate-gradient{background-size:300% 300%;animation:gradientShift 4s ease-in-out infinite;}.animate-gradientFlow{background-size:400% 400%;animation:gradientFlow 6s ease-in-out infinite;}.shimmer{background:linear-gradient( 90deg,transparent,rgba(255,255,255,0.2),transparent );background-size:200% 100%;animation:shimmer 2s ease-in-out infinite;}.typewriter{overflow:hidden;border-right:2px solid;white-space:nowrap;animation:typewriter 3s steps(40,end),blink 0.75s step-end infinite;}.stagger-1{animation-delay:0.1s;}.stagger-2{animation-delay:0.2s;}.stagger-3{animation-delay:0.3s;}.stagger-4{animation-delay:0.4s;}.stagger-5{animation-delay:0.5s;}.stagger-6{animation-delay:0.6s;}.scroll-reveal{opacity:0;transform:translateY(30px);transition:all 0.6s ease-out;}.scroll-reveal.revealed{opacity:1;transform:translateY(0);}.scroll-reveal-left{opacity:0;transform:translateX(-30px);transition:all 0.6s ease-out;}.scroll-reveal-left.revealed{opacity:1;transform:translateX(0);}.scroll-reveal-right{opacity:0;transform:translateX(30px);transition:all 0.6s ease-out;}.scroll-reveal-right.revealed{opacity:1;transform:translateX(0);}.scroll-reveal-scale{opacity:0;transform:scale(0.8);transition:all 0.6s ease-out;}.scroll-reveal-scale.revealed{opacity:1;transform:scale(1);}.loading-dots{display:inline-block;}.loading-dots::after{content:'';animation:loadingDots 1.5s infinite;}@keyframes loadingDots{0%,20%{content:'';}40%{content:'.';}60%{content:'..';}80%,100%{content:'...';}}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,0.3);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;}.micro-bounce:active{animation:bounce 0.3s ease-in-out;}.micro-scale:active{animation:scaleUp 0.2s ease-out;}.micro-glow:focus{animation:glow 0.5s ease-in-out;}.gpu-accelerated{transform:translateZ(0);will-change:transform;}.smooth-transition{transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}}