/* Saphélis AI Academy — design system de l'espace membre et du lecteur.
   ÉTEND premium.css (tokens, en-tête, pied) : mêmes couleurs, même typographie, mêmes cibles.
   Ajoute : thème sombre, réglages de lecture (taille, largeur, espacement, contraste, modes),
   typographie de lecture, encadrés, prompts, tableaux, quiz, lecteur, accueil membre, radar, états.
   Mémoire de design : docs/academie/DESIGN-ACADEMY.md. */

/* ---------- Tokens Academy ---------- */
:root{
--ac-lecture:1.0625rem;--ac-interligne:1.7;--ac-mesure:68ch;--ac-espace-p:1em;--ac-lettre:normal;--ac-mot:normal;
--ac-sticky:0px;--ac-barre-h:56px;--ac-cuivre:var(--c-accent);--ac-radar:#7a4b00;--ac-radar-soft:#fbf1dc;
--ac-surface-code:#f3f0e8;--ac-ombre:0 18px 48px -18px rgba(18,17,16,.38);
--ac-ok-forme:var(--c-ok);--ac-attente-forme:#a86a00;--ac-erreur-forme:var(--c-erreur)}
/* Papier DA 3.0 (21.10.2026) : neutre, plus de cuivre ni d ivoire chaud ; accent sarcelle fonce (5,9:1). */
html.ac{--c-bg:#f4f2ed;--c-surface:#fbfaf7;--c-surface-2:#ebe8e1;--c-ink:#16191e;--c-ink-2:#363c45;--c-ink-3:#525a65;--c-line:#dcd8cf;--c-line-2:#8d949e;--c-noir:#0e1013;--c-noir-2:#191d23;--c-encre:#0e1013;--c-encre-2:#21262e;--c-sur-encre:#f2efe9;--c-sur-encre-2:#a9b0ba;--c-or:#0f6e64;--c-or-clair:#e6c07f;--c-accent:#0f6e64;--c-accent-2:#0b5a52;--c-accent-soft:#dff1ee;--c-focus:#0f6e64;--ac-surface-code:#ebe8e1}
html.ac[data-ac-taille="s"]{--ac-lecture:.9375rem}
html.ac[data-ac-taille="l"]{--ac-lecture:1.1875rem}
html.ac[data-ac-taille="xl"]{--ac-lecture:1.3125rem}
html.ac[data-ac-largeur="etroite"]{--ac-mesure:58ch}
html.ac[data-ac-largeur="large"]{--ac-mesure:84ch}
/* WCAG 1.4.12 : espacement augmenté sans perte de contenu. */
html.ac[data-ac-espacement="1"]{--ac-interligne:1.95;--ac-espace-p:2em;--ac-lettre:.03em;--ac-mot:.12em}

/* Thème sombre : même identité, encre et ivoire inversés, cuivre éclairci pour rester lisible (≥ 4,5:1). */
html.ac[data-ac-theme="sombre"]{color-scheme:dark;
--c-bg:#0e1013;--c-surface:#151920;--c-surface-2:#1b2027;--c-ink:#f2efe9;--c-ink-2:#d4d6db;--c-ink-3:#a9b0ba;
--c-line:#2a3039;--c-line-2:#5a6472;--c-accent:#7dd8cb;--c-accent-2:#a5e6dc;--c-accent-soft:#16302d;
--c-ok:#7fd1a0;--c-ok-soft:#16281e;--c-attente:#f0bd6a;--c-attente-soft:#2c2213;--c-erreur:#ff9c8f;--c-erreur-soft:#2f1915;--c-focus:#e6c07f;
--ac-radar:#f0bd6a;--ac-radar-soft:#211a0f;--ac-surface-code:#1b2027;--ac-ok-forme:#7fd1a0;--ac-attente-forme:#f0bd6a;--ac-erreur-forme:#ff9c8f;--ac-ombre:0 18px 48px -18px rgba(0,0,0,.8)}
/* « Système » est un choix EXPLICITE (défaut : clair, comme les pages publiques de l Academy et le reste du site) :
   sans lui, passer de la vitrine claire à l espace membre faisait un flash clair puis sombre. */
@media (prefers-color-scheme:dark){html.ac[data-ac-theme="systeme"]{color-scheme:dark;
--c-bg:#0e1013;--c-surface:#151920;--c-surface-2:#1b2027;--c-ink:#f2efe9;--c-ink-2:#d4d6db;--c-ink-3:#a9b0ba;
--c-line:#2a3039;--c-line-2:#5a6472;--c-accent:#7dd8cb;--c-accent-2:#a5e6dc;--c-accent-soft:#16302d;
--c-ok:#7fd1a0;--c-ok-soft:#16281e;--c-attente:#f0bd6a;--c-attente-soft:#2c2213;--c-erreur:#ff9c8f;--c-erreur-soft:#2f1915;--c-focus:#e6c07f;
--ac-radar:#f0bd6a;--ac-radar-soft:#211a0f;--ac-surface-code:#1b2027;--ac-ok-forme:#7fd1a0;--ac-attente-forme:#f0bd6a;--ac-erreur-forme:#ff9c8f;--ac-ombre:0 18px 48px -18px rgba(0,0,0,.8)}}
/* Contraste renforcé : textes secondaires ramenés à l'encre, filets visibles, liens toujours soulignés. */
html.ac[data-ac-contraste="1"]{--c-ink-2:var(--c-ink);--c-ink-3:var(--c-ink);--c-line:var(--c-line-2)}
html.ac[data-ac-contraste="1"] a{text-decoration-thickness:2px}

/* ---------- Socle ---------- */
.ac-page{min-height:100vh;display:flex;flex-direction:column}
.ac-main{flex:1 0 auto;padding-block:var(--s-6) var(--s-8);outline:0}
.ac-etroit{max-width:44rem}.ac-etroit-l{max-width:56rem}
.ac-muted{color:var(--c-ink-3);font-size:var(--t-sm)}
.ac-num{font-variant-numeric:tabular-nums}
.ac-ico{width:20px;height:20px;flex:none}
.ac-demo{margin:0;background:#ffe27a;color:#1c1b19;text-align:center;font:600 var(--t-sm)/1.3 var(--f-texte);padding:8px var(--gout)}
.ac-reseau{margin:0;background:var(--c-attente-soft);color:var(--c-attente);text-align:center;font-size:var(--t-sm);font-weight:600;padding:8px var(--gout);border-bottom:1px solid var(--c-attente)}
.ac-impression-seule{display:none}

/* ---------- En-tête Academy (prolonge .tete--calme) ---------- */
.ac-tete-rang{display:flex;align-items:center;flex-wrap:wrap;gap:0 var(--s-5);min-height:60px}
.ac-marque-academy{font:600 var(--t-xs)/1 var(--f-texte);letter-spacing:.01em;color:var(--c-chene-2);padding-left:10px;margin-left:2px;border-left:1px solid var(--c-line);align-self:center}
.ac-nav{margin-left:auto;min-width:0}
.ac-nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.ac-nav a{display:inline-flex;align-items:center;gap:6px;min-height:var(--cible);padding:0 12px;color:var(--c-ink-2)!important;text-decoration:none!important;font:600 var(--t-sm)/1 var(--f-texte);border-radius:var(--r-2);position:relative;white-space:nowrap}
.ac-nav a:hover{color:var(--c-ink)!important;background:rgb(28 27 25/.06)}
.ac-nav a[aria-current="page"]{color:var(--c-ink)!important}
.ac-nav a[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:var(--c-or);border-radius:2px}
.ac-nav .ac-ico{width:18px;height:18px}
@media (max-width:1023px){
.ac-tete-rang{padding-top:6px}
.ac-nav{order:3;flex:1 0 100%;margin:0 calc(var(--gout) * -1);overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.ac-nav::-webkit-scrollbar{display:none}
.ac-nav ul{padding:0 var(--gout) 4px}
.ac-nav a{padding:0 10px}
.ac-nav .ac-nav-recherche{order:-1}}
.ac-page--lecteur .tete{position:relative}

/* ---------- Boutons ---------- */
.ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--cible);padding:10px 18px;border-radius:var(--r-2);border:1px solid transparent;font:600 var(--t-sm)/1.25 var(--f-texte);text-decoration:none!important;cursor:pointer;text-align:center;transition:background var(--m-rapide) var(--ease),border-color var(--m-rapide),color var(--m-rapide)}
.ac-btn--primaire{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-bg)!important}
.ac-btn--primaire:hover{background:var(--c-ink-2);border-color:var(--c-ink-2)}
.ac-btn--secondaire{background:transparent;border-color:var(--c-ink);color:var(--c-ink)!important}
.ac-btn--secondaire:hover{background:var(--c-surface-2)}
.ac-btn--discret{background:transparent;color:var(--c-ink-2)!important;padding-inline:12px}
.ac-btn--discret:hover{background:var(--c-surface-2);color:var(--c-ink)!important}
.ac-btn--danger{background:transparent;border-color:var(--c-erreur);color:var(--c-erreur)!important}
.ac-btn--danger:hover{background:var(--c-erreur-soft)}
.ac-btn--sur-encre{background:transparent;color:var(--c-sur-encre)!important;padding-inline:12px}
.ac-btn--sur-encre:hover{background:#2b2825}
.ac-btn[aria-pressed="true"] .ac-ico path{fill:currentColor}
.ac-form-action{display:inline-flex;margin:0}
.ac-lien-fleche{display:inline-flex;align-items:center;min-height:var(--cible);font-weight:600;font-size:var(--t-sm)}
.ac-lien-fleche::after{content:"→";margin-left:6px}

/* ---------- Badges (forme + texte, jamais la couleur seule) ---------- */
.ac-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:var(--r-pill);font:600 var(--t-xs)/1.4 var(--f-texte);letter-spacing:.01em;border:1px solid currentColor;white-space:nowrap;vertical-align:middle}
.ac-badge-forme{display:inline-block;width:8px;height:8px;flex:none;background:currentColor;border-radius:50%}
.ac-badge--ok{color:var(--c-ok);background:var(--c-ok-soft)}
.ac-badge--attente{color:var(--c-attente);background:var(--c-attente-soft)}
.ac-badge--attente .ac-badge-forme{background:transparent;border:2px solid currentColor;border-right-color:transparent;transform:rotate(45deg);width:10px;height:10px}
.ac-badge--erreur{color:var(--c-erreur);background:var(--c-erreur-soft)}
.ac-badge--erreur .ac-badge-forme{border-radius:1px}
.ac-badge--neutre{color:var(--c-ink-2);background:var(--c-surface-2)}
.ac-badge--neutre .ac-badge-forme{background:transparent;border:1.5px solid currentColor}
.ac-badge--radar{color:#1c1b19;background:#f2b64f;border-color:#f2b64f;letter-spacing:.08em}
.ac-badge--radar .ac-badge-forme{background:transparent;border:2px dashed #1c1b19;width:10px;height:10px}
.ac-forme-ok{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c-ok);flex:none}

/* ---------- États ---------- */
.ac-etat{border:1px solid var(--c-line);border-radius:var(--r-3);padding:var(--s-5);background:var(--c-surface);margin-block:var(--s-4)}
.ac-etat p{margin:0 0 var(--s-3);color:var(--c-ink-2)}
.ac-etat .ac-etat-titre{display:flex;gap:10px;align-items:center;font-weight:600;color:var(--c-ink);font-size:var(--t-md)}
.ac-etat--degrade{border-color:var(--c-attente);background:var(--c-attente-soft)}
.ac-etat--degrade p{color:var(--c-ink)}
.ac-pastille{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--c-attente);color:var(--c-bg);font-size:13px;font-weight:700;flex:none}
.ac-manque{font-size:var(--t-sm);color:var(--c-ink-3);border-left:3px solid var(--c-line-2);padding-left:var(--s-3)}
.ac-attention{display:flex;gap:10px;align-items:center;margin:0 0 var(--s-5);padding:12px 16px;border-radius:var(--r-2);background:var(--c-ok-soft);color:var(--c-ink);font-weight:600;font-size:var(--t-sm)}
.ac-attention--info{background:var(--c-surface-2)}
.ac-attention--info .ac-badge-forme{background:var(--c-ink-2)}
.ac-attention--attente{background:var(--c-attente-soft)}
.ac-attention--attente .ac-badge-forme{background:var(--ac-attente-forme)}

/* ---------- En-têtes de page, sous-navigation, filets ---------- */
.ac-entete{margin-bottom:var(--s-5)}
.ac-entete h1{font-size:var(--t-2xl);line-height:1.12;margin:0 0 var(--s-3)}
.ac-entete .lede{margin:0;color:var(--c-ink-2)}
.ac-entete-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4)}
.ac-sousnav,.ac-onglets,.ac-filtres{margin:0 0 var(--s-5);overflow-x:auto;scrollbar-width:none}
.ac-sousnav ul,.ac-onglets ul,.ac-filtres ul{display:flex;gap:var(--s-1);list-style:none;margin:0;padding:0;border-bottom:1px solid var(--c-line);min-width:max-content}
.ac-sousnav a,.ac-onglets a{display:inline-flex;align-items:center;min-height:var(--cible);padding:0 14px;color:var(--c-ink-2);text-decoration:none;font-weight:600;font-size:var(--t-sm);border-bottom:2px solid transparent;margin-bottom:-1px}
.ac-sousnav a[aria-current="page"],.ac-onglets a[aria-current="page"]{color:var(--c-ink);border-bottom-color:var(--ac-cuivre)}
.ac-filtres ul{border:0;gap:var(--s-2)}
.ac-filtres a{display:inline-flex;align-items:center;min-height:var(--cible);padding:0 16px;border:1px solid var(--c-line-2);border-radius:var(--r-pill);text-decoration:none;font-size:var(--t-sm);color:var(--c-ink-2)}
.ac-filtres a[aria-current="true"]{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-bg)}
.ac-filets{list-style:none;margin:0 0 var(--s-5);padding:0;border-top:1px solid var(--c-line)}
.ac-filet{border-bottom:1px solid var(--c-line)}
.ac-filet-lien{display:grid;gap:2px;padding:14px 4px;text-decoration:none!important;color:inherit!important}
.ac-filet-lien:hover .ac-filet-t{text-decoration:underline;text-underline-offset:3px}
.ac-filet-t{font-weight:600;color:var(--c-ink)}
.ac-filet-meta{font-size:var(--t-sm);color:var(--c-ink-3)}
.ac-filet-extrait{font-size:var(--t-sm);color:var(--c-ink-2);margin-top:4px}
.ac-filet-extrait mark,.ac-filet-t mark{background:var(--c-accent-soft);color:inherit;padding:0 2px;border-radius:2px;box-shadow:inset 0 -2px 0 var(--c-or)}
.ac-filet--ligne{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);padding:12px 4px;min-height:52px}
.ac-filet--ligne>:first-child{flex:1 1 12rem}
.ac-filet--ligne a{display:inline-flex;align-items:center;min-height:var(--cible)}
.ac-faits{display:grid;margin:0 0 var(--s-5);border-top:1px solid var(--c-line)}
.ac-faits>div{display:grid;grid-template-columns:minmax(9rem,14rem) 1fr;gap:var(--s-3);padding:14px 4px;border-bottom:1px solid var(--c-line);align-items:center}
.ac-faits dt{color:var(--c-ink-3);font-size:var(--t-sm)}
.ac-faits dd{margin:0;font-weight:600}
@media (max-width:519px){.ac-faits>div{grid-template-columns:1fr;gap:2px}}

