:root {
  --nemesis-accent: #65d7ff;
  --nemesis-glow: 0 0 18px rgba(101, 215, 255, 0.6), 0 0 44px rgba(68, 145, 255, 0.4);
  --nemesis-frame-shadow: inset 0 0 90px rgba(30, 120, 255, 0.2);
}

body {
  background: radial-gradient(circle at top center, #051126, #01030c 70%);
  color: #d6f4ff;
  font-family: 'Share Tech Mono', 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.nemesis-screen {
  --screen-aspect: 10 / 7;
  --screen-padding: clamp(12px, 2.6vw, 28px);
  --crt-radius: 16px;
  --crt-scanline-spacing: 3px;
  --crt-scanline-thickness: 1px;
  --crt-scanline-alpha: 0.05;
  --crt-scanline-opacity: 0.78;
  --crt-aperture-opacity: 0.1;
  --crt-vignette-gradient: radial-gradient(ellipse at center, rgba(6, 20, 46, 0.35) 0%, rgba(2, 8, 28, 0.92) 75%, rgba(0, 0, 0, 0.98) 100%);
  --crt-flicker-animation: nemesis-flicker 1.8s steps(2, end) infinite;
  --crt-glow-shadow: inset 0 0 86px rgba(60, 130, 255, 0.28);
}

.nemesis-screen canvas {
  background: linear-gradient(180deg, rgba(8, 20, 48, 0.85) 0%, rgba(2, 8, 28, 0.96) 45%, rgba(1, 3, 12, 1) 100%);
  box-shadow:
    0 24px 52px rgba(0, 0, 0, 0.85),
    var(--nemesis-frame-shadow);
}

.nemesis-hud {
  color: var(--nemesis-accent);
  text-shadow: var(--nemesis-glow);
  gap: clamp(12px, 2.2vw, 28px);
}

.nemesis-hud .retro-controls {
  justify-content: space-between;
  font-size: clamp(12px, 1.9vw, 18px);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.nemesis-hud .title {
  font-weight: 700;
}

.nemesis-hud .fps {
  opacity: 0.8;
}

.nemesis-controls {
  font-size: clamp(10px, 1.7vw, 15px);
  letter-spacing: 0.08em;
}

.crt-overlay::after {
  box-shadow: 0 0 30px rgba(70, 130, 255, 0.35);
}

@keyframes nemesis-flicker {
  0%, 100% { opacity: 0.82; }
  40% { opacity: 0.76; }
  60% { opacity: 0.88; }
}
