:root { --navy:#0F3474; --accent:#2563EB; --ink:#14151A; --t2:#565A66; --t3:#868C99; --line:#E2E4EA; --p2:#F7F8FA; --p3:#EFF1F5;
  --sans:'Inter', system-ui, -apple-system, sans-serif; --mono:'JetBrains Mono', ui-monospace, Menlo, monospace; }
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:var(--sans); color:var(--ink); background:#fff; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:var(--accent); }
.lim { max-width:1080px; margin:0 auto; padding:0 24px; }
.tete { border-bottom:1px solid var(--line); background:#fff; }
.tete .lim { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:64px; flex-wrap:wrap; }
.logo { font-weight:800; letter-spacing:-0.02em; color:var(--navy); text-decoration:none; font-size:1.15rem; }
.tete nav { display:flex; gap:20px; flex-wrap:wrap; }
.tete nav a { color:var(--t2); text-decoration:none; font-size:0.92rem; font-weight:500; }
.tete nav a:hover { color:var(--navy); }
.tete nav a.lng { font-family:var(--mono); font-size:0.78rem; }
.fil { margin:22px 0 8px; font-size:0.82rem; color:var(--t3); display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.fil a { color:var(--t2); text-decoration:none; } .fil a:hover { color:var(--accent); } .fil i { font-style:normal; color:var(--line); }
.fiche { padding:8px 0 60px; }
h1 { font-size:clamp(1.7rem, 3vw, 2.3rem); line-height:1.2; letter-spacing:-0.03em; margin:6px 0 6px; }
h2 { font-size:1.15rem; letter-spacing:-0.015em; margin:36px 0 12px; }
h2 small { font-size:0.8rem; font-weight:400; color:var(--t3); }
h2 a.vers { font-size:0.78rem; font-weight:500; margin-left:10px; }
.sous { color:var(--t2); }
.pills { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 18px; }
.pill { display:inline-flex; align-items:center; gap:7px; font-size:0.84rem; border:1px solid var(--line); border-radius:2px; padding:3px 10px; background:var(--p2); color:var(--t2); text-decoration:none; }
a.pill:hover { border-color:var(--accent); color:var(--accent); }
.pill i { width:9px; height:9px; border-radius:50%; display:inline-block; }
.kv { display:grid; grid-template-columns:max-content 1fr; gap:6px 18px; margin:8px 0 16px; font-size:0.95rem; }
.kv dt { color:var(--t3); }
.ctx, .def { max-width:72ch; color:var(--ink); margin:12px 0; padding:14px 18px; background:var(--p2); border-left:3px solid var(--line); }
.def { font-size:1.05rem; }
a.gl { text-decoration:underline dotted rgba(37,99,235,0.5); text-underline-offset:3px; }
.std { color:var(--t2); font-size:0.88rem; margin-bottom:8px; }
.tw { overflow-x:auto; border:1px solid var(--line); border-radius:3px; }
table { width:100%; border-collapse:collapse; font-size:0.88rem; }
th { text-align:left; font-family:var(--mono); font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--t3); background:var(--p2); padding:9px 12px; border-bottom:1px solid var(--line); font-weight:500; }
td { padding:10px 12px; border-bottom:1px solid var(--p3); vertical-align:top; }
tr:last-child td { border-bottom:0; }
td.num { font-family:var(--mono); font-size:0.84rem; white-space:nowrap; }
td.src { font-size:0.8rem; max-width:300px; overflow-wrap:anywhere; }
.rq { color:var(--t3); font-size:0.8rem; margin-top:4px; line-height:1.45; }
.cta { margin:40px 0 10px; padding:22px 24px; border:1px solid var(--navy); border-radius:3px; background:#fff; }
.cta h2 { margin:0 0 6px; }
.cta p { color:var(--t2); margin-bottom:14px; max-width:60ch; }
.btn { display:inline-block; background:var(--navy); color:#fff; text-decoration:none; padding:11px 20px; border-radius:2px; font-weight:600; font-size:0.92rem; }
.btn:hover { background:#16458F; }
.liens ul { list-style:none; display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:6px 24px; }
.liens li span, .cols li span { color:var(--t3); font-size:0.82rem; }
ul.cols { list-style:none; columns:3 240px; column-gap:28px; }
ul.cols li { break-inside:avoid; padding:3px 0; }
ul.src { padding-left:18px; }
.citer pre { background:var(--p2); border:1px solid var(--line); padding:12px 14px; font-size:0.78rem; overflow-x:auto; font-family:var(--mono); }
.citer p { font-size:0.9rem; color:var(--t2); margin-bottom:10px; overflow-wrap:anywhere; }
.maj, .liens-bas { margin-top:18px; color:var(--t3); font-size:0.84rem; }
.pied { border-top:1px solid var(--line); background:var(--p2); padding:28px 0; font-size:0.84rem; color:var(--t2); }
.pied p { max-width:80ch; margin-bottom:8px; } .pied a { margin-right:16px; }
@media (max-width:640px) { .lim { padding:0 16px; } .tete nav { gap:14px; } }