/* ---------- Accueil membre : quatre blocs ---------- */
.ac-accueil-grille{display:grid;gap:var(--s-5);grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){.ac-accueil-grille{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"cont new" "obj new" "cert cert";align-items:start}
.ac-continuer{grid-area:cont}.ac-nouveautes,.ac-accueil-grille>section:nth-child(2){grid-area:new}.ac-accueil-grille>section:nth-child(3){grid-area:obj}.ac-accueil-grille>section:nth-child(4){grid-area:cert}}
.ac-accueil-bloc{background:var(--c-surface);border:1px solid var(--c-line);border-radius:16px;padding:var(--s-5)}
.ac-accueil-h{font:600 var(--t-xs)/1.2 var(--f-texte)!important;letter-spacing:.01em!important;color:var(--c-ink-3);margin:0 0 var(--s-4)!important}
/* Le bloc « Continuer » est la bande encre de la marque : la seule chose à faire en arrivant. */
.ac-continuer{background:var(--c-noir);border-color:#3a352f;color:var(--c-sur-encre);padding:var(--s-6) var(--s-5)}
.ac-continuer .ac-accueil-h{color:var(--c-or-clair)}
.ac-continuer-salut{margin:0;color:var(--c-sur-encre-2)}
.ac-continuer-lecon{margin:4px 0 6px;font:600 var(--t-xl)/1.15 var(--f-titre);letter-spacing:-.02em;text-wrap:balance}
.ac-continuer-lecon a{color:var(--c-sur-encre)!important;text-decoration:none;display:inline-block;padding:8px 0}
.ac-continuer-lecon a:hover{text-decoration:underline;text-decoration-color:var(--c-or)}
.ac-continuer-cours,.ac-continuer-txt{margin:0;color:var(--c-sur-encre-2);font-size:var(--t-sm)}
.ac-continuer-txt{margin-top:var(--s-3);color:var(--c-sur-encre);font-size:var(--t-base)}
.ac-continuer-prog{display:flex;align-items:center;gap:var(--s-3);margin:var(--s-3) 0 0;font-size:var(--t-sm);color:var(--c-sur-encre-2)}
.ac-continuer-prog progress{flex:1;max-width:16rem}
.ac-continuer-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-5)}
.ac-continuer .ac-btn--primaire{background:var(--c-or);border-color:var(--c-or);color:#121110!important;min-width:10rem;font-size:var(--t-base)}
.ac-continuer .ac-btn--primaire:hover{background:var(--c-or-clair);border-color:var(--c-or-clair)}
.ac-continuer .ac-btn--discret{color:var(--c-sur-encre-2)!important}.ac-nav .ac-btn--discret{color:var(--c-ink-2)!important}
/* Revue premium 05.10 : « Se déconnecter » dans la barre sombre etait a 2,04:1 (encre sur encre). */
.ac-continuer .ac-btn--discret:hover{background:#25221f;color:var(--c-sur-encre)!important}.ac-nav .ac-btn--discret:hover{background:rgb(28 27 25/.06);color:var(--c-ink)!important}
.ac-continuer :focus-visible{outline-color:var(--c-or-clair)}
.ac-nouveautes-total{font:600 var(--t-lg)/1.3 var(--f-titre);margin:0 0 var(--s-4);letter-spacing:-.01em}
.ac-nouveautes-liste{list-style:none;margin:0;padding:0}
.ac-nouveautes-f{padding:var(--s-4) 0;border-top:1px solid var(--c-line)}
.ac-nouveautes-f:last-child{padding-bottom:0}
.ac-nouveautes-f-tete{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px var(--s-3);align-items:baseline}
.ac-nouveautes-f h3{font-size:var(--t-base)!important;margin:0!important;letter-spacing:0!important}
.ac-nouveautes-f .ac-muted{margin:0}
.ac-nouveautes-c{margin:var(--s-2) 0 var(--s-3);padding-left:1.1em;color:var(--c-ink-2);font-size:var(--t-sm)}
.ac-nouveautes-c li{margin:2px 0}
.ac-nouveautes-c li::marker{color:var(--ac-cuivre)}
.ac-nouveautes-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.ac-a-jour{display:flex;gap:10px;align-items:center;margin:0;color:var(--c-ink-2)}
.ac-objectif-t{font:600 var(--t-md)/1.35 var(--f-titre);margin:0 0 4px}
.ac-objectif .ac-muted{margin:0 0 var(--s-4)}
.ac-certs{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ac-certs li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-4);padding:12px 0;border-top:1px solid var(--c-line)}
.ac-certs a{display:grid;gap:2px;text-decoration:none;min-height:var(--cible);align-content:center}
.ac-cert-t{font-weight:600}
.ac-cert-meta{font-size:var(--t-sm);color:var(--c-ink-3)}
.ac-cert-id{font-family:var(--f-mono);font-size:.8125rem;letter-spacing:.02em}
.ac-certs-note{margin:var(--s-3) 0 0}
@media (min-width:1024px){.ac-certs{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-6)}}

