/* Thème : variables et base typographique (issu de design/maquette.css). */
:root {
  --primary-color: #1a1612;
  --secondary-color: #2d2419;
  --accent-color: #c9a961;
  --accent-glow: #ffd966;
  --bg-dark: #0d0c0a;
  --bg-medium: #1f1b16;
  --text-light: #e8e4dc;
  --text-dark: #1a1612;
  --border-color: #4a3f2f;
  --border-glow: #8b7355;
  --success: #5a7a3d;
  --danger: #8b3a3a;
  --warning: #b87333;
  --shadow-dark: rgba(0, 0, 0, 0.8);
  /* (+) tokens de refonte */
  --brun-1: #2c1810;
  --brun-2: #1a0f0a;
  --texte-doux: #b3ab9c;          /* contraste 7:1 sur --bg-dark */
  --info: #4a6a8a;
  --cible-min: 48px;              /* zone tactile minimale (inchangée) */
  --rayon: 8px;
  --espace: 10px;
  --espace-s: 6px;
  --police-titre: 'Cinzel', 'Trajan Pro', Georgia, 'Times New Roman', serif;
  --police-corps: Georgia, 'Times New Roman', serif;
  --safe-haut: env(safe-area-inset-top);
  --safe-bas: env(safe-area-inset-bottom);
  /* (+) échelle typographique (T-002b) — racine html = 15 px, tailles en rem */
  --t-corps: 1rem;        /* 15 px  texte courant */
  --t-doux: .867rem;      /* 13 px  texte secondaire, labels, tableaux */
  --t-petit: .8rem;       /* 12 px  pastilles, nav basse, annotations, légendes */
  --t-micro: .733rem;     /* 11 px  badges chiffrés */
  --t-h3: 1rem;           /* 15 px  titre de carte */
  --t-h2: 1.067rem;       /* 16 px  titre de section */
  --t-h1: 1.2rem;         /* 18 px  titre de barre haute */
  --t-valeur: 1.667rem;   /* 25 px  valeur de compteur (PV, PC...) */
  --t-valeur-xl: 1.4rem;  /* 21 px  grand chiffre isolé (tour, code) */
  --t-champ: 16px;        /* champs de saisie : ≥16 px imposé pour éviter le zoom auto iOS */
  --interligne: 1.35;
  --interligne-serre: 1.2;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; font-size: 15px; }
body {
  font-family: var(--police-corps); font-size: var(--t-corps); line-height: var(--interligne);
  color: var(--text-light); background: linear-gradient(180deg, var(--brun-1), var(--brun-2)) fixed;
  min-height: 100vh; overflow-x: hidden;
  padding: 0 env(safe-area-inset-right) calc(64px + var(--safe-bas)) env(safe-area-inset-left);
}
h1, h2, h3 { font-family: var(--police-titre); color: var(--accent-color); letter-spacing: .03em; font-weight: 600; line-height: var(--interligne-serre); }
h1 { font-size: var(--t-h1); } h2 { font-size: var(--t-h2); margin: 14px 0 6px; } h3 { font-size: var(--t-h3); }
.doux { color: var(--texte-doux); font-size: var(--t-doux); }
.centre { text-align: center; }
:focus-visible { outline: 3px solid var(--accent-glow); outline-offset: 2px; }

