/* ============================================================
   THÈME A · « LOUNGE NÉON »
   Nuit gaming feutrée : surfaces sombres bleutées, rouge
   signature à deux rôles (#ef4459 tracé / #d61f35 surfaces
   pleines — règle de contraste héritée du système documenté).
   Fontes : Plus Jakarta Sans · JetBrains Mono.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap');

:root {
  --bg: #0d0f18; --surface: #12151f; --surface-2: #181c29; --surface-3: #1f2434;
  --line: #232838; --line-hi: #323950;
  --text: #e8eaf6; --text-2: #9aa0b8; --text-3: #666d85;
  --accent: #ef4459; --accent-2: #ff6377; --on-accent: #ffffff;
  --accent-soft: rgba(239, 68, 89, .1);
  --glow: 0 0 22px rgba(239, 68, 89, .2);
  --ok: #3ecf8e; --warn: #f5a623; --danger: #ff5470; --info: #4cc3ff;
  --font-display: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-body: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --r-lg: 14px; --r-md: 10px; --r-sm: 7px; --r-pill: 999px;
  --bw: 1px; --cut: none; --cut-sm: none;
  --case: none; --track: -0.01em; --dw: 800;
  --shadow-1: 0 1px 3px rgba(0, 0, 0, .35);
  --shadow-2: 0 14px 44px rgba(0, 0, 0, .5);
}

body {
  background:
    radial-gradient(820px 400px at 75% -8%, rgba(239, 68, 89, .07), transparent 62%),
    var(--bg);
  background-attachment: fixed;
}

h1 { letter-spacing: -0.025em; }

/* Rouge à deux rôles : surfaces pleines en solide foncé (#d61f35),
   le rouge clair (#ef4459) reste réservé au tracé et au texte. */
.btn-primary, .badge-accent, .brand-mark, .heat-cell[data-l="3"],
.count, .pager .is-on, .steps .step.is-done::before {
  background: #d61f35; border-color: #d61f35;
}
.btn-primary:hover { background: #ef4459; border-color: #ef4459; color: #fff; }
.flare-pulse { background: #d61f35; color: #fff; }
.check input:checked + .box, .radio input:checked + .box,
.switch input:checked + .track { background: #d61f35; border-color: #d61f35; }
.progress > i { background: #d61f35; }
::selection { background: #d61f35; color: #fff; }

.stat .v { font-weight: 800; }
.match-card { box-shadow: var(--shadow-2), var(--glow); }
