/* Wiki Pulse – styles de base. Charte : wiki/CHARTE.md (« L'Atelier Vivant »).
   Les pages emploient les variables de rôle (--fond, --primaire…), jamais les valeurs brutes. */

@font-face {
  font-family: "Figtree";
  /* Police intégrée (data:) : chargée aussi quand les pages sont ouvertes directement (file://), sans blocage du navigateur.
     Source : assets/polices/figtree-variable.woff2 (licence OFL, assets/polices/OFL.txt). */
  src: url("data:font/woff2;base64,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") format("woff2");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Couleurs de la charte */
  --orange-incandescent: oklch(0.68 0.2 30);
  --braise-sourde: oklch(0.25 0.03 30);
  --mauve-remanence: oklch(0.65 0.22 310);
  --noir-de-chambre: oklch(0.141 0.005 285.823);
  --ardoise-vive: oklch(0.16 0.02 290);
  --penombre-mauve: oklch(0.22 0.02 300);
  --gris-de-veille: oklch(0.7 0.03 300);
  --blanc-de-trait: oklch(0.96 0 0);
  --blanc-signal: oklch(0.98 0 0);
  --lisere-remanent: oklch(0.4 0.08 320 / 30%);
  --contour-de-champ: oklch(61.479% 0.04075 320.305 / 0.8);
  --rouge-alerte: oklch(0.65 0.25 25);
  --trainee-1: #FF6B35;
  --trainee-2: #FF8C42;
  --trainee-3: #C56CF0;
  --trainee-4: #9B59B6;
  --trainee-5: #8E44AD;
  --maturite-1: #FD6844;
  --maturite-2: #FE8C2C;
  --maturite-3: #E068D8;
  --maturite-4: #B96AFF;

  /* Rôles */
  --fond: var(--noir-de-chambre);
  --surface: var(--ardoise-vive);
  --surface-attenuee: var(--penombre-mauve);
  --texte: var(--blanc-de-trait);
  --texte-secondaire: var(--gris-de-veille);
  --texte-sur-accent: var(--blanc-signal);
  --primaire: var(--orange-incandescent);
  --primaire-eteint: var(--braise-sourde);
  --accompagne: var(--mauve-remanence);
  --lisere: var(--lisere-remanent);
  --contour-champ: var(--contour-de-champ);
  --alerte: var(--rouge-alerte);
  --anneau: oklch(0.68 0.2 30 / 50%);

  /* Typographie : quatre pas (13 / 14 / 16 / 18) et les titres */
  --police: "Figtree", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --police-code: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  --texte-xs: 0.8125rem;
  --texte-sm: 0.875rem;
  --texte-base: 1rem;
  --texte-lg: 1.125rem;

  /* Formes */
  --rayon-sm: 6px;
  --rayon-md: 8px;
  --rayon-lg: 10px;
  --rayon-xl: 14px;
  --rayon-2xl: 16px;
  --rayon-3xl: 24px;
  --rayon-pilule: 9999px;

  /* Profondeur : ombres neutres pour la hiérarchie */
  --ombre-surface: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --ombre-panneau: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --ombre-scene: 0 25px 50px -12px rgb(0 0 0 / 0.25);

  /* Espacements */
  --gouttiere: 12px;
  --section: 64px;
  --hauteur-entete: 4.5rem;

  color-scheme: dark;
}

@media (min-width: 640px) { :root { --gouttiere: 16px; --section: 80px; } }
@media (min-width: 768px) { :root { --gouttiere: 24px; --section: 96px; } }
@media (min-width: 1024px) { :root { --gouttiere: 32px; --section: 112px; } }

/* --- Base ---------------------------------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

/* L'attribut hidden l'emporte sur toute classe qui fixe l'affichage. */
[hidden] { display: none !important; }

