/* François d'Assise · Ombre et lumière — generated from tokens.json */
:root, [data-theme="nuit"] {
  --fond: #1e1719;
  --fond-surface: #2d2925;
  --texte: #f2e8d9;
  --texte-attenue: #bfaf98;
  --accent: #e3a452;
  --accent-survol: #eeb96f;
  --sur-accent: #1e1719;
  --filet: #4a3f36;
  --bordure-controle: #8a7a68;
  --focus: #e3a452;
  --niche-bois: #4a3628;
  --niche-fond: #140f10;
  --voile: rgba(20, 15, 16, 0.92);
  --erreur: #e58a6e;
  --succes: #a9be7a;
  --plaque-logo: #ffffff;
  --or: #e3a452;
  --ocre: #d4a568;
  --bure: #724d35;
  --brique: #8e3b2c;
  --olive: #5f6b3a;
  --bleu-mediterranee: #356283;
  --partie-1-aplat: var(--bure);
  --partie-1-trait: #b5876a;
  --partie-1-second: #d4a568;
  --partie-2-aplat: var(--olive);
  --partie-2-trait: #9da866;
  --partie-2-second: #7fa6c4;
  --partie-3-aplat: var(--or);
  --partie-3-trait: #e3a452;
  --partie-3-second: #c9715e;
  --ombre-niche: inset 0 2px 14px rgba(0, 0, 0, 0.6);
  --halo-revelation: 0 0 90px 10px rgba(227, 164, 82, 0.16);
  --ombre-carte: 0 1px 0 rgba(242, 232, 217, 0.04);
}
[data-theme="jour"] {
  --fond: #f6f1e7;
  --fond-surface: #ede4d3;
  --texte: #2b211c;
  --texte-attenue: #6b5a4c;
  --accent: #8a5a2e;
  --accent-survol: #6f4723;
  --sur-accent: #f6f1e7;
  --filet: #d9ccb6;
  --bordure-controle: #7e6e60;
  --focus: #8a5a2e;
  --niche-bois: #b89a74;
  --niche-fond: #e4d8c3;
  --voile: rgba(43, 33, 28, 0.88);
  --erreur: #a3341f;
  --succes: #3f6b3a;
  --partie-1-aplat: var(--bure);
  --partie-1-trait: #724d35;
  --partie-1-second: #8f6a36;
  --partie-2-aplat: var(--olive);
  --partie-2-trait: #5f6b3a;
  --partie-2-second: #356283;
  --partie-3-aplat: var(--or);
  --partie-3-trait: #8a5a2e;
  --partie-3-second: #8e3b2c;
  --ombre-niche: inset 0 2px 10px rgba(72, 52, 36, 0.28);
  --halo-revelation: 0 0 0 0 rgba(0, 0, 0, 0);
  --ombre-carte: 0 1px 2px rgba(43, 33, 28, 0.08);
}
:root {
  --espace-1: 4px;
  --espace-2: 8px;
  --espace-3: 12px;
  --espace-4: 16px;
  --espace-5: 24px;
  --espace-6: 32px;
  --espace-7: 48px;
  --espace-8: 64px;
  --espace-9: 96px;
  --espace-10: 160px;
  --rayon-0: 0px;
  --rayon-1: 2px;
  --rayon-noeud: 50%;
  --duree-revelation: 2600ms;
  --duree-transition: 900ms;
  --duree-interface: 180ms;
  --cycle-lumiere: 180s;
  --courbe-lumiere: cubic-bezier(0.25, 0.1, 0.25, 1);
  --courbe-interface: cubic-bezier(0.2, 0, 0, 1);
  --largeur-lecture: 34rem;
  --largeur-contenu: 72rem;
  --point-tablette: 640px;
  --point-ordinateur: 1024px;
  --font-display: "Cinzel", "Trajan Pro", Georgia, serif;
  --font-recit: "Aleo", Rockwell, Georgia, serif;
  --font-ui: "Alegreya Sans", "Gill Sans", system-ui, sans-serif;
  --font-uisc: "Alegreya Sans SC", "Alegreya Sans", system-ui, sans-serif;
}
.display { font-family: var(--font-display); font-size: 72px; line-height: 1.0; font-weight: 500; letter-spacing: 0.08em; }
.chiffre-romain { font-family: var(--font-display); font-size: 128px; line-height: 1.0; font-weight: 400; letter-spacing: 0.04em; }
.titre-partie { font-family: var(--font-display); font-size: 40px; line-height: 1.15; font-weight: 500; letter-spacing: 0.06em; }
.h1 { font-family: var(--font-recit); font-size: 44px; line-height: 1.15; font-weight: 300; }
.h2 { font-family: var(--font-recit); font-size: 32px; line-height: 1.25; font-weight: 400; }
.h3 { font-family: var(--font-recit); font-size: 24px; line-height: 1.3; font-weight: 700; }
.h4 { font-family: var(--font-recit); font-size: 20px; line-height: 1.35; font-weight: 700; }
.chapo { font-family: var(--font-recit); font-size: 22px; line-height: 1.55; font-weight: 300; }
.recit { font-family: var(--font-recit); font-size: 19px; line-height: 1.7; font-weight: 400; }
.corps { font-family: var(--font-recit); font-size: 17px; line-height: 1.6; font-weight: 400; }
.citation { font-family: var(--font-recit); font-size: 30px; line-height: 1.4; font-weight: 300; font-style: italic; }
.cartel-titre { font-family: var(--font-ui); font-size: 17px; line-height: 1.35; font-weight: 700; }
.cartel { font-family: var(--font-ui); font-size: 15px; line-height: 1.45; font-weight: 400; }
.legende { font-family: var(--font-ui); font-size: 15px; line-height: 1.45; font-weight: 400; }
.ui { font-family: var(--font-ui); font-size: 17px; line-height: 1.4; font-weight: 500; }
.bouton { font-family: var(--font-uisc); font-size: 17px; line-height: 1.0; font-weight: 500; letter-spacing: 0.04em; }
.surtitre { font-family: var(--font-uisc); font-size: 14px; line-height: 1.3; font-weight: 500; letter-spacing: 0.1em; }
.chiffre-cle { font-family: var(--font-ui); font-size: 56px; line-height: 1.0; font-weight: 300; }
.display-mobile { font-family: var(--font-display); font-size: 40px; line-height: 1.05; font-weight: 500; letter-spacing: 0.06em; }
.chiffre-romain-mobile { font-family: var(--font-display); font-size: 72px; line-height: 1.0; font-weight: 400; }
.titre-partie-mobile { font-family: var(--font-display); font-size: 26px; line-height: 1.2; font-weight: 500; letter-spacing: 0.05em; }
.h1-mobile { font-family: var(--font-recit); font-size: 32px; line-height: 1.2; font-weight: 300; }
.h2-mobile { font-family: var(--font-recit); font-size: 26px; line-height: 1.25; font-weight: 400; }
.h3-mobile { font-family: var(--font-recit); font-size: 21px; line-height: 1.3; font-weight: 700; }
.h4-mobile { font-family: var(--font-recit); font-size: 18px; line-height: 1.35; font-weight: 700; }
.chapo-mobile { font-family: var(--font-recit); font-size: 19px; line-height: 1.55; font-weight: 300; }
.recit-mobile { font-family: var(--font-recit); font-size: 18px; line-height: 1.65; font-weight: 400; }
.citation-mobile { font-family: var(--font-recit); font-size: 24px; line-height: 1.4; font-weight: 300; font-style: italic; }
.chiffre-cle-mobile { font-family: var(--font-ui); font-size: 40px; line-height: 1.0; font-weight: 300; }
