/* ============================================================
   GLOBAL: Base reset, CSS variables, CRT scanlines, glow
   Contrast validation (via WebAIM Contrast Checker):
     #00dd00 on #000000 = 16.9:1  WCAG AAA
     #ffaa00 on #000000 = 11.5:1  WCAG AA
     #00ffff on #000000 = 15.0:1  WCAG AA
     #ff0000 on #000000 = 5.25:1  WCAG AA (normal text)
     #009900 on #000000 = 7.28:1  WCAG AA
   ============================================================ */

:root {
  --color-bg:           #000000;
  --color-primary:      #00dd00;  /* Phosphor green -- slightly dimmed for readability */
  --color-accent-amber: #ffaa00;  /* Links, emphasis */
  --color-accent-cyan:  #00ffff;  /* Labels, secondary data */
  --color-accent-red:   #ff0000;  /* Warnings, errors */
  --color-dim:          #009900;  /* Muted/inactive elements */
  --scanline-opacity:   0.12;     /* 12% -- visible but not fatiguing */
  --glow-primary:       rgba(0, 221, 0, 0.7);
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: auto;  /* Instantaneous -- no smooth scroll animation */
}

body {
  background-color: var(--color-bg);
  color: var(--color-primary);
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}

/* CRT scanline overlay -- pointer-events: none so it doesn't block interaction */
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
  background-image: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 0, 0, var(--scanline-opacity)) 2px,
    rgba(0, 0, 0, var(--scanline-opacity)) 4px
  );
  background-size: 100% 4px;
}

/* Links */
a {
  color: var(--color-accent-amber);
  text-decoration: none;
  cursor: pointer;
}

a:hover {
  text-decoration: underline;
  cursor: pointer;
}

/* Disable all animations for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  /* Also disable scanlines for vestibular disorder users */
  body::before {
    display: none;
  }
}