html {
  overflow-x: clip;
  scroll-padding-top: 8rem;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  min-height: 100svh;
  background: var(--fond);
  color: var(--texte);
  font-family: var(--police);
  font-size: var(--texte-base);
  font-weight: 400;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

img, svg { max-width: 100%; height: auto; }

a { color: var(--primaire); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }

:focus-visible {
  outline: 2px solid var(--primaire);
  outline-offset: 2px;
  border-radius: var(--rayon-sm);
}

::selection { background: var(--primaire-eteint); color: var(--texte); }

h1, h2, h3, h4 { margin: 0; line-height: 1.25; color: var(--texte); text-wrap: balance; }
h1 { font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem); font-weight: 900; letter-spacing: -0.025em; }
h2 { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.025em; line-height: 1.33; }
h3 { font-size: var(--texte-lg); font-weight: 600; }
p { margin: 0 0 24px; }
h1 + p, h2 + p, h3 + p { margin-top: 0; }

code {
  font-family: var(--police-code);
  font-size: 0.92em;
  background: var(--surface-attenuee);
  border: 1px solid var(--lisere);
  border-radius: var(--rayon-sm);
  padding: 0.05em 0.35em;
}

.lien-evitement {
  position: absolute;
  left: 1rem;
  top: -4rem;
  z-index: 100;
  padding: 0.5rem 1rem;
  background: var(--primaire);
  color: var(--texte-sur-accent);
  border-radius: var(--rayon-pilule);
  font-weight: 600;
}
.lien-evitement:focus { top: 1rem; }

