/* L'habit de sunbench : le style de la maquette v2.1 du studio
   (site/maquette/index.html, 2026-10-07), recopié tel quel entre les deux
   filets ci-dessous, sauf l'écran par ancre (.page) et l'étiquette
   « maquette ». Les jetons et leurs noms : identite.md. Quand le studio
   rend une nouvelle maquette, on remplace ce bloc, pas le code ; ce que le
   générateur ajoute vit sous le second filet. */

/* ===== la maquette v2.1 ===== */
:root{
  --fond:#FAF6EC; --surface:#FFFDF7; --bande:#F1EADA;
  --encre:#22201B; --muet:#655D4E; --filet:#E4DBC6; --grille:rgba(120,100,60,.075);
  --soleil:#E3A21A;          /* le souci : décor, traits, jamais du texte fin */
  --soleil-grand:#B07A06;   /* le soleil en grand texte : 3,4:1 */
  --lueur:rgba(240,176,50,.17);
  --allume:#FBE7B4;          /* une halte allumée au passage */
  --histoire:#8A5A00; --question:#245E86; --manip:#3B6B35; --objet:#A3461F;
  --t-histoire:rgba(227,162,26,.13); --t-question:rgba(36,94,134,.08);
  --t-manip:rgba(59,107,53,.09); --t-objet:rgba(163,70,31,.08);
  --solide:#A9CF9C; --probable:#DCEABD; --fragile:#F1D38A;
  --ombre:0 1px 0 rgba(60,45,20,.04),0 8px 24px -14px rgba(60,45,20,.28);
  --serif:"Newsreader","Iowan Old Style",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
}
@media (prefers-color-scheme: dark){
  :root{
    --fond:#15140F; --surface:#1E1C17; --bande:#24211A;
    --encre:#EDE6D6; --muet:#A59C8A; --filet:#36322A; --grille:rgba(240,220,170,.045);
    --soleil:#F2B33D; --soleil-grand:#F2B33D; --lueur:rgba(242,170,50,.085); --allume:#4A3812;
    --histoire:#EBB146; --question:#86BCE0; --manip:#93C585; --objet:#E8936A;
    --t-histoire:rgba(235,177,70,.10); --t-question:rgba(134,188,224,.08);
    --t-manip:rgba(147,197,133,.08); --t-objet:rgba(232,147,106,.08);
    --solide:#3E6E38; --probable:#343E26; --fragile:#6A4C12;
    --ombre:0 1px 0 rgba(0,0,0,.2),0 10px 26px -16px rgba(0,0,0,.7);
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; color:var(--encre); background:var(--fond);
  background-image:radial-gradient(56rem 34rem at 100% -6rem,var(--lueur),transparent 65%);
  background-repeat:no-repeat;
  font:400 18px/1.6 var(--serif); font-optical-sizing:auto;
  overflow-x:hidden;
}
@media (max-width:600px){ body{font-size:17px} }
a{color:inherit;text-decoration-color:var(--soleil);text-decoration-thickness:.09em;text-underline-offset:.18em}
a:hover{text-decoration-thickness:.16em}
:focus-visible{outline:2px solid var(--question);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mono,.etiq,.cle,.kicker{font-family:var(--mono)}
.cle{font-size:.74rem;color:var(--muet);letter-spacing:.01em}
.cle a{color:var(--muet)}

/* ---------- l'en-tête ---------- */
header.site{max-width:70rem;margin:0 auto;padding:1.1rem 16px .4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
@media (min-width:700px){ header.site{padding:1.4rem 2rem .6rem} }
.logo{display:flex;align-items:center;gap:.55rem;text-decoration:none;font-size:1.32rem;letter-spacing:-.01em;font-weight:500}
.logo svg{width:34px;height:24px;color:var(--soleil);flex:none}
.logo span{color:var(--encre)} .logo i{font-weight:400;color:var(--muet)}
header.site nav{display:flex;gap:1.15rem;font-size:.95rem}
header.site nav a{text-decoration:none;color:var(--muet);padding:.2rem 0}
header.site nav a:hover,header.site nav a[aria-current]{color:var(--encre);text-decoration:underline;text-decoration-color:var(--soleil)}
@media (max-width:420px){ header.site nav .large{display:none} header.site nav{gap:.9rem} }

main{max-width:70rem;margin:0 auto;padding:0 16px 3rem}
@media (min-width:700px){ main{padding:0 2rem 4rem} }
@keyframes paraitre{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

h1,h2,h3,h4{font-weight:400;margin:0;text-wrap:balance}
h1{font-size:clamp(2.15rem,6.2vw,3.7rem);line-height:1.04;letter-spacing:-.022em}
h1:focus{outline:none}
.sous{color:var(--muet);font-size:1.12rem;line-height:1.5;max-width:36rem;margin:.9rem 0 0}
.retour{display:inline-block;margin:1.4rem 0 1.6rem;font:.78rem var(--mono);color:var(--muet);text-decoration:none}
.retour:hover{color:var(--encre)}
.surtitre{font:500 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muet);margin:0 0 .9rem;display:flex;align-items:center;gap:.6rem}
.surtitre::after{content:"";flex:1;height:1px;background:var(--filet)}

/* les bouchons : visibles comme tels, sans tuer la lecture */
.bouchon{position:relative;border:1px dashed var(--filet);border-radius:10px;padding:1.5rem 1.1rem 1rem;color:var(--muet);font-style:italic;font-size:.98rem;background:repeating-linear-gradient(135deg,transparent 0 7px,var(--grille) 7px 8px)}
.bouchon::before{content:"à écrire";position:absolute;top:.45rem;left:1.1rem;font:500 .62rem var(--mono);letter-spacing:.1em;text-transform:uppercase;font-style:normal;color:var(--muet);opacity:.8}
.bouchon.avenir::before{content:"à venir"}

/* ---------- étiquettes de rubrique ---------- */
.etiq{display:inline-flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--muet)}
.etiq svg{width:17px;height:17px;flex:none}
.histoire{--k:var(--histoire);--kt:var(--t-histoire)}
.question{--k:var(--question);--kt:var(--t-question)}
.manip{--k:var(--manip);--kt:var(--t-manip)}
.objet{--k:var(--objet);--kt:var(--t-objet)}
.etiq.histoire,.etiq.question,.etiq.manip,.etiq.objet{color:var(--k)}

/* ---------- les pictogrammes ---------- */
.ico{fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.ico .pt{stroke-width:3.2}

/* ---------- l'accueil ---------- */
.une{position:relative;padding:2.2rem 0 1rem;display:grid;gap:1rem}
.une h1{max-width:13.5em}
.une h1 em{font-style:italic;color:var(--muet);font-weight:300}
.une .sous{font-size:1.2rem}
.lever{width:200px;height:auto;color:var(--encre);justify-self:start;margin-bottom:-.4rem}
@media (min-width:860px){
  .une{grid-template-columns:1fr 300px;align-items:end;padding:3.5rem 0 1.5rem}
  .lever{grid-column:2;grid-row:1/span 2;width:300px;justify-self:end;margin:0}
  .une .texte{grid-row:1/span 2}
}
.lever .rayon{stroke:var(--soleil)} .lever .astre{stroke:var(--soleil);fill:var(--lueur)}

.section-tete{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:3.2rem 0 1.2rem;flex-wrap:wrap}
.section-tete h2{font-size:clamp(1.55rem,3.6vw,2.1rem);letter-spacing:-.012em;line-height:1.15}
.section-tete h2 em{font-weight:300;color:var(--muet)}
.section-tete p{margin:0;color:var(--muet);font-size:.98rem;max-width:30rem}

.chemins{display:grid;gap:1.4rem}
.chemin{display:block;text-decoration:none;color:inherit;border:1px solid var(--filet);border-radius:16px;padding:1.3rem 1.1rem 1.1rem;
  background-color:var(--surface);
  background-image:linear-gradient(var(--grille) 1px,transparent 1px),linear-gradient(90deg,var(--grille) 1px,transparent 1px);
  background-size:22px 22px;background-position:-1px -1px;
  box-shadow:var(--ombre);transition:transform .25s ease,border-color .25s ease}
@media (min-width:700px){ .chemin{padding:1.6rem 2rem 1.4rem} }
.chemin:hover,.chemin:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--soleil) 55%,var(--filet))}
.chemin-tete{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;align-items:baseline}
.chemin-tete .num{font:500 .72rem var(--mono);color:var(--muet);letter-spacing:.08em;grid-row:1/span 2;align-self:start;padding-top:.55rem}
.chemin h3{font-size:clamp(1.45rem,3.4vw,1.95rem);letter-spacing:-.015em;line-height:1.15}
.chemin h3 em{font-weight:300}
.chemin p{margin:.35rem 0 0;color:var(--muet);font-size:1rem;max-width:40rem}
.chemin .aller{font:.74rem var(--mono);color:var(--muet);margin-top:.6rem;display:inline-block}
.chemin:hover .aller{color:var(--encre)}
.sentier{margin-top:1.2rem;min-height:120px}
.sentier svg{display:block;width:100%;height:auto;overflow:visible}
.sentier .trace{fill:none;stroke:var(--filet);stroke-width:5;stroke-linecap:round}
.sentier .pas{fill:none;stroke:var(--soleil);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1.5 9}
.chemin:hover .pas,.chemin:focus-visible .pas{animation:marche 1.1s linear infinite}
@keyframes marche{to{stroke-dashoffset:-21}}
.sentier .rond{fill:var(--surface);stroke:var(--encre);stroke-width:1.3;transition:fill .3s ease}
.sentier .rond2{fill:none;stroke:var(--soleil);stroke-width:1.4;stroke-dasharray:2 3.5}
.chemin:hover .rond,.chemin:focus-visible .rond{fill:var(--allume);transition-delay:calc(var(--i) * 90ms)}
.sentier .ico{color:var(--encre)}
.sentier text{font:400 11.5px var(--mono);fill:var(--muet);letter-spacing:.02em}
@media (prefers-reduced-motion:reduce){ .chemin:hover .pas{animation:none} .page.vue{animation:none} .chemin{transition:none} }

