@keyframes flicker {
  0% { opacity: 0.35; }
  5% { opacity: 0.45; }
  10% { opacity: 0.30; }
  15% { opacity: 0.95; }
  20% { opacity: 0.28; }
  25% { opacity: 0.88; }
  30% { opacity: 0.70; }
  35% { opacity: 0.72; }
  40% { opacity: 0.33; }
  45% { opacity: 0.92; }
  50% { opacity: 1; }
  55% { opacity: 0.18; }
  60% { opacity: 0.30; }
  65% { opacity: 0.78; }
  70% { opacity: 0.60; }
  75% { opacity: 0.48; }
  80% { opacity: 0.76; }
  85% { opacity: 0.75; }
  90% { opacity: 0.73; }
  95% { opacity: 0.40; }
  100% { opacity: 0.32; }
}

@keyframes textShadow {
  0% { text-shadow: 0.4px 0 1px rgba(0,30,255,0.5), -0.4px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  5% { text-shadow: 2.7px 0 1px rgba(0,30,255,0.5), -2.7px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  10% { text-shadow: 0.02px 0 1px rgba(0,30,255,0.5), -0.02px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  15% { text-shadow: 0.4px 0 1px rgba(0,30,255,0.5), -0.4px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  20% { text-shadow: 3.4px 0 1px rgba(0,30,255,0.5), -3.4px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  25% { text-shadow: 1.6px 0 1px rgba(0,30,255,0.5), -1.6px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  30% { text-shadow: 0.7px 0 1px rgba(0,30,255,0.5), -0.7px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  35% { text-shadow: 3.8px 0 1px rgba(0,30,255,0.5), -3.8px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  40% { text-shadow: 3.8px 0 1px rgba(0,30,255,0.5), -3.8px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  45% { text-shadow: 2.2px 0 1px rgba(0,30,255,0.5), -2.2px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  50% { text-shadow: 0.08px 0 1px rgba(0,30,255,0.5), -0.08px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  55% { text-shadow: 2.3px 0 1px rgba(0,30,255,0.5), -2.3px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  60% { text-shadow: 2.2px 0 1px rgba(0,30,255,0.5), -2.2px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  65% { text-shadow: 2.8px 0 1px rgba(0,30,255,0.5), -2.8px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  70% { text-shadow: 0.48px 0 1px rgba(0,30,255,0.5), -0.48px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  75% { text-shadow: 1.8px 0 1px rgba(0,30,255,0.5), -1.8px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  80% { text-shadow: 0.08px 0 1px rgba(0,30,255,0.5), -0.08px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  85% { text-shadow: 0.09px 0 1px rgba(0,30,255,0.5), -0.09px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  90% { text-shadow: 3.4px 0 1px rgba(0,30,255,0.5), -3.4px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  95% { text-shadow: 2.18px 0 1px rgba(0,30,255,0.5), -2.18px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
  100% { text-shadow: 2.62px 0 1px rgba(0,30,255,0.5), -2.62px 0 1px rgba(255,0,80,0.3), 0 0 3px; }
}

.crt {
  animation: textShadow 1.6s infinite;
}

.crt::before,
.crt::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
}

.crt::before {
  background:
    linear-gradient(rgba(18,16,16,0.05) 50%, rgba(0,0,0,0.35) 50%),
    linear-gradient(90deg, rgba(255,0,0,0.06), rgba(0,255,0,0.02), rgba(0,0,255,0.06));
  background-size: 100% 4px, 3px 100%;
}

.crt::after {
  background: rgba(18,16,16,0.18);
  opacity: 0;
  animation: flicker 0.15s infinite;
}