@keyframes glitch{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 logo-glitch{0%,to{filter:none}20%{filter:hue-rotate(90deg) saturate(1.5)}40%{filter:hue-rotate(-90deg) saturate(1.5) contrast(2)}60%{filter:hue-rotate(180deg) invert(1)}80%{filter:hue-rotate(270deg) brightness(1.5)}}@keyframes logo-shake{0%,to{transform:translate(0)}10%{transform:translate(-2px,-2px)}20%{transform:translate(2px,-2px)}30%{transform:translate(-2px,2px)}40%{transform:translate(2px,2px)}50%{transform:translate(-1px,-1px)}60%{transform:translate(1px,-1px)}70%{transform:translate(-1px,1px)}80%{transform:translate(1px,1px)}90%{transform:translate(0)}}.hackathon-logo{animation:logo-glitch 10s infinite alternate,logo-shake .5s infinite;animation-delay:0s,5s}.hackathon-logo:hover{animation:logo-glitch .5s infinite alternate,logo-shake .1s infinite}@keyframes scan-line{0%{top:-100%}to{top:100%}}.scan-line:before{content:"";position:absolute;top:-100%;left:0;width:100%;height:2px;background:linear-gradient(180deg,transparent,rgba(0,255,0,.8),transparent);animation:scan-line 8s linear infinite;pointer-events:none}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.terminal-cursor:after{content:"_";animation:blink 1s infinite;color:#00ff00;font-weight:700}.neon-glow{text-shadow:0 0 10px #00ff00,0 0 20px #00ff00,0 0 30px #00ff00,0 0 40px #00ff00}.hacker-button{position:relative;overflow:hidden;transition:all .3s}.hacker-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,0,.4),transparent);transition:left .5s}.hacker-button:hover:before{left:100%}.hacker-button:hover{box-shadow:0 0 10px rgba(0,255,0,.5),0 0 20px rgba(0,255,0,.3),inset 0 0 10px rgba(0,255,0,.1);border-color:#00ff00}.matrix-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.05;z-index:-1}@keyframes typing{0%{width:0}to{width:100%}}.typing-effect{overflow:hidden;white-space:nowrap;animation:typing 3s steps(40)}.cyber-gradient{background:linear-gradient(135deg,#1a1a2e,#0f0f1e 50%,#1a1a2e);position:relative}.cyber-gradient:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(0,255,0,.03) 50%,transparent 70%);animation:cyber-sweep 5s linear infinite}@keyframes cyber-sweep{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.glitch-text{position:relative;animation:glitch 2s infinite}.glitch-text:after,.glitch-text:before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch-text:before{animation:glitch-1 .5s infinite;color:#00ff00;z-index:-1}.glitch-text:after{animation:glitch-2 .5s infinite;color:#ff00ff;z-index:-2}@keyframes glitch-1{0%,to{clip-path:inset(0 0 0 0);transform:translate(0)}20%{clip-path:inset(20% 0 60% 0);transform:translate(-2px,2px)}40%{clip-path:inset(50% 0 20% 0);transform:translate(2px,-2px)}60%{clip-path:inset(10% 0 80% 0);transform:translate(-1px,1px)}80%{clip-path:inset(80% 0 10% 0);transform:translate(1px,-1px)}}@keyframes glitch-2{0%,to{clip-path:inset(0 0 0 0);transform:translate(0)}20%{clip-path:inset(80% 0 10% 0);transform:translate(1px,-1px)}40%{clip-path:inset(10% 0 80% 0);transform:translate(-1px,1px)}60%{clip-path:inset(50% 0 20% 0);transform:translate(2px,-2px)}80%{clip-path:inset(20% 0 60% 0);transform:translate(-2px,2px)}}