.crt-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: -1; mix-blend-mode: screen; animation: flicker 0.5s infinite; border-radius: var(--border-radius); box-shadow: inset 0 0 40px var(--glow-color); } .hidden { display: none; } .fade-in { animation: fadeIn 0.5s ease-out forwards; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes scanlines { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } } @keyframes vhs-static { 0% { transform: translate(0, 0); } 25% { transform: translate(-1px, 1px); } 50% { transform: translate(1px, -0.5px); } 75% { transform: translate(-0.5px, 0.5px); } 100% { transform: translate(0.5px, -1px); } } @keyframes flicker { 0%, 100% { opacity: 0.8; } 50% { opacity: 1; } } @keyframes rgb-split { 0%, 100% { transform: translate(0px, 0px); } 50% { transform: translate(-0.5px, 0.5px); } }