.rd *{box-sizing:border-box;margin:0;padding:0}
.rd{--cream:#FBF6EE;--page:#FAF9F7;--card:#FFF;--ink:#14162B;--ink2:#5A5F72;--muted:#8A8FA0;
 --line:#EDEAE3;--grid:#F1EEE7;--brand:#F7931A;--s1:#EB6834;--s2:#2A78D6;--s3:#1BAF7A;--s4:#EDA100;
 --good:#006300;--bad:#D03B3B;
 font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--page);
 min-height:100vh;-webkit-font-smoothing:antialiased}
.rd button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
.rd input,.rd select{font:inherit;color:inherit}

.rd-top{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.rd-ti{max-width:1200px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.rd-logo{display:flex;align-items:center;gap:0;font-size:19px;font-weight:800;letter-spacing:-.6px}
.rd-logo svg{width:24px;height:24px;margin-right:9px}.rd-logo em{font-style:normal;color:var(--brand)}
.rd-nav{display:flex;gap:2px;flex-wrap:wrap}
.rd-nav button{padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink2)}
.rd-nav button:hover{background:rgba(20,22,43,.05)}
.rd-nav button[aria-current="page"]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(20,22,43,.09)}
.rd-r{margin-left:auto;display:flex;align-items:center;gap:9px}
.rd-dev{display:flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px}
.rd-dev button{padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--muted)}
.rd-dev button[aria-pressed="true"]{background:var(--ink);color:#fff}
.rd-demo{font-size:11px;font-weight:700;color:#8a5a00;background:#FFF4DC;border:1px solid #F5DFA8;
 padding:5px 11px;border-radius:999px}

.rd-w{max-width:1200px;margin:0 auto;padding:24px 24px 80px}
.rd-intro{margin-bottom:20px}
.rd-intro h1{font-size:26px;font-weight:800;letter-spacing:-1px}
.rd-intro p{font-size:13.5px;color:var(--ink2);margin-top:7px;max-width:660px}
.rd-g{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}
/* Une page qui ne porte qu'un module : une colonne centrée, ni trou à droite ni module
   étiré sur toute la largeur. */
.rd-g.seul{grid-template-columns:minmax(0,640px);justify-content:center}
.rd-c{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px 22px;position:relative}
.rd-c.l{grid-column:1/-1}
.rd-ch{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}
.rd-ch h2 a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.rd-ch h2 a:hover{border-bottom-color:var(--brand);color:var(--brand)}
.rd-ch h2{font-size:14.5px;font-weight:700;letter-spacing:-.2px}
.rd-ch p{font-size:12.5px;color:var(--muted);margin-top:3px}
.rd-act{margin-left:auto;display:flex;gap:4px;flex:0 0 auto}
.rd-ib{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:var(--muted);
 border:1px solid transparent;font-size:12px;font-weight:800}
.rd-ib:hover{background:#F6F2EA;color:var(--ink);border-color:var(--line)}
.rd-ib svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rd-info{display:none;background:#F7F4ED;border-radius:14px;padding:13px 16px;font-size:12.5px;
 color:var(--ink2);margin-bottom:14px}
.rd-info.on{display:block}
.rd-val{font-size:34px;font-weight:800;letter-spacing:-1.4px;line-height:1.05}
.rd-sub{font-size:12.5px;font-weight:600;color:var(--ink2);margin-top:7px}
.up{color:var(--good)}.dn{color:var(--bad)}
.rd-plot{position:relative;width:100%}
/* pan-y et non auto : un glissement horizontal sur la courbe nous revient au lieu d'être
   avalé par le défilement, ce qui rend le graphique lisible au doigt. Le défilement
   vertical de la page, lui, continue de fonctionner par-dessus. */
.rd-plot svg{display:block;width:100%;overflow:visible;touch-action:pan-y}
.rd-tip{position:absolute;pointer-events:none;background:#fff;border:1px solid var(--line);border-radius:14px;
 padding:10px 12px;font-size:12.5px;box-shadow:0 6px 22px rgba(20,22,43,.13);opacity:0;transition:opacity .12s;
 min-width:150px;max-width:270px;z-index:5}
.rd-tip em{display:block;font-size:11.5px;font-style:normal;font-weight:700;line-height:1.3;margin-bottom:3px}
.rd-tip b{display:block;font-size:11px;color:var(--muted);font-weight:700;margin-bottom:5px}
.rd-tip div{display:flex;align-items:center;gap:8px;margin-top:3px;font-weight:600}
.rd-tip i{margin-left:auto;font-style:normal;font-variant-numeric:tabular-nums}
.rd-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px;background:#D8D4CA}
.rd-lg{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;font-weight:600;color:var(--ink2);margin-bottom:10px}
.rd-lg span{display:flex;align-items:center;gap:7px}

.rd-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rd-chips button{padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--ink2);
 border:1px solid var(--line);background:#fff}
.rd-chips button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.rd-chips input{width:80px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;
 font-weight:600;text-align:center}
.rd-lab{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;
 margin-right:4px}
.rd-fld{padding:9px 12px;border:1px solid var(--line);border-radius:12px;font-size:13.5px;font-weight:600;background:#fff}
.rd-rows{display:flex;flex-direction:column}
.rd-row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--grid);font-size:13.5px}
.rd-row:last-child{border-bottom:none}
.rd-row .nm{font-weight:600}
.rd-row .rt{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.rd-row .rt small{display:block;font-size:11px;color:var(--muted);font-weight:600}
.rd-meth{font-size:11.5px;color:var(--muted);margin-top:12px}
.rd-meth a{color:var(--s2);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.rd .rd-bar{grid-column:1/-1;display:flex;justify-content:center;margin-top:-6px}
.rd .rd-add{grid-column:1/-1;border:1.5px dashed #DCD7CC;border-radius:22px;padding:22px;text-align:center;
 font-size:13.5px;font-weight:700;color:var(--ink2);background:transparent}
.rd .rd-add:hover{background:#FDFBF7;border-color:var(--brand);color:var(--ink)}
.rd .rd-cp{border:1.5px solid var(--ink);border-radius:999px;padding:8px 15px;font-size:12.5px;font-weight:700}

.rd-mod{position:fixed;inset:0;background:rgba(20,22,43,.45);z-index:90;display:none;
 align-items:center;justify-content:center;padding:20px}
.rd-mod.on{display:flex}
.rd-box{background:#fff;border-radius:24px;padding:26px;max-width:600px;width:100%;max-height:82vh;overflow:auto}
.rd-box h3{font-size:18px;font-weight:800;letter-spacing:-.5px}
.rd-box>p{font-size:13px;color:var(--muted);margin:6px 0 18px}
.rd-cat{font-size:11.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;
 margin:16px 0 8px}
.rd-pick{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);
 border-radius:14px;margin-bottom:7px;cursor:pointer;font-size:13.5px;font-weight:600}
.rd-pick:hover{background:#FBF9F4}
.rd-pick[aria-pressed="true"]{border-color:var(--ink);background:#FBF9F4}
.rd-pick i{width:18px;height:18px;border-radius:6px;border:1.5px solid #D3CFC5;flex:0 0 18px;display:grid;
 place-items:center;font-style:normal;font-size:12px;color:#fff}
.rd-pick[aria-pressed="true"] i{background:var(--ink);border-color:var(--ink)}
.rd-pick span{color:var(--muted);font-weight:500;font-size:12px;margin-left:auto;text-align:right}
.rd-close{display:block;margin:18px auto 0;background:var(--ink);color:#fff;border-radius:999px;
 padding:11px 24px;font-size:13.5px;font-weight:700}
.rd-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:26px;background:var(--ink);color:#fff;
 padding:13px 20px;border-radius:14px;font-size:13.5px;font-weight:600;opacity:0;pointer-events:none;
 transition:.25s;z-index:100}
.rd-toast.on{opacity:1;transform:translateX(-50%) translateY(-6px)}
@media(max-width:860px){
 .rd-ti{padding:11px 14px;gap:11px}.rd-w{padding:18px 13px 60px}
 .rd-g{grid-template-columns:1fr}.rd-c{padding:17px 15px;border-radius:18px}
 .rd-intro h1{font-size:21px}.rd-val{font-size:27px}
 .rd-r{width:100%;margin-left:0}.rd-nav button{padding:7px 11px;font-size:12.5px}
 /* Sur un écran étroit l'infobulle mangeait la moitié du graphique : elle porte le même
    contenu, en plus resserré, pour qu'on voie encore la courbe qu'on est en train de lire. */
 .rd-tip{padding:7px 9px;font-size:11.5px;min-width:0;max-width:min(228px,72%);border-radius:11px}
 .rd-tip em{font-size:10.5px;line-height:1.25}
 .rd-tip b{font-size:10px;margin-bottom:3px}
 .rd-tip div{gap:6px;margin-top:2px}
 .rd-dot{width:7px;height:7px;flex:0 0 7px}
}

/* ---- liens de navigation (pages réelles) ---- */
.rd-nav a{padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink2);
  text-decoration:none;display:inline-block}
.rd-nav a:hover{background:rgba(20,22,43,.05)}
.rd-nav a[aria-current="page"]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(20,22,43,.09)}
.rd-logo{text-decoration:none;color:inherit}
.rd .rd-w{display:block}
/* Liste des grandes dates : chaque ligne est un interrupteur. Cochée, son repère est
   sur la courbe ; décochée, la ligne s'efface visuellement sans disparaître. */
.rd-ev .rd-evl{display:flex;width:100%;text-align:left;align-items:flex-start;gap:18px;
  padding:13px 12px 13px 10px;border-radius:12px;border-bottom:1px solid var(--line);
  transition:background .15s,opacity .15s}
.rd-ev .rd-evl:last-child{border-bottom:0}
.rd-ev .rd-evl:hover:not([disabled]){background:#FBFAF7}
.rd-ev .rd-evl[aria-pressed="false"]{opacity:.42}
.rd-ev .rd-evl[disabled]{cursor:default;opacity:.62}
.rd-ev .nm{font-weight:600;line-height:1.45;flex:1;min-width:0}
.rd-ev .nm b{font-weight:800;margin-right:6px;color:var(--ink2)}
.rd-ev .nm small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:3px;max-width:62ch}
.rd-ev .nm i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;
  border-radius:7px;font-style:normal;font-size:11px;font-weight:800;margin-right:9px;vertical-align:2px;
  border:1.5px solid #D8D2C6;background:#fff;color:var(--muted);transition:background .15s,color .15s,border-color .15s}
.rd-ev .rd-evl.on .nm i{background:var(--brand);border-color:var(--brand);color:#fff}
.rd-ev .rt{white-space:nowrap;text-align:right;font-weight:700}
.rd-vide{font-size:13px;color:var(--muted);padding:18px 0}
@media(max-width:600px){.rd-ev .rd-evl{flex-direction:column;gap:5px}.rd-ev .rt{text-align:left}}

/* Maillage interne rendu au build : ces liens doivent exister dans le HTML servi,
   pas seulement après exécution du JavaScript. */
.rd-liens{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:12.5px}
.rd-liens span{color:var(--muted);font-weight:600}
.rd-liens a{padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;
  color:var(--ink2);text-decoration:none;font-weight:600;transition:border-color .15s,color .15s}
.rd-liens a:hover{border-color:var(--brand);color:var(--brand)}
.rd-pied{max-width:1200px;margin:0 auto;padding:26px 24px 50px;border-top:1px solid var(--line);
  font-size:12.5px;color:var(--muted)}
.rd-pied p+p{margin-top:8px}
.rd-pied a{color:var(--s2);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:860px){.rd-nav a{padding:7px 11px;font-size:12.5px}/* Liste des grandes dates : chaque ligne est un interrupteur. Cochée, son repère est
   sur la courbe ; décochée, la ligne s'efface visuellement sans disparaître. */
.rd-ev .rd-evl{display:flex;width:100%;text-align:left;align-items:flex-start;gap:18px;
  padding:13px 12px 13px 10px;border-radius:12px;border-bottom:1px solid var(--line);
  transition:background .15s,opacity .15s}
.rd-ev .rd-evl:last-child{border-bottom:0}
.rd-ev .rd-evl:hover:not([disabled]){background:#FBFAF7}
.rd-ev .rd-evl[aria-pressed="false"]{opacity:.42}
.rd-ev .rd-evl[disabled]{cursor:default;opacity:.62}
.rd-ev .nm{font-weight:600;line-height:1.45;flex:1;min-width:0}
.rd-ev .nm b{font-weight:800;margin-right:6px;color:var(--ink2)}
.rd-ev .nm small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:3px;max-width:62ch}
.rd-ev .nm i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;
  border-radius:7px;font-style:normal;font-size:11px;font-weight:800;margin-right:9px;vertical-align:2px;
  border:1.5px solid #D8D2C6;background:#fff;color:var(--muted);transition:background .15s,color .15s,border-color .15s}
.rd-ev .rd-evl.on .nm i{background:var(--brand);border-color:var(--brand);color:#fff}
.rd-ev .rt{white-space:nowrap;text-align:right;font-weight:700}
.rd-vide{font-size:13px;color:var(--muted);padding:18px 0}
@media(max-width:600px){.rd-ev .rd-evl{flex-direction:column;gap:5px}.rd-ev .rt{text-align:left}}

/* Maillage interne rendu au build : ces liens doivent exister dans le HTML servi,
   pas seulement après exécution du JavaScript. */
.rd-liens{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:12.5px}
.rd-liens span{color:var(--muted);font-weight:600}
.rd-liens a{padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;
  color:var(--ink2);text-decoration:none;font-weight:600;transition:border-color .15s,color .15s}
.rd-liens a:hover{border-color:var(--brand);color:var(--brand)}
.rd-pied{padding:20px 14px 40px}}

/* ---------- ligne d'état et panneau de réglages ---------- */
.rd-bas{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
/* `.rd .rd-etat` et non `.rd-etat` : la règle générale `.rd button{font:inherit}` a une
   spécificité plus forte et écrasait la taille, la ligne d'état sortait donc à 16 px au
   lieu de 11,5. C'est pour ça qu'elle ne ressemblait pas à la source juste à côté. */
.rd .rd-etat{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 10px;border:1px solid var(--line);
  border-radius:999px;background:#FCFBF8;cursor:pointer;font:inherit;font-size:11.5px;font-weight:400;
  letter-spacing:0;color:var(--muted);text-align:left;transition:border-color .15s,background .15s}
.rd .rd-etat:hover{border-color:var(--brand);background:#FEF9F2}
.rd .rd-etat.on{border-color:var(--brand);background:#FEF6EC;color:var(--ink2)}
.rd .rd-etat svg{width:12.5px;height:12.5px;fill:none;stroke:currentColor;stroke-width:2;flex:0 0 auto;opacity:.8}
.rd-src{font-size:11.5px;color:var(--muted);text-align:right}
.rd-pan{display:none;border:1px solid var(--line);border-radius:18px;background:#FBFAF7;
  padding:6px 18px 14px;margin-top:12px}
.rd-pan.on{display:block}
.rd-rg{display:grid;grid-template-columns:104px 1fr;gap:14px;align-items:start;
  padding:13px 0;border-bottom:1px solid #EFEBE2}
.rd-rg:last-of-type{border-bottom:0}
.rd-rg-l{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;
  letter-spacing:.07em;padding-top:8px}
.rd-rg-c{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.rd-rg-n{flex-basis:100%;font-size:11.5px;color:var(--muted)}
.rd-seg{display:inline-flex;background:#F1EDE4;border-radius:999px;padding:3px;gap:2px}
.rd-seg button{padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:600;
  color:var(--ink2);white-space:nowrap;transition:background .15s,color .15s}
.rd-seg button:hover{color:var(--ink)}
.rd-seg button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(20,22,43,.14)}
.rd-tog{display:inline-flex;align-items:center;gap:7px;padding:6px 14px 6px 11px;border:1px solid var(--line);
  border-radius:999px;background:#fff;font-size:12.5px;font-weight:600;color:var(--ink2);
  transition:border-color .15s,color .15s}
.rd-tog::before{content:"";width:14px;height:14px;border-radius:5px;border:1.5px solid #D8D2C6;
  background:#fff;flex:0 0 auto;transition:background .15s,border-color .15s}
.rd-tog[aria-pressed="true"]{border-color:var(--brand);color:var(--ink)}
.rd-tog[aria-pressed="true"]::before{background:var(--brand);border-color:var(--brand);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-size:11px;background-position:center;background-repeat:no-repeat}
.rd-perso{display:inline-flex;align-items:center;gap:8px}
.rd-perso input{width:74px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;
  background:#fff;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink)}
.rd-perso input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:transparent}
.rd-perso.on input{border-color:var(--brand)}
.rd-pan .rd-chips:last-of-type{margin-bottom:0}
.rd-pied-pan{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:14px;padding-top:13px;border-top:1px solid #EFEBE2}
.rd-pied-pan > span{font-size:11.5px;color:var(--muted)}
.rd .rd-std{font-size:11.5px;font-weight:600;color:var(--muted);padding:6px 14px;
  border:1px solid var(--line);border-radius:999px;background:#fff;transition:border-color .15s,color .15s}
.rd .rd-std:hover{border-color:var(--brand);color:var(--brand)}
.rd-std:hover{border-color:var(--ink);color:var(--ink)}
@media(max-width:700px){
 .rd-rg{grid-template-columns:1fr;gap:8px}.rd-rg-l{padding-top:0}
 .rd-pan{padding:4px 13px 12px}.rd-bas{flex-direction:column;align-items:flex-start;gap:9px}
  .rd .rd-etat{white-space:normal}.rd-src{text-align:left}}

.rd-c .bd + .rd-lg{margin-top:14px}
