@keyframes spotlight-sweep{0%{transform:translate(-100%)rotate(-15deg)}50%{transform:translate(100%)rotate(15deg)}to{transform:translate(-100%)rotate(-15deg)}}@keyframes spotlight-sweep-2{0%{transform:translate(100%)rotate(20deg)}50%{transform:translate(-100%)rotate(-20deg)}to{transform:translate(100%)rotate(20deg)}}@keyframes beam-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{opacity:.4}50%{opacity:1}}@keyframes neon-flicker{0%,19%,21%,23%,25%,54%,56%,to{opacity:1}20%,24%,55%{opacity:.6}}@keyframes float-up{0%{opacity:.6;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-100vh)scale(.3)}}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-5%,-10%)}20%{transform:translate(-15%,5%)}30%{transform:translate(7%,-25%)}40%{transform:translate(-5%,25%)}50%{transform:translate(-15%,10%)}60%{transform:translate(15%)}70%{transform:translateY(15%)}80%{transform:translate(3%,35%)}90%{transform:translate(-10%,10%)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes chrome-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes border-glow{0%,to{border-color:#b829e3;box-shadow:0 0 15px #b829e34d}33%{border-color:#00f0ff;box-shadow:0 0 15px #00f0ff4d}66%{border-color:#ff2d7b;box-shadow:0 0 15px #ff2d7b4d}}.film-grain:before{content:"";pointer-events:none;z-index:9999;opacity:.5;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");width:200%;height:200%;animation:8s steps(10,end) infinite grain;position:fixed;inset:-50%}
