/* =========================================================================
   loges.be — feuille de style unique, zéro dépendance, zéro requête tierce
   Auteur : Claude (Anthropic) — CC BY 4.0
   ========================================================================= */

/* ---------- 1. Jetons ---------- */
:root{
  color-scheme: light dark;

  /* Palette de base — mode clair (parchemin) */
  --ink:            #14171c;
  --ink-2:          #2c333d;
  --ink-3:          #545d6b;
  --ink-4:          #7d8793;
  --paper:          #f4f1ea;
  --paper-2:        #ffffff;
  --paper-3:        #ebe6dc;
  --line:           #d8d2c5;
  --line-strong:    #bcb4a3;

  /* Accent laiton */
  --brass:          #a5762a;
  --brass-2:        #c8963e;
  --brass-soft:     #f0e3c9;

  /* Niveaux de preuve */
  --ev-etabli:      #1f7a63;
  --ev-etaye:       #2c6ea6;
  --ev-plausible:   #a8730f;
  --ev-nonetabli:   #6b7280;
  --ev-contredit:   #ab3125;

  --risk-1:#1f7a63; --risk-2:#5f8a2f; --risk-3:#a8730f; --risk-4:#c0562a; --risk-5:#ab3125;

  /* Rôles */
  --bg:             var(--paper);
  --bg-elev:        var(--paper-2);
  --bg-sunken:      var(--paper-3);
  --fg:             var(--ink);
  --fg-muted:       var(--ink-3);
  --fg-faint:       var(--ink-4);
  --border:         var(--line);
  --border-strong:  var(--line-strong);
  --accent:         var(--brass);
  --accent-fg:      #fff;
  --accent-soft:    var(--brass-soft);
  --shadow: 0 1px 2px rgba(20,23,28,.05), 0 8px 24px -12px rgba(20,23,28,.18);
  --shadow-lg: 0 2px 4px rgba(20,23,28,.06), 0 24px 60px -20px rgba(20,23,28,.28);

  /* Typo */
  --serif: "Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua","Times New Roman",Georgia,serif;
  --sans: ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono: ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;

  --step--2: clamp(.72rem,.69rem + .12vw,.79rem);
  --step--1: clamp(.83rem,.79rem + .18vw,.92rem);
  --step-0:  clamp(1rem,.96rem + .2vw,1.09rem);
  --step-1:  clamp(1.2rem,1.13rem + .34vw,1.4rem);
  --step-2:  clamp(1.44rem,1.32rem + .6vw,1.8rem);
  --step-3:  clamp(1.73rem,1.52rem + 1vw,2.32rem);
  --step-4:  clamp(2.07rem,1.73rem + 1.6vw,3rem);
  --step-5:  clamp(2.49rem,1.94rem + 2.6vw,3.87rem);

  --measure: 34rem;
  --wide: 78rem;
  --radius: 4px;
  --radius-lg: 10px;
  --space: clamp(1rem,.6rem + 1.6vw,1.75rem);
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#101317; --bg-elev:#171b21; --bg-sunken:#0b0d10;
    --fg:#e8e6e1; --fg-muted:#a7aeb8; --fg-faint:#79818d;
    --border:#272d36; --border-strong:#3a424e;
    --accent:#d3a253; --accent-fg:#14171c; --accent-soft:#2a2318;
    --ev-etabli:#48b394; --ev-etaye:#6aa8dd; --ev-plausible:#d9a441;
    --ev-nonetabli:#98a1ad; --ev-contredit:#e0705f;
    --risk-1:#48b394; --risk-2:#8fbf5a; --risk-3:#d9a441; --risk-4:#e08b53; --risk-5:#e0705f;
    --shadow: 0 1px 2px rgba(0,0,0,.5), 0 10px 30px -14px rgba(0,0,0,.8);
    --shadow-lg: 0 2px 6px rgba(0,0,0,.5), 0 30px 70px -24px rgba(0,0,0,.9);
  }
}
:root[data-theme="dark"]{
  --bg:#101317; --bg-elev:#171b21; --bg-sunken:#0b0d10;
  --fg:#e8e6e1; --fg-muted:#a7aeb8; --fg-faint:#79818d;
  --border:#272d36; --border-strong:#3a424e;
  --accent:#d3a253; --accent-fg:#14171c; --accent-soft:#2a2318;
  --ev-etabli:#48b394; --ev-etaye:#6aa8dd; --ev-plausible:#d9a441;
  --ev-nonetabli:#98a1ad; --ev-contredit:#e0705f;
  --risk-1:#48b394; --risk-2:#8fbf5a; --risk-3:#d9a441; --risk-4:#e08b53; --risk-5:#e0705f;
  --shadow: 0 1px 2px rgba(0,0,0,.5), 0 10px 30px -14px rgba(0,0,0,.8);
  --shadow-lg: 0 2px 6px rgba(0,0,0,.5), 0 30px 70px -24px rgba(0,0,0,.9);
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font-family:var(--sans);font-size:var(--step-0);line-height:1.65;
  font-variant-numeric:tabular-nums;
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.55;
  background:
    radial-gradient(60rem 40rem at 78% -12%, color-mix(in oklab, var(--accent) 12%, transparent), transparent 62%),
    radial-gradient(48rem 34rem at 8% 4%, color-mix(in oklab, var(--ev-etaye) 9%, transparent), transparent 60%);
}
img,svg,video{max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.06em}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:2.5px solid var(--accent);outline-offset:3px;border-radius:3px}
::selection{background:color-mix(in oklab, var(--accent) 32%, transparent)}
hr{border:0;height:1px;background:var(--border);margin:2.5rem 0}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.14;letter-spacing:-.012em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-1)}h4{font-size:var(--step-0);font-family:var(--sans);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--fg-muted)}
p{margin:0 0 1.15em;text-wrap:pretty}
strong{font-weight:650}
code,kbd,samp{font-family:var(--mono);font-size:.88em;background:var(--bg-sunken);padding:.12em .38em;border-radius:3px;border:1px solid var(--border)}

