:root { --papier:#F5F0E8; --papier2:#FBF8F3; --encre:#17130F; --encre2:#4A433C; --muted:#7B7166; --filet:#E3DACE; --accent:#C8442A; --accent-doux:#F4E3DC; }
* { box-sizing: border-box; }
body { margin:0; background:var(--papier); color:var(--encre2); font:16.5px/1.7 "DM Sans", -apple-system, "Segoe UI", Roboto, sans-serif; -webkit-font-smoothing: antialiased; }
.page { max-width: 720px; margin: 0 auto; padding: 28px 22px 88px; }
a { color: var(--encre); text-decoration-color: var(--accent); text-underline-offset: 3px; }
header { display:flex; justify-content:space-between; align-items:center; padding-bottom: 14px; border-bottom: 1px solid var(--filet); margin-bottom: 34px; }
header a.retour { font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 22px; letter-spacing: -0.5px; text-decoration: none; color: var(--encre); }
header a.retour em { font-style: italic; font-weight: 400; color: var(--accent); }
header .rubrique { font-size: 11px; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; color: var(--accent); }
h1 { font-family: "Fraunces", Georgia, serif; font-weight: 400; font-size: 40px; line-height: 1.12; letter-spacing: -0.8px; color: var(--encre); margin: 0 0 8px; }
.maj { font-size: 13px; color: var(--muted); margin: 0 0 34px; }
h2 { font-family: "Fraunces", Georgia, serif; font-weight: 400; font-size: 23px; line-height: 1.25; letter-spacing: -0.3px; color: var(--encre); margin: 40px 0 8px; }
h3 { font-size: 15px; font-weight: 700; color: var(--encre); margin: 22px 0 4px; }
strong { color: var(--encre); font-weight: 700; }
.encart { background: var(--papier2); border: 1px solid var(--filet); border-left: 3px solid var(--accent); border-radius: 6px; padding: 14px 18px; margin: 20px 0; }
.urgence { background: var(--papier2); border: 1px solid var(--filet); border-left: 3px solid var(--accent); border-radius: 6px; padding: 14px 18px; margin: 28px 0; }
.todo { background: var(--accent-doux); border: 1px dashed var(--accent); border-radius: 6px; padding: 12px 16px; margin: 20px 0; font-size: 14px; color: var(--encre); }
table { width: 100%; border-collapse: collapse; margin: 14px 0 6px; font-size: 14.5px; }
th, td { text-align: left; vertical-align: top; padding: 10px 10px 10px 0; border-bottom: 1px solid var(--filet); }
th { font-size: 11px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--muted); font-weight: 700; }
ul { padding-left: 20px; } li { margin: 4px 0; }
details { border-bottom: 1px solid var(--filet); padding: 14px 0; }
details summary { cursor: pointer; font-family: "Fraunces", Georgia, serif; font-size: 19px; color: var(--encre); list-style: none; }
details summary::-webkit-details-marker { display: none; }
details summary::after { content: "+"; float: right; color: var(--accent); font-family: "DM Sans", sans-serif; }
details[open] summary::after { content: "–"; }
details p { margin: 10px 0 0; }
footer { margin-top: 64px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--filet); padding-top: 18px; line-height: 2; }
footer a { color: var(--encre2); }
@media (max-width: 520px) { h1 { font-size: 32px; } table { font-size: 13.5px; } }
