/* ==========================================================================
   OVERRIDLE // 16-BIT PIXEL ARCADE THEME (Trivmount + Containment Mockup)
   Scoped to body.theme-pixel16; overrides terminal.css + module inline styles.
   ========================================================================== */

body.theme-pixel16 {
  --crt-bg: #151426;
  --crt-panel: #272947;
  --crt-border: #63699e;
  --crt-green: #2ce8a2;
  --crt-green-dim: #9aa0cf;
  --crt-amber: #ffbe0b;
  --crt-red: #ff2a55;
  --crt-cyan: #00e5ff;
  --crt-text: #f4f6ff;

  --px-outline: #0d0d1a;
  --px-steel-hi: #8f96cc;
  --px-steel-mid: #53598a;
  --px-steel-lo: #2e3152;
  --px-screen-bg: #131224;
  --px-screen-hi: #1d1b36;

  --font-pixel: 'Press Start 2P', 'Silkscreen', monospace;
  --font-ui: 'Silkscreen', 'JetBrains Mono', monospace;
  --font-mono: 'Silkscreen', 'JetBrains Mono', Consolas, monospace;

  background-color: #120e24;
  background-image:
    radial-gradient(circle at 50% 45%, rgba(18, 14, 36, 0.25) 0%, rgba(11, 9, 24, 0.72) 100%),
    url('../assets/trivmount-bunker-bg.jpg');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  color: var(--crt-text);
  font-family: var(--font-ui);
}

body.theme-pixel16 *,
body.theme-pixel16 *::before,
body.theme-pixel16 *::after {
  scrollbar-width: none;
  -ms-overflow-style: none;
  font-weight: 400 !important;
}

body.theme-pixel16 *::-webkit-scrollbar {
  display: none;
}

/* Soften CRT scanlines so 16-bit colors stay bright */
body.theme-pixel16 .crt-scanlines {
  opacity: 0.14;
}

/* Central console shell */
body.theme-pixel16 .crt-shell {
  background: rgba(18, 17, 36, 0.94);
  border: 3px solid var(--px-steel-mid);
  box-shadow:
    0 0 0 3px var(--px-outline),
    0 18px 48px rgba(0, 0, 0, 0.85),
    inset 0 0 24px rgba(0, 229, 255, 0.08);
}

@media (min-width: 768px) {
  body.theme-pixel16 .crt-shell {
    max-width: 540px;
    height: min(95dvh, 880px);
    border-radius: 6px;
    border: 4px solid var(--px-steel-mid);
    box-shadow:
      0 0 0 3px var(--px-outline),
      inset 2px 2px 0 var(--px-steel-hi),
      0 22px 60px rgba(0, 0, 0, 0.88);
  }
}

/* ==========================================================================
   Mockup Metallic 16-bit HUD
   ========================================================================== */
