.reveal,.reveal-left,.reveal-right{transition:.8s;opacity:0}@keyframes logoGlow{0%{filter:drop-shadow(0 0 5px var(--neon-primary))}100%{filter:drop-shadow(0 0 20px var(--neon-primary)) drop-shadow(0 0 30px var(--neon-primary))}}@keyframes textGlow{0%{text-shadow:0 0 5px var(--neon-primary),0 0 10px var(--neon-primary)}100%{text-shadow:0 0 10px var(--neon-primary),0 0 20px var(--neon-primary),0 0 30px var(--neon-primary),0 0 40px var(--neon-primary)}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,247,255,.7)}70%{box-shadow:0 0 0 20px rgba(0,247,255,0)}100%{box-shadow:0 0 0 0 rgba(0,247,255,0)}}@keyframes rotate{0%{transform:translate(-50%,-50%) rotate(0)}100%{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes rotateReverse{0%{transform:translate(-50%,-50%) rotate(0)}100%{transform:translate(-50%,-50%) rotate(-360deg)}}@keyframes blink{0%,100%{border-color:transparent}50%{border-color:var(--neon-primary)}}@keyframes scrollBounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes heartBeat{0%,100%,50%{transform:scale(1)}25%,75%{transform:scale(1.3)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shine{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@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 slideInUp{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}100%{opacity:1;transform:scale(1)}}@keyframes flipInX{from{transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}to{transform:perspective(400px);opacity:1}}@keyframes zoomIn{from{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:1;transform:scale3d(1,1,1)}}@keyframes neonFlicker{0%,100%,18%,22%,25%,53%,57%{text-shadow:0 0 4px var(--neon-primary),0 0 11px var(--neon-primary),0 0 19px var(--neon-primary),0 0 40px var(--neon-secondary),0 0 80px var(--neon-secondary),0 0 90px var(--neon-secondary),0 0 100px var(--neon-secondary),0 0 150px var(--neon-secondary)}20%,24%,55%{text-shadow:none}}@keyframes borderGlow{0%,100%{box-shadow:0 0 5px var(--neon-primary),inset 0 0 5px var(--neon-primary)}50%{box-shadow:0 0 20px var(--neon-primary),inset 0 0 10px var(--neon-primary)}}@keyframes particleFloat{0%,100%{transform:translateY(0) rotate(0)}33%{transform:translateY(-20px) rotate(120deg)}66%{transform:translateY(-10px) rotate(240deg)}}@keyframes ripple{0%{transform:scale(0);opacity:1}100%{transform:scale(4);opacity:0}}.animate-fadeInUp{animation:.8s ease-out fadeInUp}.animate-fadeInDown{animation:.8s ease-out fadeInDown}.animate-fadeInLeft{animation:.8s ease-out fadeInLeft}.animate-fadeInRight{animation:.8s ease-out fadeInRight}.animate-bounceIn{animation:.8s ease-out bounceIn}.animate-flipInX{animation:.8s ease-out flipInX}.animate-zoomIn{animation:.8s ease-out zoomIn}.animate-pulse{animation:2s infinite pulse}.animate-float{animation:3s ease-in-out infinite float}.animate-neonFlicker{animation:1.5s infinite alternate neonFlicker}.animate-borderGlow{animation:2s infinite borderGlow}.reveal{transform:translateY(30px)}.reveal.active,.stagger-item.active{opacity:1;transform:translateY(0)}.reveal-left{transform:translateX(-30px)}.reveal-left.active,.reveal-right.active{opacity:1;transform:translateX(0)}.reveal-right{transform:translateX(30px)}.hover-lift{transition:transform .3s,box-shadow .3s}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,247,255,.3)}.hover-glow{transition:.3s}.hover-glow:hover{box-shadow:0 0 15px var(--neon-primary)}.hover-shake{transition:transform .3s}.hover-shake:hover{animation:.5s ease-in-out shake}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-primary);border-top:4px solid var(--neon-primary);border-radius:50%;animation:1s linear infinite spin}.particle,.ripple{border-radius:50%;pointer-events:none;position:absolute}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.particle{background:var(--neon-primary);animation:3s ease-in-out infinite particleFloat}.ripple{background:rgba(0,247,255,.6);transform:scale(0);animation:.6s linear ripple}.glitch,.magnetic-btn{position:relative}.typewriter{overflow:hidden;border-right:2px solid var(--neon-primary);white-space:nowrap;animation:3.5s steps(40,end) typing,.75s step-end infinite blink-caret}@keyframes typing{from{width:0}to{width:100%}}@keyframes blink-caret{from,to{border-color:transparent}50%{border-color:var(--neon-primary)}}.stagger-item{opacity:0;transform:translateY(30px);transition:.6s}.animated-gradient{background:linear-gradient(-45deg,var(--neon-primary),var(--neon-secondary),var(--neon-highlight),var(--neon-purple));background-size:400% 400%;animation:15s infinite gradientShift}@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.magnetic-btn{overflow:hidden;transition:transform .3s}.magnetic-btn:hover{transform:translate(var(--tx,0),var(--ty,0)) scale(var(--scale,1.1))}.glitch::after,.glitch::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch::before{animation:3s linear infinite alternate-reverse glitch-effect;color:var(--neon-primary);z-index:-1}.glitch::after{animation:2s linear infinite alternate-reverse glitch-effect;color:var(--neon-secondary);z-index:-2}@keyframes glitch-effect{0%,100%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}