/* ---------- Lecteur : barre de lecture ---------- */
.ac-page--lecteur .ac-main{padding-top:0}
.ac-barre{position:sticky;top:0;z-index:30;background:var(--c-bg);border-bottom:1px solid var(--c-line)}
.ac-barre-rang{display:flex;align-items:center;gap:var(--s-2);max-width:var(--w);margin-inline:auto;padding:0 var(--gout);min-height:var(--ac-barre-h)}
.ac-barre-som{margin-left:-12px;min-width:var(--cible);flex:none;position:relative;margin-right:6px}
@media (min-width:768px){.ac-barre-som{box-shadow:1px 0 0 var(--c-line);border-radius:0}}
.ac-barre-fil{flex:1 1 auto;min-width:0;margin:0;display:flex;gap:8px;align-items:baseline;font-size:var(--t-sm);color:var(--c-ink-3);white-space:nowrap;overflow:hidden}
.ac-barre-cours{color:var(--c-ink-2)!important;font-weight:600;text-decoration:none;overflow:hidden;text-overflow:ellipsis;min-width:0;display:inline-block;line-height:var(--cible);min-height:var(--cible)}
.ac-barre-mod,.ac-barre-sep{flex:none}
.ac-barre-temps{margin:0;font-size:var(--t-sm);color:var(--c-ink-3);white-space:nowrap;flex:none}
.ac-barre-outils{display:flex;align-items:center;gap:2px;flex:none}
.ac-icone{padding-inline:10px;min-width:var(--cible)}
.ac-icone-lib{font-size:var(--t-sm)}
.ac-compte{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--c-surface-2);font-size:var(--t-xs);margin-left:2px;color:var(--c-ink)}
.ac-aa-glyphe{font:600 1.05rem/1 var(--f-titre);letter-spacing:-.02em}
.ac-quitter-focus{display:none}
.ac-barre-prog{display:block;width:100%;height:3px;border:0;background:var(--c-line);-webkit-appearance:none;appearance:none;margin:0}
.ac-barre-prog::-webkit-progress-bar{background:var(--c-line)}
.ac-barre-prog::-webkit-progress-value{background:var(--ac-cuivre)}
.ac-barre-prog::-moz-progress-bar{background:var(--ac-cuivre)}
.ac-barre>.ac-barre-prog{position:absolute;left:0;right:0;bottom:-1px}
@media (max-width:767px){.ac-barre-temps,.ac-barre-sep,.ac-barre-mod{display:none}.ac-icone-lib,.ac-barre-som span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ac-barre-som{padding-inline:10px}.ac-barre-fil{font-size:var(--t-xs)}}
@media (min-width:1200px){.ac-barre-som{display:none}}
progress{accent-color:var(--ac-cuivre)}

/* ---------- Lecteur : grille, sommaire, panneaux ---------- */
.ac-lecteur{max-width:var(--w);margin-inline:auto;padding:0 var(--gout)}
@media (min-width:1200px){.ac-lecteur{display:grid;grid-template-columns:17.5rem minmax(0,1fr);gap:var(--s-7)}}
.ac-sommaire{font-size:var(--t-sm)}
.ac-sommaire h2{font:600 var(--t-base)/1.3 var(--f-titre)!important;letter-spacing:-.01em!important;margin:0!important}
.ac-som-prog{margin:var(--s-2) 0 var(--s-4)}
.ac-som-prog .ac-muted{margin:0 0 6px}
.ac-som-liste,.ac-som-liste ol{list-style:none;margin:0;padding:0}
.ac-som-module{margin-bottom:var(--s-3)}
.ac-som-module-t{margin:var(--s-3) 0 var(--s-1);font-size:var(--t-xs);font-weight:600;letter-spacing:.01em;color:var(--c-ink-3)}
.ac-som-lecon a{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 8px;min-height:var(--cible);border-radius:var(--r-2);text-decoration:none;color:var(--c-ink-2)}
.ac-som-lecon a:hover{background:var(--c-surface-2);color:var(--c-ink)}
.ac-som-etat{width:12px;height:12px;margin-top:5px;border-radius:50%;border:1.5px solid var(--c-line-2)}
.ac-som-lecon.est-faite .ac-som-etat{background:var(--c-ok);border-color:var(--c-ok);position:relative}
.ac-som-lecon.est-faite .ac-som-etat::after{content:"";position:absolute;left:3px;top:1px;width:3px;height:6px;border:solid var(--c-bg);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.ac-som-lecon.est-courante a{background:var(--c-surface);color:var(--c-ink);font-weight:600;box-shadow:inset 3px 0 0 var(--ac-cuivre)}
.ac-som-lecon.est-courante .ac-som-etat{border-color:var(--ac-cuivre);border-width:3px}
.ac-som-meta{color:var(--c-ink-3);font-size:var(--t-xs);white-space:nowrap;padding-top:2px;font-weight:400}
.ac-som-impr{margin:var(--s-4) 0 0;font-size:var(--t-sm)}
.ac-som-impr a{display:inline-flex;align-items:center;min-height:var(--cible)}
.ac-panneau-tete{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-2)}
.ac-panneau-tete h2{font:600 var(--t-md)/1.3 var(--f-titre)!important;margin:0!important}
@media (min-width:1200px){
.ac-sommaire{position:sticky;top:calc(var(--ac-barre-h) + 8px);align-self:start;max-height:calc(100vh - var(--ac-barre-h) - 16px);overflow-y:auto;padding:var(--s-6) 4px var(--s-5) 0;scrollbar-width:thin}
.ac-som-fermer{display:none!important}}
/* Sous 1200 px, le sommaire et les notes sont des tiroirs ; ouverts sans JS par :target, avec JS par .est-ouvert. */
@media (max-width:1199px){
.ac-sommaire{position:fixed;inset:0 auto 0 0;z-index:60;width:min(22rem,88vw);background:var(--c-bg);padding:var(--s-4) var(--s-4) var(--s-6);overflow-y:auto;box-shadow:var(--ac-ombre);transform:translateX(-105%);visibility:hidden;transition:transform var(--m-base) var(--ease),visibility 0s linear var(--m-base)}
.ac-sommaire:target,.ac-sommaire.est-ouvert{transform:none;visibility:visible;transition:transform var(--m-base) var(--ease)}}
.ac-panneau{position:fixed;inset:0 0 0 auto;z-index:60;width:min(26rem,92vw);background:var(--c-bg);padding:var(--s-4) var(--s-4) var(--s-6);overflow-y:auto;box-shadow:var(--ac-ombre);transform:translateX(105%);visibility:hidden;transition:transform var(--m-base) var(--ease),visibility 0s linear var(--m-base)}
.ac-panneau:target,.ac-panneau.est-ouvert{transform:none;visibility:visible;transition:transform var(--m-base) var(--ease)}
.ac-voile{position:fixed;inset:0;z-index:55;background:rgba(18,17,16,.45)}
.ac-notes-liste{list-style:none;margin:0 0 var(--s-5);padding:0}
.ac-notes-liste li{padding:12px 0;border-bottom:1px solid var(--c-line)}
.ac-notes-liste p{margin:0}
.ac-note-genre{font-size:var(--t-xs);font-weight:600;letter-spacing:.01em;color:var(--c-ink-3)}
.ac-notes-liste blockquote{margin:6px 0;padding:2px 0 2px 12px;border-left:3px solid var(--c-or);color:var(--c-ink)}
.ac-note-form label{display:block;font-weight:600;font-size:var(--t-sm);margin-bottom:6px}
textarea,.ac-recherche input,select{width:100%;padding:10px 12px;border:1px solid var(--c-line-2);border-radius:var(--r-2);background:var(--c-surface);color:var(--c-ink);font:inherit;min-height:var(--cible)}
.ac-note-form-pied{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3)}

/* Réglages « Aa » : panneau ancré sous la barre (bureau), feuille au pouce (mobile). */
.ac-reglages{position:fixed;z-index:65;background:var(--c-surface);border:1px solid var(--c-line);box-shadow:var(--ac-ombre);padding:var(--s-4);overflow-y:auto}
@media (min-width:768px){.ac-reglages{top:calc(var(--ac-barre-h) + 8px);right:max(var(--gout),calc((100vw - var(--w)) / 2 + var(--gout)));width:24rem;max-height:calc(100vh - var(--ac-barre-h) - 24px);border-radius:var(--r-3)}}
@media (max-width:767px){.ac-reglages{left:0;right:0;bottom:0;max-height:82vh;border-radius:16px 16px 0 0;padding-bottom:calc(var(--s-5) + env(safe-area-inset-bottom))}}
.ac-reglage{border:0;margin:0 0 var(--s-4);padding:0}
.ac-reglage legend{font-size:var(--t-xs);font-weight:600;letter-spacing:.01em;color:var(--c-ink-3);margin-bottom:var(--s-2);padding:0}
.ac-segments{display:flex;border:1px solid var(--c-line-2);border-radius:var(--r-2);overflow:hidden}
.ac-segments label{flex:1;position:relative}
.ac-segments input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ac-segments span{display:flex;align-items:center;justify-content:center;min-height:var(--cible);padding:0 6px;font-size:var(--t-sm);font-weight:600;color:var(--c-ink-2);border-left:1px solid var(--c-line)}
.ac-segments label:first-child span{border-left:0}
.ac-segments input:checked+span{background:var(--c-ink);color:var(--c-bg)}
.ac-segments input:focus-visible+span{outline:3px solid var(--c-focus);outline-offset:-3px}
.ac-reglage .ac-segments label:nth-child(1) span{font-size:.8rem}.ac-reglage .ac-segments label:nth-child(3) span{font-size:1.05rem}.ac-reglage .ac-segments label:nth-child(4) span{font-size:1.2rem}
fieldset:has(input[name="ac-mode"]) .ac-segments span,fieldset:has(input[name="ac-theme"]) .ac-segments span,fieldset:has(input[name="ac-largeur"]) .ac-segments span{font-size:var(--t-sm)!important}
.ac-case{display:flex;align-items:center;gap:12px;min-height:var(--cible);cursor:pointer;font-size:var(--t-sm)}
.ac-case input{width:20px;height:20px;accent-color:var(--c-ink);flex:none;margin:0}