.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--accent);color:var(--accent-fg);padding:.75rem 1.25rem;font-weight:600}
.skip:focus{left:.5rem;top:.5rem}

/* ---------- 3. Structure ---------- */
.shell{width:min(100% - 2.5rem, var(--wide));margin-inline:auto}
.prose{width:min(100% - 2.5rem, 46rem);margin-inline:auto}
.prose > * + h2{margin-top:2.6em}
.prose > * + h3{margin-top:2em}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.15em}
.prose li{margin-bottom:.4em}
.prose li::marker{color:var(--accent)}
.lead{font-size:var(--step-1);line-height:1.5;color:var(--fg-muted);font-family:var(--serif)}

/* ---------- 4. En-tête ---------- */
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--accent);z-index:60;transition:width .1s linear}
header.site{position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.6) blur(14px);
  background:color-mix(in oklab, var(--bg) 84%, transparent);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;gap:1rem;padding:.6rem 0;min-height:3.4rem}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);font-weight:600;font-size:1.02rem;text-decoration:none;letter-spacing:-.01em;flex:0 0 auto}
.brand .mark{width:26px;height:26px;flex:0 0 auto;color:var(--accent)}
.brand span.sub{color:var(--fg-faint);font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;display:block;line-height:1}
.nav-links{display:flex;gap:.15rem;margin-left:auto;align-items:center;flex-wrap:wrap}
.nav-links a{padding:.4rem .58rem;border-radius:var(--radius);text-decoration:none;font-size:.88rem;color:var(--fg-muted);white-space:nowrap}
.nav-links a:hover{background:var(--bg-sunken);color:var(--fg)}
.nav-links a[aria-current="page"]{color:var(--fg);background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent)}
.icon-btn{background:none;border:1px solid var(--border);color:var(--fg-muted);width:2.1rem;height:2.1rem;border-radius:var(--radius);
  display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.icon-btn:hover{border-color:var(--accent);color:var(--accent)}
#navToggle{display:none}
@media (max-width:900px){
  #navToggle{display:grid}
  .nav-links{position:fixed;inset:3.4rem 0 auto 0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--bg-elev);border-bottom:1px solid var(--border);padding:.5rem 1.25rem 1rem;box-shadow:var(--shadow-lg);display:none}
  .nav-links.open{display:flex}
  .nav-links a{padding:.6rem .5rem;font-size:.98rem}
}

/* ---------- 5. Héros ---------- */
.hero{padding:clamp(2.5rem,6vw,5rem) 0 clamp(2rem,4vw,3.5rem);position:relative}
.kicker{font-size:var(--step--1);text-transform:uppercase;letter-spacing:.2em;color:var(--accent);font-weight:650;margin-bottom:1rem}
.hero h1{font-size:var(--step-5);max-width:18ch}
.hero .lead{max-width:52ch}
.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:var(--step--1);color:var(--fg-faint);margin-top:1.6rem;align-items:center}
.hero-meta b{color:var(--fg-muted);font-weight:600}