body.theme-pixel16 .hud {
  background: linear-gradient(180deg, #53598a 0%, #3d426b 100%);
  border-bottom: 3px solid var(--px-outline);
  padding: 4px 8px 6px;
  gap: 4px;
  box-shadow:
    inset 0 2px 0 var(--px-steel-hi),
    inset 0 -2px 0 #262945;
}

body.theme-pixel16 .hud-top {
  gap: 6px;
  min-height: 22px;
}

body.theme-pixel16 .hud-util-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

body.theme-pixel16 .seed-badge {
  padding: 2px 6px;
  font-size: 0.65rem;
  font-family: var(--font-ui);
  border: 2px solid var(--px-outline);
  border-radius: 2px;
  background: var(--px-screen-bg);
  color: var(--crt-cyan);
  box-shadow: inset 1px 1px 0 #090814;
}

body.theme-pixel16 .seed-badge.is-practice {
  color: var(--crt-amber);
  border-color: var(--px-outline);
}

body.theme-pixel16,
body.theme-pixel16 button,
body.theme-pixel16 input {
  font-weight: 400 !important;
  -webkit-font-smoothing: none;
}

body.theme-pixel16 .hud-mute-btn,
body.theme-pixel16 .hud-music-btn,
body.theme-pixel16 .hud-pause-btn {
  min-height: 22px !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 2px 8px !important;
  font-size: 0.65rem !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

body.theme-pixel16 .hud-pause-btn.is-paused {
  background: linear-gradient(180deg, #ffcf56 0%, #e88d00 100%) !important;
  color: #1c1000 !important;
  text-shadow: none !important;
  box-shadow: inset 1px 1px 0 #fff0b3, 0 2px 0 var(--px-outline) !important;
}

body.theme-pixel16 .hud-mute-btn.is-muted,
body.theme-pixel16 .hud-music-btn.is-muted {
  background: linear-gradient(180deg, #ff5c82 0%, #b51237 100%) !important;
  color: #ffffff !important;
  box-shadow: inset 1px 1px 0 #ffa6ba, 0 2px 0 var(--px-outline) !important;
}

@media (max-width: 480px) {
  body.theme-pixel16 .hud-util-actions {
    gap: 4px;
  }
  body.theme-pixel16 .seed-badge {
    font-size: 0.56rem;
    padding: 2px 5px;
  }
  body.theme-pixel16 .hud-mute-btn,
  body.theme-pixel16 .hud-music-btn,
  body.theme-pixel16 .hud-pause-btn {
    padding: 2px 5px !important;
    font-size: 0.54rem !important;
  }
}

body.theme-pixel16 .hud-bottom {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: stretch;
  gap: 6px;
}

/* Left bezel box: pixel hearts */
body.theme-pixel16 .lives-display {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 4px 8px;
  background: #2f3354;
  border: 2px solid var(--px-outline);
  border-radius: 3px;
  box-shadow:
    inset 2px 2px 0 #4d5382,
    inset -2px -2px 0 #1f2138;
}

body.theme-pixel16 .pixel-heart {
  display: block;
  width: 22px;
  height: 20px;
  image-rendering: pixelated;
  filter: drop-shadow(0 2px 0 #11101f);
}

/* Center recessed readout: 18.4s */
body.theme-pixel16 .timer-display {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  padding: 4px 8px;
  font-family: var(--font-pixel);
  font-size: 0.96rem;
  font-weight: 700;
  color: #00f0ff;
  background: #121124;
  border: 2px solid var(--px-outline);
  border-radius: 3px;
  box-shadow:
    inset 2px 2px 0 #080712,
    inset -1px -1px 0 #3a3f66;
  text-shadow: 0 0 8px rgba(0, 240, 255, 0.55);
}

body.theme-pixel16 .timer-display.is-amber {
  color: var(--crt-amber);
  text-shadow: 0 0 8px rgba(255, 190, 11, 0.65);
}

body.theme-pixel16 .timer-display.is-critical {
  color: var(--crt-red);
  text-shadow: 0 0 10px rgba(255, 42, 85, 0.75);
}

/* Right bezel box: 5 blocky pixel-art LEDs + numbers below */
body.theme-pixel16 .round-indicators {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 6px 8px 11px;
  background: #2f3354;
  border: 2px solid var(--px-outline);
  border-radius: 3px;
  box-shadow:
    inset 2px 2px 0 #4d5382,
    inset -2px -2px 0 #1f2138;
}

body.theme-pixel16 .round-led {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0 !important;
}

body.theme-pixel16 .round-led .pixel-led {
  display: block;
  width: 16px;
  height: 16px;
  image-rendering: pixelated;
}

body.theme-pixel16 .round-led .pixel-led-arrow {
  display: none;
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  width: 10px;
  height: 6px;
  image-rendering: pixelated;
}

body.theme-pixel16 .round-led.is-active .pixel-led-arrow {
  display: block;
}

body.theme-pixel16 .round-led::after {
  content: attr(data-num);
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-ui);
  font-size: 9px;
  font-weight: 400 !important;
  line-height: 1;
  color: #c2c8f2;
  text-shadow: 1px 1px 0 var(--px-outline);
}

body.theme-pixel16 .round-led.is-active .led-body,
body.theme-pixel16 .round-led.is-won .led-body {
  fill: #2ce8a2;
}

body.theme-pixel16 .round-led.is-active .led-shade,
body.theme-pixel16 .round-led.is-won .led-shade {
  fill: #139666;
}

body.theme-pixel16 .round-led.is-active .led-hi,
body.theme-pixel16 .round-led.is-won .led-hi {
  fill: #b8ffe4;
}

body.theme-pixel16 .round-led.is-active {
  filter: drop-shadow(0 0 4px rgba(44, 232, 162, 0.7));
}

body.theme-pixel16 .round-led.is-lost .led-body {
  fill: #ff2a55;
}

body.theme-pixel16 .round-led.is-lost .led-shade {
  fill: #9e102e;
}

body.theme-pixel16 .round-led.is-lost .led-hi {
  fill: #ff9ebb;
}

/* ==========================================================================
   Compact Containment Room Strip (Zero-Scroll Budget)
   ========================================================================== */
body.theme-pixel16 .containment-stage {
  flex-shrink: 0;
  background: #101224;
  border-bottom: 3px solid var(--px-outline);
  box-shadow: 0 2px 0 #2b2e4d;
  overflow: hidden;
}

body.theme-pixel16 .containment-canvas {
  display: block;
  width: 100%;
  height: 78px;
  object-fit: fill;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

@media (min-width: 768px) and (min-height: 760px) {
  body.theme-pixel16 .containment-canvas {
    height: 102px;
  }
}

@media (max-height: 690px) {
  body.theme-pixel16 .containment-canvas {
    height: 64px;
  }
}

/* ==========================================================================
   Stage & Screens (Zero Scroll)
   ========================================================================== */
body.theme-pixel16 .stage {
  padding: 8px 10px;
}

body.theme-pixel16 #screen-standby {
  justify-content: center;
  gap: 8px;
  overflow: hidden;
}

body.theme-pixel16 .terminal-tag {
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  color: var(--crt-cyan);
  text-shadow: 1px 1px 0 var(--px-outline);
}

body.theme-pixel16 .terminal-title {
  font-family: var(--font-pixel);
  font-size: 1.45rem;
  color: #ffd166;
  text-shadow:
    0 3px 0 #9e5000,
    3px 3px 0 var(--px-outline),
    0 0 18px rgba(255, 190, 11, 0.45);
}

@media (min-width: 768px) {
  body.theme-pixel16 .terminal-title {
    font-size: 1.95rem;
  }
  body.theme-pixel16 .stage {
    padding: 12px 16px;
  }
}

body.theme-pixel16 .standby-card,
body.theme-pixel16 .end-card,
body.theme-pixel16 .practice-card {
  gap: 8px;
  padding: 10px;
}

body.theme-pixel16 .briefing-text {
  font-size: 0.78rem;
  line-height: 1.4;
}

body.theme-pixel16 .briefing-sub {
  font-size: 0.68rem;
  color: var(--crt-green-dim);
}

/* Metallic 16-bit panel & Trivmount-inspired 3D buttons */
body.theme-pixel16 .crt-panel {
  background: linear-gradient(180deg, #323557 0%, #232540 100%);
  border: 3px solid var(--px-outline);
  border-radius: 4px;
  box-shadow:
    inset 2px 2px 0 #62689c,
    inset -2px -2px 0 #191a30,
    0 4px 0 rgba(10, 10, 22, 0.65);
}

body.theme-pixel16 .crt-btn {
  min-height: 36px;
  padding: 6px 10px;
  border: 2px solid var(--px-outline);
  border-radius: 4px;
  font-family: var(--font-ui);
  font-weight: 400 !important;
  letter-spacing: 0.05em;
  color: var(--crt-text);
  background: linear-gradient(180deg, #565d91 0%, #3d426b 100%);
  text-shadow: 1px 1px 0 var(--px-outline);
  box-shadow:
    inset 2px 2px 0 #8a92cc,
    inset -2px -2px 0 #2a2d4d,
    0 3px 0 var(--px-outline);
}

body.theme-pixel16 .crt-btn:hover:not(:disabled) {
  background: linear-gradient(180deg, #6870ad 0%, #4a5080 100%);
  border-color: var(--px-outline);
}

body.theme-pixel16 .crt-btn:active:not(:disabled) {
  transform: translateY(2px);
  box-shadow:
    inset 2px 2px 0 rgba(0, 0, 0, 0.3),
    0 1px 0 var(--px-outline);
}

/* Pressed / selected state for toggle buttons (Practice format, Language, etc.) */
body.theme-pixel16 .crt-btn.is-active,
body.theme-pixel16 .crt-btn[aria-pressed='true'],
body.theme-pixel16 .practice-mode-btn.is-active,
body.theme-pixel16 .lang-btn.is-active {
  background: linear-gradient(180deg, #1b5247 0%, #123630 100%) !important;
  color: #9effda !important;
  border-color: #2ce8a2 !important;
  text-shadow: 1px 1px 0 var(--px-outline) !important;
  transform: translateY(1px);
  box-shadow:
    inset 2px 2px 0 #0a211d,
    inset -1px -1px 0 #2ce8a2,
    0 2px 0 var(--px-outline),
    0 0 10px rgba(44, 232, 162, 0.3) !important;
}

body.theme-pixel16 .practice-mode-btn::before,
body.theme-pixel16 .lang-btn::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  border: 1px solid var(--px-outline);
  background: #22243d;
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.12);
}

body.theme-pixel16 .practice-mode-btn.is-active::before,
body.theme-pixel16 .practice-mode-btn[aria-pressed='true']::before,
body.theme-pixel16 .lang-btn.is-active::before,
body.theme-pixel16 .lang-btn[aria-pressed='true']::before {
  background: #2ce8a2;
  box-shadow: inset 1px 1px 0 #b8ffe4, 0 0 6px #2ce8a2;
}

/* Warm Trivmount gold-amber primary CTA */
body.theme-pixel16 .crt-btn--primary {
  color: #241200;
  text-shadow: 0 1px 0 rgba(255, 240, 190, 0.65);
  background: linear-gradient(180deg, #ffe07d 0%, #ffb02e 55%, #e87a00 100%);
  border-color: var(--px-outline);
  box-shadow:
    inset 2px 2px 0 #fff3ba,
    inset -2px -2px 0 #b85d00,
    0 4px 0 var(--px-outline);
}

body.theme-pixel16 .crt-btn--primary:hover:not(:disabled) {
  background: linear-gradient(180deg, #ffe89e 0%, #ffbe4d 55%, #f5880a 100%);
  box-shadow:
    inset 2px 2px 0 #fff7d1,
    inset -2px -2px 0 #b85d00,
    0 4px 0 var(--px-outline),
    0 0 14px rgba(255, 190, 11, 0.45);
}

body.theme-pixel16 .crt-btn--amber {
  color: #1c1200;
  text-shadow: none;
  background: linear-gradient(180deg, #ffcf56 0%, #f09c00 100%);
  box-shadow:
    inset 2px 2px 0 #ffe9a8,
    inset -2px -2px 0 #a86b00,
    0 3px 0 var(--px-outline);
}

body.theme-pixel16 .crt-btn--cyan {
  color: #041d26;
  text-shadow: none;
  background: linear-gradient(180deg, #6ef5ff 0%, #00c4de 100%);
  box-shadow:
    inset 2px 2px 0 #b8fbff,
    inset -2px -2px 0 #008299,
    0 3px 0 var(--px-outline);
}

body.theme-pixel16 .crt-btn--danger {
  color: #ffffff;
  background: linear-gradient(180deg, #ff5c82 0%, #d41542 100%);
  box-shadow:
    inset 2px 2px 0 #ffa6ba,
    inset -2px -2px 0 #8c0b29,
    0 3px 0 var(--px-outline);
}

body.theme-pixel16 .crt-btn--lg {
  min-height: 40px;
  padding: 8px 14px;
  font-size: 0.85rem;
}

body.theme-pixel16 .autopause-toggle {
  padding: 6px 10px;
  border: 2px solid var(--px-outline);
  background: #232540;
}

body.theme-pixel16 .autopause-text {
  font-size: 0.68rem;
}

body.theme-pixel16 .lang-selector {
  padding: 6px 10px;
}

body.theme-pixel16 .lang-label {
  font-size: 0.68rem;
  font-weight: 400 !important;
}

/* Practice grid compact zero-scroll */
body.theme-pixel16 .practice-title {
  font-family: var(--font-pixel);
  font-size: 1rem;
  color: var(--crt-amber);
}

body.theme-pixel16 .practice-mod-btn {
  min-height: 40px;
  padding: 4px;
  background: linear-gradient(180deg, #3c4069 0%, #2a2d4d 100%);
  border-color: var(--px-outline);
}

@media (min-width: 768px) {
  body.theme-pixel16 .practice-mod-btn {
    min-height: 44px;
    padding: 5px 6px;
  }
}

body.theme-pixel16 .practice-mod-name {
  font-size: 0.6rem;
}

/* ==========================================================================
   Active Playing Console Frame (Mockup Bottom Unit)
   ========================================================================== */
body.theme-pixel16 #screen-playing {
  gap: 0;
  background: linear-gradient(180deg, #686fa3 0%, #4d5380 100%);
  border: 3px solid var(--px-outline);
  border-radius: 6px;
  padding: 6px;
  box-shadow:
    inset 3px 3px 0 #9da5db,
    inset -3px -3px 0 #2e3252,
    0 5px 0 var(--px-outline);
}

body.theme-pixel16 .module-meta {
  flex-shrink: 0;
  margin: 0 auto 6px;
  padding: 6px 14px;
  width: 92%;
  text-align: center;
  font-family: var(--font-pixel);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  color: #ffffff;
  background: #161529;
  border: 2px solid var(--px-outline);
  border-radius: 3px;
  box-shadow:
    inset 2px 2px 0 #090814,
    0 2px 0 #8a92cc;
  text-shadow: 0 2px 0 var(--px-outline);
}

@media (min-width: 768px) {
  body.theme-pixel16 .module-meta {
    font-size: 0.82rem;
    padding: 8px 16px;
  }
}

body.theme-pixel16 .playing-stage {
  background: #1a1930;
  border: 3px solid var(--px-outline);
  border-radius: 4px;
  box-shadow:
    inset 3px 3px 0 #0d0c1a,
    inset -2px -2px 0 #3f446b;
  padding: 6px;
}

body.theme-pixel16 .module-container {
  justify-content: center;
  align-items: center;
}

body.theme-pixel16 .pause-overlay {
  background: #161529;
  border: 3px solid var(--crt-cyan);
  padding: 10px 12px !important;
  gap: 8px !important;
  justify-content: space-between;
}

body.theme-pixel16 .pause-instructions {
  gap: 6px !important;
  min-height: 0;
}

body.theme-pixel16 .pause-resume-btn {
  min-height: 42px !important;
  font-size: 0.82rem !important;
}

body.theme-pixel16 .pause-title {
  font-family: var(--font-pixel);
  font-weight: 400 !important;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-shadow: 2px 2px 0 var(--px-outline);
}

body.theme-pixel16 .pause-sub,
body.theme-pixel16 .pause-section-label {
  font-weight: 400 !important;
  letter-spacing: 0.06em;
}

body.theme-pixel16 .pause-mod-desc,
body.theme-pixel16 .pause-mod-rule {
  font-weight: 400 !important;
  font-size: 0.78rem !important;
  line-height: 1.4 !important;
  letter-spacing: 0.03em;
  padding: 8px 10px !important;
  text-shadow: 1px 1px 0 #090814;
}

body.theme-pixel16 .pause-mod-rule {
  color: #ffe07d !important;
}

/* ==========================================================================
   All 15 Minigames 16-Bit Restyling (Overrides inline module <style>)
   ========================================================================== */

/* Shared overrides across every module shell */
body.theme-pixel16 .crt-shell [class^='ovr-'] {
  font-family: var(--font-ui) !important;
  font-weight: 400 !important;
}

body.theme-pixel16 .crt-shell .ovr-wires,
body.theme-pixel16 .crt-shell .ovr-bin,
body.theme-pixel16 .crt-shell .ovr-math,
body.theme-pixel16 .crt-shell .ovr-glyph,
body.theme-pixel16 .crt-shell .ovr-fh,
body.theme-pixel16 .crt-shell .ovr-mf,
body.theme-pixel16 .crt-shell .ovr-fa,
body.theme-pixel16 .crt-shell .ovr-pp,
body.theme-pixel16 .crt-shell .ovr-rl,
body.theme-pixel16 .crt-shell .ovr-vs,
body.theme-pixel16 .crt-shell .ovr-tm,
body.theme-pixel16 .crt-shell .ovr-ms,
body.theme-pixel16 .crt-shell .ovr-so,
body.theme-pixel16 .crt-shell .ovr-st,
body.theme-pixel16 .crt-shell .ovr-rb {
  padding: 4px 6px !important;
  gap: 7px !important;
  color: var(--crt-text) !important;
}

/* 1. WIRES: Thick 3D cables + chunky metallic terminal pins */
body.theme-pixel16 .crt-shell .ovr-wires-rule {
  background: #111021 !important;
  border: 2px solid #565c8c !important;
  border-left: 5px solid var(--crt-amber) !important;
  padding: 6px 8px !important;
}

body.theme-pixel16 .crt-shell .ovr-wires-tag {
  font-family: var(--font-pixel) !important;
  font-size: 8px !important;
}

body.theme-pixel16 .crt-shell .ovr-wires-rule-text {
  font-size: 12px !important;
  color: #ffffff !important;
}

body.theme-pixel16 .crt-shell .ovr-wire-btn {
  min-height: 40px !important;
  padding: 4px 8px !important;
  background: #22233d !important;
  border: 2px solid var(--px-outline) !important;
  box-shadow: inset 2px 2px 0 #3f4370, 0 3px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-wire-pin {
  width: 12px !important;
  height: 22px !important;
  flex: 0 0 12px !important;
  background: linear-gradient(180deg, #98a0d6 0%, #525782 55%, #343859 100%) !important;
  border: 2px solid var(--px-outline) !important;
  border-radius: 2px !important;
}

body.theme-pixel16 .crt-shell .ovr-wire-span {
  height: 12px !important;
  border-top: 3px solid rgba(255, 255, 255, 0.45) !important;
  border-bottom: 3px solid rgba(0, 0, 0, 0.55) !important;
}

body.theme-pixel16 .crt-shell .ovr-wire-pos {
  flex: 0 0 28px !important;
  width: 28px !important;
}

body.theme-pixel16 .crt-shell .ovr-wire-label {
  flex: 0 0 46px !important;
  width: 46px !important;
  min-width: 46px !important;
  padding: 4px 0 !important;
  text-align: center !important;
  color: var(--wire-color) !important;
  background: #121124 !important;
  border: 2px solid #565c8c !important;
  font-family: var(--font-pixel) !important;
  font-size: 10px !important;
}

/* 2. BINARY SWITCHES: Mockup-exact TARGET box + 3D cyan/slate toggle levers */
body.theme-pixel16 .crt-shell .ovr-bin {
  gap: 8px !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-header {
  background: #272947 !important;
  border: 2px solid var(--px-outline) !important;
  box-shadow: inset 2px 2px 0 #53598a, 0 3px 0 var(--px-outline) !important;
  padding: 6px 8px !important;
  gap: 5px !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-sub {
  font-family: var(--font-pixel) !important;
  font-size: 8px !important;
  color: var(--crt-cyan) !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-box {
  background: #101021 !important;
  border: 2px solid var(--px-outline) !important;
  box-shadow: inset 2px 2px 0 #070612, 0 1px 0 #62689c !important;
  padding: 5px 6px !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-box.is-target {
  border-color: var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-box-lbl {
  font-family: var(--font-pixel) !important;
  font-size: 8px !important;
  color: #8f96cc !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-box-val {
  font-family: var(--font-pixel) !important;
  font-size: 18px !important;
  color: #00f0ff !important;
  text-shadow: 0 0 8px rgba(0, 240, 255, 0.55) !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-box.is-target .ovr-bin-box-val {
  color: var(--crt-amber) !important;
  text-shadow: 0 0 8px rgba(255, 190, 11, 0.5) !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-grid {
  gap: 5px !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-sw {
  min-height: 118px !important;
  padding: 6px 2px !important;
  background: linear-gradient(180deg, #3b3f69 0%, #262945 100%) !important;
  border: 2px solid var(--px-outline) !important;
  box-shadow: inset 2px 2px 0 #676ea8, 0 3px 0 var(--px-outline) !important;
  color: var(--crt-text) !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-weight {
  font-family: var(--font-pixel) !important;
  font-size: 10px !important;
  color: #ffffff !important;
  text-shadow: 1px 1px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-led {
  width: 18px !important;
  height: 6px !important;
  border-radius: 2px !important;
  border: 1px solid var(--px-outline) !important;
  background: #471422 !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-track {
  width: 26px !important;
  height: 46px !important;
  background: #101021 !important;
  border: 2px solid var(--px-outline) !important;
  box-shadow: inset 2px 2px 0 #070612 !important;
  padding: 2px !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-thumb {
  height: 22px !important;
  background: linear-gradient(180deg, #a3abd9 0%, #636a99 100%) !important;
  border: 1px solid var(--px-outline) !important;
  box-shadow: inset 1px 1px 0 #d5dcff !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-sw.is-on {
  background: linear-gradient(180deg, #43497a 0%, #2b2f52 100%) !important;
  border-color: var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-sw.is-on .ovr-bin-led {
  background: #00f5d4 !important;
  box-shadow: 0 0 8px #00f5d4 !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-sw.is-on .ovr-bin-track {
  border-color: var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-sw.is-on .ovr-bin-thumb {
  background: linear-gradient(180deg, #6ef7ff 0%, #00b8d4 100%) !important;
  box-shadow: inset 1px 1px 0 #c9fcff, 0 0 8px rgba(0, 229, 255, 0.5) !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-sw.is-on .ovr-bin-state {
  color: #00f5d4 !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-exec {
  min-height: 42px !important;
  font-family: var(--font-pixel) !important;
  font-size: 12px !important;
  color: #141526 !important;
  border: 2px solid var(--px-outline) !important;
  background: linear-gradient(180deg, #b5bce6 0%, #7d85b8 65%, #5b6294 100%) !important;
  box-shadow: inset 2px 2px 0 #e6eaff, inset -2px -2px 0 #444a75, 0 4px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-bin-exec:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: inset 2px 2px 0 rgba(0, 0, 0, 0.25), 0 1px 0 var(--px-outline) !important;
}

/* 3-15. Unified 16-bit Console Panels, Recessed Displays, & 3D Arcade Keycaps */
body.theme-pixel16 .crt-shell .ovr-math-header,
body.theme-pixel16 .crt-shell .ovr-glyph-rule,
body.theme-pixel16 .crt-shell .ovr-fh-head,
body.theme-pixel16 .crt-shell .ovr-fh-dump,
body.theme-pixel16 .crt-shell .ovr-fa-head,
body.theme-pixel16 .crt-shell .ovr-fa-ctrl,
body.theme-pixel16 .crt-shell .ovr-pp-head,
body.theme-pixel16 .crt-shell .ovr-pp-card,
body.theme-pixel16 .crt-shell .ovr-rl-head,
body.theme-pixel16 .crt-shell .ovr-vs-head,
body.theme-pixel16 .crt-shell .ovr-tm-rule,
body.theme-pixel16 .crt-shell .ovr-tm-board,
body.theme-pixel16 .crt-shell .ovr-ms-rule,
body.theme-pixel16 .crt-shell .ovr-ms-box,
body.theme-pixel16 .crt-shell .ovr-so-rule,
body.theme-pixel16 .crt-shell .ovr-so-display,
body.theme-pixel16 .crt-shell .ovr-st-rule,
body.theme-pixel16 .crt-shell .ovr-st-transmitter,
body.theme-pixel16 .crt-shell .ovr-rb-rule,
body.theme-pixel16 .crt-shell .ovr-rb-total,
body.theme-pixel16 .crt-shell .ovr-rb-col {
  background: #131224 !important;
  border: 2px solid #565c8c !important;
  box-shadow: inset 2px 2px 0 #080712 !important;
  border-radius: 4px !important;
}

/* Digital readouts in Press Start 2P */
body.theme-pixel16 .crt-shell .ovr-math-expr,
body.theme-pixel16 .crt-shell .ovr-tm-target,
body.theme-pixel16 .crt-shell .ovr-ms-val,
body.theme-pixel16 .crt-shell .ovr-ms-wval,
body.theme-pixel16 .crt-shell .ovr-pp-val,
body.theme-pixel16 .crt-shell .ovr-rb-val,
body.theme-pixel16 .crt-shell .ovr-so-word,
body.theme-pixel16 .crt-shell .ovr-st-tx-text {
  font-family: var(--font-pixel) !important;
}

body.theme-pixel16 .crt-shell .ovr-tm-target {
  background: #101021 !important;
  border: 2px solid var(--crt-cyan) !important;
  color: var(--crt-cyan) !important;
}

/* 3D Arcade Keycap Buttons across all grid/token/weight/valve modules */
body.theme-pixel16 .crt-shell .ovr-math-btn,
body.theme-pixel16 .crt-shell .ovr-glyph-cell,
body.theme-pixel16 .crt-shell .ovr-fh-tok,
body.theme-pixel16 .crt-shell .ovr-mf-cell,
body.theme-pixel16 .crt-shell .ovr-vs-card,
body.theme-pixel16 .crt-shell .ovr-tm-cell,
body.theme-pixel16 .crt-shell .ovr-ms-weight,
body.theme-pixel16 .crt-shell .ovr-so-btn,
body.theme-pixel16 .crt-shell .ovr-st-ch,
body.theme-pixel16 .crt-shell .ovr-rb-step-btn {
  background: linear-gradient(180deg, #424775 0%, #2a2d4d 100%) !important;
  border: 2px solid var(--px-outline) !important;
  box-shadow:
    inset 2px 2px 0 #6f76b3,
    inset -2px -2px 0 #1c1e36,
    0 3px 0 var(--px-outline) !important;
  color: #ffffff !important;
  border-radius: 4px !important;
}

body.theme-pixel16 .crt-shell .ovr-math-btn:active:not(:disabled),
body.theme-pixel16 .crt-shell .ovr-glyph-cell:active:not(:disabled),
body.theme-pixel16 .crt-shell .ovr-fh-tok:active:not(:disabled),
body.theme-pixel16 .crt-shell .ovr-mf-cell:active:not(:disabled),
body.theme-pixel16 .crt-shell .ovr-vs-card:active:not(:disabled),
body.theme-pixel16 .crt-shell .ovr-tm-cell:active:not(:disabled),
body.theme-pixel16 .crt-shell .ovr-ms-weight:active:not(:disabled),
body.theme-pixel16 .crt-shell .ovr-so-btn:active:not(:disabled),
body.theme-pixel16 .crt-shell .ovr-st-ch:active:not(:disabled),
body.theme-pixel16 .crt-shell .ovr-rb-step-btn:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: inset 2px 2px 0 rgba(0, 0, 0, 0.35), 0 1px 0 var(--px-outline) !important;
}

/* Center expressions inside Discharge Order arcade keycaps */
body.theme-pixel16 .crt-shell .ovr-math-btn {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 8px 10px !important;
}

body.theme-pixel16 .crt-shell .ovr-math-expr {
  display: block !important;
  line-height: 1 !important;
  text-align: center !important;
  margin: 0 !important;
}

body.theme-pixel16 .crt-shell .ovr-math-badge {
  position: absolute !important;
  bottom: 3px !important;
  left: 0 !important;
  right: 0 !important;
  min-height: 0 !important;
  font-size: 9px !important;
  line-height: 1 !important;
  text-align: center !important;
  pointer-events: none !important;
}

body.theme-pixel16 .crt-shell .ovr-math-badge:empty {
  display: none !important;
}

body.theme-pixel16 .crt-shell .ovr-math-btn.is-locked {
  background: linear-gradient(180deg, #1b4d3e 0%, #113328 100%) !important;
  border-color: var(--crt-green) !important;
  color: var(--crt-green) !important;
  box-shadow: inset 2px 2px 0 #2ce8a2, 0 2px 0 var(--px-outline) !important;
}

/* Compact Fallout Terminal rows & tokens so all 7 rows fit without clipping */
body.theme-pixel16 .crt-shell .ovr-fh {
  gap: 5px !important;
  padding: 4px 6px !important;
}

body.theme-pixel16 .crt-shell .ovr-fh .ovr-variant-banner {
  padding: 3px 6px !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
}

body.theme-pixel16 .crt-shell .ovr-fh-head {
  padding: 3px 6px !important;
  font-size: 11px !important;
}

body.theme-pixel16 .crt-shell .ovr-fh-chip {
  height: 26px !important;
  font-size: 11px !important;
}

body.theme-pixel16 .crt-shell .ovr-fh-chip.is-found {
  background: linear-gradient(180deg, #1b4d3e 0%, #102e24 100%) !important;
  border-color: var(--crt-green) !important;
  color: var(--crt-green) !important;
  text-decoration: line-through !important;
}

body.theme-pixel16 .crt-shell .ovr-fh-chip.is-next {
  background: rgba(255, 190, 11, 0.22) !important;
  border-color: var(--crt-amber) !important;
  color: #ffe680 !important;
  box-shadow: 0 0 8px rgba(255, 190, 11, 0.45) !important;
}

body.theme-pixel16 .crt-shell .ovr-fh-dump {
  padding: 5px 6px !important;
  gap: 3px !important;
}

body.theme-pixel16 .crt-shell .ovr-fh-row {
  min-height: 30px !important;
  height: 30px !important;
  gap: 6px !important;
}

body.theme-pixel16 .crt-shell .ovr-fh-addr,
body.theme-pixel16 .crt-shell .ovr-fh-noise {
  font-size: 11px !important;
}

body.theme-pixel16 .crt-shell .ovr-fh-tok {
  min-height: 28px !important;
  height: 28px !important;
  min-width: 58px !important;
  padding: 0 8px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

body.theme-pixel16 .crt-shell .ovr-fh-tok.is-found {
  background: linear-gradient(180deg, #1b4d3e 0%, #113328 100%) !important;
  border-color: var(--crt-green) !important;
  color: var(--crt-green) !important;
  box-shadow: inset 1px 1px 0 #2ce8a2 !important;
}

body.theme-pixel16 .crt-shell .ovr-fh-tok.is-error {
  background: linear-gradient(180deg, #7a1c29 0%, #4a0e17 100%) !important;
  border-color: var(--crt-red) !important;
  color: #ff8a9b !important;
  box-shadow: inset 1px 1px 0 #ff5268 !important;
}

/* Keycard Flash (.ovr-mf) lit & feedback states */
body.theme-pixel16 .crt-shell .ovr-mf-grid {
  grid-template-columns: repeat(3, 76px) !important;
  grid-template-rows: repeat(3, 76px) !important;
  gap: 8px !important;
}

body.theme-pixel16 .crt-shell .ovr-mf-cell {
  width: 76px !important;
  height: 76px !important;
  color: #9aa2cc !important;
}

body.theme-pixel16 .crt-shell .ovr-mf-cell.is-flash {
  background: linear-gradient(180deg, #1b6982 0%, #0d4154 100%) !important;
  border-color: #36e8ff !important;
  color: #7df4ff !important;
  box-shadow:
    inset 2px 2px 0 #5bf0ff,
    inset -2px -2px 0 #082936,
    0 0 14px rgba(54, 232, 255, 0.75),
    0 3px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-mf-cell.is-flash-amber {
  background: linear-gradient(180deg, #945706 0%, #593102 100%) !important;
  border-color: #ffbe3b !important;
  color: #ffe680 !important;
  box-shadow:
    inset 2px 2px 0 #ffd86b,
    inset -2px -2px 0 #381e00,
    0 0 14px rgba(255, 190, 59, 0.75),
    0 3px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-mf-cell.is-flash-green {
  background: linear-gradient(180deg, #166e46 0%, #0b4229 100%) !important;
  border-color: #38ff8e !important;
  color: #8affbd !important;
  box-shadow:
    inset 2px 2px 0 #6bffa8,
    inset -2px -2px 0 #062617,
    0 0 14px rgba(56, 255, 142, 0.75),
    0 3px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-mf-cell.is-correct {
  background: linear-gradient(180deg, #1b5c3e 0%, #103825 100%) !important;
  border-color: var(--crt-green) !important;
  color: var(--crt-green) !important;
  box-shadow:
    inset 2px 2px 0 #38ff8e,
    0 2px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-mf-cell.is-wrong {
  background: linear-gradient(180deg, #7a1c29 0%, #4a0e17 100%) !important;
  border-color: var(--crt-red) !important;
  color: #ff8a9b !important;
  box-shadow:
    inset 2px 2px 0 #ff5268,
    0 0 12px rgba(255, 59, 92, 0.7),
    0 2px 0 var(--px-outline) !important;
}

/* Glyph Grid (.ovr-glyph) compact vertical metrics & win/err states */
body.theme-pixel16 .crt-shell .ovr-glyph {
  gap: 6px !important;
  padding: 4px 6px !important;
}

body.theme-pixel16 .crt-shell .ovr-glyph-rule {
  padding: 6px 10px !important;
}

body.theme-pixel16 .crt-shell .ovr-glyph-tag {
  font-size: 10px !important;
  margin-bottom: 2px !important;
}

body.theme-pixel16 .crt-shell .ovr-glyph-text {
  font-size: 13px !important;
  line-height: 1.3 !important;
}

body.theme-pixel16 .crt-shell .ovr-glyph-grid {
  gap: 8px !important;
}

body.theme-pixel16 .crt-shell .ovr-glyph-cell {
  min-height: 68px !important;
  height: 68px !important;
  padding: 4px !important;
  gap: 3px !important;
}

body.theme-pixel16 .crt-shell .ovr-glyph-sym {
  font-size: 26px !important;
  line-height: 1 !important;
}

body.theme-pixel16 .crt-shell .ovr-glyph-id {
  font-size: 10px !important;
  line-height: 1 !important;
}

body.theme-pixel16 .crt-shell .ovr-glyph-status {
  font-size: 11px !important;
  min-height: 14px !important;
  line-height: 1.2 !important;
}

body.theme-pixel16 .crt-shell .ovr-glyph-cell.is-win {
  background: linear-gradient(180deg, #1b5c3e 0%, #103825 100%) !important;
  border-color: var(--crt-green) !important;
  color: var(--crt-green) !important;
  box-shadow:
    inset 2px 2px 0 #38ff8e,
    0 2px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-glyph-cell.is-err {
  background: linear-gradient(180deg, #7a1c29 0%, #4a0e17 100%) !important;
  border-color: var(--crt-red) !important;
  color: #ff8a9b !important;
  box-shadow:
    inset 2px 2px 0 #ff5268,
    0 2px 0 var(--px-outline) !important;
}

/* Pressure Purge (.ovr-pp): 2-stage variant yellow (stage 1) -> green (stage 2) zone */
body.theme-pixel16 .crt-shell .ovr-pp-body {
  height: 172px !important;
}

body.theme-pixel16 .crt-shell .ovr-pp[data-variant="two_stage"]:not(.is-stage-2) .ovr-pp-zone {
  background: rgba(255, 214, 10, 0.28) !important;
  border-top: 2px dashed #ffd60a !important;
  border-bottom: 2px dashed #ffd60a !important;
  box-shadow: inset 0 0 12px rgba(255, 214, 10, 0.38) !important;
}

body.theme-pixel16 .crt-shell .ovr-pp[data-variant="two_stage"]:not(.is-stage-2) .ovr-pp-range {
  color: #ffd60a !important;
}

body.theme-pixel16 .crt-shell .ovr-pp[data-variant="two_stage"].is-stage-2 .ovr-pp-zone {
  background: rgba(56, 255, 142, 0.26) !important;
  border-top: 2px dashed var(--crt-green) !important;
  border-bottom: 2px dashed var(--crt-green) !important;
  box-shadow: inset 0 0 12px rgba(56, 255, 142, 0.35) !important;
}

body.theme-pixel16 .crt-shell .ovr-pp[data-variant="two_stage"].is-stage-2 .ovr-pp-range {
  color: var(--crt-green) !important;
}

body.theme-pixel16 .crt-shell .ovr-pp-btn.is-holding {
  background: linear-gradient(180deg, #6ef7ff 0%, #00b8d4 100%) !important;
  border-color: var(--crt-cyan) !important;
  color: #062129 !important;
  transform: translateY(2px) !important;
  box-shadow:
    inset 2px 2px 0 #c9fcff,
    0 2px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-pp-btn.is-zone {
  background: linear-gradient(180deg, #5cff9e 0%, #1cc964 100%) !important;
  border-color: var(--crt-green) !important;
  color: #042110 !important;
  box-shadow:
    inset 2px 2px 0 #b3ffd1,
    0 0 14px rgba(56, 255, 142, 0.7),
    0 2px 0 var(--px-outline) !important;
}

/* Valve Reset (.ovr-vs): compact height for 4 valves + variant banner & red alarm button at 100% */
body.theme-pixel16 .crt-shell .ovr-vs {
  padding: 4px 6px !important;
  gap: 5px !important;
}

body.theme-pixel16 .crt-shell .ovr-vs .ovr-variant-banner {
  padding: 4px 8px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-head {
  padding: 4px 8px !important;
  gap: 2px !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-head-top {
  font-size: 12px !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-sub {
  font-size: 10.5px !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-list {
  gap: 6px !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-card {
  min-height: 54px !important;
  padding: 6px 10px !important;
  gap: 5px !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-top {
  font-size: 12px !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-status {
  font-size: 11px !important;
  padding: 1px 4px !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-track {
  height: 13px !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-card.is-at100,
body.theme-pixel16 .crt-shell .ovr-vs-card.is-error {
  background: linear-gradient(180deg, #9e1b2e 0%, #5e0d19 100%) !important;
  border-color: #ff3b5c !important;
  box-shadow:
    inset 2px 2px 0 #ff6b84,
    inset -2px -2px 0 #38050d,
    0 0 14px rgba(255, 59, 92, 0.7),
    0 3px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-card.is-at100 .ovr-vs-name {
  color: #ffffff !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-card.is-at100 .ovr-vs-status,
body.theme-pixel16 .crt-shell .ovr-vs-card.is-at100 .ovr-vs-pct {
  color: #ffe680 !important;
}

body.theme-pixel16 .crt-shell .ovr-vs-card.is-done {
  background: linear-gradient(180deg, #1b4d3e 0%, #102e24 100%) !important;
  border-color: var(--crt-green) !important;
  box-shadow:
    inset 2px 2px 0 #2ce8a2,
    0 2px 0 var(--px-outline) !important;
}

/* Primary action buttons inside Pressure Purge, Rotor Lock, Reactor Balance */
body.theme-pixel16 .crt-shell .ovr-pp-btn,
body.theme-pixel16 .crt-shell .ovr-rl-btn,
body.theme-pixel16 .crt-shell .ovr-rb-exec {
  border: 2px solid var(--px-outline) !important;
  font-family: var(--font-pixel) !important;
  font-size: 11px !important;
  color: #241200 !important;
  background: linear-gradient(180deg, #ffe07d 0%, #ffb02e 55%, #e87a00 100%) !important;
  box-shadow:
    inset 2px 2px 0 #fff3ba,
    inset -2px -2px 0 #b85d00,
    0 4px 0 var(--px-outline) !important;
}

/* Compact height safeguards for active modules so nothing ever clips or scrolls */
@media (max-height: 820px) {
  body.theme-pixel16 .crt-shell .ovr-bin-sw {
    min-height: 102px !important;
  }
  body.theme-pixel16 .crt-shell .ovr-fa-scope-wrap {
    height: 120px !important;
  }
  body.theme-pixel16 .crt-shell .ovr-fa[data-variant="waveform"] .ovr-fa-scope-wrap {
    height: 102px !important;
  }
  body.theme-pixel16 .crt-shell .ovr-pp-body {
    height: 172px !important;
  }
  body.theme-pixel16 .crt-shell .ovr-rl-dial-wrap,
  body.theme-pixel16 .crt-shell .ovr-rl-canvas {
    width: 180px !important;
    height: 180px !important;
  }
  body.theme-pixel16 .crt-shell .ovr-mf-grid {
    grid-template-columns: repeat(3, 80px) !important;
    grid-template-rows: repeat(3, 80px) !important;
    gap: 8px !important;
  }
  body.theme-pixel16 .crt-shell .ovr-mf-cell {
    width: 80px !important;
    height: 80px !important;
  }
}

/* Stroop swatches keep vibrant legible contrast */
body.theme-pixel16 .crt-shell .ovr-so-btn {
  text-shadow: 1px 1px 0 var(--px-outline) !important;
}

/* Reactor Balance segmented bars */
body.theme-pixel16 .crt-shell .ovr-rb-seg {
  border: 1px solid var(--px-outline) !important;
  background: #1f213b !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-seg.is-lit {
  background: #00e5ff !important;
  box-shadow: 0 0 6px rgba(0, 229, 255, 0.55) !important;
}

/* Tactical Map (.ovr-tm): larger axes, transparent terrain decor, & lit hit states */
body.theme-pixel16 .crt-shell .ovr-tm-axis {
  color: var(--crt-amber) !important;
  font-family: var(--font-ui) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body.theme-pixel16 .crt-shell .ovr-tm-target {
  font-family: var(--font-ui) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.1 !important;
}

body.theme-pixel16 .crt-shell .ovr-tm-target.is-done {
  background: linear-gradient(180deg, #1b4d3e 0%, #102e24 100%) !important;
  border-color: var(--crt-green) !important;
  color: var(--crt-green) !important;
  text-decoration: line-through !important;
}

body.theme-pixel16 .crt-shell .ovr-tm-cell:not(.is-hit):not(.is-err) {
  color: rgba(180, 190, 235, 0.24) !important;
}

body.theme-pixel16 .crt-shell .ovr-tm-cell.is-hit {
  background: linear-gradient(180deg, #1b5c3e 0%, #103825 100%) !important;
  border-color: var(--crt-green) !important;
  color: var(--crt-green) !important;
  font-size: 16px !important;
  box-shadow:
    inset 2px 2px 0 #38ff8e,
    0 2px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-tm-cell.is-err {
  background: linear-gradient(180deg, #7a1c29 0%, #4a0e17 100%) !important;
  border-color: var(--crt-red) !important;
  color: #ff8a9b !important;
  box-shadow:
    inset 2px 2px 0 #ff5268,
    0 2px 0 var(--px-outline) !important;
}

/* Pulse Decoder (.ovr-st): hide redundant text row, enlarge button symbols, & lit states */
body.theme-pixel16 .crt-shell .ovr-st-tx-text {
  display: none !important;
}

body.theme-pixel16 .crt-shell .ovr-st-pulses {
  min-height: 32px !important;
  gap: 20px !important;
}

body.theme-pixel16 .crt-shell .ovr-st-dot {
  width: 22px !important;
  height: 22px !important;
}

body.theme-pixel16 .crt-shell .ovr-st-tri,
body.theme-pixel16 .crt-shell .ovr-st-tri svg {
  width: 24px !important;
  height: 22px !important;
}

body.theme-pixel16 .crt-shell .ovr-st-ch-pat {
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.16em !important;
}

body.theme-pixel16 .crt-shell .ovr-st-ch.is-win {
  background: linear-gradient(180deg, #1b5c3e 0%, #103825 100%) !important;
  border-color: var(--crt-green) !important;
  color: var(--crt-green) !important;
  box-shadow:
    inset 2px 2px 0 #38ff8e,
    0 2px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-st-ch.is-err {
  background: linear-gradient(180deg, #7a1c29 0%, #4a0e17 100%) !important;
  border-color: var(--crt-red) !important;
  color: #ff8a9b !important;
  box-shadow:
    inset 2px 2px 0 #ff5268,
    0 2px 0 var(--px-outline) !important;
}

/* Core Balance (.ovr-rb): compact vertical metrics so bottom status never clips */
body.theme-pixel16 .crt-shell .ovr-rb {
  padding: 4px 6px !important;
  gap: 5px !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-rule {
  padding: 5px 8px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-total {
  padding: 5px 10px !important;
  font-size: 13px !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-total.is-match {
  border-color: var(--crt-green) !important;
  color: var(--crt-green) !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-col {
  padding: 5px 6px !important;
  gap: 4px !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-name {
  font-size: 11px !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-seg {
  height: 16px !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-val {
  font-size: 13px !important;
  line-height: 1.1 !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-step-btn {
  min-height: 34px !important;
  height: 34px !important;
  font-size: 20px !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-exec {
  min-height: 42px !important;
  height: 42px !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-status {
  font-size: 11px !important;
  min-height: 14px !important;
  line-height: 1.2 !important;
  color: var(--crt-green) !important;
}

body.theme-pixel16 .crt-shell .ovr-rb-status.is-err {
  color: var(--crt-red) !important;
}

/* Frequency Align (.ovr-fa): dual sliders + 4-button waveform selector */
body.theme-pixel16 .crt-shell .ovr-fa {
  padding: 4px 6px !important;
  gap: 5px !important;
}

body.theme-pixel16 .crt-shell .ovr-fa .ovr-variant-banner {
  padding: 4px 8px !important;
  font-size: 10.5px !important;
  line-height: 1.25 !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-head {
  padding: 4px 8px !important;
  font-size: 11px !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-scope-wrap {
  border: 2px solid #565c8c !important;
  box-shadow: inset 2px 2px 0 #020503 !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-lock-head {
  font-size: 10.5px !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-wave-row {
  gap: 6px !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-wave-btn {
  height: 32px !important;
  gap: 4px !important;
  padding: 0 3px !important;
  background: linear-gradient(180deg, #424775 0%, #2a2d4d 100%) !important;
  border: 2px solid var(--px-outline) !important;
  box-shadow:
    inset 2px 2px 0 #6f76b3,
    inset -2px -2px 0 #1c1e36,
    0 3px 0 var(--px-outline) !important;
  color: #cfd5f5 !important;
  font-family: var(--font-ui) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  border-radius: 4px !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-wave-btn:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: inset 2px 2px 0 rgba(0, 0, 0, 0.35), 0 1px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-wave-btn.is-active {
  background: linear-gradient(180deg, #1b6982 0%, #0d4154 100%) !important;
  border-color: #36e8ff !important;
  color: #7df4ff !important;
  box-shadow:
    inset 2px 2px 0 #5bf0ff,
    inset -2px -2px 0 #082936,
    0 0 10px rgba(54, 232, 255, 0.6),
    0 2px 0 var(--px-outline) !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-ctrl {
  padding: 5px 8px !important;
  gap: 4px !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-slider-lbl,
body.theme-pixel16 .crt-shell .ovr-fa-slider-val {
  font-size: 10px !important;
  font-weight: 700 !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-slider {
  height: 28px !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-slider::-webkit-slider-runnable-track {
  height: 10px !important;
  background: #0a0a18 !important;
  border: 2px solid #565c8c !important;
  border-radius: 3px !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-slider::-webkit-slider-thumb {
  width: 24px !important;
  height: 24px !important;
  margin-top: -9px !important;
  border-radius: 3px !important;
  background: linear-gradient(180deg, #5cff9e 0%, #1cc964 100%) !important;
  border: 2px solid var(--px-outline) !important;
  box-shadow: inset 1px 1px 0 #b3ffd1, 0 0 8px rgba(56, 255, 142, 0.6) !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-slider::-moz-range-track {
  height: 10px !important;
  background: #0a0a18 !important;
  border: 2px solid #565c8c !important;
  border-radius: 3px !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-slider::-moz-range-thumb {
  width: 24px !important;
  height: 24px !important;
  border-radius: 3px !important;
  background: linear-gradient(180deg, #5cff9e 0%, #1cc964 100%) !important;
  border: 2px solid var(--px-outline) !important;
  box-shadow: inset 1px 1px 0 #b3ffd1, 0 0 8px rgba(56, 255, 142, 0.6) !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-slider-row.is-match .ovr-fa-slider::-webkit-slider-thumb {
  background: linear-gradient(180deg, #6ef7ff 0%, #00b8d4 100%) !important;
  box-shadow: inset 1px 1px 0 #c9fcff, 0 0 10px rgba(0, 229, 255, 0.75) !important;
}

body.theme-pixel16 .crt-shell .ovr-fa-slider-row.is-match .ovr-fa-slider::-moz-range-thumb {
  background: linear-gradient(180deg, #6ef7ff 0%, #00b8d4 100%) !important;
  box-shadow: inset 1px 1px 0 #c9fcff, 0 0 10px rgba(0, 229, 255, 0.75) !important;
}