/* Barre de sélection (surligner, noter, signaler) */
.ac-selection{position:fixed;z-index:50;display:flex;gap:2px;white-space:nowrap;padding:4px;background:var(--c-noir);border-radius:var(--r-2);box-shadow:var(--ac-ombre)}
@media (max-width:767px){.ac-selection{left:50%!important;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%)}}
mark.ac-surligne{background:var(--c-accent-soft);color:inherit;box-shadow:inset 0 -2px 0 var(--c-or);border-radius:2px}

/* ---------- Lecteur : la leçon ---------- */
.ac-lecon{max-width:calc(var(--ac-mesure) + 2px);margin-inline:auto;padding:var(--s-6) 0 var(--s-6);outline:0;width:100%}

.ac-lecon-tete{margin-bottom:var(--s-6)}
.ac-lecon-sur{margin:0 0 var(--s-3);font-size:var(--t-sm);font-weight:600;color:var(--ac-cuivre)}
.ac-lecon h1{font-size:clamp(1.75rem,1.35rem + 1.8vw,2.625rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 var(--s-3);font-weight:650}
.ac-lecon-resume{font-size:calc(var(--ac-lecture) * 1.12);line-height:1.5;color:var(--c-ink-2);margin:0 0 var(--s-4)}
.ac-lecon-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);margin:0;font-size:var(--t-sm);color:var(--c-ink-3)}
.ac-lecon-corps{font-size:var(--ac-lecture);line-height:var(--ac-interligne);letter-spacing:var(--ac-lettre);word-spacing:var(--ac-mot)}
.ac-lecon-corps p{margin:0 0 var(--ac-espace-p)}
.ac-lecon-corps ul,.ac-lecon-corps ol{margin:0 0 var(--ac-espace-p);padding-left:1.35em}
.ac-lecon-corps li{margin:.3em 0;padding-left:.15em}
.ac-lecon-corps li::marker{color:var(--ac-cuivre);font-weight:600}
.ac-lecon-corps a{text-decoration-thickness:1px;text-underline-offset:.2em}
.ac-lecon-corps code{font-family:var(--f-mono);font-size:.88em;background:var(--ac-surface-code);padding:.1em .35em;border-radius:4px}
.ac-section{margin:0 0 var(--s-7);scroll-margin-top:calc(var(--ac-barre-h) + 16px)}
.ac-section>h2{font:650 calc(var(--ac-lecture) * 1.35)/1.2 var(--f-titre);letter-spacing:-.02em;margin:0 0 var(--s-4);padding-top:var(--s-5);border-top:1px solid var(--c-line);break-after:avoid}
.ac-section h3{font:600 calc(var(--ac-lecture) * 1.1)/1.3 var(--f-titre);letter-spacing:-.01em;margin:1.6em 0 .6em}
.ac-section>:last-child{margin-bottom:0}
/* Contrat de la leçon : objectif + savoir-faire réunis, lus avant tout le reste. */
.ac-cadre-objectif{background:var(--c-surface);border:1px solid var(--c-line);border-radius:16px;padding:var(--s-5);margin:0 0 var(--s-7);font-size:var(--ac-lecture);line-height:var(--ac-interligne)}
.ac-cadre-objectif .ac-section{margin:0}
.ac-cadre-objectif .ac-section+.ac-section{margin-top:var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--c-line)}
.ac-cadre-objectif .ac-section>h2{font:600 var(--t-xs)/1.2 var(--f-texte);letter-spacing:.01em;color:var(--ac-cuivre);border:0;padding:0;margin:0 0 var(--s-2)}
.ac-section--objectif:first-child p{font-size:calc(var(--ac-lecture) * 1.08);font-weight:500;color:var(--c-ink);margin:0}
.ac-cadre-objectif ul{list-style:none;padding:0;margin:0}
.ac-cadre-objectif li{position:relative;padding-left:1.75em;margin:.45em 0}
.ac-cadre-objectif li::before{content:"";position:absolute;left:.15em;top:.42em;width:.5em;height:.85em;border:solid var(--c-ok);border-width:0 2.5px 2.5px 0;transform:rotate(40deg)}
.ac-section--exemple{background:var(--c-surface-2);border-radius:16px;padding:var(--s-5)}
.ac-section--exemple>h2,.ac-section--exercice>h2{border:0;padding-top:0}
.ac-section--exercice{border:1.5px solid var(--c-ink);border-radius:16px;padding:var(--s-5)}
.ac-section--exercice>h2::before{content:"Exercice";display:block;font:600 var(--t-xs)/1.2 var(--f-texte);letter-spacing:.01em;color:var(--ac-cuivre);margin-bottom:6px}
.ac-section--exemple>h2::before{content:"Cas concret";display:block;font:600 var(--t-xs)/1.2 var(--f-texte);letter-spacing:.01em;color:var(--ac-cuivre);margin-bottom:6px}
/* À retenir : la bande encre de la marque, pour ce qu'on garde en tête. */
.ac-section--retenir{background:var(--c-noir);color:var(--c-sur-encre);border-radius:16px;padding:var(--s-5);border:1px solid #3a352f}
.ac-section--retenir>h2{border:0;padding-top:0;color:var(--c-or-clair);font-size:var(--t-xs);font-family:var(--f-texte);letter-spacing:.01em}
.ac-section--retenir ul{list-style:none;padding:0}
.ac-section--retenir li{padding:.5em 0 .5em 1.4em;position:relative;border-top:1px solid #34302b;margin:0;font-weight:500}
.ac-section--retenir li:first-child{border-top:0}
.ac-section--retenir code{background:#2e2a25;color:var(--c-sur-encre)}
.ac-section--retenir li::before{content:"";position:absolute;left:0;top:1.05em;width:.55em;height:2px;background:var(--c-or)}
.ac-section--retenir a{color:var(--c-sur-encre)}
.ac-section--sources{font-size:var(--t-sm);line-height:1.6;color:var(--c-ink-2)}
.ac-section--sources>h2{font-size:var(--t-base)}
.ac-section--sources ul{list-style:none;padding:0}
.ac-section--sources li>a{display:inline-flex;align-items:center;min-height:var(--cible,44px);overflow-wrap:anywhere}
.ac-section--sources li{padding:.4em 0;border-bottom:1px solid var(--c-line);margin:0}
.ac-lien-ext::after{content:"↗";font-size:.8em;margin-left:.2em;text-decoration:none;display:inline-block}

/* Marqueur de preuve : discret, mais toujours un vrai lien vers la source. */
.ac-preuve{font:600 .66em/1 var(--f-mono);letter-spacing:.02em;vertical-align:super;margin-left:.2em;color:var(--ac-cuivre)!important;text-decoration:none!important;border-bottom:1px dotted currentColor;padding:2px 1px;white-space:nowrap}
.ac-preuve:hover{border-bottom-style:solid}
.ac-preuve--verif{color:var(--c-attente)!important;background:var(--c-attente-soft);border-radius:3px;padding:2px 4px;border-bottom:0}

/* Bandeau « nouvelle vérification » (claims POSSIBLY_OUTDATED) */
.ac-verif{display:flex;gap:10px;align-items:flex-start;margin:0 0 var(--s-4);padding:10px 14px;background:var(--c-attente-soft);border-left:4px solid var(--ac-attente-forme);border-radius:0 var(--r-2) var(--r-2) 0;font-size:var(--t-sm);line-height:1.5;color:var(--c-ink)}
.ac-verif-forme{flex:none;width:13px;height:13px;margin-top:4px;border:2px dotted var(--c-attente);border-radius:50%}
.ac-verif--lecon{margin-top:var(--s-4)}

/* Encadrés : filet de couleur + forme + titre (jamais la couleur seule). */
.ac-encadre{margin:0 0 var(--ac-espace-p);padding:14px 18px;border-radius:0 var(--r-3) var(--r-3) 0;border-left:4px solid var(--c-ink-2);background:var(--c-surface-2);font-size:calc(var(--ac-lecture) * .96)}
.ac-encadre p:last-child,.ac-encadre ul:last-child{margin-bottom:0}
.ac-encadre-titre{display:flex;align-items:center;gap:10px;font-weight:650;margin:0 0 .4em!important;color:var(--c-ink)}
.ac-encadre-forme{flex:none;width:12px;height:12px;background:var(--c-ink-2)}
.ac-encadre--PIEGE{border-color:var(--ac-erreur-forme);background:var(--c-erreur-soft)}
.ac-encadre--PIEGE .ac-encadre-forme{background:var(--ac-erreur-forme);clip-path:polygon(50% 0,100% 100%,0 100%)}
.ac-encadre--ATTENTION{border-color:var(--ac-attente-forme);background:var(--c-attente-soft)}
.ac-encadre--ATTENTION .ac-encadre-forme{background:var(--ac-attente-forme);transform:rotate(45deg);width:10px;height:10px}
.ac-encadre--DONNEES{border-color:var(--c-ink);background:var(--c-surface);border-top:1px solid var(--c-line);border-right:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}
.ac-encadre--DONNEES .ac-encadre-forme{background:transparent;border:2px solid var(--c-ink);border-radius:50%;position:relative;width:14px;height:14px}
.ac-encadre--DONNEES .ac-encadre-forme::after{content:"";position:absolute;left:4px;top:-1px;width:2px;height:12px;background:var(--c-ink);transform:rotate(45deg)}
.ac-encadre--RETENIR,.ac-encadre--ASTUCE{border-color:var(--ac-ok-forme);background:var(--c-ok-soft)}
.ac-encadre--RETENIR .ac-encadre-forme,.ac-encadre--ASTUCE .ac-encadre-forme{background:var(--ac-ok-forme);border-radius:50%}
.ac-encadre--SUISSE{border-color:#d52b1e;background:var(--c-surface)}
.ac-encadre--SUISSE .ac-encadre-forme{background:#d52b1e;width:14px;height:14px;clip-path:polygon(38% 18%,62% 18%,62% 38%,82% 38%,82% 62%,62% 62%,62% 82%,38% 82%,38% 62%,18% 62%,18% 38%,38% 38%);background-clip:padding-box;box-shadow:inset 0 0 0 20px #d52b1e}
.ac-encadre--EXEMPLE .ac-encadre-forme{background:transparent;border:2px solid var(--c-ink-2)}

/* Tableaux : en-tête lisible, défilement horizontal propre, première colonne en titre de ligne. */
.ac-tableau{margin:0 0 var(--ac-espace-p);overflow-x:auto;border:1px solid var(--c-line);border-radius:var(--r-3);background:var(--c-surface)}
.ac-tableau table{width:100%;border-collapse:collapse;font-size:calc(var(--ac-lecture) * .9);line-height:1.45}
.ac-tableau th,.ac-tableau td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--c-line)}
.ac-tableau thead th{background:var(--c-surface-2);font-size:var(--t-xs);letter-spacing:.01em;color:var(--c-ink-2);font-weight:650;white-space:nowrap}
.ac-tableau tbody th{font-weight:600}
.ac-tableau tbody tr:last-child>*{border-bottom:0}
@media (max-width:519px){.ac-tableau table{min-width:30rem}}

/* Figures */
.ac-figure{margin:0 0 var(--ac-espace-p)}
.ac-figure img{display:block;width:100%;height:auto;border:1px solid var(--c-line);border-radius:var(--r-3);background:var(--c-surface)}
.ac-figure figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px var(--s-4);margin-top:8px;font-size:var(--t-sm);line-height:1.5;color:var(--c-ink-3)}
.ac-figure-interface{font-family:var(--f-mono);font-size:var(--t-xs);white-space:nowrap;color:var(--c-ink-3)}

/* Code */
.ac-code{margin:0 0 var(--ac-espace-p);padding:14px 16px;background:var(--ac-surface-code);border-radius:var(--r-3);overflow-x:auto;font:400 .875rem/1.6 var(--f-mono)}

/* Ressources : prompt, modèle, workflow, checklist */
.ac-ressource{margin:0 0 var(--ac-espace-p);border:1px solid var(--c-line-2);border-radius:16px;background:var(--c-surface);overflow:hidden;font-size:var(--t-base);line-height:1.6}
.ac-ressource-tete{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px var(--s-3);padding:14px 16px 12px 20px;border-bottom:1px solid var(--c-line)}
.ac-ressource-genre{grid-column:1;margin:0;font:600 var(--t-xs)/1.2 var(--f-mono);letter-spacing:.01em;color:var(--ac-cuivre)}
.ac-ressource-tete h3{grid-column:1;margin:0!important;font:600 var(--t-md)/1.3 var(--f-titre)!important}
.ac-ressource-actions{grid-column:2;grid-row:1/span 2;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
@media (max-width:519px){.ac-ressource-tete{grid-template-columns:1fr}.ac-ressource-actions{grid-column:1;grid-row:auto;justify-content:flex-start;margin-top:8px}}
.ac-ressource-texte{margin:0;padding:18px 20px;background:var(--ac-surface-code);font:400 .9375rem/1.65 var(--f-mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--c-ink);border-bottom:1px solid var(--c-line);outline-offset:-3px}
.ac-ressource-aide{margin:0;padding:6px 20px 8px;display:grid}
.ac-ressource-aide>div{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:var(--s-4);padding:10px 0;border-top:1px solid var(--c-line)}
.ac-ressource-aide>div:first-child{border-top:0}
.ac-ressource-aide dt{font-size:var(--t-sm);font-weight:600;color:var(--c-ink)}
.ac-ressource-aide dd{margin:0;font-size:var(--t-sm);color:var(--c-ink-2)}
@media (max-width:599px){.ac-ressource-aide>div{grid-template-columns:1fr;gap:2px}}
.ac-ressource-interdit{margin:0 20px 18px!important;font-size:var(--t-sm)}
.ac-ressource-interdit ul{margin:0;padding-left:1.2em}
.ac-copie-ok{color:var(--c-ok)!important;border-color:var(--c-ok)!important}

/* Quiz et questions */
.ac-quiz{margin:0 0 var(--s-5);padding:var(--s-4) var(--s-4) var(--s-3);border:1px solid var(--c-line);border-radius:16px;background:var(--c-surface);font-size:var(--t-base)}
.ac-quiz fieldset,.ac-q{border:0;margin:0;padding:0;min-width:0}
.ac-quiz legend,.ac-q legend{display:grid;gap:6px;padding:0;margin-bottom:var(--s-3);width:100%}
.ac-quiz-num{font-size:var(--t-xs);font-weight:600;letter-spacing:.01em;color:var(--c-ink-3)}
.ac-quiz-scenario{font-size:var(--t-sm);color:var(--c-ink-2);font-style:italic}
.ac-quiz-enonce{font-weight:600;font-size:var(--t-md);line-height:1.4}
.ac-quiz-aide{font-size:var(--t-sm);color:var(--c-ink-3)}
.ac-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0 0 8px;min-height:var(--cible);border:1px solid var(--c-line-2);border-radius:var(--r-2);cursor:pointer;line-height:1.45;background:var(--c-bg)}
.ac-option:hover{border-color:var(--c-ink)}
.ac-option input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--c-ink)}
.ac-option:has(input:checked){border-color:var(--c-ink);box-shadow:inset 0 0 0 1px var(--c-ink);background:var(--c-surface)}
.ac-option.est-juste{border-color:var(--c-ok);box-shadow:inset 0 0 0 1px var(--c-ok)}
.ac-option.est-juste::after{content:"Bonne réponse";margin-left:auto;font-size:var(--t-xs);font-weight:600;color:var(--c-ok);white-space:nowrap;padding-left:8px}
.ac-option.est-fausse{border-color:var(--c-erreur);box-shadow:inset 0 0 0 1px var(--c-erreur)}
.ac-option.est-fausse::after{content:"Pas celle-ci";margin-left:auto;font-size:var(--t-xs);font-weight:600;color:var(--c-erreur);white-space:nowrap;padding-left:8px}
.ac-quiz-pied{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);margin-top:var(--s-2)}
.ac-quiz-retour{margin:var(--s-3) 0 0;font-size:var(--t-sm);line-height:1.55}
.ac-quiz-retour:empty{margin:0}
.ac-quiz-retour p{margin:0 0 var(--s-2)}
.ac-quiz-retour[data-etat="info"]{padding:12px 14px;border:1px solid var(--c-line-2);border-left:4px solid var(--c-accent);border-radius:0 var(--r-2) var(--r-2) 0;background:var(--c-surface)}
.ac-quiz-fb{margin:0 0 var(--s-2);display:grid;gap:4px}
.ac-quiz-fb dt{font-weight:600;color:var(--c-ink);margin-top:6px}
.ac-quiz-fb dd{margin:0;color:var(--c-ink-2)}
.ac-quiz-retour a{display:inline-flex;align-items:center;min-height:var(--cible);font-weight:600}
/* Etats de lecon (vue / terminee / comprise) : texte visible, jamais la seule couleur. */
.ac-lecon-etat{margin:var(--s-2) 0 0;font-size:var(--t-sm);font-weight:600;color:var(--c-ink-2)}
.ac-som-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.ac-som-statut{font-weight:600;color:var(--c-ink-2)}
.ac-som-statut:empty{display:none}
.ac-som-lecon.est-comprise .ac-som-etat{box-shadow:0 0 0 2px var(--c-bg),0 0 0 3.5px var(--c-accent)}
.ac-som-legende{margin:var(--s-4) 0 0;font-size:var(--t-sm)}
.ac-som-legende summary{display:flex;align-items:center;min-height:var(--cible);cursor:pointer;font-weight:600;color:var(--c-ink-2)}
.ac-som-legende dl{margin:var(--s-2) 0 0;display:grid;gap:6px}
.ac-som-legende dt{font-weight:600;color:var(--c-ink)}
.ac-som-legende dd{margin:0;color:var(--c-ink-2)}
.ac-som-legende a{display:inline-flex;align-items:center;min-height:var(--cible)}
/* Resume de module (fin de module) */
.ac-rm{margin:var(--s-7) 0 0;padding:var(--s-5);border:1px solid var(--c-line-2);border-top:3px solid var(--c-accent);border-radius:0 0 16px 16px;background:var(--c-surface)}
.ac-rm-sur{margin:0 0 var(--s-1);font-size:var(--t-xs);font-weight:600;color:var(--c-ink-3)}
.ac-rm>h2{margin:0 0 var(--s-4);font:650 calc(var(--ac-lecture) * 1.25)/1.25 var(--f-titre);letter-spacing:-.015em}
.ac-rm-grille{display:grid;gap:var(--s-4)}
@media (min-width:760px){.ac-rm-grille{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}}
.ac-rm h3{margin:0 0 var(--s-2);font:600 var(--t-md)/1.3 var(--f-titre)}
.ac-rm ul{margin:0;padding-left:1.15em}
.ac-rm li{margin:0 0 6px}
.ac-rm-suite{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--c-line)}
.ac-rm-suite p{margin:0}
.ac-rm-suite a{display:inline-flex;align-items:center;min-height:var(--cible);font-weight:600}