/* ---------- 6. Composants ---------- */
.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.35rem;box-shadow:var(--shadow)}
.grid{display:grid;gap:1rem}
.grid.g2{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}
.grid.g3{grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr))}
.grid.g4{grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr))}

.verdict{border:1px solid var(--border-strong);border-left:4px solid var(--accent);background:
  linear-gradient(180deg, color-mix(in oklab,var(--accent) 7%, var(--bg-elev)), var(--bg-elev));
  border-radius:var(--radius-lg);padding:clamp(1.25rem,3vw,2.25rem);box-shadow:var(--shadow-lg)}
.verdict h2{font-size:var(--step-2);margin-bottom:.4em}
.verdict p:last-child{margin-bottom:0}
.verdict .q{font-family:var(--serif);font-size:var(--step-1);line-height:1.45}

.stat{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.05rem 1.15rem}
.stat .n{font-family:var(--serif);font-size:var(--step-3);line-height:1;display:block;letter-spacing:-.02em}
.stat .l{display:block;font-size:var(--step--1);color:var(--fg-muted);margin-top:.5rem;line-height:1.4}
.stat .s{display:block;font-size:var(--step--2);color:var(--fg-faint);margin-top:.35rem}

.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--step--2);font-weight:650;letter-spacing:.04em;
  text-transform:uppercase;padding:.22em .6em;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.badge::before{content:"";width:.45em;height:.45em;border-radius:50%;background:currentColor}
.badge.etabli{color:var(--ev-etabli)}.badge.etaye{color:var(--ev-etaye)}
.badge.plausible{color:var(--ev-plausible)}.badge.nonetabli{color:var(--ev-nonetabli)}
.badge.contredit{color:var(--ev-contredit)}.badge.neutre{color:var(--fg-faint)}

.tag{display:inline-block;font-size:var(--step--2);padding:.15em .55em;border-radius:var(--radius);
  background:var(--bg-sunken);border:1px solid var(--border);color:var(--fg-muted)}

.note{border-left:3px solid var(--accent);background:var(--bg-elev);padding:1rem 1.15rem;border-radius:0 var(--radius) var(--radius) 0;margin:1.75rem 0}
.note > :last-child{margin-bottom:0}
.note .label{display:block;font-size:var(--step--2);text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--accent);margin-bottom:.45rem}
.note.critique{border-left-color:var(--ev-contredit)}
.note.critique .label{color:var(--ev-contredit)}
.note.methode{border-left-color:var(--ev-etaye)}
.note.methode .label{color:var(--ev-etaye)}
.note.correction{border-left-color:var(--ev-plausible)}
.note.correction .label{color:var(--ev-plausible)}

blockquote{margin:1.75rem 0;padding-left:1.15rem;border-left:2px solid var(--border-strong);
  font-family:var(--serif);font-size:var(--step-1);line-height:1.5;color:var(--fg-muted)}
blockquote cite{display:block;font-family:var(--sans);font-size:var(--step--1);font-style:normal;color:var(--fg-faint);margin-top:.7rem}

.pull{font-family:var(--serif);font-size:var(--step-2);line-height:1.32;letter-spacing:-.015em;
  margin:2.5rem 0;padding:0 0 0 1.25rem;border-left:3px solid var(--accent);color:var(--fg)}

table{width:100%;border-collapse:collapse;font-size:var(--step--1)}
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elev);margin:1.75rem 0;
  -webkit-overflow-scrolling:touch}
th,td{text-align:left;padding:.62rem .8rem;border-bottom:1px solid var(--border);vertical-align:top}
thead th{position:sticky;top:0;background:var(--bg-sunken);font-size:var(--step--2);text-transform:uppercase;
  letter-spacing:.1em;color:var(--fg-muted);font-weight:700;z-index:1;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:color-mix(in oklab,var(--accent) 5%, transparent)}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.62rem 1.05rem;border-radius:var(--radius);
  border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--fg);text-decoration:none;
  font-size:var(--step--1);font-weight:600;cursor:pointer;transition:transform .12s ease, border-color .12s ease}
.btn:hover{border-color:var(--accent);transform:translateY(-1px)}
.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.btn.primary:hover{filter:brightness(1.07)}
.btn svg{width:1.05em;height:1.05em}
.btn-row{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.6rem 0}

