:root{--fond:#f6f4ef;--papier:#fffdf8;--encre:#1f2328;--doux:#5b6168;--trait:#d9d4c7;--accent:#b4521e;--accent2:#2f5d62;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--fond:#16181b;--papier:#1d2024;--encre:#e9e6df;--doux:#a3a8ae;--trait:#343840;--accent:#e08a55;--accent2:#7fb3b8;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--fond);color:var(--encre);font:16px/1.6 "Source Sans 3","Segoe UI",system-ui,sans-serif}
.page{max-width:820px;margin:0 auto;padding-block:40px 64px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header{border-bottom:2px solid var(--encre);padding-bottom:14px;margin-bottom:28px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline;justify-content:space-between}
header .marque{font:700 26px/1 Georgia,"Times New Roman",serif;letter-spacing:.06em}
header .marque span{color:var(--accent)}
nav{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
a{color:var(--accent2)}
h1{font:700 30px/1.2 Georgia,serif;text-wrap:balance;margin:0 0 12px}
h2{font:700 20px/1.3 Georgia,serif;margin:34px 0 8px;text-wrap:balance}
h3{font-size:16px;margin:22px 0 4px}
p,li{max-width:68ch}
.chapo{font-size:18px;color:var(--doux)}
code,pre{font:14px/1.5 ui-monospace,"SFMono-Regular",Menlo,monospace;background:var(--papier);border:1px solid var(--trait);border-radius:4px}
code{padding:1px 5px}
pre{padding:12px 14px;overflow-x:auto}
.cartouche{background:var(--papier);border:1px solid var(--trait);border-left:4px solid var(--accent);padding:14px 18px;margin:18px 0}
table{border-collapse:collapse;width:100%;font-size:15px}
.tab{overflow-x:auto}
th,td{border-bottom:1px solid var(--trait);padding:8px 10px;text-align:left;vertical-align:top}
th{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--doux)}
form{display:grid;gap:14px;max-width:560px}
label{display:grid;gap:4px;font-weight:600;font-size:15px}
input,textarea{font:inherit;padding:9px 10px;border:1px solid var(--trait);border-radius:4px;background:var(--papier);color:var(--encre)}
button{font:inherit;font-weight:700;padding:10px 18px;border:0;border-radius:4px;background:var(--accent);color:#fff;cursor:pointer;justify-self:start}
.erreur{color:#b3261e;font-weight:600}
.petit{font-size:13px;color:var(--doux)}
footer{margin-top:48px;border-top:1px solid var(--trait);padding-top:14px;font-size:13px;color:var(--doux)}
