/* Tokens de thème.
   Deux familles (kawaii, admin) × deux luminosités. Chaque combinaison
   redéfinit l'INTÉGRALITÉ du jeu : aucune couleur ne doit exister
   uniquement dans un bloc @media ou [data-theme], sinon la page rend
   le texte d'un thème sur le fond de l'autre. */

/* ---------- kawaii, clair (défaut) ---------- */
:root,
:root[data-theme-family="kawaii"]{
  --paper: oklch(0.985 0.012 350);
  --surface: oklch(1 0 0);
  --surface-2: oklch(0.968 0.016 348);
  --ink: oklch(0.31 0.058 345);
  --ink-2: oklch(0.48 0.045 345);
  --ink-3: oklch(0.63 0.035 345);
  --rule: oklch(0.91 0.018 348);
  --rule-2: oklch(0.83 0.030 348);
  --accent: oklch(0.635 0.155 5);
  --accent-2: oklch(0.715 0.135 5);
  --accent-soft: oklch(0.955 0.030 5);
  --alerte: oklch(0.555 0.195 15);
  --alerte-soft: oklch(0.955 0.035 15);
  --or: oklch(0.640 0.115 82);
  --or-soft: oklch(0.960 0.040 88);
  --succes: oklch(0.560 0.115 160);
  --succes-soft: oklch(0.950 0.035 160);
  --radius: 12px;
  --radius-lg: 20px;
  --police-display: "Fraunces", Georgia, serif;
  --police-ui: "Nunito", system-ui, sans-serif;
  --police-corps: "Spectral", Georgia, serif;
  --police-mono: "IBM Plex Mono", ui-monospace, monospace;
  --display-variation: "SOFT" 60, "WONK" 1;
}

/* ---------- kawaii, sombre ---------- */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]),
  :root[data-theme-family="kawaii"]:not([data-theme="light"]){
    --paper: oklch(0.205 0.032 340);
    --surface: oklch(0.245 0.034 340);
    --surface-2: oklch(0.288 0.036 340);
    --ink: oklch(0.945 0.014 345);
    --ink-2: oklch(0.790 0.022 345);
    --ink-3: oklch(0.640 0.026 345);
    --rule: oklch(0.335 0.030 340);
    --rule-2: oklch(0.450 0.040 340);
    --accent: oklch(0.775 0.125 5);
    --accent-2: oklch(0.690 0.130 5);
    --accent-soft: oklch(0.320 0.055 5);
    --alerte: oklch(0.720 0.160 15);
    --alerte-soft: oklch(0.330 0.065 15);
    --or: oklch(0.800 0.110 85);
    --or-soft: oklch(0.320 0.050 85);
    --succes: oklch(0.760 0.110 160);
    --succes-soft: oklch(0.300 0.048 160);
  }
}
:root[data-theme-family="kawaii"][data-theme="dark"],
:root[data-theme="dark"]{
  --paper: oklch(0.205 0.032 340);
  --surface: oklch(0.245 0.034 340);
  --surface-2: oklch(0.288 0.036 340);
  --ink: oklch(0.945 0.014 345);
  --ink-2: oklch(0.790 0.022 345);
  --ink-3: oklch(0.640 0.026 345);
  --rule: oklch(0.335 0.030 340);
  --rule-2: oklch(0.450 0.040 340);
  --accent: oklch(0.775 0.125 5);
  --accent-2: oklch(0.690 0.130 5);
  --accent-soft: oklch(0.320 0.055 5);
  --alerte: oklch(0.720 0.160 15);
  --alerte-soft: oklch(0.330 0.065 15);
  --or: oklch(0.800 0.110 85);
  --or-soft: oklch(0.320 0.050 85);
  --succes: oklch(0.760 0.110 160);
  --succes-soft: oklch(0.300 0.048 160);
  --radius: 12px;
  --radius-lg: 20px;
}

/* ---------- admin, clair ---------- */
:root[data-theme-family="admin"]{
  --paper: oklch(0.988 0.004 250);
  --surface: oklch(1 0 0);
  --surface-2: oklch(0.963 0.006 252);
  --ink: oklch(0.24 0.028 258);
  --ink-2: oklch(0.45 0.022 258);
  --ink-3: oklch(0.605 0.016 258);
  --rule: oklch(0.905 0.008 258);
  --rule-2: oklch(0.80 0.014 258);
  --accent: oklch(0.47 0.135 262);
  --accent-2: oklch(0.58 0.12 262);
  --accent-soft: oklch(0.945 0.024 262);
  --alerte: oklch(0.545 0.19 25);
  --alerte-soft: oklch(0.955 0.028 25);
  --or: oklch(0.585 0.105 76);
  --or-soft: oklch(0.955 0.038 85);
  --succes: oklch(0.485 0.105 155);
  --succes-soft: oklch(0.945 0.032 155);
  --radius: 0px;
  --radius-lg: 0px;
  --police-display: "Spectral", Georgia, serif;
  --police-ui: "Archivo", system-ui, sans-serif;
  --police-corps: "Spectral", Georgia, serif;
  --police-mono: "IBM Plex Mono", ui-monospace, monospace;
  --display-variation: normal;
}

/* ---------- admin, sombre ---------- */
@media (prefers-color-scheme: dark){
  :root[data-theme-family="admin"]:not([data-theme="light"]){
    --paper: oklch(0.183 0.018 262);
    --surface: oklch(0.222 0.021 262);
    --surface-2: oklch(0.262 0.023 262);
    --ink: oklch(0.945 0.008 258);
    --ink-2: oklch(0.775 0.013 258);
    --ink-3: oklch(0.615 0.016 258);
    --rule: oklch(0.325 0.021 262);
    --rule-2: oklch(0.435 0.026 262);
    --accent: oklch(0.755 0.115 262);
    --accent-2: oklch(0.655 0.115 262);
    --accent-soft: oklch(0.295 0.048 262);
    --alerte: oklch(0.715 0.155 25);
    --alerte-soft: oklch(0.305 0.058 25);
    --or: oklch(0.775 0.10 82);
    --or-soft: oklch(0.295 0.045 82);
    --succes: oklch(0.735 0.108 155);
    --succes-soft: oklch(0.275 0.045 155);
  }
}
:root[data-theme-family="admin"][data-theme="dark"]{
  --paper: oklch(0.183 0.018 262);
  --surface: oklch(0.222 0.021 262);
  --surface-2: oklch(0.262 0.023 262);
  --ink: oklch(0.945 0.008 258);
  --ink-2: oklch(0.775 0.013 258);
  --ink-3: oklch(0.615 0.016 258);
  --rule: oklch(0.325 0.021 262);
  --rule-2: oklch(0.435 0.026 262);
  --accent: oklch(0.755 0.115 262);
  --accent-2: oklch(0.655 0.115 262);
  --accent-soft: oklch(0.295 0.048 262);
  --alerte: oklch(0.715 0.155 25);
  --alerte-soft: oklch(0.305 0.058 25);
  --or: oklch(0.775 0.10 82);
  --or-soft: oklch(0.295 0.045 82);
  --succes: oklch(0.735 0.108 155);
  --succes-soft: oklch(0.275 0.045 155);
  --radius: 0px;
  --radius-lg: 0px;
}