/* Pied de leçon, signalement, navigation entre leçons */
.ac-lecon-pied{margin-top:var(--s-7);padding-top:var(--s-5);border-top:2px solid var(--c-ink)}
.ac-lecon-verif{margin:0 0 var(--s-4);font-size:var(--t-sm);color:var(--c-ink-2);font-variant-numeric:tabular-nums}
.ac-lecon-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-bottom:var(--s-4)}
@media (max-width:519px){.ac-lecon-actions .ac-form-action,.ac-lecon-actions .ac-form-action .ac-btn{width:100%}.ac-lecon-actions .ac-btn--discret{padding-inline:8px}}
.ac-signaler{border:1px solid var(--c-line);border-radius:var(--r-3);margin:0 0 var(--s-5);background:var(--c-surface)}
.ac-signaler summary{display:flex;align-items:center;min-height:var(--cible);padding:6px 16px;cursor:pointer;font-weight:600;font-size:var(--t-sm);color:var(--c-ink-2);list-style:none}
.ac-signaler summary::-webkit-details-marker{display:none}
.ac-signaler summary::before{content:"";width:8px;height:8px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(-45deg);margin-right:12px;transition:transform var(--m-rapide)}
.ac-signaler[open] summary::before{transform:rotate(45deg)}
.ac-signaler form{padding:0 16px 16px;display:grid;gap:8px}
.ac-signaler label{font-weight:600;font-size:var(--t-sm)}
.ac-signaler .ac-muted{margin:0}
.ac-signaler button{justify-self:start}
.ac-form-retour{margin:0;font-size:var(--t-sm);font-weight:600}
.ac-navlecons{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-5)}
.ac-navlecon{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--c-line);border-radius:var(--r-3);text-decoration:none!important;color:var(--c-ink)!important;min-height:64px;background:var(--c-surface);transition:border-color var(--m-rapide)}
.ac-navlecon:hover{border-color:var(--c-ink)}
.ac-navlecon--suiv{text-align:right;grid-column:2}
.ac-navlecon-dir{font-size:var(--t-xs);font-weight:600;letter-spacing:.01em;color:var(--c-ink-3)}
.ac-navlecon--prec .ac-navlecon-dir::before{content:"← "}
.ac-navlecon--suiv .ac-navlecon-dir::after{content:" →"}
.ac-navlecon-t{font-weight:600;line-height:1.35}
@media (max-width:519px){.ac-navlecons{grid-template-columns:1fr}.ac-navlecon--suiv{grid-column:1;grid-row:1}.ac-navlecons>span:empty{display:none}}