/* les entrées */
.tri{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.1rem}
.tri button{font:500 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--k,var(--muet));background:transparent;border:1px solid var(--filet);border-radius:99px;padding:.42rem .8rem .42rem .65rem;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem}
.tri button::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--k,var(--muet))}
.tri button[aria-pressed="true"]{background:var(--kt,var(--bande));border-color:var(--k,var(--muet))}
.entrees{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr));gap:1rem}
.entree{position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--filet);border-radius:14px;padding:1.05rem 1.1rem 1rem;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.entree:hover,.entree:focus-visible{border-color:var(--k,var(--muet));transform:translateY(-2px);box-shadow:var(--ombre)}
.entree h4{font-size:1.28rem;line-height:1.22;letter-spacing:-.01em;margin:.7rem 0 .45rem}
.entree p{margin:0;color:var(--muet);font-size:.98rem;line-height:1.5}
.entree .cle{margin-top:auto;padding-top:.9rem}
.entree.cachee{display:none}
.entree.vedette{background-image:linear-gradient(160deg,var(--kt),transparent 60%)}
.entree .croquis{display:none}
@media (min-width:860px){
  #grille-entrees{grid-template-columns:repeat(3,1fr)}
  .entree.vedette{grid-column:span 2;grid-row:span 2;padding:1.5rem 1.6rem 1.3rem}
  .entree.vedette h4{font-size:2.1rem;line-height:1.1;max-width:24rem;margin-top:1rem}
  .entree.vedette p{font-size:1.08rem;max-width:30rem}
  .entree.vedette .croquis{display:block;width:100%;max-width:26rem;margin:auto 0 0;color:var(--muet)}
  .filtre .entree.vedette{grid-column:auto;grid-row:auto}
  .filtre .entree.vedette .croquis{display:none}
}

