:root{--bg:#f6f8fb;--fg:#15202b;--mut:#5b6b7b;--acc:#0b5cad;--card:#fff;--bd:#dde3ea;--dep:#dfe7f0;--sel:#0b5cad;--hit:#e53935}
@media(prefers-color-scheme:dark){:root{--bg:#0f1720;--fg:#e6edf3;--mut:#9aa8b6;--acc:#5aa9ff;--card:#17212c;--bd:#2a3744;--dep:#253241;--sel:#3d8fe0;--hit:#ff6b6b}}
*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,sans-serif;background:var(--bg);color:var(--fg)}
header,main,footer{max-width:1100px;margin:auto;padding:16px}header h1{margin:.2em 0;color:var(--acc)}a{color:var(--acc)}
table{width:100%;border-collapse:collapse;background:var(--card)}th,td{padding:8px;border-bottom:1px solid var(--bd);text-align:left;vertical-align:top}
.maj{font-weight:700}.badge{background:#c62828;color:#fff;border-radius:4px;padding:1px 6px;font-size:.75em;margin-left:6px}
input[type=search]{width:100%;padding:10px;margin:8px 0 16px;border:1px solid var(--bd);border-radius:6px;background:var(--card);color:var(--fg)}
.article .art-titre{font-size:1.25em;color:var(--acc)}.article p{margin:.6em 0}.fiche h3{font-size:1em;margin:1em 0 .3em}.fiche ul{margin:.2em 0 .8em}.fiche{margin-bottom:16px;background:var(--card);border:1px solid var(--bd);border-radius:8px;padding:16px}.chiffre{font-size:1.15em;font-weight:700;color:var(--acc)}
details.orig{border-left:4px solid #e0a800}details.orig summary{cursor:pointer}a.btn{display:inline-block;background:var(--acc);color:#fff;padding:8px 14px;border-radius:6px;text-decoration:none;font-weight:600}a.btn:hover{opacity:.85}
footer{color:var(--mut);font-size:.85em}nav a{margin-right:14px}
.carte{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px}@media(max-width:760px){.carte{grid-template-columns:1fr}}
svg path{fill:var(--dep);stroke:var(--card);stroke-width:1.5;cursor:pointer}svg path.on{fill:var(--sel)}svg path:hover{opacity:.75}
.regions{display:flex;flex-wrap:wrap;gap:6px}.regions button{border:1px solid var(--bd);background:var(--card);color:var(--fg);border-radius:14px;padding:3px 10px;cursor:pointer;font-size:.85em}
.regions button.on{background:var(--sel);color:#fff}.annees{display:flex;gap:8px;align-items:center;margin:12px 0}.annees input{width:90px;padding:6px}