
body {
  background-color: black;
  color: #00FF00;
  font-family: 'Courier New', monospace;
  text-shadow: 0 0 2px #00FF00;
  background: black;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  transition: filter 0.23s ease-in-out;
}

/* Ambient flicker (optional toggle via JS) */
body.flicker-on {
  animation: flicker 0.7s infinite;
}

@keyframes flicker {
  0%, 100% { opacity: 1; filter: brightness(1); }
  50%      { opacity: 0.4; filter: brightness(2.1); }
}

/* Ambient glitch with long gaps */
@keyframes glitch-flag {
  0%   { background-image: none; background-color: black; filter: none; }
  25%  { background-image: url('/Media/gadsden-flag.png'); filter: hue-rotate(80deg) contrast(1.5); }
  50%  { background-image: url('/Media/pa-rebellion-flag.png'); filter: hue-rotate(-40deg) contrast(1.6); }
  75%  { background-image: none; background-color: black; filter: none; }
  100% { background-image: none; background-color: black; filter: none; }
}

body.glitch-flag {
  animation: glitch-flag 45s infinite;
}

/* Triggered glitch for user input */
body.glitch-now {
  animation: glitch-flag 0.6s ease-in-out forwards;
}

/* Scanlines */
body::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: repeating-linear-gradient(
    to bottom,
    rgba(0, 255, 0, 0.12),
    rgba(0, 255, 0, 0.12) 1px,
    transparent 1px,
    transparent 2px
  );
  pointer-events: none;
  z-index: 9999;
}

::selection {
  background: rgba(0, 255, 0, 0.3);
}

a, h1, h2, h3, h4, h5, h6, p, pre, button {
  text-shadow: 0 0 4px #00FF00;
}
