/* assets/crt-theme.css */

/* Simulated CRT scanline effect */
body.crt {
  background-color: #000;
  position: relative;
  color: var(--c-main, #00ff7b);
  text-shadow: 0 0 5px rgba(0,255,123,0.4);
}

/* subtle horizontal scanlines */
body.crt.scanlines::before {
  content: "";
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: repeating-linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.15) 0px,
    rgba(0, 0, 0, 0.15) 1px,
    transparent 2px
  );
  pointer-events: none;
  z-index: 9999;
  mix-blend-mode: multiply;
}

/* slight screen flicker glow */
@keyframes crt-flicker {
  0%   { opacity: 0.97; }
  5%   { opacity: 1.00; }
  10%  { opacity: 0.96; }
  15%  { opacity: 0.99; }
  20%  { opacity: 1.00; }
  25%  { opacity: 0.98; }
  30%  { opacity: 0.97; }
  35%  { opacity: 1.00; }
  40%  { opacity: 0.95; }
  45%  { opacity: 0.99; }
  50%  { opacity: 0.97; }
  100% { opacity: 1.00; }
}
body.crt {
  animation: crt-flicker 2.8s infinite;
}

/* global monospace & glow baseline */
body, button, input {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  letter-spacing: .05em;
  text-shadow: 0 0 4px rgba(0,255,123,0.3);
}

/* force-hide when [hidden] is present */
#overlay[hidden], #modal[hidden] { display: none !important; }
