:root{--bg:#eef1f2;--surface:#fff;--surface-2:#e6eaec;--ink:#10151b;--ink-soft:#57626d;--ink-faint:#6f7a85;
--accent:#0f7b72;--accent-soft:#dcf3ef;--accent-ink:#0b5850;--line:#d7dbde;--line-strong:#bfc5ca;
--vide:#0f7b72;--vide-soft:#dcf3ef;--naissant:#ad840b;--naissant-soft:#faf2db;--croissance:#562cba;
--croissance-soft:#ece6fa;--sature:#c4362d;--sature-soft:#fae1de;}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0a0d11;--surface:#10141a;--surface-2:#141920;
--ink:#d8dee6;--ink-soft:#8790a0;--ink-faint:#6d7685;--accent:#4fd1c5;--accent-soft:#122b29;--accent-ink:#7eeae0;
--line:#1d232b;--line-strong:#2b323c;--vide:#4fd1c5;--vide-soft:#122b29;--naissant:#f5ca47;--naissant-soft:#372e10;
--croissance:#9268f3;--croissance-soft:#21143d;--sature:#e2413a;--sature-soft:#2e1614;}}
:root[data-theme="dark"]{--bg:#0a0d11;--surface:#10141a;--surface-2:#141920;--ink:#d8dee6;--ink-soft:#8790a0;
--ink-faint:#6d7685;--accent:#4fd1c5;--accent-soft:#122b29;--accent-ink:#7eeae0;--line:#1d232b;--line-strong:#2b323c;
--vide:#4fd1c5;--vide-soft:#122b29;--naissant:#f5ca47;--naissant-soft:#372e10;--croissance:#9268f3;
--croissance-soft:#21143d;--sature:#e2413a;--sature-soft:#2e1614;}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:16px;line-height:1.55}
h1,h2,.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
h1{font-size:clamp(24px,3.6vw,34px);font-weight:600;margin:6px 0 10px;text-wrap:balance;letter-spacing:-.01em}
h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:30px 0 10px}
a{color:var(--accent-ink)}
.wrap{max-width:880px;margin:0 auto;padding:24px 20px 48px}
header{border-bottom:1px solid var(--line);padding-bottom:18px;position:relative}
.crumbs{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.crumbs a{color:var(--accent);text-decoration:none}
.theme-toggle{position:absolute;top:0;right:0;font:inherit;font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);padding:6px 12px;border-radius:2px;cursor:pointer}
.lede{color:var(--ink-soft);margin:0}
.badge{font-family:'IBM Plex Mono',monospace;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:2px;border:1px solid currentColor;white-space:nowrap}
.badge.vide{background:var(--vide-soft);color:var(--accent-ink)}
.badge.naissant{background:var(--naissant-soft);color:var(--naissant)}
.badge.en_croissance{background:var(--croissance-soft);color:var(--croissance)}
.badge.sature{background:var(--sature-soft);color:var(--sature)}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.muted{color:var(--ink-soft);font-style:italic}
.card{background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:12px 15px}
.list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.list .card b a{font-weight:600;text-decoration:none}
.list .card b a:hover{text-decoration:underline}
.list .card p{margin:4px 0 0;font-size:15px;color:var(--ink-soft)}
.row{display:flex;align-items:baseline;gap:10px}
.row .dot{transform:translateY(1px)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.cols ul{margin:0;padding:0;list-style:none;font-size:15px}
.cols li{display:flex;gap:8px;align-items:center;padding:3px 0}
.cols li a{text-decoration:none}
.cols li a:hover{text-decoration:underline}
footer{margin-top:40px;border-top:1px solid var(--line);padding-top:14px;font-size:12.5px;color:var(--ink-faint)}
@media (max-width:640px){.wrap{padding-inline:16px}.cols{grid-template-columns:1fr}.theme-toggle{position:static;margin-bottom:12px}}