.visuellement-cache {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* --- Conteneurs et sections ---------------------------------------------------------------------------- */

.conteneur, .conteneur-large, .conteneur-lecture {
  margin-inline: auto;
  padding-inline: var(--gouttiere);
  width: 100%;
}
.conteneur { max-width: calc(1152px + 2 * var(--gouttiere)); }
.conteneur-large { max-width: calc(1280px + 2 * var(--gouttiere)); }
.conteneur-lecture { max-width: calc(896px + 2 * var(--gouttiere)); }

.section { padding-block: var(--section); }

.entete-section { text-align: center; margin-bottom: 48px; }
.entete-section h2 {
  font-size: clamp(1.875rem, 1.5rem + 1.6vw, 3rem);
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.25;
  margin-top: 16px;
}
.entete-section .sous-titre {
  color: var(--texte-secondaire);
  max-width: 896px;
  margin: 16px auto 0;
  font-size: var(--texte-lg);
}

/* --- En-tête flottant (seul usage du flou) ------------------------------------------------------------- */

.entete-site {
  position: fixed;
  inset: 16px 0 auto;
  z-index: 50;
  pointer-events: none;
}
.entete-site .barre {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-inline: auto;
  width: min(1152px, calc(100% - 2 * var(--gouttiere)));
  padding: 8px 16px;
  background: oklch(0.16 0.02 290 / 50%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid oklch(0.4 0.08 320 / 18%);
  border-radius: var(--rayon-pilule);
  box-shadow: var(--ombre-panneau);
}
.marque {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--texte);
  text-decoration: none;
  font-weight: 700;
  font-size: var(--texte-lg);
  white-space: nowrap;
}
.marque svg { width: 28px; height: 28px; }
.navigation { margin-left: auto; }
.navigation ul { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.navigation a {
  display: inline-block;
  padding: 6px 14px;
  border-radius: var(--rayon-pilule);
  color: var(--texte);
  text-decoration: none;
  font-size: var(--texte-sm);
  font-weight: 500;
}
.navigation a:hover { background: var(--surface-attenuee); }
.navigation a[aria-current="page"] { color: var(--primaire); }
.entete-site .bouton-menu { display: none; }

@media (max-width: 767px) {
  .entete-site .bouton-menu { display: inline-flex; margin-left: auto; }
  .navigation { display: none; position: absolute; top: calc(100% + 8px); right: var(--gouttiere); left: var(--gouttiere); }
  .navigation.ouverte { display: block; }
  .navigation ul {
    flex-direction: column;
    padding: 8px;
    background: var(--surface);
    border: 1px solid var(--lisere);
    border-radius: var(--rayon-2xl);
    box-shadow: var(--ombre-panneau);
  }
}

main { padding-top: 8rem; }

/* --- Pastilles, boutons, champs ------------------------------------------------------------------------ */

/* Pastille d'accroche : étiquette inerte, jamais d'action. */
.pastille {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0.5rem 0.875rem;
  border-radius: var(--rayon-pilule);
  background: var(--surface-attenuee);
  color: var(--texte-secondaire);
  font-size: var(--texte-sm);
  font-weight: 500;
  line-height: 1.25;
}
.pastille-etape { --etape: var(--accompagne); background: color-mix(in oklch, var(--etape) 10%, transparent); border: 1px solid color-mix(in oklch, var(--etape) 25%, transparent); color: var(--etape); }
[data-couleur="0"] { --etape: var(--gris-de-veille); }
[data-couleur="1"] { --etape: var(--maturite-1); }
[data-couleur="2"] { --etape: var(--maturite-2); }
[data-couleur="3"] { --etape: var(--maturite-3); }
[data-couleur="4"] { --etape: var(--maturite-4); }

.bouton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 2rem;
  padding: 0 0.625rem;
  border-radius: var(--rayon-lg);
  border: 1px solid var(--lisere);
  background: transparent;
  color: var(--texte);
  font: 500 var(--texte-sm) / 1 var(--police);
  text-decoration: none;
  cursor: pointer;
  transition: background-color 150ms, border-color 150ms, opacity 150ms;
}
.bouton:hover { background: var(--surface-attenuee); }
.bouton:focus-visible { outline: none; border-color: var(--primaire); box-shadow: 0 0 0 3px var(--anneau); }
.bouton-plein { background: var(--primaire); border-color: transparent; color: var(--texte-sur-accent); }
.bouton-plein:hover { background: var(--primaire); opacity: 0.8; }
.bouton-fantome { border-color: transparent; }
.bouton-grand { height: 2.5rem; padding: 0 1rem; font-size: var(--texte-base); }

/* CTA à flamme : un seul par vue. */
.cta {
  --hauteur: 3rem;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--hauteur);
  padding: 0 1.75rem;
  border-radius: var(--rayon-pilule);
  border: 0;
  color: var(--texte-sur-accent);
  font: 600 var(--texte-base) / 1 var(--police);
  text-decoration: none;
  text-shadow: 0 1px 1px rgb(0 0 0 / 0.35);
  background-image: linear-gradient(90deg, #880088, #a3166e, #c42d55, #dd6440, #f09f33, #dd6440, #c42d55, #a3166e, #880088);
  background-size: 300% 100%;
  background-position: 0% 50%;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.18), inset 0 -2px 6px rgb(0 0 0 / 0.45), 0 0 36px rgb(204 63 71 / 0.38);
  transition: background-position 700ms ease, transform 200ms ease, box-shadow 300ms ease;
}
.cta:hover {
  background-position: 100% 50%;
  transform: scale(1.05);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.18), inset 0 -2px 6px rgb(0 0 0 / 0.45), 0 0 56px rgb(240 159 51 / 0.48);
}
.cta:active { transform: translateY(2px) scale(1); box-shadow: inset 0 2px 6px rgb(0 0 0 / 0.45), inset 0 -1px 0 rgb(255 255 255 / 0.18); }
.cta:focus-visible { outline: 2px solid var(--primaire); outline-offset: 3px; }
.cta-grand { --hauteur: 3.5rem; padding: 0 2.25rem; font-size: var(--texte-lg); }
.cta .lettre { display: inline-block; white-space: pre; }
.cta:hover .lettre { animation: onde-lettre 500ms ease both; animation-delay: calc(var(--i) * 20ms); }
@keyframes onde-lettre { 50% { transform: translateY(-3px); } }

.champ {
  height: 2rem;
  padding: 0.25rem 0.625rem;
  border-radius: var(--rayon-lg);
  border: 1px solid var(--contour-champ);
  background: transparent;
  color: var(--texte);
  font: 400 var(--texte-sm) / 1.25 var(--police);
}
.champ::placeholder { color: var(--texte-secondaire); }
.champ:focus-visible { outline: none; border-color: var(--primaire); box-shadow: 0 0 0 3px var(--anneau); }
.champ[aria-invalid="true"] { border-color: var(--alerte); box-shadow: 0 0 0 3px oklch(0.65 0.25 25 / 50%); }

/* --- Cartes -------------------------------------------------------------------------------------------- */