/* ---------- Modes de lecture ---------- */
html.ac[data-ac-mode="compact"]{--ac-interligne:1.55;--ac-espace-p:.75em}
html.ac[data-ac-mode="compact"] .ac-section{margin-bottom:var(--s-6)}
html.ac[data-ac-mode="compact"] .ac-cadre-objectif,html.ac[data-ac-mode="compact"] .ac-section--exemple,html.ac[data-ac-mode="compact"] .ac-section--exercice,html.ac[data-ac-mode="compact"] .ac-section--retenir{padding:var(--s-4)}
html.ac[data-ac-mode="compact"] .ac-lecon h1{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem)}
html.ac[data-ac-mode="compact"] .ac-lecon-tete{margin-bottom:var(--s-4)}
/* Focus : il ne reste que le texte et une sortie. */
html.ac[data-ac-mode="focus"] .ac-page--lecteur .ac-tete,html.ac[data-ac-mode="focus"] .ac-page--lecteur .ac-pied,html.ac[data-ac-mode="focus"] .ac-page--lecteur .ac-barre-fil,html.ac[data-ac-mode="focus"] .ac-page--lecteur .ac-barre-temps,html.ac[data-ac-mode="focus"] .ac-page--lecteur .ac-barre-som,html.ac[data-ac-mode="focus"] .ac-page--lecteur [data-favori],html.ac[data-ac-mode="focus"] .ac-page--lecteur [data-ouvrir-notes]{display:none!important}
html.ac[data-ac-mode="focus"] .ac-page--lecteur .ac-sommaire{display:none}
html.ac[data-ac-mode="focus"] .ac-page--lecteur .ac-lecteur{display:block}
html.ac[data-ac-mode="focus"] .ac-page--lecteur .ac-lecon{margin-inline:auto}
html.ac[data-ac-mode="focus"] .ac-page--lecteur .ac-quitter-focus{display:inline-flex}
html.ac[data-ac-mode="focus"] .ac-page--lecteur .ac-barre{border-bottom-color:transparent}
html.ac[data-ac-mode="focus"] .ac-page--lecteur .ac-barre-rang{justify-content:flex-end}

/* ---------- Quoi de neuf ---------- */
.ac-maj{margin:0 0 var(--s-7)}
.ac-maj-tete h2{font-size:var(--t-xl);margin:0 0 var(--s-2)}
.ac-maj-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--s-4);margin:0 0 var(--s-3);font-size:var(--t-sm);color:var(--c-ink-3)}
.ac-maj-raison{margin:0 0 var(--s-4);color:var(--c-ink-2)}
.ac-chgs{list-style:none;margin:0;padding:0;counter-reset:chg}
.ac-chg{border-top:1px solid var(--c-line);padding:var(--s-5) 0}
.ac-chg-t{font-size:var(--t-lg)!important;margin:0 0 var(--s-3)!important}
.ac-chg-dl{margin:0 0 var(--s-4);display:grid;gap:0}
.ac-chg-dl>div{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:var(--s-4);padding:8px 0}
.ac-chg-dl dt{font-size:var(--t-xs);font-weight:650;letter-spacing:.01em;color:var(--c-ink-3);padding-top:3px}
.ac-chg-dl dd{margin:0}
@media (max-width:599px){.ac-chg-dl>div{grid-template-columns:1fr;gap:2px}}
.ac-avant-apres{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin:0 0 var(--s-3)}
@media (max-width:599px){.ac-avant-apres{grid-template-columns:1fr}}
.ac-avant,.ac-apres{padding:12px 16px;border-radius:var(--r-3);border:1px solid var(--c-line)}
.ac-avant{background:var(--c-surface-2);color:var(--c-ink-2)}
.ac-avant p:last-child{text-decoration:line-through;text-decoration-color:var(--c-line-2);text-decoration-thickness:1px}
.ac-apres{background:var(--c-surface);border-color:var(--c-ok);box-shadow:inset 3px 0 0 var(--c-ok)}
.ac-avant p,.ac-apres p{margin:0}
.ac-aa-lib{font-size:var(--t-xs);font-weight:650;letter-spacing:.01em;color:var(--c-ink-3);margin-bottom:4px!important;text-decoration:none!important}
.ac-maj-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--c-line)}
.ac-corrections{margin:var(--s-7) 0;padding:var(--s-5);border:1px solid var(--c-erreur);border-radius:16px}
.ac-corrections h2{font-size:var(--t-lg);margin:0 0 var(--s-2)}
.ac-corrections ul{list-style:none;margin:var(--s-4) 0 0;padding:0}
.ac-correction{padding:var(--s-3) 0;border-top:1px solid var(--c-line)}
.ac-correction p{margin:0 0 6px}
.ac-correction-meta{display:flex;flex-wrap:wrap;gap:6px var(--s-3);align-items:center;font-size:var(--t-sm);color:var(--c-ink-3)}
.ac-renvoi-radar{margin-top:var(--s-6)}

/* ---------- Radar IA : une autre zone, impossible à confondre avec le cours ---------- */
.ac-radar{border:2px dashed var(--ac-radar);border-radius:16px;background:var(--ac-radar-soft);padding:var(--s-2) var(--s-5)}
.ac-radar-liste{list-style:none;margin:0;padding:0}
.ac-signal{padding:var(--s-5) 0;border-top:1px dashed var(--ac-radar)}
.ac-signal:first-child{border-top:0}
.ac-signal-tete{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--s-3);margin:0 0 var(--s-2);font-size:var(--t-sm);color:var(--c-ink-2)}
.ac-signal-t{font:600 var(--t-lg)/1.3 var(--f-texte)!important;letter-spacing:0!important;margin:0 0 var(--s-2)!important}
.ac-signal-raison,.ac-signal-source{margin:0 0 6px;font-size:var(--t-sm)}
.ac-signal-lib{font-weight:650}
.ac-signal-source a{overflow-wrap:anywhere}