.pied{margin-top:4rem;padding-top:1.3rem;border-top:1px solid var(--filet);display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;align-items:center;font:.78rem var(--mono);color:var(--muet)}
.pied a{color:var(--muet)}
.pied svg{width:26px;height:18px;color:var(--soleil)}

/* ---------- un chemin ---------- */
.parcours{list-style:none;margin:2.4rem 0 0;padding:0;counter-reset:halte}
.parcours>li{position:relative;display:grid;grid-template-columns:60px 1fr;gap:0 1.1rem;padding-bottom:2.4rem}
@media (min-width:700px){ .parcours>li{grid-template-columns:76px 1fr;gap:0 1.8rem} }
.parcours>li::before{content:"";position:absolute;left:29px;top:56px;bottom:4px;width:3px;
  background:radial-gradient(circle,var(--soleil) 1.3px,transparent 1.7px) center top/3px 10px repeat-y}
@media (min-width:700px){ .parcours>li::before{left:37px;top:72px} }
.parcours>li:last-child::before{display:none}
.borne{width:60px;height:60px;border-radius:50%;border:1.3px solid var(--encre);background:var(--surface);display:grid;place-items:center;position:relative}
@media (min-width:700px){ .borne{width:76px;height:76px} }
.borne svg{width:62%;height:62%;color:var(--encre)}
.borne .n{position:absolute;top:-4px;right:-6px;font:500 .66rem var(--mono);background:var(--fond);color:var(--muet);padding:0 .25rem;border-radius:4px}
.parcours h2{font-size:clamp(1.35rem,3vw,1.75rem);line-height:1.2;letter-spacing:-.01em;margin:.55rem 0 1rem}
@media (min-width:700px){ .parcours h2{margin-top:1rem} }
.parcours .entrees{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))}
.parcours .entree h4{font-size:1.12rem;margin-top:.55rem}
.halte-vide .borne{border-style:dashed;border-color:var(--muet);background:transparent}
.halte-vide .borne svg{color:var(--muet);opacity:.55}
.halte-vide h2{color:var(--muet)}
.avenir-ligne{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;color:var(--muet);font-style:italic;margin:-.4rem 0 0}
.avenir-ligne .cle{font-style:normal}
.arrivee .borne{box-shadow:0 0 0 5px var(--fond),0 0 0 6.5px var(--soleil)}

/* ---------- une entrée : la revue ---------- */
.revue{max-width:44rem;margin:0 auto}
.revue-tete{padding:.6rem 0 1.4rem}
.revue-tete .meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1.4rem}
.revue h1{font-size:clamp(2.2rem,7vw,4.1rem);line-height:1.02;letter-spacing:-.028em;font-weight:400}
.revue h1 em{display:block;font-weight:300;font-size:.78em;letter-spacing:-.018em;margin-top:.15em;color:var(--muet)}
.chapeau{font-size:clamp(1.18rem,2.6vw,1.38rem);line-height:1.45;font-style:italic;color:var(--muet);margin:1.3rem 0 0;max-width:34rem}
.filet-soleil{width:4.5rem;height:3px;border:0;background:var(--k);border-radius:2px;margin:2rem 0}
.prose{max-width:36rem;font-size:1.13rem;line-height:1.68;hyphens:auto}
@media (max-width:600px){ .prose{font-size:1.06rem} }
.prose p{margin:0 0 1.15em}
.prose.lettrine>p:first-of-type::first-letter{float:left;font-size:4.35em;line-height:.82;font-weight:400;margin:.07em .09em 0 -.02em;color:var(--k)}
.prose .gabarit{font:500 .62rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muet);display:block;margin:0 0 .9rem;opacity:.8}
.exergue{margin:2rem 0;padding:0 0 0 1.2rem;border-left:3px solid var(--k);font-size:1.45rem;line-height:1.3;font-style:italic;font-weight:300;letter-spacing:-.01em}
@media (min-width:1000px){ .revue .exergue{margin-right:-8rem} }
figure.planche{margin:2.2rem 0;max-width:44rem}
figure.planche .cadre{aspect-ratio:16/8;border:1px dashed var(--filet);border-radius:12px;display:grid;place-items:center;background-color:var(--surface);
  background-image:linear-gradient(var(--grille) 1px,transparent 1px),linear-gradient(90deg,var(--grille) 1px,transparent 1px);background-size:22px 22px}
figure.planche svg{width:min(80%,30rem);color:var(--muet)}
figure.planche figcaption{font-size:.92rem;color:var(--muet);margin-top:.6rem;line-height:1.45}
figure.planche figcaption b{font:500 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-right:.5rem}
.fin{display:block;width:30px;height:20px;color:var(--soleil);margin:1.6rem 0 0}
.encadre{max-width:36rem;margin:2.6rem 0 0;background:var(--kt);border-radius:14px;padding:1.2rem 1.3rem;border:1px solid color-mix(in srgb,var(--k) 25%,transparent)}
.encadre h3{font:500 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--k);margin:0 0 .5rem}
.encadre p{margin:0;font-size:1.02rem}
.ensuite{margin-top:3.6rem;padding-top:2rem;border-top:1px solid var(--filet)}
.ensuite h2{font-size:1.7rem;font-style:italic;font-weight:300;margin-bottom:1.1rem}
.revue .ensuite{max-width:none}
.entree.vers-ras{--k:var(--encre)}
.entree.vers-ras .etiq{color:var(--muet)}