.carte {
  display: block;
  padding: 24px;
  background: oklch(0.16 0.02 290 / 80%);
  border: 1px solid var(--lisere);
  border-radius: var(--rayon-2xl);
  box-shadow: var(--ombre-surface);
  color: var(--texte);
  text-decoration: none;
  transition: transform 300ms ease, border-color 300ms ease;
}
a.carte:hover { transform: translateY(-8px); border-color: oklch(0.4 0.08 320 / 60%); }
.carte-titre { display: block; font-size: var(--texte-lg); font-weight: 600; margin-bottom: 8px; }
.carte-titre code { background: none; border: 0; padding: 0; font-size: 1em; color: var(--texte); }
.carte-texte { display: block; color: var(--texte-secondaire); font-size: var(--texte-sm); line-height: 1.6; }

.grille-cartes {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 640px) { .grille-cartes { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .grille-cartes { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.grille-cartes > li { display: flex; }
.grille-cartes > li > .carte { flex: 1; }

/* --- Contenu rédactionnel ------------------------------------------------------------------------------ */

.typographie { max-width: 95ch; }
.typographie h2 {
  margin: 56px 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--lisere);
}
.typographie h3 { margin: 32px 0 8px; }
.typographie ul, .typographie ol { padding-left: 1.4em; margin: 0 0 24px; }
.typographie li { margin-bottom: 6px; }
.typographie li::marker { color: var(--texte-secondaire); }
.typographie table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: var(--texte-sm); }
.typographie th, .typographie td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--lisere); vertical-align: top; }
.typographie th { color: var(--texte-secondaire); font-weight: 500; }

.chapo { font-size: var(--texte-lg); color: var(--texte-secondaire); margin: 16px 0 0; max-width: 70ch; }
.legende { color: var(--texte-secondaire); font-size: var(--texte-sm); }

/* Blocs de commande à copier : seule exception à la police unique. */
pre.commande {
  position: relative;
  margin: 0 0 16px;
  padding: 14px 16px;
  padding-right: 6.5rem;
  background: var(--surface);
  border: 1px solid var(--lisere);
  border-radius: var(--rayon-xl);
  overflow-x: auto;
  font-size: var(--texte-sm);
  line-height: 1.6;
}
pre.commande code { background: none; border: 0; padding: 0; font-size: 1em; color: var(--texte); white-space: pre-wrap; }
pre.commande .bouton-copier { position: absolute; top: 8px; right: 8px; }

/* Encadrés */
.encadre {
  margin: 0 0 24px;
  padding: 16px 20px;
  border-radius: var(--rayon-2xl);
  border: 1px solid var(--lisere);
  background: var(--surface);
}
.encadre > :last-child { margin-bottom: 0; }
.encadre strong:first-child { font-weight: 600; }
.encadre-conseil { border-color: oklch(0.65 0.22 310 / 45%); }
.encadre-conseil strong:first-child { color: var(--accompagne); }
.encadre-attention { background: var(--primaire-eteint); border-color: oklch(0.68 0.2 30 / 45%); }
.encadre-attention strong:first-child { color: var(--primaire); }
.encadre-risque { border-color: oklch(0.65 0.25 25 / 70%); }
.encadre-risque strong:first-child { color: var(--alerte); }
.encadre-attendu { border-color: oklch(0.65 0.22 310 / 45%); border-left-width: 4px; }
.encadre-attendu strong:first-child { color: var(--accompagne); }

/* Problèmes et solutions */
details.probleme {
  margin: 0 0 12px;
  border: 1px solid var(--lisere);
  border-radius: var(--rayon-xl);
  background: var(--surface);
}
details.probleme summary {
  cursor: pointer;
  padding: 14px 18px;
  font-weight: 600;
  list-style: none;
  display: flex;
  gap: 12px;
  align-items: baseline;
}
details.probleme summary::-webkit-details-marker { display: none; }
details.probleme summary::before { content: "+"; color: var(--primaire); font-weight: 700; width: 1ch; }
details.probleme[open] summary::before { content: "−"; }
details.probleme > :not(summary) { margin: 0 18px 16px; }

