:root{
  --yes:#1f8a4c; --no:#d13b2e;
  --surface:#fcfcfb; --ink:#0b0b0b; --ink2:#52514e; --muted:#898781;
  --rule:#e1e0d9; --accent:#2a78d6; --stop:#eb6834;
  --measure:38rem;
}
@media (prefers-color-scheme: dark){
  :root{ --yes:#3fb36b; --no:#ec5a4c; --surface:#1a1a19; --ink:#fff; --ink2:#c3c2b7; --muted:#898781;
         --rule:#2c2c2a; --accent:#3987e5; --stop:#d95926; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--surface); color:var(--ink);
  font:400 17px/1.6 Georgia,"Iowan Old Style","Times New Roman",serif;
}
main,header,footer{max-width:var(--measure); margin:0 auto; padding:0 16px}
header{padding-top:3.5rem}
h1{font-size:1.9rem; line-height:1.2; margin:0 0 .6rem}
h2{font-size:1.15rem; margin:2.6rem 0 .6rem; font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.lede{color:var(--ink2); font-size:1.05rem; margin:0 0 2rem}
.claim{
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.95rem;
  border-left:3px solid var(--accent); padding:.1rem 0 .1rem .9rem; margin:2rem 0; color:var(--ink2);
}
ol.facts{list-style:none; padding:0; margin:0}
ol.facts li{border-top:1px solid var(--rule); padding:1rem 0}
ol.facts b{display:block; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:1.02rem}
ol.facts span{color:var(--ink2); font-size:.95rem}
figure{margin:2.4rem 0}
figure svg,figure img{width:100%; height:auto}
figcaption{color:var(--muted); font-size:.85rem; margin-top:.5rem}
table{border-collapse:collapse; width:100%; font-size:.86rem;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
th,td{border-bottom:1px solid var(--rule); padding:.55rem .5rem; text-align:left; vertical-align:top}
th{color:var(--ink2); font-weight:600}
td.gap{color:var(--no); font-weight:700}
td.yes{color:var(--yes); font-weight:700}
table.odds{font-size:.95rem; margin:.4rem 0 1rem}
table.odds td.n{font-weight:700; white-space:nowrap; width:6.5rem; color:var(--stop); font-size:1.05rem}
.src{color:var(--muted); font-size:.85em}
a.src{color:var(--muted); text-decoration:underline; text-decoration-color:var(--rule)}
a.src:hover{color:var(--accent)}
.subtitle{font-size:1.2rem; color:var(--ink2); margin:0 0 .5rem; font-style:italic}
.asof{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.85rem; color:var(--muted); margin:0 0 1rem; letter-spacing:.02em}
.stake{font-size:1.08rem}
.example{border:1px solid var(--rule); border-left:3px solid var(--stop); border-radius:3px; padding:.4rem 1rem .8rem; margin:1.4rem 0}
.ex-label{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin:.6rem 0 .2rem}
.example dl{display:grid; grid-template-columns:9.5rem 1fr; gap:.35rem .8rem; margin:.8rem 0 0;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.9rem}
.example dt{color:var(--ink2); font-weight:600}
.example dd{margin:0}
@media (max-width:520px){ .example dl{grid-template-columns:1fr} .example dt{margin-top:.4rem} }
tr.ours td{background:color-mix(in srgb, var(--accent) 7%, transparent)}
.links{display:flex; gap:.8rem; flex-wrap:wrap; margin:2.2rem 0}
.links a{
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.95rem;
  text-decoration:none; color:var(--surface); background:var(--ink);
  padding:.6rem 1rem; border-radius:3px;
}
.links a.secondary{background:transparent; color:var(--ink); border:1px solid var(--rule)}
footer{border-top:1px solid var(--rule); margin-top:3rem; padding:1.4rem 16px 4rem;
  color:var(--muted); font-size:.82rem; font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--accent)}
details.tech{
  border:1px solid var(--rule); border-radius:3px; padding:.2rem .9rem; margin:1.4rem 0;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.9rem; color:var(--ink2);
}
details.tech summary{cursor:pointer; padding:.5rem 0; color:var(--ink); font-weight:600}
details.tech[open] summary{border-bottom:1px solid var(--rule); margin-bottom:.4rem}
.todo{background:#fff3cd; color:#5a4500; border:1px dashed #b8901f;
  padding:.5rem .7rem; font-family:system-ui,sans-serif; font-size:.8rem; margin:.6rem 0}
@media (prefers-color-scheme: dark){ .todo{background:#2a2410; color:#e8cf8a} }

figcaption.lead-cap{color:var(--ink2); font-size:.98rem; line-height:1.55; margin-top:.8rem}

/* --- barre de navigation --- */
nav.top{max-width:var(--measure); margin:0 auto; padding:1rem 16px 0; display:flex; align-items:center; gap:1rem; flex-wrap:wrap;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.9rem}
nav.top .brand{font-weight:700; letter-spacing:.02em; color:var(--ink); text-decoration:none; margin-right:auto}
nav.top ul{list-style:none; display:flex; gap:1rem; margin:0; padding:0; flex-wrap:wrap}
nav.top a{color:var(--ink2); text-decoration:none}
nav.top a:hover{color:var(--accent)}
nav.top a[aria-current="page"]{color:var(--ink); font-weight:600}
nav.top .soon{color:var(--muted); cursor:default}
nav.top .soon small{font-size:.72rem; margin-left:.25rem}
nav.top .lang{color:var(--muted)}
nav.top .lang b{color:var(--ink)}
header{padding-top:2rem}

/* --- page À propos --- */
.kicker{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0 0 .4rem}
ul.pillars{list-style:none; padding:0; margin:1.4rem 0}
ul.pillars li{border-top:1px solid var(--rule); padding:.8rem 0; font-size:1rem}
ul.pillars li b{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.founder{border:1px solid var(--rule); border-radius:6px; padding:1.2rem; margin:2rem 0}
.founder-head{display:flex; gap:1rem; align-items:center; margin-bottom:.8rem}
.founder-head img{width:96px; height:111px; object-fit:cover; border-radius:6px}
.founder-head .role{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:700; font-size:1.05rem; margin:0}
.founder-head .name{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:700; font-size:1.15rem; margin:.2rem 0 0}
.founder ul{padding-left:1.1rem; margin:0; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.92rem; line-height:1.55}
.founder li{margin:.45rem 0}

p.more{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.92rem; margin:-.2rem 0 1rem}
p.more a{text-decoration:none}
p.more a:hover{text-decoration:underline}

/* --- vignettes du tableau des probabilités --- */
table.odds td.who{width:48px; padding-right:.2rem}
table.odds td.who img{width:40px; height:40px; border-radius:50%; object-fit:cover; display:block}
table.odds svg.grp{width:40px; height:40px; display:block}
table.odds svg.grp circle:first-child{fill:var(--rule)}
table.odds svg.grp circle:not(:first-child), table.odds svg.grp path{fill:var(--muted)}
p.credits{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.72rem; color:var(--muted); margin:.2rem 0 1.2rem; line-height:1.45}
p.credits a{color:var(--muted)}

/* --- FAQ --- */
main.faq h2{margin-top:2.2rem}
main.faq ul li{margin:.5rem 0}

/* --- fin de la page Méthode : ce que la méthode produit --- */
.result{border:1px solid var(--rule); border-left:3px solid var(--accent); border-radius:3px; padding:.4rem 1rem .6rem; margin:1.2rem 0 0}
.result .links{margin:1rem 0 .8rem}
.cta-soon{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.95rem; color:var(--surface); background:var(--ink);
  opacity:.45; padding:.6rem 1rem; border-radius:3px; cursor:default}
.cta-soon small{font-size:.75rem; margin-left:.35rem}

/* --- page Article : présentation inspirée des articles longs des laboratoires --- */
body.article header.art-head{max-width:46rem; text-align:center; padding-top:3rem}
.art-date{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.85rem; color:var(--muted); margin:0 0 1rem}
body.article h1{font-size:2.4rem; line-height:1.15; margin:0 0 .8rem; text-wrap:balance}
body.article .subtitle{margin:0 auto 1.6rem; max-width:36rem}
.art-actions{display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; margin:0 0 1rem}
.art-actions a,.art-actions span{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.88rem;
  padding:.5rem .95rem; border-radius:999px; text-decoration:none; border:1px solid var(--rule); color:var(--ink); background:transparent}
.art-actions a.primary{background:var(--ink); color:var(--surface); border-color:var(--ink)}
.art-actions span.off{color:var(--muted); cursor:default}
.art-actions span.off small{font-size:.72rem; margin-left:.3rem}
.art-byline{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.85rem; color:var(--muted); margin:.4rem 0 0}
.art-wrap{max-width:58rem; margin:2.5rem auto 0; padding:0 16px; display:grid; grid-template-columns:12rem minmax(0,1fr); gap:3rem; align-items:start}
.art-wrap main{max-width:var(--measure); margin:0; padding:0}
nav.toc{position:sticky; top:1.5rem; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.8rem; line-height:1.4;
  max-height:calc(100vh - 3rem); overflow:auto}
nav.toc p{font-weight:600; color:var(--ink); margin:0 0 .5rem}
nav.toc ol{list-style:none; margin:0 0 .9rem; padding:0}
nav.toc li{margin:.32rem 0}
nav.toc ol ol{padding-left:.8rem; margin:.3rem 0 .5rem}
nav.toc a{color:var(--muted); text-decoration:none}
nav.toc a:hover,nav.toc a.on{color:var(--ink)}
details.toc-mobile{display:none}
@media (max-width:900px){
  .art-wrap{grid-template-columns:1fr; gap:0}
  nav.toc{display:none}
  details.toc-mobile{display:block; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.9rem;
    border:1px solid var(--rule); border-radius:3px; padding:.3rem .9rem; margin:0 0 1.5rem}
  details.toc-mobile summary{cursor:pointer; padding:.4rem 0; font-weight:600}
  body.article h1{font-size:1.9rem}
}
body.article main h2{font-size:1.45rem; margin:3.2rem 0 .8rem; padding-top:1rem; border-top:1px solid var(--rule)}
body.article main h3{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:1.05rem; margin:2rem 0 .5rem}
ol.timeline{list-style:none; padding:0 0 0 1.2rem; margin:1.4rem 0; border-left:2px solid var(--rule)}
ol.timeline li{position:relative; margin:0 0 1.6rem}
ol.timeline li::before{content:""; position:absolute; left:-1.62rem; top:.45rem; width:.7rem; height:.7rem; border-radius:50%;
  background:var(--surface); border:2px solid var(--stop)}
ol.timeline li.held::before{border-color:var(--yes)}
ol.timeline .when{display:block; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.8rem; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:var(--muted)}
body.article ol.timeline h3{margin:.15rem 0 .35rem}
ol.timeline p{margin:.2rem 0}
.tag{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.72rem; font-weight:700; padding:.08rem .45rem; border-radius:3px;
  border:1px solid currentColor; white-space:nowrap}
.tag.held{color:var(--yes)} .tag.lifted{color:var(--no)} .tag.nt{color:var(--muted)}
.callout{border:1px solid var(--rule); border-left:3px solid var(--accent); border-radius:3px; padding:.3rem 1rem .5rem; margin:1.6rem 0;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.92rem; color:var(--ink2)}
.callout b.t{display:block; color:var(--ink); margin:.5rem 0 .2rem}
table.locks{font-size:.82rem}
table.locks td:first-child{font-weight:600; white-space:nowrap}
sup.n a{text-decoration:none; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.72em; padding:0 .1em}
ol.notes{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.82rem; color:var(--ink2); padding-left:1.4rem}
ol.notes li{margin:.35rem 0}
.quote-q{font-size:1.15rem; font-style:italic; border-left:3px solid var(--stop); padding:.2rem 0 .2rem 1rem; margin:1.6rem 0}
.cite-box{font-family:ui-monospace,Menlo,monospace; font-size:.78rem; background:color-mix(in srgb, var(--rule) 45%, transparent);
  padding:.7rem .9rem; border-radius:3px; overflow-wrap:anywhere}
@media print{
  nav.top,nav.toc,details.toc-mobile,.art-actions,.no-print{display:none !important}
  .art-wrap{display:block; max-width:none; margin:0}
  body{font-size:11pt; background:#fff; color:#000}
  body.article header.art-head{padding-top:0}
  body.article main h2{break-after:avoid}
  ol.timeline li,figure,.callout,table{break-inside:avoid}
  a{color:inherit}
}
