*,:after,:before{box-sizing:border-box}body,html{height:100%;margin:0;overflow:hidden}body{background:#000;color:#fff;font-family:monospace}.crt{position:relative}.crt:after{z-index:100;background:repeating-linear-gradient(180deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 1px,transparent 0,transparent 3px);animation:scanlines 8s linear infinite}.crt:after,.crt:before{content:"";position:fixed;inset:0;pointer-events:none}.crt:before{z-index:5;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 0),radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 2px);background-size:24px 24px,24px 24px,96px 96px;background-position:0 0,0 0,12px 12px;animation:pixelDrift 60s linear infinite}@keyframes pixelDrift{0%{background-position:0 0,0 0,12px 12px}to{background-position:240px 240px,240px 240px,252px 252px}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes glitch{0%,to{transform:translateX(0);text-shadow:2px 0 rgba(255,255,255,.5),-2px 0 rgba(0,0,0,.8)}25%{transform:translateX(-2px);text-shadow:-2px 0 rgba(255,255,255,.5),2px 0 rgba(0,0,0,.8)}50%{transform:translateX(2px);text-shadow:2px 0 rgba(255,255,255,.5),-2px 0 rgba(0,0,0,.8)}75%{transform:translateX(-1px);text-shadow:-1px 0 rgba(255,255,255,.5),1px 0 rgba(0,0,0,.8)}}@keyframes scanlines{0%{background-position-y:0}to{background-position-y:100px}}.blink{animation:blink 1s steps(2,start) infinite}.glitch{animation:glitch 1.2s steps(3) infinite}@media (prefers-reduced-motion:reduce){.blink,.crt:after,.crt:before,.glitch{animation:none!important}}