/* Parcours : sept étapes, chacune doublée de son numéro et de son nom (Ordre Doublé). */
.parcours {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  counter-reset: none;
}
.parcours li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 6px 12px 6px 6px;
  border-radius: var(--rayon-pilule);
  border: 1px solid var(--lisere);
  color: var(--texte-secondaire);
  font-size: var(--texte-sm);
  font-weight: 500;
  line-height: 1.25;
}
.parcours-numero {
  display: inline-grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: var(--rayon-pilule);
  background: color-mix(in oklch, var(--etape) 15%, transparent);
  color: var(--etape);
  font-size: var(--texte-xs);
  font-weight: 600;
}
.parcours li[aria-current="step"] {
  color: var(--texte);
  border-color: color-mix(in oklch, var(--etape) 60%, transparent);
  background: color-mix(in oklch, var(--etape) 10%, transparent);
}
.parcours li[aria-current="step"] .parcours-numero { background: var(--etape); color: var(--noir-de-chambre); }

/* --- Page d'une commande : navigation latérale et contenu ---------------------------------------------- */

.mise-en-page {
  display: grid;
  gap: 48px;
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
  .mise-en-page { grid-template-columns: 240px minmax(0, 1fr); gap: 64px; }
}
.laterale { display: none; }
@media (min-width: 1024px) {
  .laterale {
    display: block;
    position: sticky;
    top: 7rem;
    align-self: start;
    max-height: calc(100svh - 8rem);
    overflow-y: auto;
    padding-right: 8px;
    font-size: var(--texte-sm);
  }
}
.laterale h2 { font-size: var(--texte-xs); font-weight: 500; color: var(--texte-secondaire); margin: 20px 0 6px; letter-spacing: normal; line-height: 1.25; }
.laterale h2:first-child { margin-top: 0; }
.laterale ul { list-style: none; margin: 0; padding: 0; }
.laterale a { display: block; padding: 3px 10px; border-radius: var(--rayon-md); color: var(--texte); text-decoration: none; line-height: 1.5; }
.laterale a:hover { background: var(--surface-attenuee); }
.laterale a[aria-current="page"] { color: var(--primaire); background: var(--primaire-eteint); }

.entete-page { margin-bottom: 32px; }
.entete-page h1 { margin-top: 16px; }
.entete-page h1 code { background: none; border: 0; padding: 0; font-size: 0.85em; color: var(--texte); font-weight: 700; letter-spacing: -0.02em; }

.sommaire {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 8px;
  padding: 0;
  list-style: none;
}
.sommaire a {
  display: inline-block;
  padding: 4px 12px;
  border-radius: var(--rayon-pilule);
  border: 1px solid var(--lisere);
  color: var(--texte);
  text-decoration: none;
  font-size: var(--texte-sm);
}
.sommaire a:hover { border-color: var(--primaire); }

.suite { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--lisere); }

/* --- Pied de page -------------------------------------------------------------------------------------- */

.pied-site {
  margin-top: var(--section);
  padding-block: 40px;
  border-top: 1px solid var(--lisere);
  color: var(--texte-secondaire);
  font-size: var(--texte-sm);
}
.pied-site .conteneur { display: flex; flex-wrap: wrap; gap: 16px 32px; justify-content: space-between; }
.pied-site a { color: var(--texte); }

/* --- Séparateur en vague ------------------------------------------------------------------------------- */

.vague { display: block; width: 100%; height: 64px; pointer-events: none; }
.vague path { fill: none; stroke-width: 2; }

/* --- Index des commandes : filtres --------------------------------------------------------------------- */

.section-premiere { padding-top: 0; }
.filtres { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 40px; }
.filtres .champ { width: min(100%, 22rem); }
.filtres-etapes { display: flex; flex-wrap: wrap; gap: 8px; }
/* Pastilles de filtre : elles s'activent, donc pilule (Règle de la Pilule). */
.filtre {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 2rem;
  padding: 0 14px;
  border-radius: var(--rayon-pilule);
  border: 1px solid var(--lisere);
  background: transparent;
  color: var(--texte);
  font: 500 var(--texte-sm) / 1 var(--police);
  cursor: pointer;
}
.filtre:hover { background: var(--surface-attenuee); }
.filtre[aria-pressed="true"] { background: var(--primaire-eteint); border-color: var(--primaire); color: var(--texte); }
.filtre:focus-visible { outline: none; border-color: var(--primaire); box-shadow: 0 0 0 3px var(--anneau); }
.groupe-etape { margin-bottom: 56px; }
.groupe-etape h2 { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }

