@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes gridScroll{0%{transform:translateY(0)}to{transform:translateY(50px)}}@keyframes scan-vertical{0%{top:0%;opacity:0}50%{opacity:1}to{top:100%;opacity:0}}@keyframes scan-vertical-slow{0%{top:0%;opacity:0}50%{opacity:.6}to{top:100%;opacity:0}}@keyframes float{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-20px) translate(10px)}50%{transform:translateY(-40px) translate(-10px)}75%{transform:translateY(-20px) translate(5px)}}@keyframes slide-diagonal{0%{transform:translateY(-100%) rotate(-12deg)}to{transform:translateY(100%) rotate(-12deg)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}.animate-scan-vertical{animation:scan-vertical 3s ease-in-out infinite}.animate-scan-vertical-slow{animation:scan-vertical-slow 5s ease-in-out infinite}.animate-slide-diagonal{animation:slide-diagonal 6s linear infinite}.animate-shimmer{animation:shimmer 2s infinite}.animate-glitch{animation:glitch .3s infinite}.animate-pulse-slow{animation:pulse 4s cubic-bezier(.4,0,.6,1) infinite}.animate-fade-in{animation:fadeIn .3s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
