/* JMP.net — V1, la feuille de LECTURE.
   Ce n'est PAS l'identité définitive : c'est une colonne de lecture calme,
   suffisante pour prouver la chaîne (Phase 1). Le langage visuel du site —
   tokens, typographie, galaxie — vient de l'inventaire de shadoks.css en
   Phase 2. Ce qui est déjà tenu ici, et qui restera : AUCUNE couleur hors de
   :root, AUCUNE taille hors des jetons --t-*, AUCUN px brut d'espacement —
   le lint (moteur/lint_design.py) le fait respecter. */
:root{
  --paper:#f4f1ea; --paper-deep:#ebe6dc; --ink:#1e2320; --ink-soft:#5a6360;
  --accent:#8a5a2b; --line:rgba(30,35,32,.16); --line-strong:rgba(30,35,32,.34);
  --white:#ffffff; --alerte:#7d2b21; --alerte-fond:#fdecea;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px; --s8:128px;
  --t-hero:clamp(2.4rem,5.5vw,4rem);
  --t-thesis:clamp(1.8rem,3.4vw,2.6rem);
  --t-h1:clamp(1.9rem,3.6vw,2.7rem);
  --t-h2:clamp(1.45rem,2.6vw,1.9rem);
  --t-h3:clamp(1.2rem,2vw,1.45rem);
  --t-h4:clamp(1.05rem,1.5vw,1.25rem);
  --t-lead:clamp(1.15rem,1.7vw,1.35rem);
  --t-body:1.0625rem; --t-small:.875rem;
  --t-kicker:clamp(.72rem,1vw,.85rem); --t-kicker-display:.95rem;
  --lh-corps:1.65; --lh-titres:1.12;
  --ls-tight:-.02em; --ls-wide:.14em;
  --max:1120px; --lecture:68ch;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,monospace;
  /* — la nuit de la galaxie (grammaire JustAMoment, tokenisée) — */
  --nuit:#0e2a52; --nuit-fond:#12365e; --nuit-mi:#1b4f8a; --nuit-haut:#3579b0; --nuit-clair:#6db8de;
  --nuit-profonde:#0e2130; --creme:#f4ece0; --creme-72:rgba(244,236,224,.72); --creme-40:rgba(244,236,224,.4);
  --or:#ffd27a; --or-clair:#ffe3a0; --braise:#e8703a; --ombre-nuit:rgba(6,24,46,.5);
  --planete-a:#2f7f92; --planete-b:#d9642f; --planete-c:#8fb3d9;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:var(--t-body);line-height:var(--lh-corps);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration-thickness:from-font;text-underline-offset:.12em}
a:hover{color:var(--ink)}
img{max-width:100%;height:auto;display:block}
.site-shell{min-height:100vh;display:flex;flex-direction:column}
.container{width:min(calc(100% - var(--s5)),var(--max));margin:0 auto}
@media (max-width:640px){.container{width:min(calc(100% - var(--s3)),var(--max))}}

/* — l'en-tête — */
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.site-header .inner{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);padding:var(--s2) 0}
.brand{font-family:var(--sans);font-weight:600;font-size:var(--t-small);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--ink);text-decoration:none}
.site-header nav{display:flex;gap:var(--s3)}
.site-header nav a{font-family:var(--sans);font-size:var(--t-small);color:var(--ink-soft);text-decoration:none}
.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--ink)}

