/* Pages légales des Chroniques d'Ombreval : couleurs et polices du jeu, contrastes mesurés (voir conformite/RAPPORT.md, section 8).
   Texte #3a2410 sur #f1e3bf = 11,45:1 (9,81:1 sur les en-têtes de tableau #e6d2a4) ; titres #5a1a12 = 10,36:1 ; liens #7a1f2b = 8,01:1 (6,86:1 au pire) ;
   texte clair #f5ecd6 sur #0d0b14 = 16,6:1 ; or #e8b84a sur #0d0b14 = 10,59:1. */
@import url("/assets/polices/polices.css");
:root { --fond: #0d0b14; --parch: #f1e3bf; --bord: #a8741a; --ink: #3a2410; --titre: #5a1a12; --lien: #7a1f2b; --clair: #f5ecd6; --or: #e8b84a;
  --fT: "Cinzel Decorative", "Cinzel", Georgia, serif; --fH: "Cinzel", Georgia, serif; --fB: "Alegreya Sans", "Trebuchet MS", system-ui, sans-serif; }
* { box-sizing: border-box; }
html { background: var(--fond); color: var(--clair); font-family: var(--fB); font-size: 17px; line-height: 1.6; }
body { margin: 0; padding: 16px; }
a { color: var(--lien); text-underline-offset: 2px; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--lien); outline-offset: 2px; border-radius: 2px; }
.evitement { position: absolute; left: -9999px; top: 0; background: var(--parch); color: var(--ink); padding: 8px 12px; }
.evitement:focus { left: 16px; top: 16px; z-index: 10; }
header.haut, footer.bas { max-width: 860px; margin: 0 auto; }
header.haut { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; padding: 8px 0 16px; }
header.haut .nom { font-family: var(--fT); font-size: 1.35rem; color: var(--or); text-decoration: none; }
header.haut .nom:focus-visible, footer.bas a:focus-visible { outline-color: var(--or); }
header.haut .retour, footer.bas a { color: var(--or); }
main { max-width: 860px; margin: 0 auto; background: var(--parch); color: var(--ink); border: 3px solid #6b4a28; border-radius: 6px;
  box-shadow: 0 0 0 2px #2a1a0c, 0 0 0 5px var(--bord), 0 0 0 7px #2a1a0c, 0 20px 60px rgba(0, 0, 0, .6); padding: 28px clamp(16px, 5vw, 44px) 36px; }
h1, h2, h3 { font-family: var(--fH); color: var(--titre); line-height: 1.25; }
h1 { font-size: 1.9rem; margin: 0 0 4px; }
h2 { font-size: 1.3rem; margin: 2em 0 .5em; border-bottom: 2px solid var(--bord); padding-bottom: 4px; }
h3 { font-size: 1.08rem; margin: 1.4em 0 .3em; }
.maj { font-size: .95rem; margin: 0 0 1.5em; }
table { width: 100%; border-collapse: collapse; margin: .8em 0 1.2em; font-size: .95rem; }
caption { text-align: left; font-weight: 700; padding-bottom: 4px; }
th, td { border: 1px solid #8a6a3a; padding: 6px 8px; text-align: left; vertical-align: top; }
th { background: #e6d2a4; }
.tableau { overflow-x: auto; }
.encadre { border: 2px solid var(--bord); background: #f7edd2; padding: 10px 14px; border-radius: 4px; }
footer.bas { padding: 20px 0 8px; font-size: .95rem; }
footer.bas ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
@media (max-width: 520px) { html { font-size: 16px; } h1 { font-size: 1.5rem; } }
@media print { html, body { background: #fff; color: #000; } main { box-shadow: none; border: 0; } header.haut, footer.bas { display: none; } }