/* ---------- Notes, recherche, compétences, compte ---------- */
.ac-notes-cours{margin-bottom:var(--s-6)}
.ac-notes-cours>h2{font-size:var(--t-lg);margin:0 0 var(--s-3)}
.ac-notes-lecon h3{font-size:var(--t-base)!important;margin:var(--s-4) 0 var(--s-2)!important}
.ac-notes-lecon h3 a{display:inline-flex;align-items:center;min-height:var(--cible)}
.ac-prompt-sauve{margin-bottom:var(--s-5)}
.ac-prompt-sauve>.ac-muted{margin:-8px 0 0 4px}
.ac-recherche{display:flex;gap:var(--s-2);margin:0 0 var(--s-5)}
.ac-recherche input{flex:1;min-height:48px;font-size:var(--t-base)}
.ac-recherche .ac-btn{min-height:48px}
@media (max-width:519px){.ac-recherche{flex-direction:column}}
.ac-comp-synthese{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);margin:0 0 var(--s-5);padding:var(--s-4) var(--s-5);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-3)}
.ac-comp-synthese p{margin:0}
.ac-comp-synthese strong{font-size:var(--t-lg)}
.ac-comps{list-style:none;margin:0 0 var(--s-6);padding:0;border-top:1px solid var(--c-line)}
.ac-comp{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px var(--s-4);align-items:center;padding:14px 4px;border-bottom:1px solid var(--c-line)}
.ac-comp-t{font-weight:600}
.ac-comp-niv{grid-column:1/-1;font-size:var(--t-sm);color:var(--c-ink-3)}
@media (min-width:768px){.ac-comp{grid-template-columns:minmax(0,1fr) auto 17rem}.ac-comp-niv{grid-column:auto}}
.ac-points{display:inline-flex;gap:5px}
.ac-point{width:13px;height:13px;border-radius:50%;border:1.5px solid var(--c-line-2)}
.ac-point.est-plein{background:var(--ac-cuivre);border-color:var(--ac-cuivre)}
.ac-legende{padding:var(--s-5);background:var(--c-surface-2);border-radius:var(--r-3)}
.ac-legende h2{font-size:var(--t-base);margin:0 0 var(--s-3)}
.ac-legende ol{list-style:none;margin:0 0 var(--s-3);padding:0;display:grid;gap:8px}
.ac-legende li{display:flex;gap:var(--s-3);align-items:center;font-size:var(--t-sm)}
.ac-legende .ac-muted{margin:0}
.ac-abo-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0 0 var(--s-6)}
.ac-abo-factures h2,.ac-abo-annuler h2,.ac-donnees h2{font-size:var(--t-lg);margin:0 0 var(--s-3)}
.ac-abo-annuler,.ac-donnees{padding:var(--s-5) 0;border-top:1px solid var(--c-line)}
.ac-abo-annuler p,.ac-donnees p{color:var(--c-ink-2);max-width:40rem}
.ac-abo-annuler .ac-form-action{display:grid;gap:var(--s-3);max-width:26rem;margin:0}
.ac-abo-annuler .ac-form-action .ac-btn{justify-self:start}
.ac-facultatif{font-weight:400;color:var(--c-ink-2)}
.ac-session{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-4);padding:12px 4px}
.ac-session p{margin:0}
.ac-form-suppr{display:grid;gap:var(--s-3);justify-items:start}

/* ---------- Démarrage, bienvenue, examen ---------- */
.ac-demarrage{display:grid;gap:var(--s-6)}
.ac-q legend{font-weight:650;font-size:var(--t-md)}
.ac-q-options{display:grid;gap:0}
.ac-demarrage-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.ac-reco{margin:0 0 var(--s-7);padding:var(--s-5);border:1.5px solid var(--c-ink);border-radius:16px;outline:0}
.ac-reco h2{font-size:var(--t-xl);margin:0 0 var(--s-4)}
.ac-reco-liste .ac-filet-lien{grid-template-columns:2rem 1fr;column-gap:var(--s-3)}
.ac-reco-num{grid-row:span 2;font:650 var(--t-lg)/1 var(--f-titre);color:var(--ac-cuivre)}
.ac-bienvenue{max-width:40rem;padding-block:clamp(48px,10vw,120px);text-align:left}
.ac-bienvenue h1{font-size:var(--t-3xl);line-height:1.05;letter-spacing:-.035em;margin:0 0 var(--s-4)}
.ac-bienvenue .ac-btn{min-width:12rem;font-size:var(--t-base);margin-top:var(--s-5)}
.ac-bienvenue-signe{width:48px;height:3px;background:var(--c-or);margin:0 0 var(--s-5)}
.ac-exam-prog{position:sticky;top:0;z-index:20;background:var(--c-bg);padding:var(--s-2) 0;display:flex;align-items:center;gap:var(--s-3);border-bottom:1px solid var(--c-line);margin-bottom:var(--s-4)}
.ac-exam-prog progress{flex:1}
.ac-exam-prog p{margin:0;font-size:var(--t-sm);font-weight:600;white-space:nowrap}
.ac-exq{padding:var(--s-5) 0;border-top:1px solid var(--c-line)!important}
.ac-examen.est-pagine .ac-exq{border-top:0!important;padding-top:var(--s-2)}
.ac-exam-nav{display:flex;justify-content:space-between;gap:var(--s-2);margin:var(--s-3) 0}
.ac-exam-fin{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);margin-top:var(--s-5);padding-top:var(--s-4);border-top:2px solid var(--c-ink)}
.ac-exam-fin .ac-muted{margin:0;flex:1 1 12rem}
.ac-score{font-size:var(--t-lg);margin:0}
.ac-score strong{font:650 var(--t-3xl)/1 var(--f-titre);letter-spacing:-.03em;margin-right:var(--s-2)}
.ac-cert-obtenu{margin:0 0 var(--s-6);padding:var(--s-5);background:var(--c-noir);color:var(--c-sur-encre);border-radius:16px}
.ac-cert-obtenu p{margin:0 0 var(--s-3)}
.ac-cert-obtenu .ac-muted{color:var(--c-sur-encre-2);margin:var(--s-3) 0 0}
.ac-cert-obtenu .ac-btn--primaire{background:var(--c-or);border-color:var(--c-or);color:#121110!important}
.ac-resultat section{margin-bottom:var(--s-6)}
.ac-resultat h2{font-size:var(--t-lg)}
.ac-reserve{padding-block:var(--s-7)}
.ac-reserve-actions,.ac-resultat-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-5)}

/* ---------- Pied ---------- */
.ac-pied .pied-bas a{color:var(--c-sur-encre-2);display:inline-flex;align-items:center;min-height:var(--cible)}