/* la manip */
.fiche-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 0}
.fiche-meta span{font:.72rem var(--mono);border:1px solid var(--filet);border-radius:99px;padding:.25rem .7rem;color:var(--muet);background:var(--surface)}
.manip-corps{max-width:40rem}
.manip-corps h2{font-size:1.65rem;letter-spacing:-.01em;margin:2.6rem 0 .9rem;display:flex;align-items:baseline;gap:.7rem}
.manip-corps h2 small{font:500 .66rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--k)}
.materiel{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.3rem 1.4rem}
.materiel li{display:flex;align-items:center;gap:.65rem;padding:.45rem 0;border-bottom:1px dotted var(--filet)}
.materiel li::before{content:"";width:13px;height:13px;border:1.4px solid var(--k);border-radius:3px;flex:none;transform:rotate(-3deg)}
.note-tri{font-size:.88rem;color:var(--muet);font-style:italic;margin:.7rem 0 0}
.prudence{display:flex;gap:.8rem;align-items:flex-start;border:1px solid var(--filet);border-left:3px solid var(--objet);border-radius:10px;padding:.8rem 1rem;margin:0 0 1.4rem;font-size:.98rem;color:var(--muet);font-style:italic;background:var(--surface)}
.prudence b{font:500 .66rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--objet);font-style:normal;white-space:nowrap;padding-top:.2rem}
.etapes{list-style:none;margin:0;padding:0;counter-reset:pas}
.etapes li{counter-increment:pas;display:grid;grid-template-columns:2.4rem 1fr;gap:.2rem 1rem;padding:1rem 0;border-top:1px solid var(--filet)}
.etapes li::before{content:counter(pas);grid-row:1/span 2;font-size:2.3rem;line-height:1;font-weight:300;color:var(--k);font-variant-numeric:oldstyle-nums}
.etapes p{margin:0}
.afficheur{justify-self:start;display:inline-flex;align-items:center;gap:.6rem;margin-top:.55rem;font:500 .95rem var(--mono);background:#2B3326;color:#C9E2A8;border-radius:6px;padding:.3rem .7rem;box-shadow:inset 0 0 0 2px rgba(0,0,0,.25)}
.afficheur small{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#93AD78}
.photos{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.9rem 0}
.photos div{aspect-ratio:4/3;border:1px dashed color-mix(in srgb,var(--k) 40%,transparent);border-radius:10px;display:grid;place-items:center;font:.7rem var(--mono);color:var(--muet);text-align:center;padding:.4rem}

/* ---------- le carrefour du RAS ---------- */
.carrefour-tete{padding:.4rem 0 2rem;border-bottom:1px solid var(--filet);display:grid;gap:.4rem 2rem}
@media (min-width:860px){ .carrefour-tete{grid-template-columns:auto 1fr;align-items:end} }
.carrefour-tete .grand{font-size:clamp(4.6rem,15vw,8.5rem);line-height:.8;font-weight:300;letter-spacing:-.05em;color:var(--soleil-grand);font-variant-numeric:lining-nums}
.carrefour-tete h1{font-size:clamp(2rem,5vw,3.1rem)}
.carrefour-tete .sous{margin-top:.6rem}
.cursus-lieu{font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muet);margin:.5rem 0 0}
.cursus{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin:3rem 0 0;padding-top:1.4rem;border-top:1px solid var(--filet)}
.cursus a{display:grid;gap:.2rem;max-width:22rem;text-decoration:none}
.cursus a small{font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muet)}
.cursus a b{font:500 .74rem var(--mono);color:var(--muet);margin-right:.4rem}
.cursus a:hover small{color:var(--soleil)}
.cursus .suivant{margin-left:auto;text-align:right}
.lieu{display:grid;gap:0 3rem;margin-top:1rem}
@media (min-width:960px){ .lieu{grid-template-columns:12.5rem minmax(0,1fr)} }
.plan{font:.76rem var(--mono);color:var(--muet);margin:1.2rem 0 0}
.plan p{margin:0 0 .5rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:.64rem}
.plan ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .5rem}
.plan a{text-decoration:none;color:var(--muet);display:block;border:1px solid var(--filet);border-radius:99px;padding:.2rem .6rem}
@media (min-width:960px){
  .plan{position:sticky;top:1.4rem;align-self:start;margin-top:2.6rem}
  .plan ol{display:block;border-left:1px solid var(--filet)}
  .plan a{border:0;border-radius:0;padding:.32rem 0 .32rem .9rem;margin-left:-1px;border-left:2px solid transparent}
  .plan a.ici{color:var(--encre);border-left-color:var(--soleil)}
}
.plan a:hover{color:var(--encre)}
.lieu-corps{min-width:0}
.salle{padding:2.6rem 0 0;scroll-margin-top:1rem}
.salle>h2{font-size:clamp(1.55rem,3.4vw,2rem);letter-spacing:-.014em;margin:0 0 1rem;display:flex;align-items:center;gap:.8rem}
.salle>h2::after{content:"";flex:1;height:1px;background:var(--filet)}
.salle.bande{background:var(--bande);border-radius:18px;padding:1.6rem 1.1rem 1.4rem;margin-top:2.6rem}
@media (min-width:700px){ .salle.bande{padding:2rem 2rem 1.8rem} }
.salle.bande>h2::after{background:color-mix(in srgb,var(--muet) 25%,transparent)}
.voir{position:relative;border-radius:12px;overflow:hidden;background:var(--surface);border:1px solid var(--filet)}
.voir .onglets{display:flex;gap:0;border-bottom:1px solid var(--filet);font:.72rem var(--mono);overflow:hidden}
.voir .onglets span{padding:.6rem .9rem;color:var(--muet);border-right:1px solid var(--filet);white-space:nowrap}
.voir .onglets span:first-child{color:var(--encre);background:var(--bande)}
.voir svg{display:block;width:100%;height:auto}
.voir .fil{fill:none;stroke:var(--filet);stroke-width:2}
.voir .ion{stroke:var(--muet);stroke-width:1.2;opacity:.5}
.voir .porteur{fill:var(--soleil)}
.voir .derive{animation:derive 6s linear infinite}
@keyframes derive{to{transform:translateX(-48px)}}
@media (prefers-reduced-motion:reduce){ .voir .derive{animation:none} }
@media (max-width:600px){ .voir svg{height:130px} .voir .onglets span{padding:.55rem .6rem} }
.voir .legende-w{font:.72rem var(--mono);color:var(--muet);padding:.6rem .9rem;border-top:1px solid var(--filet);font-style:italic}
.exos{display:grid;gap:.5rem}
.exos div{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--filet);border-radius:10px;padding:.65rem .9rem;background:var(--surface);font-size:.98rem}
.exos .points{display:flex;gap:4px}
.exos .points i{width:9px;height:9px;border-radius:50%;border:1.3px solid var(--muet)}
.fausses{list-style:none;margin:0;padding:0}
.fausses li{display:grid;grid-template-columns:1.6rem 1fr;gap:.2rem .6rem;padding:.9rem 0;border-bottom:1px solid var(--filet)}
.fausses li:first-child{padding-top:.2rem}
.fausses svg{width:22px;height:22px;color:var(--objet);margin-top:.15rem}
.fausses q{quotes:none;font-style:italic;font-size:1.12rem}
.fausses .vrai{grid-column:2;color:var(--muet);font-size:.98rem}
.mot{display:grid;gap:.3rem}
.mot .vedette-mot{font-size:clamp(2.6rem,9vw,4.4rem);line-height:1;letter-spacing:-.03em;font-weight:400}
.mot .miroir{font-style:italic;font-weight:300;color:var(--muet);font-size:.55em;letter-spacing:-.01em;margin-left:.4rem}
.mot .classe{font:.72rem var(--mono);color:var(--muet);letter-spacing:.06em}
.mot p.def{font-size:1.18rem;line-height:1.5;max-width:34rem;margin:.6rem 0 0}
.livre{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.livre svg{width:44px;height:52px;color:var(--muet)}
.livre p{margin:0}
.passerelles{margin:0;display:grid;gap:0}
.passerelles div{display:grid;grid-template-columns:7.5rem 1fr;gap:.2rem 1rem;padding:.75rem 0;border-bottom:1px solid var(--filet)}
@media (max-width:480px){ .passerelles div{grid-template-columns:1fr} }
.passerelles dt{font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muet);padding-top:.3rem}
.passerelles dd{margin:0}
.debloque{display:flex;flex-wrap:wrap;gap:.6rem}
.debloque a{display:inline-flex;align-items:baseline;gap:.5rem;text-decoration:none;border:1px solid var(--filet);background:var(--surface);border-radius:99px;padding:.45rem 1rem .45rem .85rem;font-size:1rem}
.debloque a b{font:500 .74rem var(--mono);color:var(--muet)}
.debloque a::after{content:"→";color:var(--soleil);margin-left:.15rem}
.debloque a:hover{border-color:var(--soleil)}
.cibles{margin-top:3.6rem;border:1px solid var(--filet);border-radius:14px;background:var(--surface)}
.cibles summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;font-size:1.12rem}
.cibles summary::-webkit-details-marker{display:none}
.cibles summary .compte{display:flex;align-items:center;gap:.7rem;font:.72rem var(--mono);color:var(--muet)}
.cibles summary .compte i{display:flex;gap:3px}
.cibles summary .compte i b{width:8px;height:8px;border-radius:50%;border:1.2px solid var(--muet)}
.cibles summary .compte i b.oui{background:var(--manip);border-color:var(--manip)}
.cibles summary::after{content:"+";font:300 1.4rem var(--serif);color:var(--muet);margin-left:.4rem}
.cibles[open] summary::after{content:"−"}
.cibles ol{margin:0;padding:0 1.1rem 1rem 2.6rem;border-top:1px solid var(--filet)}
.cibles li{padding:.5rem 0;color:var(--encre)}
.cibles li::marker{font:.75rem var(--mono);color:var(--muet)}
.cibles label{cursor:pointer;display:flex;gap:.6rem;align-items:baseline}
.cibles input{accent-color:var(--manip);transform:translateY(1px)}
.cibles li.diag label{font-style:italic}

