@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{0%{transform:translateX(-50px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInRight{0%{transform:translateX(50px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes scale{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes devicePerspective{0%{transform:rotateY(0deg) scale(1)}50%{transform:rotateY(8deg) scale(1.02)}to{transform:rotateY(0deg) scale(1)}}@keyframes deviceFloat{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-8px) rotate(1deg)}75%{transform:translateY(8px) rotate(-1deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradientFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes morphBlob{0%{border-radius:40% 60% 60% 40%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}to{border-radius:40% 60% 60% 40%/60% 30% 70% 40%}}@keyframes heroTyping{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.hero-typing-animation{animation:heroTyping 3s forwards}@keyframes textGlitch{0%{text-shadow:.05em 0 0 rgba(255,0,0,.75),-.05em -.025em 0 rgba(0,255,0,.75),.025em .05em 0 rgba(0,0,255,.75)}14%{text-shadow:.05em 0 0 rgba(255,0,0,.75),-.05em -.025em 0 rgba(0,255,0,.75),.025em .05em 0 rgba(0,0,255,.75)}15%{text-shadow:-.05em -.025em 0 rgba(255,0,0,.75),.025em .025em 0 rgba(0,255,0,.75),-.05em -.05em 0 rgba(0,0,255,.75)}49%{text-shadow:-.05em -.025em 0 rgba(255,0,0,.75),.025em .025em 0 rgba(0,255,0,.75),-.05em -.05em 0 rgba(0,0,255,.75)}50%{text-shadow:.025em .05em 0 rgba(255,0,0,.75),.05em 0 0 rgba(0,255,0,.75),0 -.05em 0 rgba(0,0,255,.75)}99%{text-shadow:.025em .05em 0 rgba(255,0,0,.75),.05em 0 0 rgba(0,255,0,.75),0 -.05em 0 rgba(0,0,255,.75)}to{text-shadow:-.025em 0 0 rgba(255,0,0,.75),-.025em -.025em 0 rgba(0,255,0,.75),-.025em -.05em 0 rgba(0,0,255,.75)}}@keyframes shine{0%{-webkit-mask-position:150%}to{-webkit-mask-position:-50%}}@keyframes breathe{0%,to{box-shadow:0 0 10px 5px rgba(59,130,246,.3)}50%{box-shadow:0 0 20px 10px rgba(59,130,246,.6)}}.animate-fade-in{animation:fadeIn 1s ease forwards}.animate-slide-up{animation:slideUp .8s ease forwards}.animate-slide-down{animation:slideDown .8s ease forwards}.animate-slide-left{animation:slideInLeft .8s ease forwards}.animate-slide-right{animation:slideInRight .8s ease forwards}.animate-scale{animation:scale .8s ease forwards}.animate-float{animation:float 6s ease-in-out infinite}.animate-device-perspective{animation:devicePerspective 8s ease-in-out infinite}.animate-device-float{animation:deviceFloat 6s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.2) 50%,rgba(255,255,255,0));background-size:200% 100%;animation:shimmer 3s infinite}.animate-gradient-flow{background-size:200% 200%;animation:gradientFlow 5s ease infinite}.animate-morph-blob{animation:morphBlob 8s ease-in-out infinite}.animate-text-glitch{animation:textGlitch 2.5s infinite}.animate-shine{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0,rgba(0,0,0,1) 50%,rgba(0,0,0,0));-webkit-mask-size:200% 100%;animation:shine 4s infinite}.animate-breathe{animation:breathe 3s ease-in-out infinite}.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}.delay-700{animation-delay:.7s}.delay-1000{animation-delay:1s}.hero-code{overflow:hidden;border-right:2px solid #3b82f6;white-space:nowrap;margin:0 auto;animation:typing 3.5s steps(40),blink-caret .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:#3b82f6}}.tilt-effect{transform-style:preserve-3d;perspective:1000px;transition:transform .3s ease}.tilt-effect:hover{transform:rotateX(5deg) rotateY(5deg)}.tilt-effect-strong:hover{transform:rotateX(10deg) rotateY(10deg)}.particle{position:absolute;border-radius:50%;opacity:0;animation:fadeInOut 3s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:0}50%{opacity:.8}}.btn-hover-effect{position:relative;overflow:hidden;transition:all .3s ease}.btn-hover-effect:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.2),transparent);transform:translateX(-100%)}.btn-hover-effect:hover:before{transform:translateX(100%);transition:all .6s linear}.card-hover-3d{transition:all .3s ease;transform:perspective(1000px) rotateX(0) rotateY(0)}.card-hover-3d:hover{transform:perspective(1000px) rotateX(2deg) rotateY(2deg);box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-animation{animation:cardAppear .5s ease-out forwards;opacity:0}.hover-effect{transition:all .3s ease}.hover-effect:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(0,0,0,.1)}@media (prefers-reduced-motion:reduce){.animate-breathe,.animate-device-float,.animate-device-perspective,.animate-fade-in,.animate-float,.animate-gradient-flow,.animate-morph-blob,.animate-scale,.animate-shimmer,.animate-shine,.animate-slide-down,.animate-slide-left,.animate-slide-right,.animate-slide-up,.animate-text-glitch,.btn-hover-effect,.card-hover-3d,.hero-code{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}}@keyframes radarSweep{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulseRadarGlow{0%,to{opacity:.3;transform:scale(.95)}50%{opacity:.8;transform:scale(1.05)}}@keyframes floatSmooth{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes laserShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-radar-sweep{animation:radarSweep 4s linear infinite}.animate-radar-glow{animation:pulseRadarGlow 3s ease-in-out infinite}.animate-float-smooth{animation:floatSmooth 5s ease-in-out infinite}.bg-laser-shimmer{background:linear-gradient(90deg,transparent,rgba(56,189,248,.15) 50%,transparent);background-size:200% 100%;animation:laserShimmer 3s linear infinite}