/* --- Accueil : héros ----------------------------------------------------------------------------------- */

.heros { display: grid; gap: 40px; align-items: center; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .heros { grid-template-columns: 1.1fr 0.9fr; gap: 64px; } }
/* Le héros de l'accueil garde la graisse des titres de section : l'échelle seule les sépare. */
.titre-heros { font-weight: 700; margin-top: 20px; }
.heros-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 32px; }
.centre { text-align: center; }
.typographie .sommaire, .typographie .parcours { padding-left: 0; }
.typographie .sommaire li, .typographie .parcours li { margin-bottom: 0; }

/* --- Tutoriels et prérequis ---------------------------------------------------------------------------- */

/* Une étape de tutoriel : numéro en pastille, titre, contenu. */
.etape-tuto h2 { display: flex; align-items: center; gap: 14px; }
.etape-numero {
  flex: none;
  display: inline-grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--rayon-pilule);
  background: var(--primaire-eteint);
  border: 1px solid oklch(0.68 0.2 30 / 45%);
  color: var(--primaire);
  font-size: var(--texte-base);
  font-weight: 700;
}
.duree { color: var(--texte-secondaire); font-size: var(--texte-sm); font-weight: 500; margin-left: auto; }

/* Repère pour reprendre plus tard. */
.encadre-repere { border-style: dashed; }
.encadre-repere strong:first-child { color: var(--texte-secondaire); }

/* Emplacement d'une capture d'écran à fournir (remplacé par <img> quand elle existe). */
.capture { margin: 0 0 24px; }
.capture img { display: block; width: 100%; border-radius: var(--rayon-xl); border: 1px solid var(--lisere); box-shadow: var(--ombre-surface); }
.capture-cadre {
  display: grid;
  place-items: center;
  min-height: 180px;
  padding: 24px;
  border: 1px dashed var(--lisere);
  border-radius: var(--rayon-xl);
  background: var(--surface);
  color: var(--texte-secondaire);
  font-size: var(--texte-sm);
  text-align: center;
}
.capture figcaption { margin-top: 8px; color: var(--texte-secondaire); font-size: var(--texte-sm); }

