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

#bgVid {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  z-index: -1;
  opacity: 0.08;
  pointer-events: none;
  filter: brightness(1.2) contrast(1.4) saturate(1.1);
}
@keyframes flicker {
  0%, 100% { opacity: 1; filter: brightness(1); }
  50%      { opacity: 0.2; filter: brightness(2.2); }
}

@keyframes glitch-flag {
  0%   { filter: hue-rotate(0deg) contrast(1.2); }
  25%  { filter: hue-rotate(80deg) contrast(1.5); }
  50%  { filter: hue-rotate(180deg) saturate(1.3); }
  75%  { filter: hue-rotate(-40deg) contrast(1.6); }
  100% { filter: hue-rotate(0deg) contrast(1.1); }
}

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

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