/* — les blocs de texte — */
.kicker{font-family:var(--sans);font-weight:600;font-size:var(--t-kicker);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--ink-soft);margin:0 0 var(--s2)}
h1{font-weight:400;font-size:var(--t-h1);line-height:var(--lh-titres);letter-spacing:var(--ls-tight);margin:0 0 var(--s3);text-wrap:balance}
h2{font-weight:400;font-size:var(--t-h2);line-height:var(--lh-titres);letter-spacing:var(--ls-tight);margin:var(--s5) 0 var(--s2)}
h3{font-weight:400;font-size:var(--t-h3);line-height:var(--lh-titres);margin:var(--s4) 0 var(--s2)}
.lead{font-size:var(--t-lead);line-height:1.4;color:var(--ink-soft);margin:0 0 var(--s4);text-wrap:pretty}
p{margin:0 0 var(--s3)}
blockquote{margin:var(--s4) 0;padding:0 0 0 var(--s3);border-left:2px solid var(--line-strong);font-style:italic;color:var(--ink-soft)}
ul{margin:0 0 var(--s3);padding-left:var(--s3)}
li{margin:0 0 var(--s1)}
code{font-family:var(--mono);font-size:var(--t-small);background:var(--paper-deep);padding:0 var(--s1)}

/* — un billet — */
.page-billet,.page-journal,.page-accueil,.page-generique{flex:1;padding:var(--s6) 0 var(--s7)}
.billet-wrap,.page-wrap,.accueil-wrap,.journal-wrap{max-width:var(--lecture)}
.billet-date{font-family:var(--sans);font-size:var(--t-small);color:var(--ink-soft);margin:0 0 var(--s4)}
.billet-corps p,.billet-corps li{text-wrap:pretty}
.billet-fort{font-weight:600}
.billet-chute{font-style:italic;color:var(--ink-soft)}
.billet-figure{margin:var(--s4) 0}
.billet-figure img{border:1px solid var(--line)}
.billet-figure figcaption,.billet-entete figcaption{font-family:var(--sans);font-size:var(--t-small);color:var(--ink-soft);margin-top:var(--s1)}
.billet-figure.est-manquante{padding:var(--s3);border:1px dashed var(--line-strong);color:var(--ink-soft);font-family:var(--sans);font-size:var(--t-small)}
.billet-embed{padding:var(--s2) var(--s3);border:1px solid var(--line);background:var(--white)}
.billet-embed-note{display:block;font-family:var(--sans);font-size:var(--t-small);color:var(--ink-soft);margin-top:var(--s1)}
.billet-retour{margin-top:var(--s6);font-family:var(--sans);font-size:var(--t-small)}
.billet-brouillon{background:var(--alerte-fond);color:var(--alerte);font-family:var(--sans);font-size:var(--t-small);padding:var(--s2) 0;text-align:center}

