@keyframes gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #22d3ee4d}50%{box-shadow:0 0 40px #22d3ee99}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.tech-particles{width:100%;height:100%;position:absolute;overflow:hidden}.tech-particles:before,.tech-particles:after{content:"";background:#22d3ee80;border-radius:50%;width:2px;height:2px;animation:3s ease-in-out infinite float;position:absolute}.tech-particles:before{animation-delay:.5s;top:20%;left:30%}.tech-particles:after{animation-delay:1.5s;top:60%;right:30%}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.scanline{pointer-events:none;z-index:9999;background:linear-gradient(90deg,#0000,#22d3ee80,#0000);width:100%;height:2px;animation:6s linear infinite scanline;position:fixed;top:0;left:0}.neon-card{position:relative;overflow:hidden}.neon-card:before{content:"";background:linear-gradient(90deg,#0000,#22d3ee1a,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.neon-card:hover:before{left:100%}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{50%{border-color:#0000}}.badge-glow{animation:2s ease-in-out infinite glow}.cyber-grid{perspective:1000px;background-image:linear-gradient(90deg,#22d3ee1a 1px,#0000 1px),linear-gradient(#22d3ee1a 1px,#0000 1px);background-size:50px 50px}@keyframes hologram{0%,to{opacity:.8;transform:translateZ(0)}50%{opacity:1;transform:translateZ(10px)}}.hologram{animation:3s ease-in-out infinite hologram}.ripple-button{position:relative;overflow:hidden}.ripple-button:after{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ripple-button:active:after{width:300px;height:300px}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}.glitch:hover{animation:.3s infinite glitch}.loading-bar{background:linear-gradient(90deg,#22d3ee00 0%,#22d3ee 50%,#22d3ee00 100%) 0 0/200% 100%;height:4px;animation:1.5s ease-in-out infinite loading}@keyframes loading{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-color-scheme:dark){body{background-color:#0f172a}}@media (max-width:768px){.cyber-grid{background-size:30px 30px}}