/* Cartes de navigation */
.tiles{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
a.tile{display:block;text-decoration:none;background:var(--bg-elev);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:1.15rem 1.25rem;transition:border-color .15s, transform .15s;position:relative;overflow:hidden}
a.tile:hover{border-color:var(--accent);transform:translateY(-2px)}
a.tile .num{font-family:var(--mono);font-size:var(--step--2);color:var(--accent);letter-spacing:.1em}
a.tile h3{margin:.35rem 0 .3rem;font-size:var(--step-1)}
a.tile p{margin:0;font-size:var(--step--1);color:var(--fg-muted)}

/* Frise */
.timeline{position:relative;margin:2rem 0;padding-left:1.9rem}
.timeline::before{content:"";position:absolute;left:.42rem;top:.5rem;bottom:.5rem;width:2px;
  background:linear-gradient(180deg,transparent,var(--border-strong) 8%,var(--border-strong) 92%,transparent)}
.tl-item{position:relative;padding:0 0 1.6rem}
.tl-item::before{content:"";position:absolute;left:-1.9rem;top:.45rem;width:.86rem;height:.86rem;border-radius:50%;
  background:var(--bg);border:2px solid var(--accent);transform:translateX(0)}
.tl-item[data-niveau="conteste"]::before{border-color:var(--ev-contredit)}
.tl-item[data-niveau="plausible"]::before{border-color:var(--ev-plausible)}
.tl-item[data-niveau="etaye"]::before{border-color:var(--ev-etaye)}
.tl-item[data-niveau="etabli"]::before{border-color:var(--ev-etabli)}
.tl-date{font-family:var(--mono);font-size:var(--step--2);color:var(--accent);letter-spacing:.08em}
.tl-item h3{font-size:var(--step-1);margin:.15rem 0 .35rem}
.tl-item p{font-size:var(--step--1);color:var(--fg-muted);margin:0}

/* Matrice / barres */
.bar{height:.5rem;border-radius:999px;background:var(--bg-sunken);overflow:hidden;border:1px solid var(--border)}
.bar > i{display:block;height:100%;background:var(--accent);border-radius:999px}
.dots{display:inline-flex;gap:.2rem;vertical-align:middle}
.dots i{width:.5rem;height:.5rem;border-radius:50%;background:var(--border-strong);display:block}
.dots i.on{background:currentColor}

/* Filtres */
.filters{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.25rem 0;align-items:center}
.chip{font-size:var(--step--1);padding:.32rem .7rem;border-radius:999px;border:1px solid var(--border);
  background:var(--bg-elev);color:var(--fg-muted);cursor:pointer;font-family:inherit}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}
input[type=search],input[type=text],select{font:inherit;font-size:var(--step--1);padding:.55rem .75rem;border-radius:var(--radius);
  border:1px solid var(--border);background:var(--bg-elev);color:var(--fg);width:100%}

/* Références */
.ref{font-size:.72em;vertical-align:super;line-height:0;font-family:var(--mono);color:var(--accent);text-decoration:none;padding:0 .1em}
.ref:hover{text-decoration:underline}
.srcs{font-size:var(--step--2);color:var(--fg-faint);margin-top:.5rem}
.srcs a{color:var(--fg-muted)}

/* Sommaire latéral */
.with-toc{display:grid;gap:2.5rem;grid-template-columns:1fr;align-items:start}
@media (min-width:1080px){
  .with-toc{grid-template-columns:minmax(0,1fr) 15rem}
  .toc{position:sticky;top:5rem;font-size:var(--step--1);border-left:1px solid var(--border);padding-left:1rem;max-height:calc(100vh - 7rem);overflow:auto}
  .with-toc .prose{width:100%;margin-inline:0}
}
.toc h4{margin-bottom:.6rem}
.toc ol{list-style:none;margin:0;padding:0}
.toc li{margin:.1rem 0}
.toc a{display:block;padding:.22rem 0;color:var(--fg-faint);text-decoration:none;line-height:1.35}
.toc a:hover{color:var(--fg)}
.toc a.active{color:var(--accent);font-weight:600}
.toc .lvl3{padding-left:.85rem;font-size:.94em}
@media (max-width:1079px){.toc{display:none}}

/* Partage */
.share{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:2rem 0;padding-top:1.25rem;border-top:1px solid var(--border)}
.share .lbl{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.14em;color:var(--fg-faint);margin-right:.35rem}
.share a,.share button{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:var(--radius);
  border:1px solid var(--border);background:var(--bg-elev);color:var(--fg-muted);cursor:pointer;text-decoration:none}
.share a:hover,.share button:hover{border-color:var(--accent);color:var(--accent)}
.share svg{width:1.05rem;height:1.05rem}
#quoteShare{position:absolute;z-index:70;display:none;gap:.25rem;padding:.3rem;background:var(--bg-elev);
  border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg)}