/* ---------- où j'en suis ---------- */
.suivi-tete{padding:.4rem 0 1.6rem;border-bottom:1px solid var(--filet)}
.domaine{padding:1.5rem 0;border-bottom:1px solid var(--filet)}
.domaine-tete{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.9rem}
.domaine h2{font-size:1.3rem;letter-spacing:-.01em}
.domaine h2 span{font:500 .78rem var(--mono);color:var(--muet);margin-right:.5rem}
.situer{font:.7rem var(--mono);color:var(--muet);background:transparent;border:1px solid var(--filet);border-radius:99px;padding:.3rem .75rem;cursor:pointer;white-space:nowrap}
.situer:hover{color:var(--encre);border-color:var(--muet)}
.pastilles{display:flex;flex-wrap:wrap;gap:.45rem}
.ras{display:inline-grid;place-items:center;min-width:3.3rem;height:2.2rem;padding:0 .5rem;border-radius:8px;font:500 .8rem var(--mono);color:var(--encre);text-decoration:none;border:1px solid transparent}
.ras.solide{background:var(--solide)}
.ras.probable{background:var(--probable)}
.ras.fragile{background:var(--fragile)}
.ras.inconnu{background:transparent;border:1px dashed var(--muet);color:var(--muet)}
a.ras{outline-offset:2px;box-shadow:0 0 0 0 var(--soleil);transition:box-shadow .2s}
a.ras:hover{box-shadow:0 0 0 2px var(--soleil)}
.legende{display:flex;flex-wrap:wrap;gap:.6rem 1.3rem;margin-top:1.6rem;font:.74rem var(--mono);color:var(--muet)}
.legende span{display:inline-flex;align-items:center;gap:.45rem}
.legende i{width:16px;height:12px;border-radius:3px}