/* — le Journal et l'accueil — */
.journal-compte{font-family:var(--sans);font-size:var(--t-small);color:var(--ink-soft)}
.journal-an{font-family:var(--sans);font-weight:600;font-size:var(--t-kicker-display);letter-spacing:var(--ls-wide);color:var(--ink-soft);border-top:1px solid var(--line);padding-top:var(--s2)}
.billet-vignette{display:block;padding:var(--s2) 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.billet-vignette:hover .billet-vtitre{color:var(--accent)}
.billet-meta{display:block;font-family:var(--sans);font-size:var(--t-small);color:var(--ink-soft)}
.billet-vtitre{display:block;font-size:var(--t-h3);line-height:1.25;margin-top:var(--s1)}
.billet-vlead{display:block;color:var(--ink-soft);margin-top:var(--s1)}
.accueil-titre{font-size:var(--t-thesis)}
.accueil-journal{margin-top:var(--s6)}
.journal-tout{font-family:var(--sans);font-size:var(--t-small);margin-top:var(--s3)}

/* — le pied — */
.site-footer{border-top:1px solid var(--line);padding:var(--s4) 0 var(--s5);font-family:var(--sans);font-size:var(--t-small);color:var(--ink-soft)}
.footer-triptych{display:flex;flex-wrap:wrap;gap:var(--s4);margin-bottom:var(--s3)}
.tri-un{display:flex;flex-direction:column}
.tri-nom{color:var(--ink);text-decoration:none;font-weight:600}
.footer-legal{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:baseline}
.footer-links a{margin-right:var(--s2)}
.footer-build{margin-left:auto;font-family:var(--mono);color:var(--ink-soft)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ═══════════════════════════════════════════════════════════════════════════
   LA GALAXIE (Phase 2 · mise en scène 2B) — la grammaire visuelle de
   JustAMoment, sans le Shadok. L'inventaire : docs/INVENTAIRE-SHADOKS-CSS.md.
   2B : la galaxie est le SUJET (cadre serré, pleine largeur) ; les jalons
   perdent leurs boîtes et gagnent une hiérarchie ; les mondes ont leur propre
   langage (disque lumineux, halo, orbite, nom en italique) ; la sélection
   fait RACONTER la scène ; les flèches s'allègent ; trois mises en scène.
   ═══════════════════════════════════════════════════════════════════════════ */
/* — le ciel — */
.galaxie-ciel{position:relative;overflow:hidden;color:var(--creme);
  background:radial-gradient(120% 100% at 32% 24%,var(--nuit-clair) 0%,var(--nuit-haut) 36%,var(--nuit-mi) 66%,var(--nuit) 100%)}
.galaxie-ciel a{color:var(--or)} .galaxie-ciel a:hover{color:var(--or-clair)}
@keyframes gScintille{0%,100%{opacity:.95}50%{opacity:.25}}
.g-etoile{position:absolute;color:var(--creme);font-family:var(--serif);font-size:var(--t-h3);animation:gScintille 3.4s ease-in-out infinite;pointer-events:none}
.g-etoile-1{left:52%;top:9%} .g-etoile-2{left:91%;top:9%;animation-delay:.9s} .g-etoile-3{left:74%;top:18%;animation-delay:1.7s} .g-etoile-4{left:30%;top:54%;animation-delay:.5s;font-size:var(--t-small)} .g-etoile-5{left:62%;top:5%;animation-delay:2.3s;font-size:var(--t-small)}
/* — le bloc éditorial (PROVISOIRE, remplaçable) — */
.g-tete{position:relative;z-index:2;width:min(calc(100% - var(--s5)),var(--max));margin:0 auto;padding:var(--s4) 0 0}
.g-kicker{color:var(--or)}
.g-titre{font-size:var(--t-h2);color:var(--creme);max-width:24ch;margin:0 0 var(--s1)}
.g-lead{font-size:var(--t-body);font-style:italic;color:var(--creme-72);max-width:52ch;margin:0 0 var(--s2)}
/* — la scène : PLEINE LARGEUR, cadrée sur ce qui est dessiné (aspect-ratio généré) — */
.galaxie-scene{position:relative;width:100%;max-height:calc(100vh - 8rem);margin:0 auto}
.g-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;font-family:var(--mono)}
.g-svg a{outline:none}
.g-svg a:focus-visible .g-cible{stroke:var(--or);stroke-width:2.5;stroke-dasharray:4 4}
/* le trait : pointillé qui avance (KEEP dashMv) */
@keyframes gAvance{to{stroke-dashoffset:-54}}
.g-trace{fill:none;stroke:var(--creme);stroke-width:5;stroke-dasharray:13 11;stroke-linecap:round;stroke-linejoin:round;opacity:.92;animation:gAvance 4s linear infinite}
.g-masque{fill:none;stroke:var(--white);stroke-width:22;stroke-linecap:round;stroke-linejoin:round}
.g-futur{fill:none;stroke:var(--creme);stroke-width:3.5;stroke-dasharray:3 13;stroke-linecap:round;opacity:.32}
.g-aujourdhui{fill:var(--or)}
.g-branche{fill:none;stroke:var(--creme);stroke-width:4;stroke-dasharray:13 11;stroke-linecap:round;opacity:.85;animation:gAvance 4s linear infinite}
/* — les jalons : hiérarchie par importance, aucune boîte — */
.g-guide{stroke:var(--creme);stroke-width:1;opacity:.5}
.g-guide--1{opacity:.28} .g-guide--3{opacity:.55}
.g-point{fill:var(--creme)} .g-point--1{opacity:.7} .g-point--monde{fill:var(--or)}
.g-cible{fill:transparent}
.g-jalon text{fill:var(--creme);filter:drop-shadow(0 1px 6px var(--ombre-nuit))}
.g-jalon-nom{font-weight:600} .g-jalon-annees{opacity:.72}
.g-jalon--1 text{opacity:.62} .g-jalon--1 .g-jalon-nom{font-weight:500}
.g-jalon--3 .g-jalon-annees{fill:var(--or);opacity:1}
.g-jalon:hover text,.g-jalon:focus-visible text,.g-jalon.est-choisi text{opacity:1;fill:var(--or-clair)}
.g-jalon:hover .g-cible,.g-jalon.est-choisi .g-cible{fill:rgba(255,210,122,.12)}
/* — les mondes : disque lumineux, halo, orbite, satellite, nom en italique — */
.g-halo-stop{stop-color:var(--planete-a);stop-opacity:.55} .g-halo-fin{stop-color:var(--planete-a);stop-opacity:0}
.g-halo-stop--planete-b{stop-color:var(--planete-b)} .g-halo-stop--planete-c{stop-color:var(--planete-c)}
.g-halo{opacity:.9}
.g-astre{fill:var(--planete-a)} .g-planete--planete-b .g-astre{fill:var(--planete-b)} .g-planete--planete-c .g-astre{fill:var(--planete-c)}
.g-orbite{fill:none;stroke:var(--creme);stroke-width:.8;stroke-dasharray:2 5;opacity:.55}
.g-satellite{fill:var(--creme)}
.g-planete-nom{fill:var(--creme);font-family:var(--serif);font-style:italic;font-weight:400;filter:drop-shadow(0 1px 8px var(--ombre-nuit))}
.g-planete-annees{fill:var(--creme);opacity:.7}
.g-planete:hover .g-orbite,.g-planete:focus-visible .g-orbite,.g-planete.est-lie .g-orbite{stroke:var(--or);opacity:1;stroke-width:1.2}
.g-planete:hover .g-halo,.g-planete.est-lie .g-halo{opacity:1}
.g-planete:hover .g-planete-nom,.g-planete.est-lie .g-planete-nom{fill:var(--or-clair)}
/* — les flèches : la mécanique reste, l'importance baisse ; pleine sous sélection — */
.g-fleche{opacity:.55;transition:opacity .25s ease}
.g-fleche line{stroke:var(--creme);stroke-width:1.5} .g-fleche polygon{fill:var(--creme);stroke:var(--nuit-profonde);stroke-width:.6}
.g-fleche.est-lie{opacity:1}
.g-centre circle{fill:var(--creme);filter:drop-shadow(0 12px 26px var(--ombre-nuit))}
.g-centre text{fill:var(--nuit);font-family:var(--mono)}
/* — la sélection : la scène raconte, le reste s'efface — */
.g-selection .g-jalon:not(.est-choisi),.g-selection .g-point:not(.est-choisi):not(.g-point--monde),.g-selection .g-guide:not(.est-choisi){opacity:.3;transition:opacity .3s ease}
.g-selection .g-planete:not(.est-lie){opacity:.45;transition:opacity .3s ease}
.g-selection .g-fleche:not(.est-lie){opacity:.2}
.g-raconte .g-tete,.g-raconte .g-aide{opacity:.18;transition:opacity .3s ease}
.g-recit{position:absolute;z-index:40;width:280px;max-width:46vw;padding:var(--s3) var(--s3) var(--s2);color:var(--creme);font-family:var(--serif);
  background:radial-gradient(closest-side,rgba(14,33,48,.8),rgba(14,33,48,.55) 62%,rgba(14,33,48,0));border-radius:50% / 44%;
  transform:translate(0,-50%)}
.g-recit[data-cote="droite"]{transform:translate(var(--s4),-50%)}
.g-recit[data-cote="gauche"]{transform:translate(calc(-100% - var(--s4)),-50%)}
.g-recit p{margin:0}
.g-recit-nom{font-family:var(--mono);font-weight:600;font-size:var(--t-small);letter-spacing:var(--ls-wide);color:var(--or)}
.g-recit-periode{font-family:var(--mono);font-size:var(--t-kicker);color:var(--creme-72);margin:0 0 var(--s1)}
.g-recit-texte{font-style:italic;font-size:var(--t-small);line-height:1.5;text-wrap:pretty}
.g-recit-liens{margin-top:var(--s2);font-family:var(--sans);font-size:var(--t-small);display:flex;flex-direction:column;gap:var(--s1)}
.g-recit-monde{font-family:var(--serif);font-style:italic;font-size:var(--t-body)}
.g-recit-fermer{margin-top:var(--s2);border:0;background:none;color:var(--creme-72);font-family:var(--sans);font-size:var(--t-kicker);letter-spacing:var(--ls-wide);text-transform:uppercase;cursor:pointer;padding:0}
.g-recit-fermer:hover{color:var(--or)}
.g-passer{position:absolute;right:var(--s3);bottom:var(--s2);z-index:3;border:1px solid var(--creme-40);background:none;color:var(--creme);font-family:var(--sans);font-size:var(--t-small);padding:var(--s1) var(--s2);cursor:pointer}
.g-aide{position:relative;z-index:2;width:min(calc(100% - var(--s5)),var(--max));margin:0 auto;padding:var(--s2) 0 var(--s3);font-family:var(--serif);font-style:italic;font-size:var(--t-small);color:var(--creme-72)}
/* — les trois mises en scène (Phase 2B, à comparer) — */
/* A — galaxie agrandie, composition proche de l'actuelle : le texte au-dessus, plus discret,
   et la scène contrainte à la hauteur de l'écran (la galaxie ENTIÈRE au-dessus du pli) */
.galaxie--a .galaxie-scene{max-height:calc(100vh - 15rem)}
.galaxie--a .g-tete{padding-top:var(--s3)}
.galaxie--a .g-lead{max-width:44ch}
/* B — galaxie dominante : la scène prend l'écran, le texte n'est qu'une signature en coin */
@media (min-aspect-ratio:5/4){
.galaxie--b .galaxie-ciel{min-height:calc(100vh - 4rem);display:flex;flex-direction:column;justify-content:center}
.galaxie--b .g-tete{position:absolute;top:var(--s4);left:var(--s5);width:auto;max-width:30ch;padding:0}
.galaxie--b .g-titre{font-size:var(--t-h4);max-width:22ch}
.galaxie--b .g-lead{font-size:var(--t-small);max-width:34ch}
.galaxie--b .galaxie-scene{max-height:calc(100vh - 7rem)}
.galaxie--b .g-aide{position:absolute;bottom:0;left:0;right:0;width:auto;padding:0 var(--s5) var(--s2)}
.galaxie--b .g-etoile-4{left:40%;top:40%}
}
/* C — galaxie distribuée dans tout le champ, les mondes plus autonomes : le texte en bas à gauche */
.galaxie--c .g-orbite{stroke-width:1;opacity:.7} .galaxie--c .g-halo{opacity:1}
@media (min-aspect-ratio:5/4){
.galaxie--c .galaxie-ciel{min-height:calc(100vh - 4rem);display:flex;flex-direction:column;justify-content:center}
.galaxie--c .g-tete{position:absolute;bottom:var(--s5);left:var(--s5);width:auto;max-width:30ch;padding:0}
.galaxie--c .g-titre{font-size:var(--t-h4);max-width:22ch}
.galaxie--c .g-lead{font-size:var(--t-small);max-width:34ch}
.galaxie--c .galaxie-scene{max-height:calc(100vh - 6rem)}
.galaxie--c .g-aide{position:absolute;bottom:var(--s2);right:var(--s5);left:auto;width:auto;padding:0;text-align:right}
}
/* en portrait (iPad), B et C reprennent la composition A : le texte au-dessus, la scène contrainte */
@media (max-aspect-ratio:5/4) and (min-width:761px){
.galaxie--b .galaxie-scene,.galaxie--c .galaxie-scene{max-height:calc(100vh - 15rem)}
}
/* la révélation : coupée une fois vue, ou sous reduced-motion — l'état final, tout de suite */
.g-revelee .g-svg *,.g-revelee .g-centre{animation:none!important}
.g-revelee .g-masque{stroke-dashoffset:0!important}
.g-revelee .g-trace,.g-revelee .g-branche{animation:gAvance 4s linear infinite!important}
.g-revelee .g-fleche{opacity:.55}
@media (prefers-reduced-motion:reduce){
  .g-svg *,.g-centre,.g-etoile{animation:none!important}
  .g-masque{stroke-dashoffset:0!important}
  .g-passer{display:none}
  .g-fleche{opacity:.55}
}
/* — la chronologie, en clair (validée) — */
.chrono-section{padding:var(--s6) 0}
.chrono-wrap{max-width:var(--lecture)}
.chrono{list-style:none;margin:0;padding:0}
.chrono-item{position:relative;padding:var(--s3) 0 var(--s3) var(--s5);border-left:2px solid var(--line)}
.chrono-item::before{content:"";position:absolute;left:-7px;top:calc(var(--s3) + .5em);width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--ink-soft)}
.chrono-item[data-importance="1"]::before{width:8px;height:8px;left:-5px;border-width:1.5px}
.chrono-item--monde::before{background:var(--or);border-color:var(--ink)}
.chrono-item--centre::before{background:var(--ink);border-color:var(--ink)}
.chrono-item[data-decennie]::after{content:attr(data-decennie);position:absolute;left:var(--s5);top:0;font-family:var(--mono);font-size:var(--t-kicker);letter-spacing:var(--ls-wide);color:var(--ink-soft)}
.chrono-item.est-cible{background:var(--paper-deep)}
.chrono-annees{display:block;font-family:var(--mono);font-size:var(--t-small);color:var(--ink-soft)}
.chrono-titre{margin:var(--s1) 0 var(--s1);font-family:var(--mono);font-weight:600;font-size:var(--t-h4);letter-spacing:var(--ls-wide)}
.chrono-item[data-importance="1"] .chrono-titre{font-weight:500;color:var(--ink-soft)}
.chrono-lead{margin:0;color:var(--ink-soft);text-wrap:pretty}
.chrono-liens{margin:var(--s2) 0 0;font-family:var(--sans);font-size:var(--t-small);display:flex;flex-direction:column;gap:var(--s1)}
.chrono-monde{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s1) var(--s2) var(--s1) var(--s1);background:var(--nuit);color:var(--creme);text-decoration:none;border-radius:2px;font-family:var(--serif)}
.chrono-monde em{font-style:italic;color:var(--or)}
.chrono-monde:hover{color:var(--or-clair)}
.chrono-monde-glyphe{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 40% 35%,var(--planete-a) 0 45%,transparent 46%),radial-gradient(circle,rgba(244,236,224,.35),transparent 70%)}
.chrono-monde--planete-b .chrono-monde-glyphe{background:radial-gradient(circle at 40% 35%,var(--planete-b) 0 45%,transparent 46%),radial-gradient(circle,rgba(244,236,224,.35),transparent 70%)}
.chrono-monde--planete-c .chrono-monde-glyphe{background:radial-gradient(circle at 40% 35%,var(--planete-c) 0 45%,transparent 46%),radial-gradient(circle,rgba(244,236,224,.35),transparent 70%)}
/* — la projection ÉTROITE : une vraie expérience, pas un repli (validée, densifiée en 2B) — */
@media (max-width:760px){
  .galaxie-scene,.g-aide,.g-recits{display:none}
  .galaxie-ciel{padding:var(--s4) 0 var(--s4)}
  .galaxie--b .galaxie-ciel,.galaxie--c .galaxie-ciel{min-height:0;display:block}
  .galaxie--b .g-tete,.galaxie--c .g-tete{position:static;max-width:none;width:min(calc(100% - var(--s3)),var(--max));padding:0}
  .g-titre{font-size:var(--t-h1);max-width:none} .g-lead{font-size:var(--t-lead);max-width:none}
  .chrono-section{padding:var(--s5) 0 var(--s6)}
  .chrono-item{padding:var(--s3) 0 var(--s4) var(--s4);border-left-color:var(--line-strong)}
  .chrono-item[data-decennie]{margin-top:var(--s4)}
  .chrono-item[data-decennie]::after{left:var(--s4);top:calc(-1 * var(--s3));font-size:var(--t-small);color:var(--ink)}
  .chrono-titre{font-size:var(--t-h3)}
  .chrono-lead{font-size:var(--t-body);color:var(--ink)}
  .chrono-item[data-importance="1"] .chrono-lead{color:var(--ink-soft)}
  .chrono-item--monde{background:var(--nuit);color:var(--creme);border-left-color:var(--or);padding:var(--s3) var(--s3) var(--s3) var(--s4);margin:var(--s2) 0 var(--s2) calc(-1 * var(--s3));border-radius:0 6px 6px 0}
  .chrono-item--monde .chrono-titre{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none;font-size:var(--t-h2);color:var(--creme)}
  .chrono-item--monde .chrono-annees,.chrono-item--monde .chrono-lead{color:var(--creme-72)}
  .chrono-item--monde::before{left:calc(var(--s3) - 7px)}
  .chrono-item--monde .chrono-billet{color:var(--or)}
  .chrono-monde{display:flex;padding:var(--s2);font-size:var(--t-body);background:var(--nuit-profonde)}
}
/* — un monde : le même vocabulaire pour tous — */
.page-monde{flex:1}
.monde-origine{background:radial-gradient(120% 100% at 32% 24%,var(--nuit-haut) 0%,var(--nuit-mi) 50%,var(--nuit) 100%);color:var(--creme);padding:var(--s5) 0 var(--s4);overflow:hidden}
.monde-origine a{color:var(--or)}
.monde-origine-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s5);align-items:center}
.monde-carte{width:100%;height:auto;overflow:visible;font-family:var(--mono)}
.monde-carte .g-trace--carte{opacity:.45;stroke-width:4}
.monde-carte .g-branche--carte{opacity:1;stroke-width:5}
.monde-carte .g-orbite--carte{opacity:.8;stroke-width:1.2;stroke-dasharray:3 6}
.monde-carte .g-fleche{opacity:.8}
.g-trace--carte,.g-branche--carte{animation:gAvance 4s linear infinite}
.monde-nom{font-family:var(--serif);font-style:italic;font-weight:400;font-size:var(--t-hero);color:var(--creme);margin:0 0 var(--s1)}
.monde-periode{font-family:var(--mono);font-size:var(--t-small);letter-spacing:var(--ls-wide);color:var(--or);margin:0 0 var(--s3)}
.monde-naissance,.monde-retour{font-family:var(--sans);font-size:var(--t-small);color:var(--creme-72);margin:0 0 var(--s1)}
.monde-wrap{max-width:var(--lecture);padding:var(--s6) 0 var(--s7)}
.monde-note{font-family:var(--sans);font-size:var(--t-small);color:var(--ink-soft)}
.monde-liste{list-style:none;padding:0} .monde-liste li{padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.monde-liste time{font-family:var(--mono);font-size:var(--t-small);color:var(--ink-soft);margin-right:var(--s2)}
.billet-mondes{font-family:var(--sans);font-size:var(--t-small);color:var(--ink-soft);margin:0 0 var(--s3)}
.billet-monde{display:inline-block;padding:0 var(--s1);background:var(--nuit);color:var(--creme);text-decoration:none;border-radius:2px}
@media (max-width:760px){.monde-origine-inner{grid-template-columns:1fr}.monde-carte{max-width:420px;margin:0 auto}.monde-nom{font-size:var(--t-h1)}}
@media (prefers-reduced-motion:reduce){.g-trace,.g-branche,.g-trace--carte,.g-branche--carte{animation:none!important}}
