:root { --fond:#f7f5f0; --texte:#1f2a2e; --doux:#5b686d; --accent:#0f6b5c; --carte:#ffffff; --trait:#e3ded3; }
@media (prefers-color-scheme: dark) {
  :root { --fond:#141a1c; --texte:#e8ecec; --doux:#9aa7ab; --accent:#5ec9b3; --carte:#1c2427; --trait:#2b363a; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--fond); color:var(--texte); font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
main, header, footer { max-width:44rem; margin:0 auto; padding:0 1.25rem; }
header { padding-top:2.5rem; padding-bottom:.5rem; display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:.5rem; }
.marque { font-weight:800; font-size:1.25rem; letter-spacing:-.02em; color:var(--texte); text-decoration:none; }
.marque span { color:var(--accent); }
nav a { color:var(--doux); text-decoration:none; margin-left:1rem; font-size:.95rem; }
nav a:hover, a:hover { text-decoration:underline; }
a { color:var(--accent); }
h1 { font-size:2rem; line-height:1.2; letter-spacing:-.02em; margin:2rem 0 1rem; }
h2 { font-size:1.2rem; margin:2.2rem 0 .5rem; }
.chapo { font-size:1.15rem; color:var(--doux); }
.carte { background:var(--carte); border:1px solid var(--trait); border-radius:14px; padding:1.25rem 1.4rem; margin:1.5rem 0; }
.carte h2 { margin-top:0; }
table { width:100%; border-collapse:collapse; margin:1rem 0; font-size:.95rem; }
th, td { text-align:left; vertical-align:top; padding:.6rem .7rem; border-bottom:1px solid var(--trait); }
th { color:var(--doux); font-weight:600; }
.defile { overflow-x:auto; }
footer { color:var(--doux); font-size:.9rem; padding-top:2rem; padding-bottom:3rem; border-top:1px solid var(--trait); margin-top:3rem; }
