@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 60s 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;

  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;
}

.cursor {
    background: transparent;   /* Remove background */
    border: none;              /* Remove border */
    outline: none;             /* Remove focus outline */
    color: inherit;            /* Match text color to parent */
    font: inherit;             /* Match font style to parent */
    width: 80%;
    caret-color: transparent;
}


.cursor::after {
  content: "█";
  animation: blink 1s step-start infinite;
}

@keyframes blink {
  50% { opacity: 0; }
}


pre {
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow: auto;
    margin: 5%;
    font-size: 16px;
    font-family: "Courier New", monospace;
      text-shadow:
    0 0 5px #33FF33,
    1px 0 red,
    -1px 0 cyan;
}

.internallink:hover {
  cursor: pointer;
}