/* ---------- le programme : la vue complète, formelle ---------- */
.programme{max-width:54rem}
.sommaire{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin:1.5rem 0 0;padding:0;list-style:none;font:.72rem var(--mono)}
.sommaire a{display:inline-block;text-decoration:none;color:var(--muet);border:1px solid var(--filet);border-radius:99px;padding:.24rem .7rem .24rem .6rem}
.sommaire a:hover{color:var(--encre);border-color:var(--muet)}
.sommaire a b{font-weight:500;margin-right:.45rem;color:var(--encre)}
.prog-domaine{padding:2.6rem 0 .4rem;scroll-margin-top:1rem}
.prog-domaine>h2{font-size:clamp(1.45rem,3.2vw,1.85rem);letter-spacing:-.012em;line-height:1.2;display:flex;align-items:baseline;gap:.9rem;padding-bottom:.65rem;border-bottom:2px solid var(--encre)}
.prog-domaine>h2 span{font:500 .78rem var(--mono);color:var(--muet);font-variant-numeric:lining-nums}
.prog-ras{list-style:none;margin:0;padding:0}
.prog-ras>li{display:grid;grid-template-columns:3.6rem minmax(0,1fr);gap:.1rem 1rem;padding:1.15rem 0 1.2rem;border-bottom:1px solid var(--filet)}
.prog-ras .code{font:500 .86rem var(--mono);color:var(--muet);padding-top:.3rem;font-variant-numeric:lining-nums}
.prog-ras h3{font-size:1.22rem;line-height:1.25;letter-spacing:-.01em}
.prog-ras h3 .vers{font:.7rem var(--mono);color:var(--muet);text-decoration:none;margin-left:.5rem;white-space:nowrap}
.prog-ras h3 .vers:hover{color:var(--encre)}
.prog-ras .resume{margin:.3rem 0 0;color:var(--muet);font-size:.98rem;line-height:1.5}
.programme .cibles{grid-column:2;margin:.55rem 0 0;border:0;border-radius:0;background:transparent}
.programme .cibles summary{padding:.4rem 0;font-size:.95rem;justify-content:flex-start;gap:.9rem}
.programme .cibles summary::after{margin-left:auto}
.programme .cibles ol{border-top:1px dotted var(--filet);padding:.35rem 0 .3rem 1.6rem}
.programme .cibles li{font-size:.98rem;padding:.4rem 0}
@media (max-width:600px){ .prog-ras>li{grid-template-columns:1fr;gap:.15rem} .programme .cibles{grid-column:1} .prog-ras .code{padding-top:0} }

/* ===== fin de la maquette ===== */

/* ===== ce que le générateur ajoute (le mécanicien, 2026-10-07) =====
   Ce que la maquette n'a pas eu à dessiner : la prose des leçons reçues,
   les figures, widgets et circuits, une salle vide, les cases datées, la
   déclaration, la part cochée d'une pastille, « Où commencer », le
   placement. Mêmes jetons ; à reprendre par le studio s'il le veut. */