/* ---------- Mouvement ---------- */
@media (prefers-reduced-motion:reduce){.ac-page *,.ac-page *::before,.ac-page *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Barres de progression : piste discrète, remplissage cuivre (or sur la bande encre). */
.ac-page progress:not(.ac-barre-prog){-webkit-appearance:none;appearance:none;height:6px;border:0;border-radius:3px;background:var(--c-line);overflow:hidden}
.ac-page progress:not(.ac-barre-prog)::-webkit-progress-bar{background:var(--c-line);border-radius:3px}
.ac-page progress:not(.ac-barre-prog)::-webkit-progress-value{background:var(--ac-cuivre);border-radius:3px}
.ac-page progress:not(.ac-barre-prog)::-moz-progress-bar{background:var(--ac-cuivre)}
.ac-continuer progress{background:#34302b!important}
.ac-continuer progress::-webkit-progress-bar{background:#34302b!important}
.ac-continuer progress::-webkit-progress-value{background:var(--c-or)!important}
.ac-continuer progress::-moz-progress-bar{background:var(--c-or)!important}
.ac-pied .pied-bas{align-items:center}
.ac-pied{border-top:1px solid var(--c-line)}
.ac-signal-source a{display:inline-block;padding:12px 0;margin:-12px 0}
@media (max-width:519px){.ac-accueil-bloc{padding:var(--s-4)}.ac-continuer{padding:var(--s-5) var(--s-4)}}
@media (forced-colors:active){.ac-badge-forme,.ac-encadre-forme,.ac-point.est-plein,.ac-som-etat{forced-color-adjust:none;background:CanvasText}}
/* Connexion, code, lien, messages, bienvenue apres paiement (academie/comptes/vues.js) : meme coquille que l espace membre */
.ac-auth{max-width:32rem}
.ac-auth .ac-entete h1{font-size:var(--t-2xl);line-height:1.1;letter-spacing:-.025em}
.ac-auth-form{display:grid;gap:var(--s-4);margin:0 0 var(--s-5);padding:var(--s-5);border:1px solid var(--c-line-2);border-radius:16px;background:var(--c-surface)}
.ac-auth-form .ac-btn{width:100%;font-size:var(--t-base)}
.ac-champ{display:grid;gap:6px}
.ac-champ label,.ac-auth label{font-weight:600}
.ac-champ input,.ac-auth input:not([type=hidden]):not([type=checkbox]):not([type=radio]){width:100%;min-height:var(--cible);padding:10px 12px;border:1px solid var(--c-line-2);border-radius:var(--r-2);background:var(--c-bg);color:var(--c-ink);font:inherit}
.ac-auth-aide{margin:0 0 var(--s-3);font-size:var(--t-sm)}
.ac-auth-aide a{color:var(--c-ink);text-underline-offset:3px}
.acad-erreur{color:var(--c-ink)}
.ac-auth .ac-attention .ac-badge-forme{flex:0 0 auto}
@media (max-width:519px){.ac-auth-form{padding:var(--s-4)}}
/* Accueil membre : l offre active et ses formations, en tete */
.ac-accueil-offre{margin:var(--s-5) 0 0;padding:var(--s-4) var(--s-5);border:1px solid var(--c-line-2);border-radius:16px;background:var(--c-surface)}
.ac-accueil-offre-t{margin:0 0 var(--s-2);font-size:var(--t-sm)}
.ac-accueil-offre-liste{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin:0;padding:0;list-style:none}
.ac-accueil-offre-liste a{display:inline-block;padding:11px 0;color:var(--c-ink);font-weight:600;text-underline-offset:3px}

/* « Faites-le avec moi » (bloc SLF {{etapes:id}}) : une marche à suivre, une action par ligne, cochée au pouce.
   Une carte, parce que c'est un outil qu'on manipule (comme une ressource), pas un texte qu'on lit. */
.ac-etapes-bloc{margin:0 0 var(--s-6);border:1px solid var(--c-line-2);border-top:3px solid var(--c-or);border-radius:16px;background:var(--c-surface);overflow:hidden;font-size:var(--t-base);line-height:1.6}
.ac-etapes-tete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s-2) var(--s-4);padding:16px 20px 0}
.ac-etapes-sur{margin:0 0 2px!important;font:600 var(--t-xs)/1.2 var(--f-mono);letter-spacing:.01em;color:var(--c-accent)}
.ac-etapes-tete h3{margin:0!important;font:600 var(--t-md)/1.3 var(--f-titre)!important;border:0!important;padding:0!important}
.ac-mode-expert{min-height:44px;border:1px solid var(--c-line-2)!important;border-radius:var(--r-pill)!important;padding:0 16px!important;font:600 var(--t-sm)/1 var(--f-texte);background:transparent;color:var(--c-ink-2);cursor:pointer}
.ac-mode-expert[aria-pressed="true"]{background:var(--c-ink);border-color:var(--c-ink)!important;color:var(--c-bg)!important}
.ac-etapes-etat{display:flex;align-items:center;gap:var(--s-3);padding:12px 20px 4px}
.ac-etapes-prog{flex:1 1 auto;height:6px;border:0;border-radius:99px;background:var(--c-surface-2);overflow:hidden;appearance:none;-webkit-appearance:none}
.ac-etapes-prog::-webkit-progress-bar{background:var(--c-surface-2);border-radius:99px}
.ac-etapes-prog::-webkit-progress-value{background:var(--c-ok);border-radius:99px;transition:width var(--m-base) var(--ease)}
.ac-etapes-prog::-moz-progress-bar{background:var(--c-ok);border-radius:99px}
.ac-etapes-compte{margin:0!important;flex:none;font-size:var(--t-sm);color:var(--c-ink-3);font-variant-numeric:tabular-nums}
.ac-etapes-liste{list-style:none;margin:0!important;padding:4px 0 0!important}
.ac-etape{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:4px 14px;align-items:start;padding:14px 20px!important;margin:0!important;border-top:1px solid var(--c-line)}
.ac-etape::before{content:none!important}
.ac-etape:first-child{border-top:0}
.ac-etape-num{display:grid;place-items:center;width:28px;height:28px;margin-top:1px;border:1.5px solid var(--c-ink-3);border-radius:50%;font:700 var(--t-sm)/1 var(--f-texte);color:var(--c-ink-2);position:relative;transition:background var(--m-base) var(--ease),border-color var(--m-base),color var(--m-base)}
.ac-etape-texte{margin:2px 0 0!important}
.ac-etape.est-faite .ac-etape-num{background:var(--c-ok);border-color:var(--c-ok);color:transparent}
.ac-etape.est-faite .ac-etape-num::after{content:"";position:absolute;left:9px;top:5px;width:6px;height:11px;border:solid var(--c-surface);border-width:0 2.5px 2.5px 0;transform:rotate(40deg)}
.ac-etape.est-faite .ac-etape-texte{color:var(--c-ink-2)}
.ac-etape-fait{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 14px 0 12px;border:1px solid var(--c-line-2);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);font:600 var(--t-sm)/1 var(--f-texte);cursor:pointer;transition:background var(--m-rapide) var(--ease),border-color var(--m-rapide),color var(--m-rapide)}
.ac-etape-fait:hover{border-color:var(--c-ink)}
.ac-etape-case{width:16px;height:16px;border:1.5px solid var(--c-ink-3);border-radius:4px;flex:none;position:relative}
.ac-etape-fait[aria-pressed="true"]{background:var(--c-ok-soft);border-color:var(--c-ok);color:var(--c-ok)}
.ac-etape-fait[aria-pressed="true"] .ac-etape-case{background:var(--c-ok);border-color:var(--c-ok)}
.ac-etape-fait[aria-pressed="true"] .ac-etape-case::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--c-surface);border-width:0 2px 2px 0;transform:rotate(40deg)}
@media (max-width:519px){.ac-etape{grid-template-columns:28px minmax(0,1fr);padding:14px 16px!important}.ac-etape-fait{grid-column:2;justify-self:start;margin-top:6px}.ac-etapes-tete,.ac-etapes-etat{padding-inline:16px}}
.ac-expert{margin:8px 0 0;border-left:2px solid var(--c-line-2);padding-left:12px}
.ac-expert summary{display:inline-flex;align-items:center;min-height:44px;font-size:var(--t-sm);font-weight:600;color:var(--c-accent);cursor:pointer;list-style:none}
.ac-expert summary::-webkit-details-marker{display:none}
.ac-expert summary::before{content:"";width:7px;height:7px;margin-right:10px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(-45deg);transition:transform var(--m-base) var(--ease)}
.ac-expert[open] summary::before{transform:rotate(45deg)}
.ac-expert-corps p{margin:0 0 8px!important;font-size:var(--t-sm);color:var(--c-ink-2)}
.ac-etapes-fin{display:flex;align-items:center;gap:10px;margin:0!important;padding:14px 20px;background:var(--c-ok-soft);color:var(--c-ok);font-weight:700;border-top:1px solid var(--c-line)}
.ac-etapes-fin>span{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c-ok);flex:none}
.ac-etapes-note{margin:0!important;padding:10px 20px 14px;font-size:var(--t-xs);color:var(--c-ink-3)}
@media (prefers-reduced-motion:reduce){.ac-etape-num,.ac-etape-fait,.ac-expert summary::before{transition:none}}
@media print{.ac-etape-fait,.ac-mode-expert,.ac-etapes-note,.ac-etapes-etat{display:none!important}.ac-etape-num{border-radius:4px}.ac-expert{border:0}}

/* ---------- DA 3.0 « institution numérique » (21.10.2026, docs/design/DA-3.0.md §6) ----------
   Remplace la couche nuit-bois. Une seule identité avec les pages publiques (vitrine.css, da-cinema.css) :
   - en-tête graphite partout (lecteur compris), titres en grotesque d affichage, aucun surtitre en capitales ;
   - SALLES de l espace membre (Ma bibliothèque, notes, recherche, compétences, compte, nouveautés, radar, démarrage)
     en graphite, accent sarcelle pour les repères, commande principale champagne ;
   - le lecteur, l examen et la page réservée gardent le PAPIER de lecture (thème choisi par l abonné, clair par défaut),
     accent sarcelle foncé #0f6e64 (5,9:1 sur le papier). */
html.ac{--f-affiche:var(--f-titre)}
.ac-page :is(h1,h2,h3){font-family:var(--f-titre);letter-spacing:-.022em}
.ac-page h1{font-weight:640;letter-spacing:-.032em;text-wrap:balance}
.ac-page .tete{--c-ink:#f2efe9;--c-ink-2:#d4d6db;--c-ink-3:#a9b0ba;--c-line:#2a3039;--c-or:#7dd8cb;--c-focus:#e6c07f;background:#0f1216;border-bottom:1px solid #2a3039;color:#f2efe9;color-scheme:dark}
.ac-page .tete .ac-nav a:hover{background:#ffffff12}.ac-page .tete :is(.marque-mot,.marque-s){filter:none}
.ac-marque-academy{color:#7dd8cb}
body.ac-page:not(.ac-page--lecteur):not(.ac-page--examen):not(.ac-page--reserve){color-scheme:dark;--c-bg:#0e1013;--c-surface:#151920;--c-surface-2:#1b2027;--c-ink:#f2efe9;--c-ink-2:#d4d6db;--c-ink-3:#a9b0ba;--c-line:#2a3039;--c-line-2:#5a6472;--c-encre:#e6c07f;--c-encre-2:#f3dcae;--c-sur-encre:#f2efe9;--c-sur-encre-2:#a9b0ba;--c-noir:#08090b;--c-accent:#7dd8cb;--c-accent-2:#a5e6dc;--c-accent-soft:#16302d;--c-or:#e6c07f;--c-or-clair:#e6c07f;--c-ok:#9fd8a8;--c-ok-soft:#18271d;--c-attente:#e6c07f;--c-attente-soft:#26241f;--c-erreur:#ff9f8f;--c-erreur-soft:#3a1d19;--c-focus:#e6c07f;--ac-radar:#e6c07f;--ac-radar-soft:#26241f;--ac-surface-code:#1b2027;--ac-ombre:0 14px 20px -10px #000;background:radial-gradient(60% 380px at 50% 0,#1a222c,#0000 70%),#0e1013;color:var(--c-ink)}
body.ac-page:not(.ac-page--lecteur):not(.ac-page--examen):not(.ac-page--reserve) .btn{color:#111315!important}
body.ac-page:not(.ac-page--lecteur):not(.ac-page--examen):not(.ac-page--reserve) :is(.btn--secondaire,.btn--discret){color:var(--c-ink)!important}
body.ac-page:not(.ac-page--lecteur):not(.ac-page--examen):not(.ac-page--reserve) .ac-continuer{background:#151920;border-color:#2a3039;border-top:2px solid #7dd8cb}


.ac-lex{position:relative;text-decoration:underline dotted var(--c-accent) 2px;text-underline-offset:.22em;cursor:help}
.ac-lex-def{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:max-content;max-width:min(34ch,80vw);padding:10px 12px;border-radius:var(--r-3);background:var(--c-encre);color:var(--c-sur-encre);font-size:.9375rem;font-weight:400;line-height:1.45;box-shadow:var(--ac-ombre)}
.ac-lex:hover .ac-lex-def,.ac-lex:focus .ac-lex-def{display:block}
@media (max-width:640px){.ac-lecon-corps :is(p,li,dd,td):has(.ac-lex){position:relative}.ac-lex{position:static}.ac-lex-def{right:0;top:auto;width:auto;max-width:none;margin-top:.35em}}
.ac-lexique{margin:24px 0;padding:12px 18px;border:1px solid var(--c-line);border-radius:var(--r-3);background:var(--c-surface)}
.ac-lexique summary{cursor:pointer;font-weight:600;padding:10px 0}
.ac-lexique dl>div{padding:8px 0;border-top:1px solid var(--c-line)}.ac-lexique dt{font-weight:600}.ac-lexique dd{margin:2px 0 0}