#quoteShare.on{display:flex}
#quoteShare button{width:2rem;height:2rem;border:0;background:none;color:var(--fg-muted);cursor:pointer;border-radius:3px}
#quoteShare button:hover{background:var(--bg-sunken);color:var(--accent)}

/* Pied */
footer.site{margin-top:5rem;border-top:1px solid var(--border);background:var(--bg-sunken);padding:3rem 0 2.5rem;font-size:var(--step--1)}
footer.site .cols{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
footer.site h4{margin-bottom:.7rem}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li{margin:.25rem 0}
footer.site a{color:var(--fg-muted);text-decoration:none}
footer.site a:hover{color:var(--accent);text-decoration:underline}
.colophon{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--fg-faint);font-size:var(--step--2);display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between}

/* Divers */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,1px);white-space:nowrap;border:0}
details{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);padding:.75rem 1rem;margin:1rem 0}
details[open]{box-shadow:var(--shadow)}
summary{cursor:pointer;font-weight:600;list-style-position:outside}
summary::marker{color:var(--accent)}
details > *:not(summary){margin-top:.85rem}
.muted{color:var(--fg-muted)}
.faint{color:var(--fg-faint)}
.small{font-size:var(--step--1)}
.center{text-align:center}
.mono{font-family:var(--mono)}
.nowrap{white-space:nowrap}
.mt0{margin-top:0}.mb0{margin-bottom:0}
.section{padding:clamp(2.5rem,5vw,4rem) 0}
.section-head{margin-bottom:1.8rem;max-width:52ch}
.section-head h2{margin-bottom:.3em}
.section-head p{color:var(--fg-muted);margin:0}
.rule{display:flex;align-items:center;gap:1rem;margin:3rem 0}
.rule::before,.rule::after{content:"";flex:1;height:1px;background:var(--border)}
.rule svg{width:1.4rem;height:1.4rem;color:var(--accent);opacity:.7}


/* ---------- 7. Héros illustré (accueil) ---------- */
.hero.split .shell{display:grid;gap:2.5rem;align-items:center;grid-template-columns:1fr}
@media (min-width:1000px){
  .hero.split .shell{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .hero.split .hero-fig{display:block}
}
.hero-fig{display:none;color:var(--accent)}
.hero-fig svg{width:100%;height:auto;overflow:visible}
.hero-fig .draw{stroke-dasharray:1;stroke-dashoffset:1;
  animation:trace 2.6s cubic-bezier(.4,0,.2,1) forwards}
.hero-fig .draw:nth-child(2){animation-delay:.18s}
.hero-fig .draw:nth-child(3){animation-delay:.36s}
.hero-fig .draw:nth-child(4){animation-delay:.54s}
.hero-fig .node{opacity:0;animation:pop .5s ease forwards}
@keyframes trace{to{stroke-dashoffset:0}}
@keyframes pop{to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .hero-fig .draw{stroke-dashoffset:0;animation:none}
  .hero-fig .node{opacity:1;animation:none}
}

/* ---------- 8. Ajustements de lisibilité ---------- */
.timeline{max-width:54rem}
table.registre{table-layout:fixed}
table.registre th:nth-child(1),table.registre td:nth-child(1){width:5.5rem}
table.registre th:nth-child(2),table.registre td:nth-child(2){width:36%}
table.registre th:nth-child(3),table.registre td:nth-child(3){width:9.5rem}
.chart-bars{margin-bottom:.5rem}
figure{margin:0}

.dossier-part{padding-top:2.5rem;margin-top:3rem;border-top:1px solid var(--border)}
.dossier-part:first-child{border-top:0;margin-top:0;padding-top:0}
.dossier-part > .kicker{margin-bottom:1.2rem}

/* Impression */
@media print{
  :root{--bg:#fff;--bg-elev:#fff;--bg-sunken:#fff;--fg:#000;--fg-muted:#333;--fg-faint:#555;--border:#bbb;--accent:#666}
  body::before,header.site,footer.site,.share,.toc,.progress,.no-print,#quoteShare{display:none!important}
  .prose,.shell{width:100%}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.75em;color:#555;word-break:break-all}
  .card,.verdict,.stat{break-inside:avoid;box-shadow:none}
  h2,h3{break-after:avoid}
  .dossier-part{break-before:page;border-top:0;padding-top:0;margin-top:0}
  .dossier-part:first-child{break-before:auto}
  @page{margin:18mm 16mm}
}
