/* Ressources publiques (24/10/2026) : lecture sans script, sans dépendre de la
   coquille du simulateur. La page et sa place sont présentes dès le HTML. */
@font-face{font-family:Atkinson;src:url('../assets/polices/atkinson-hyperlegible-next-latin-wght-normal.woff2') format('woff2');font-display:swap;font-weight:200 800}
:root{color-scheme:light dark;--fond:#f7f8fa;--carte:#fff;--texte:#182330;--second:#4f5d6b;--bord:#d7dfe5;--lien:#244f87;--bouton:#172d43;--sur-bouton:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--fond);color:var(--texte);font:18px/1.7 Atkinson,system-ui,sans-serif}a{color:var(--lien);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--lien);outline-offset:5px;border-radius:3px}
.eviter{position:absolute;left:20px;top:-100px;background:var(--carte);padding:12px;z-index:2}.eviter:focus{top:10px}
header,main,footer{max-width:1080px;margin:auto;padding:24px 28px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--bord)}.marque{display:flex;align-items:center;gap:12px;color:var(--texte);font-weight:750;text-decoration:none}.marque img{width:38px;height:38px}header nav{display:flex;flex-wrap:wrap;gap:20px;font-size:16px}
main{max-width:860px;padding-top:40px;padding-bottom:60px}.fil{font-size:15px;color:var(--second);margin-bottom:32px}.sur{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:750;color:var(--second)}h1{font-size:clamp(2.1rem,5vw,3.6rem);letter-spacing:-.035em;line-height:1.12;margin:16px 0 24px}h2{font-size:1.6rem;line-height:1.25;letter-spacing:-.02em;margin-top:44px}h3{font-size:1.2rem;line-height:1.35}.intro{font-size:1.22rem;line-height:1.65}.date,.note{font-size:15px;color:var(--second)}p,ul,ol{margin:20px 0}li+li{margin-top:10px}.encadre{border:1px solid var(--bord);border-radius:14px;background:var(--carte);padding:24px;margin:32px 0}.encadre h2,.encadre h3{margin-top:0}.action{display:inline-block;background:var(--bouton);color:var(--sur-bouton);padding:12px 20px;border-radius:8px;font-weight:700;text-decoration:none}.cartes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.cartes a{display:block;border:1px solid var(--bord);background:var(--carte);padding:22px;border-radius:12px;text-decoration:none}.cartes strong{display:block;font-size:1.16rem;line-height:1.35}.cartes span{display:block;color:var(--second);font-size:16px;margin-top:10px}.alphabet{width:100%;border-collapse:collapse}.alphabet caption{text-align:left;font-weight:700;margin:16px 0}.alphabet th,.alphabet td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--bord)}.alphabet th{background:var(--carte)}footer{font-size:15px;color:var(--second);border-top:1px solid var(--bord)}footer nav{display:flex;flex-wrap:wrap;gap:20px}footer p{max-width:800px}
@media(prefers-color-scheme:dark){:root{--fond:#10171e;--carte:#19232d;--texte:#edf2f7;--second:#b9c7d4;--bord:#364657;--lien:#a5caff;--bouton:#dceafa;--sur-bouton:#142637}}
@media(max-width:600px){header,main,footer{padding-left:20px;padding-right:20px}header{align-items:flex-start;flex-direction:column;gap:12px}main{padding-top:24px}.cartes{grid-template-columns:1fr}.intro{font-size:1.1rem}.encadre{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Les exercices publics restent lisibles sans script. Seule la correction se
   déplie : aucun champ, aucune collecte et aucune notation automatique. */
.exercice-libre{margin:24px 0;padding:20px 24px;background:var(--carte);border:1px solid var(--bord);border-radius:12px}.exercice-libre h3{margin-top:0}.exercice-libre .exemple-radio{padding-left:16px}.exercice-libre details{border-top:1px solid var(--bord)}.exercice-libre summary{cursor:pointer;padding:14px 4px;font-weight:650;line-height:1.5}.exercice-libre summary:focus-visible{outline:3px solid var(--lien);outline-offset:3px}.exercice-libre details[open] summary{color:var(--lien)}
@media(max-width:600px){.exercice-libre{padding:16px}}

/* Réponses repliées : lecture à la demande, sans script ni changement de page.
   Le marqueur natif et Entrée/Espace restent disponibles au clavier. */
.questions{margin-top:44px}.questions details{border-top:1px solid var(--bord)}.questions details:last-child{border-bottom:1px solid var(--bord)}.questions summary{padding:18px 4px;cursor:pointer;font-weight:650;line-height:1.5}.questions summary:focus-visible{outline:3px solid var(--lien);outline-offset:3px}.questions details[open] summary{color:var(--lien)}.reponse{padding:0 4px 6px}.reponse p:first-child{margin-top:0}.exemple-radio{background:var(--carte);border-left:3px solid var(--bord);padding:16px 20px;border-radius:0 8px 8px 0}.exemple-radio dt{font-size:14px;color:var(--second);font-weight:650}.exemple-radio dd{margin:6px 0 16px;font-size:1.05rem}.exemple-radio dd:last-child{margin-bottom:0}
