:root{--bg:#0b0d10;--fg:#e8eaed;--mut:#9aa0a6;--ac:#4f8cff;--card:#14171c;--bd:#262a31}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--ac)}.w{max-width:860px;margin:0 auto;padding:24px}
header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.logo{font-weight:700;text-decoration:none;color:var(--fg)}nav a{margin-left:16px;text-decoration:none;color:var(--mut)}
h1{font-size:2.3rem;line-height:1.2;margin:48px 0 16px}h2{margin-top:40px}.lead{color:var(--mut);font-size:1.15rem}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:20px;margin:16px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
form,.f{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}input,select{flex:1 1 220px;padding:12px;border-radius:8px;border:1px solid var(--bd);background:#0f1216;color:var(--fg)}
button{padding:12px 20px;border:0;border-radius:8px;background:var(--ac);color:#fff;font-weight:600;cursor:pointer}
.msg{margin-top:8px;color:var(--mut)}footer{color:var(--mut);font-size:.9rem;margin:64px 0 24px}
.lang{background:none;border:1px solid var(--bd);color:var(--mut);padding:6px 10px}
[data-l=en]{display:none}body.en [data-l=fr]{display:none}body.en [data-l=en]{display:revert}
article h1{font-size:2rem}article li{margin:6px 0}.note{border-left:3px solid var(--ac);padding-left:12px;color:var(--mut)}
pre{background:#0f1216;border:1px solid var(--bd);border-radius:8px;padding:14px;overflow:auto;font-size:.88rem;line-height:1.45}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
table.t{width:100%;border-collapse:collapse}table.t td,table.t th{padding:6px 8px;border-bottom:1px solid var(--bd);text-align:left}
.pill{display:inline-block;border:1px solid var(--bd);border-radius:999px;padding:2px 10px;font-size:.85rem;color:var(--mut);margin:2px}