.rien{color:var(--muet);font-style:italic;margin:0}
.salle.vide{padding-top:1.8rem}
.salle.vide>h2{font-size:clamp(1.25rem,2.6vw,1.5rem);color:var(--muet)}
.salle.bande.vide{padding:1.1rem 1.1rem 1rem}
.plan a.vide{opacity:.6}
.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.15em}
.prose li{margin:.4rem 0}
.prose h2,.prose h3{font-size:1.4rem;letter-spacing:-.01em;margin:2rem 0 .8rem}
.prose blockquote{margin:1.6rem 0;padding:0 0 0 1.2rem;border-left:3px solid var(--k,var(--soleil));font-style:italic}
.prose code,.prose .m{font-family:var(--mono);font-size:.9em}
.lieu-corps figure,.revue figure{margin:1.4rem 0}
.lieu-corps figure img,.revue figure img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:10px;border:1px solid var(--filet);background:var(--surface)}
.lieu-corps figcaption,.revue figure figcaption{font-size:.92rem;color:var(--muet);margin-top:.6rem;line-height:1.45}
figure.planche img{width:100%}
.voir-corps{display:grid;gap:1rem}
.voir-corps>p{margin:0}
.widget{background:var(--surface);border:1px solid var(--filet);border-radius:12px;padding:.9rem 1rem}
.widget label{display:block;margin:.3rem 0;font-size:.95rem}
.widget input[type=range]{width:55%;vertical-align:middle;accent-color:var(--soleil)}
.widget output,.widget .res{font-family:var(--mono);font-size:.9rem}.widget .res{margin:.5rem 0 0;font-weight:500}
.widget .lead{color:var(--muet);font-size:.92rem;margin:0 0 .5rem}.widget select{font:inherit}
.sim iframe{width:100%;height:420px;border:1px solid var(--filet);border-radius:12px;background:#fff}
.sim .note{color:var(--muet);font:.74rem var(--mono);margin:.4rem 0 0}
.livre .prose{max-width:none}
.encadre ul.sert{margin:.6rem 0 0;padding-left:1.1rem;font-size:.98rem}
.encadre ul.sert li{margin:.3rem 0}
.ensuite .prose{margin-bottom:1.4rem}
.cibles label>span{flex:1}
.cibles .date{display:block;font:.7rem var(--mono);color:var(--muet);font-style:normal}
.avenir-cibles{color:var(--muet);font-style:italic;margin:.4rem 0 0}
/* le carrefour qui oriente (pupitre #18) : la tête et « la leçon », le programme du RAS en premier,
   puis les exercices, Lire, les entrées ; la leçon longue a sa page, lecon/<RAS>.html */
.vers-lecon{margin:.9rem 0 0;font:.78rem var(--mono)}
.vers-lecon a{color:var(--encre);text-decoration:none;border-bottom:1px solid var(--soleil);padding-bottom:.1rem}
.vers-lecon a:hover{color:var(--soleil-grand)}
.carrefour>.cibles{margin-top:2rem}
.carrefour-tete .surtitre{margin-bottom:.4rem}
.vers-carrefour{margin-top:3rem}
/* les items d'un RAS, à la place des cibles : une liste de lecture */
.cibles .items>li{padding:1.1rem 0;border-bottom:1px solid var(--filet)}
.cibles .items>li:last-child{border-bottom:0}
.cibles .items .item-titre{font-weight:500}
.cibles .items .preuve{font:.68rem var(--mono);letter-spacing:.06em;color:var(--muet);white-space:nowrap}
.cibles .items .prose{font-size:1.02rem;line-height:1.6;margin:.45rem 0 0}
.cibles .items .prose p{margin:0 0 .6em}
.cibles .items .suppose{font-size:.92rem;color:var(--muet);margin:.2rem 0 0}
.cibles .items .suppose small{font-size:inherit;font-style:italic}
.cibles .grille{margin:.5rem 0 0}
/* l'inscrit (pupitre, /moi/etat) : la teinte de l'état de chaque item, et la boîte « mon devoir » */
.cibles .items>li[data-item-etat]{border-left:4px solid transparent;padding-left:.8rem}
.cibles .items>li[data-item-etat="prouvé"]{border-left-color:var(--solide)}
.cibles .items>li[data-item-etat="commencé"],.cibles .items>li[data-item-etat="solide"]{border-left-color:var(--probable)}
.cibles .items>li[data-item-etat="à revoir"]{border-left-color:var(--fragile)}
.mon-devoir{margin:.7rem 0 0;border:1px solid var(--filet);border-radius:10px;padding:.7rem .9rem;background:var(--surface)}
.mon-devoir label{display:block;font:500 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muet);margin:0 0 .4rem}
.mon-devoir textarea{width:100%;font:inherit;font-size:1rem;border:1px solid var(--filet);border-radius:8px;padding:.5rem;background:var(--fond);color:var(--encre)}
.mon-devoir p{display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap;margin:.5rem 0 0;font:.78rem var(--mono)}
/* mes envois, la section #devoir de la page d'un item (pupitre #20), remplie par etat.js */
.mes-envois h3{font-size:1.05rem;margin:1.2rem 0 .5rem}
.mes-envois .devoir,.mes-envois .corrige{border:1px solid var(--filet);border-radius:10px;padding:.7rem .9rem;background:var(--surface);margin:0 0 .6rem}
.mes-envois .devoir>:last-child,.mes-envois .corrige>:last-child{margin-bottom:0}
.mes-envois .verdict-ligne{font:.85rem var(--mono)}
.mes-envois .verdict{display:inline-block;padding:.1rem .55rem;border-radius:8px;font-weight:500}
.mes-envois .verdict.prouve{background:var(--solide)}
.mes-envois .verdict.encore{background:var(--fragile)}
.mes-envois .attente{font-style:italic;color:var(--muet)}
.mes-envois details{margin:.6rem 0}
.mes-envois details>summary{cursor:pointer;font:.8rem var(--mono);color:var(--muet)}
.cibles .grille summary{display:inline-flex;justify-content:flex-start;gap:.5rem;padding:.2rem 0;font:.72rem var(--mono);color:var(--muet)}
.cibles .grille summary::after{content:"+";font:300 1rem var(--serif);margin-left:.2rem}
.cibles .grille[open] summary::after{content:"−"}
.cibles .grille .brouillon{font-style:italic;opacity:.8}
.cibles .grille .prose{margin:.3rem 0 0}
.cibles .grille ul,.cibles .grille ol{border:0;padding:0 0 0 1.2rem;margin:0}
.cibles .grille li{padding:.1rem 0}
.declare{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin:0;padding:.7rem 1.1rem;border-top:1px solid var(--filet);font:.72rem var(--mono);color:var(--muet)}
.declare button,.outils button,.ou button{font:.7rem var(--mono);color:var(--muet);background:transparent;border:1px solid var(--filet);border-radius:99px;padding:.25rem .7rem;cursor:pointer}
.declare button.on{color:var(--encre);border-color:var(--soleil);background:var(--allume)}
.etat-ras{margin-left:auto;border-radius:6px;padding:.15rem .5rem}
.etat-ras.solide{background:var(--solide)}.etat-ras.probable{background:var(--probable)}.etat-ras.fragile{background:var(--fragile)}
.etat-ras.inconnu{border:1px dashed var(--muet)}
.pastilles .ras{position:relative;overflow:hidden}
.pastilles .ras .part{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--manip);opacity:.75}
.legende i.solide{background:var(--solide)}.legende i.probable{background:var(--probable)}
.legende i.fragile{background:var(--fragile)}.legende i.inconnu{border:1px dashed var(--muet)}
.outils-dom{display:flex;gap:.4rem}
.domaine h2 span.nom{font:inherit;color:inherit;margin:0}
.prose .sim,.prose .widget,.voir-corps .sim{margin:1.2rem 0}
.ou{margin:1.6rem 0 0;border:1px solid var(--filet);border-radius:14px;background:var(--surface);padding:1rem 1.1rem}
.ou h2{font:500 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muet);margin:0 0 .4rem}
.ou p{margin:.2rem 0}
.outils{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.6rem 0 0}
.credit{font-size:.85rem;color:var(--muet);margin:1rem 0 0}
.suite-chemin{margin:0}
.entrees+.avenir-ligne{margin:.8rem 0 0}
dialog{max-width:40rem;width:calc(100% - 2rem);max-height:88vh;overflow:auto;border:1px solid var(--filet);border-radius:14px;background:var(--surface);color:var(--encre);padding:0;font:inherit;-webkit-overflow-scrolling:touch}
dialog::backdrop{background:rgba(20,15,5,.45)}
dialog .corps{padding:1.1rem}
dialog .actions{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--filet);padding:.7rem 1.1rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
dialog .actions .x{margin-left:auto}
dialog button{font:.78rem var(--mono);color:var(--encre);background:transparent;border:1px solid var(--filet);border-radius:99px;padding:.35rem .85rem;cursor:pointer}
dialog button:disabled{opacity:.5;cursor:default}
dialog .consigne{color:var(--muet);font-size:.92rem;margin:.2rem 0 .4rem}
dialog .q{margin:.5rem 0}dialog img{max-width:100%;height:auto;background:#fff;border-radius:6px;display:block;margin:.5rem auto}
dialog .meta{color:var(--muet);font:.72rem var(--mono);display:flex;justify-content:space-between}
dialog input[type=text]{font:inherit;font-size:16px;width:9rem;padding:.25rem .5rem;border:1px solid var(--filet);border-radius:6px;background:var(--fond);color:var(--encre)}
dialog .rep{background:var(--fond);border-left:3px solid var(--soleil);padding:.5rem .8rem;margin:.7rem 0}
dialog .ok{color:var(--manip)}dialog .ko{color:var(--objet)}
dialog .bilan li{margin:.2rem 0}
dialog .etat{font:.72rem var(--mono);padding:0 .4rem;border-radius:4px}
dialog .etat.solide{background:var(--solide)}dialog .etat.probable{background:var(--probable)}dialog .etat.fragile{background:var(--fragile)}
ol.vf{list-style:none;padding:0;margin:.4rem 0}ol.vf li{display:flex;justify-content:space-between;gap:.6rem;align-items:center;padding:.4rem 0;border-top:1px solid var(--filet)}
ol.vf .choix{flex:none;display:flex;gap:.3rem}ol.vf button.on{background:var(--soleil);color:#2a2419;border-color:var(--soleil)}
ol.vf li.ok{background:var(--t-manip)}ol.vf li.ko{background:var(--t-objet)}
.pied span{margin-left:auto}
/* la salle « exercices » : par cible, les rangées .exos de la maquette, une par niveau */
.exo-sous{color:var(--muet);font-size:.98rem;line-height:1.5;margin:0 0 1.4rem;max-width:38rem}
.exo-cible{padding:1.3rem 0 0;margin-top:1.3rem;border-top:1px solid var(--filet)}
.exo-cible:first-of-type{padding-top:0;margin-top:0;border-top:0}
.exo-cible h3{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 .35rem;font:500 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muet)}
.exo-cible h3 .compte{letter-spacing:0;text-transform:none}
.exo-texte{margin:0 0 .8rem;font-size:1.02rem;line-height:1.5;max-width:40rem}
.exos .exo-nom{flex:1;min-width:0}.exos .exo-nom b{font-weight:500}.exos .exo-nom .cle{margin-left:.4rem;white-space:nowrap}
.exos .points i.oui{background:var(--manip);border-color:var(--manip)}
.exos button{flex:none}
@media (max-width:480px){ .exos div{flex-wrap:wrap} .exos .exo-nom{flex-basis:100%} }
/* ===== fin des ajouts ===== */

/* ===== ticket 10 : les couleurs de l'état sur les chemins, l'exemple joué ===== */
.borne.solide{background:var(--solide)}.borne.probable{background:var(--probable)}.borne.fragile{background:var(--fragile)}
.halte-vide .borne.solide,.halte-vide .borne.probable,.halte-vide .borne.fragile{border-style:solid;border-color:var(--encre)}
.halte-vide .borne.solide svg,.halte-vide .borne.probable svg,.halte-vide .borne.fragile svg{color:var(--encre);opacity:1}
a.ras-cle{text-decoration:none;border-radius:4px;padding:.05rem .3rem;border:1px dashed transparent}
a.ras-cle.solide{background:var(--solide);color:var(--encre)}a.ras-cle.probable{background:var(--probable);color:var(--encre)}
a.ras-cle.fragile{background:var(--fragile);color:var(--encre)}a.ras-cle.inconnu{border-color:var(--filet)}
.joue-note{font:.72rem var(--mono);color:var(--muet);margin:.6rem 0 0}
.chapeau+.bouchon,.revue-tete+.bouchon{margin-top:1rem}
/* ===== la question reçue (ticket 3) : la situation d'abord, la réponse et la note repliées ===== */
.question-corps{max-width:40rem}
.reponse{margin:1.8rem 0 0;max-width:36rem;border:1px solid var(--filet);border-left:3px solid var(--k);border-radius:10px;background:var(--surface)}
.reponse summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;font:500 .72rem var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--k)}
.reponse summary::-webkit-details-marker{display:none}
.reponse summary::after{content:"+";font:300 1.4rem var(--serif);color:var(--muet)}
.reponse[open] summary::after{content:"−"}
.reponse>.prose{padding:0 1.1rem .4rem}
.reponse .prose h2{font-size:1.3rem;margin:.6rem 0 .7rem}
.reponse .note{border-top:1px dotted var(--filet);margin-top:.4rem;padding-top:.6rem;color:var(--muet)}
/* la manip reçue : la mise en garde garde le filet et la couleur du gabarit ; la prose du corps, ses étapes */
.prudence span{font-style:italic}
.manip-corps .prose{max-width:none}
.manip-corps .etapes p{font-size:1.05rem}
.encadre .prose{max-width:none;font-size:1.02rem;line-height:1.55}
.encadre .prose p{margin:0 0 .8em}
.encadre>div>p{margin-top:.6rem}
/* ===== fin ===== */
/* ===== pupitre #16 : Où j'en suis porte le cursus — l'encadré « Reprendre » ===== */
.reprendre{margin:1.3rem 0 0;max-width:36rem;border:1px solid var(--filet);border-left:3px solid var(--soleil);border-radius:14px;background:var(--surface);padding:1rem 1.1rem}
.reprendre h2{font:500 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muet);margin:0 0 .3rem}
.reprendre ul{list-style:none;margin:0;padding:0}
.reprendre li+li{border-top:1px solid var(--filet)}
.reprendre a{display:flex;align-items:baseline;gap:.5rem;padding:.45rem 0;font-size:1.15rem;line-height:1.3;color:var(--encre);text-decoration:none}
.reprendre a:hover span{text-decoration:underline;text-decoration-color:var(--soleil)}
.reprendre a b{flex:none;min-width:2.6rem;font:500 .82rem var(--mono);color:var(--muet)}
/* ===== fin ===== */
/* ===== pupitre #19 : la page d'un item, tout ce qui s'y accroche ===== */
.revue.item .surtitre a{color:inherit;text-decoration:none}
.revue.item .surtitre a:hover{color:var(--encre)}
.revue.item .enonce{font-size:1.15rem;line-height:1.6}
/* pupitre #21 : chaque texte reçu est une salle, son titre en h2 (.salle>h2), ses sous-titres en h3 */
.revue.item .texte .prose h3{font-size:1.2rem;margin:1.6rem 0 .5rem}
/* ===== fin ===== */
