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

html, body {
  height: 100%;
  overflow: hidden;
  background: #0a0a0a;
}

#terminal {
  height: 100vh;
  width: 100vw;
}

/* CRT scanline overlay */
#terminal::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.12) 0px,
    rgba(0, 0, 0, 0.12) 1px,
    transparent 1px,
    transparent 3px
  );
  z-index: 10;
}

/* Subtle screen flicker */
@keyframes flicker {
  0%   { opacity: 0.97; }
  5%   { opacity: 0.95; }
  10%  { opacity: 0.98; }
  15%  { opacity: 0.96; }
  20%  { opacity: 0.99; }
  100% { opacity: 0.97; }
}

#terminal .xterm-screen {
  animation: flicker 4s infinite;
}

/* Amber phosphor glow */
#terminal .xterm-rows {
  text-shadow: 0 0 3px rgba(212, 160, 23, 0.4);
}

/* Vignette effect */
#terminal::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: radial-gradient(
    ellipse at center,
    transparent 60%,
    rgba(0, 0, 0, 0.4) 100%
  );
  z-index: 10;
}
