@keyframes flicker {
  0%, 3%, 8%, 13%, 22%, 36%, 50%, 66%, 78%, 90%, 100% { opacity: 1; }
  2%, 7%, 12%, 21%, 35%, 49%, 65%, 77%, 89% { opacity: 0.85; }
  1%, 11%, 34%, 48%, 64%, 88% { opacity: 0.7; }
}


pre, a, p, h1, h2, h3, h4, h5, h6 {
  text-shadow:
    1px 0 red,
    -1px 0 cyan;
}


body {
  animation: flicker 1.5s infinite;
  background-color: #000;
  /*background-image: linear-gradient(to bottom, #7b2d9f, #fdd82e, #7b2d9f);*/
  background-size: 100% 100%;
  color: #33FF33;
  font-family: "Courier New", monospace;
  /*overflow: hidden;*/

  /* Subtle curve simulation */
  /*transform: perspective(800px) rotateX(2deg) rotateY(-1deg);*/
}


body::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;

  /* Scanlines */
  background:
    repeating-linear-gradient(
      transparent 0px,
      rgba(0, 0, 0, 0.05) 2px,
      transparent 4px
    );
  mix-blend-mode: multiply;
  z-index: 2;
}

body::after {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;

  /* Glow + vignette */
  background:
    radial-gradient(circle at center, rgba(255,255,255,0.03) 0%, rgba(0,0,0,0.5) 100%);
  mix-blend-mode: overlay;
  z-index: 3;
}


* {
  text-decoration: none;
  color: #33FF33;
}

pre {
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow: auto;
    margin: 5%;
    font-size: 16px;
    font-family: "Courier New", monospace;
}