/* Onglets (Windows / macOS) : sans JS, chaque panneau s'affiche avec son titre. */
.onglets { margin: 0 0 24px; }
.onglets-liste { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.onglets-liste button {
  height: 2rem;
  padding: 0 16px;
  border-radius: var(--rayon-pilule);
  border: 1px solid var(--lisere);
  background: transparent;
  color: var(--texte);
  font: 500 var(--texte-sm) / 1 var(--police);
  cursor: pointer;
}
.onglets-liste button[aria-selected="true"] { background: var(--primaire-eteint); border-color: var(--primaire); }
.onglets-liste button:focus-visible { outline: none; border-color: var(--primaire); box-shadow: 0 0 0 3px var(--anneau); }
.onglets-pret .onglet-titre { display: none; }

/* Liste de vérification des prérequis. */
.verification { list-style: none; padding-left: 0 !important; }
.verification li { position: relative; padding-left: 2rem; }
.verification li::before { content: "☐"; position: absolute; left: 0.25rem; color: var(--accompagne); }
@media (min-width: 640px) { .grille-deux { grid-template-columns: repeat(2, 1fr) !important; } }
.carte-titre-espace { margin-top: 16px; }

/* --- Recherche (docs/js/recherche.js) ------------------------------------------------------------------ */

.bouton-recherche {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 2rem;
  margin-left: auto;
  padding: 0 8px 0 12px;
  border-radius: var(--rayon-pilule);
  border: 1px solid var(--lisere);
  background: transparent;
  color: var(--texte-secondaire);
  font: 500 var(--texte-sm) / 1 var(--police);
  cursor: pointer;
}
.bouton-recherche:hover { color: var(--texte); background: var(--surface-attenuee); }
.bouton-recherche:focus-visible { outline: none; border-color: var(--primaire); box-shadow: 0 0 0 3px var(--anneau); }
.bouton-recherche svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.bouton-recherche kbd { font: 500 var(--texte-xs) / 1 var(--police-code); padding: 3px 6px; border-radius: var(--rayon-sm); border: 1px solid var(--lisere); }
.entete-site .bouton-recherche + .navigation, .entete-site .bouton-recherche ~ .navigation { margin-left: 0; }
@media (max-width: 767px) { .bouton-recherche span, .bouton-recherche kbd { display: none; } .bouton-recherche { padding: 0 10px; } .entete-site .bouton-menu { margin-left: 0; } }

.recherche { position: fixed; inset: 0; z-index: 90; display: grid; justify-items: center; align-items: start; padding: 10vh var(--gouttiere) 0; }
.recherche[hidden] { display: none; }
.recherche-fond { position: absolute; inset: 0; background: oklch(0.141 0.005 285.823 / 75%); }
.recherche-boite {
  position: relative;
  width: min(720px, 100%);
  max-height: 75vh;
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--lisere);
  border-radius: var(--rayon-2xl);
  box-shadow: var(--ombre-scene);
  overflow: hidden;
}
.recherche-entete { display: flex; gap: 8px; padding: 16px; border-bottom: 1px solid var(--lisere); }
.recherche-champ { flex: 1; height: 2.5rem; font-size: var(--texte-base); }
.recherche-etat { margin: 0; padding: 10px 16px; color: var(--texte-secondaire); font-size: var(--texte-sm); }
.recherche-resultats { list-style: none; margin: 0; padding: 0 8px 12px; overflow-y: auto; }
.recherche-resultats a { display: block; padding: 10px 12px; border-radius: var(--rayon-lg); color: var(--texte); text-decoration: none; }
.recherche-resultats a:hover, .recherche-resultats a:focus-visible { background: var(--surface-attenuee); outline: none; }
.resultat-titre { display: block; font-weight: 600; }
.resultat-section { color: var(--texte-secondaire); font-weight: 500; }
.resultat-extrait { display: block; margin-top: 2px; color: var(--texte-secondaire); font-size: var(--texte-sm); line-height: 1.6; }
.resultat-extrait mark { background: var(--primaire-eteint); color: var(--texte); border-radius: 3px; padding: 0 2px; }
body.recherche-ouverte { overflow: hidden; }

/* --- Assistant « Quelle commande pour… ? » (quelle-commande.html, js/quelle-commande.js) ------------------ */
.assistant [hidden] { display: none; }
.assistant-fil {
  list-style: none;
  padding-left: 0 !important;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: var(--texte-sm);
  color: var(--texte-secondaire);
}
.assistant-fil li { margin-bottom: 0; padding-left: 12px; border-left: 2px solid var(--lisere); }
.assistant-fil strong { color: var(--texte); font-weight: 500; }
.assistant-question .legende { margin-bottom: 4px; }
.assistant-question h2 { margin-top: 0; }
.assistant-choix { margin: 16px 0 32px; }
.assistant-choix .filtre { height: auto; min-height: 2rem; padding-block: 6px; line-height: 1.3; text-align: left; }
.assistant-conseil { margin-bottom: 24px; }
.assistant-conseil h2 { margin-top: 16px; }
.assistant-conseil h3 { margin-top: 24px; }
.assistant-conseil > :last-child { margin-bottom: 0; }

/* --- Lexique : listes de définitions ------------------------------------------------------------------- */

.typographie dl { margin: 0 0 32px; }
.typographie dt { margin-top: 20px; font-size: var(--texte-lg); font-weight: 600; color: var(--texte); }
.typographie dt dfn { font-style: normal; }
.typographie dd { margin: 4px 0 0; padding-left: 16px; border-left: 2px solid var(--lisere); color: var(--texte); }
.typographie dd p:last-child { margin-bottom: 0; }
.pied-liens { display: flex; flex-wrap: wrap; gap: 8px 20px; }

/* Sur petit écran, un contenu large (tableau, bloc de commande) défile dans sa boîte au lieu d'élargir la page. */
.mise-en-page > * { min-width: 0; }
@media (max-width: 767px) { .typographie table { display: block; overflow-x: auto; } }

/* Lien externe : il s'ouvre dans un nouvel onglet, signalé par une flèche. */
a[target="_blank"]::after { content: "\00a0↗"; font-size: 0.85em; }
