:root{--fond:#fbf7ee;--carte:#fffdf8;--texte:#1f2a44;--texte-doux:#5a5546;--bordure:#e6dcc6;--principal:#24427a;--principal-clair:#ebeef4;--accent:#c2541b;--surligneur:#fcd9a8;--succes:#2e6b2b;--succes-clair:#e3f0e1;--erreur:#b23a2e;--erreur-clair:#f8e4df;--rayon:12px;--ombre:0 1px 2px rgba(60,45,20,0.05),0 4px 14px rgba(60,45,20,0.05);--police-titres:var(--police-serif),Georgia,"Times New Roman",serif}*{box-sizing:border-box}body{margin:0;background:var(--fond);color:var(--texte);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.6}a{color:var(--principal);text-decoration:none}.conteneur{max-width:960px;margin:0 auto;padding:0 16px}main.conteneur{padding-top:32px;padding-bottom:64px;min-height:70vh}h1{font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.2;margin:0 0 12px}h2{font-size:1.6rem;margin:0 0 8px}h3{font-size:1.15rem;margin:0 0 6px}h1,h2,h3{font-family:var(--police-titres);font-weight:600}.intro{color:var(--texte-doux);font-size:1.1rem;margin:0 0 24px}.surtitre{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;margin:0 0 8px}.entete{background:var(--carte);border-bottom:1px solid var(--bordure);position:-webkit-sticky;position:sticky;top:0;z-index:10}.entete-contenu{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{font-family:var(--police-titres);font-size:1.5rem;font-weight:700;color:var(--texte)}.logo span{color:var(--accent)}nav{display:flex;align-items:center;gap:20px}nav a{color:var(--texte);font-weight:500}.pied{border-top:1px solid var(--bordure);color:var(--texte-doux);font-size:.9rem;padding:24px 0}.bouton{display:inline-block;border:none;cursor:pointer;font:inherit;font-weight:600;background:var(--principal);color:white;padding:10px 20px;border-radius:10px;transition:transform .1s,opacity .1s}.bouton:hover{transform:translateY(-1px)}.bouton:disabled{opacity:.4;cursor:not-allowed;transform:none}.bouton.secondaire{background:var(--principal-clair);color:var(--principal)}.bouton.petit{padding:6px 14px;font-size:.9rem}.bouton.grand{padding:14px 28px;font-size:1.05rem}.carte{background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon);box-shadow:var(--ombre);padding:24px}.hero{text-align:center;padding:40px 0 48px}.hero h1{font-size:clamp(2.2rem,6vw,3.4rem)}.accent{background:linear-gradient(transparent 12%,var(--surligneur) 12%,var(--surligneur) 88%,transparent 88%);padding:0 4px}.hero .intro{max-width:620px;margin:0 auto 28px}.hero-actions{gap:12px}.chiffres,.hero-actions{display:flex;justify-content:center;flex-wrap:wrap}.chiffres{list-style:none;padding:0;margin:36px 0 0;gap:32px;color:var(--texte-doux)}.chiffres strong{display:block;font-size:1.8rem;color:var(--texte)}.atouts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px;margin-bottom:64px}.atouts p{color:var(--texte-doux);margin:0}.icone{font-size:1.8rem;margin-bottom:8px}.tarifs{text-align:center}.grille-tarifs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:20px;gap:20px;max-width:640px;margin:0 auto}.tarif{position:relative;text-align:left}.tarif ul{padding-left:20px;color:var(--texte-doux);margin:0 0 20px}.prix{font-size:2.2rem;font-weight:800;margin:4px 0 16px}.prix span{font-size:1rem;font-weight:500;color:var(--texte-doux)}.mis-en-avant{border:2px solid var(--principal)}.badge{position:absolute;top:-12px;right:20px;margin:0;background:var(--accent);color:white;font-size:.8rem;font-weight:700;padding:2px 12px;border-radius:999px}.grille-chapitres{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.chapitre{color:var(--texte);transition:border-color .15s,transform .15s}.chapitre:hover{border-color:var(--principal);transform:translateY(-2px)}.chapitre p{color:var(--texte-doux);margin:0;font-size:.95rem}.numero{color:var(--accent);font-weight:800}.fil{color:var(--texte-doux);font-size:.95rem;margin:0 0 12px}.liste-fiches{display:grid;grid-gap:12px;gap:12px;margin:24px 0}.ligne-fiche{display:flex;align-items:center;gap:16px;padding:16px 20px;flex-wrap:wrap}.ligne-fiche h3{flex:1 1;margin:0;min-width:200px}.ligne-actions{display:flex;gap:8px}.quiz-chapitre{display:block;color:var(--texte);border:2px dashed var(--principal);background:var(--principal-clair)}.quiz-chapitre p{margin:0;color:var(--texte-doux)}.fiche{padding:clamp(20px,5vw,48px);overflow-x:auto}.fiche h1{color:var(--principal)}.fiche h2{margin-top:32px;padding-bottom:6px;border-bottom:2px solid var(--principal-clair)}.fiche h3{margin-top:24px}.fiche hr{border:none;border-top:1px solid var(--bordure);margin:28px 0}.fiche blockquote{margin:16px 0;padding:12px 20px;background:var(--principal-clair);border-left:4px solid var(--principal);border-radius:8px}.carte table,.feuille table,.fiche table{border-collapse:collapse;margin:16px 0;max-width:100%;display:block;overflow-x:auto}.carte td,.carte th,.feuille td,.feuille th,.fiche td,.fiche th{border:1px solid var(--bordure);padding:8px 12px;text-align:center}.katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0}.appel-quiz{text-align:center;margin-top:32px}.quiz{max-width:720px}.progression{display:flex;align-items:center;gap:16px;color:var(--texte-doux);font-size:.95rem;margin-bottom:20px}.jauge{flex:1 1;height:8px;background:var(--principal-clair);overflow:hidden}.jauge,.jauge div{border-radius:999px}.jauge div{height:100%;background:var(--principal);transition:width .3s}.enonce{font-size:1.1rem}.figure{display:block;max-width:100%;margin:12px auto;border-radius:8px}.options{display:grid;grid-gap:10px;gap:10px;margin:20px 0}.option{display:flex;align-items:center;gap:14px;text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;padding:12px 16px;background:var(--carte);border:2px solid var(--bordure);border-radius:12px;transition:border-color .15s,background .15s}.option:hover:not(:disabled){border-color:var(--principal)}.option:disabled{cursor:default}.option .lettre{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--principal);font-weight:700}.option .lettre,.option.choisie{background:var(--principal-clair)}.option.choisie{border-color:var(--principal)}.option.juste{border-color:var(--succes);background:var(--succes-clair)}.option.juste .lettre{background:var(--succes);color:white}.option.fausse{border-color:var(--erreur);background:var(--erreur-clair)}.option.fausse .lettre{background:var(--erreur);color:white}.correction{border-radius:12px;padding:16px 20px;margin-bottom:16px}.correction.succes{background:var(--succes-clair)}.correction.erreur{background:var(--erreur-clair)}.verdict{font-weight:700;margin:0 0 6px}.succes .verdict{color:var(--succes)}.erreur .verdict{color:var(--erreur)}.bonne-reponse{margin:8px 0}.explication{border-top:1px solid rgba(0,0,0,.08);margin-top:10px;padding-top:10px}.actions{display:flex;justify-content:flex-end}.bilan{text-align:center;max-width:560px}.bilan .score{font-size:3rem;font-weight:800;margin:0 0 12px}.bilan .message{font-weight:600;margin:16px 0}.message.succes{color:var(--succes)}.message.erreur{color:var(--erreur)}.liste-revoir{text-align:left;color:var(--texte-doux)}@media (max-width:600px){nav{gap:12px;font-size:.95rem}nav a[href="/#tarifs"]{display:none}.carte{padding:18px}.ligne-actions{width:100%}.ligne-actions .bouton{flex:1 1;text-align:center}}.aide,.chargement,.vide{color:var(--texte-doux)}.aide{font-size:.95rem;margin:16px 0 10px}.info{background:var(--principal-clair);border-radius:10px;padding:10px 16px}.entete-espace{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.entete-espace h1{margin:0}.menu-classe{position:relative}.menu-classe summary{list-style:none;cursor:pointer;font-weight:600;padding:8px 16px;border:1px solid var(--bordure);border-radius:999px;background:var(--carte)}.menu-classe summary:after{content:" ▾";color:var(--texte-doux)}.menu-classe summary::-webkit-details-marker{display:none}.menu-classe a{position:absolute;right:0;top:46px;white-space:nowrap;z-index:5;background:var(--carte);border:1px solid var(--bordure);border-radius:10px;box-shadow:var(--ombre);padding:10px 16px}.onglets{display:flex;gap:4px;border-bottom:2px solid var(--bordure);margin:24px 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.onglet{font:inherit;font-weight:600;color:var(--texte-doux);background:none;cursor:pointer;padding:10px 16px;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}.onglet.actif{color:var(--principal);border-bottom-color:var(--principal)}.a-venir{opacity:.55}.grille-classes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin:24px 0}.classe{font:inherit;text-align:left;cursor:pointer;display:grid;grid-gap:4px;gap:4px;transition:border-color .15s}.classe strong{font-size:1.3rem}.classe span{color:var(--texte-doux)}.classe.active,.classe:hover{border-color:var(--principal)}.choix-mode{display:flex;gap:8px;flex-wrap:wrap}.pastille{font:inherit;cursor:pointer;padding:8px 16px;border-radius:999px;border:1px solid var(--bordure);background:var(--carte);color:var(--texte)}.pastille.active{background:var(--principal);border-color:var(--principal);color:white}.grille-choix{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:10px;gap:10px}.choix-chapitre{font:inherit;text-align:left;cursor:pointer;padding:12px 14px;border-radius:12px;border:2px solid var(--bordure);background:var(--carte);color:var(--texte);font-weight:600}.choix-chapitre span{display:block;font-weight:400;font-size:.85rem;color:var(--texte-doux)}.choix-chapitre.actif{border-color:var(--principal);background:var(--principal-clair)}.formats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.format{font:inherit;cursor:pointer;display:grid;grid-gap:2px;gap:2px;padding:14px;border-radius:12px;text-align:left;border:2px solid var(--principal);background:var(--principal);color:white}.format em{font-style:normal;font-size:.85rem}.format:disabled{cursor:not-allowed;background:var(--carte);border-color:var(--bordure);color:var(--texte-doux)}.presentation-diagnostic{text-align:center;max-width:640px;margin:0 auto}.actions-diagnostic{margin-top:20px}.score-diagnostic{font-size:1.2rem}.grille-bilan{display:grid;grid-gap:8px;gap:8px;margin:16px 0 28px}.ligne-bilan{display:flex;align-items:center;gap:12px;padding:12px 16px;color:var(--texte);background:var(--carte);border:1px solid var(--bordure);border-radius:12px}.ligne-bilan:hover{border-color:var(--principal)}.nom-chapitre{flex:1 1;font-weight:600}.note{color:var(--texte-doux)}.etiquette{font-size:.85rem;font-weight:700;padding:3px 10px;border-radius:999px}.etiquette.succes{background:var(--succes-clair);color:var(--succes)}.etiquette.moyen{background:#fff3e0;color:var(--accent)}.etiquette.erreur{background:var(--erreur-clair);color:var(--erreur)}.rubrique-suivi{margin-bottom:32px}.rubrique-suivi h2{margin-bottom:0}.bloc-suivi{margin-bottom:12px;padding:18px 22px}.bloc-suivi ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:12px;gap:12px}.bloc-suivi li{border-left:3px solid var(--accent);padding-left:12px}.raison{font-weight:500}.parties{display:grid;grid-gap:2px;gap:2px;font-size:.85rem;color:var(--texte-doux);margin-top:4px}.boutons-bilan{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:8px}.sous-quiz{margin-top:16px}@media (max-width:600px){.ligne-bilan{flex-wrap:wrap}.nom-chapitre{flex-basis:100%}}.entete-exercice h1{margin-bottom:8px}.badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.badge-niveau{font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--principal-clair);color:var(--principal);white-space:nowrap}.badge-niveau.bac{background:var(--accent);color:white}.badge-info{font-size:.85rem;color:var(--texte-doux)}.badge-fait{font-size:.8rem;font-weight:700;color:var(--succes)}.enonce-exercice{border-left:4px solid var(--principal)}.enonce-exercice,.etape{margin-bottom:16px}.etape.faite{opacity:.85;padding:16px 20px}.etape.faite details{margin-top:8px;font-size:.95rem}.etape.faite summary{cursor:pointer;color:var(--principal);font-weight:600}.titre-etape{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.points{font-weight:700;color:var(--accent)}.indice{background:#fff8e6;border-left:4px solid var(--accent);border-radius:8px;padding:8px 14px;margin:8px 0}.bouton-lien{font:inherit;background:none;border:none;color:var(--accent);font-weight:600;cursor:pointer;padding:6px 0;text-align:left}.saisie-nombre{margin:16px 0}.saisie-nombre label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:600}.saisie-nombre input{font:inherit;padding:10px 14px;border:2px solid var(--bordure);border-radius:10px;width:180px}.saisie-nombre input:focus{outline:none;border-color:var(--principal)}.correction.moyen{background:#fff3e0}.moyen .verdict{color:var(--accent)}.correction.neutre{background:var(--principal-clair)}.auto-evaluation{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.auto-evaluation p{margin:0 8px 0 0;font-weight:600}.a-retenir{background:var(--principal-clair);border-radius:10px;padding:10px 16px;margin:12px 0}.bilan-etapes{list-style:none;padding:0;margin:16px auto;max-width:360px;display:grid;grid-gap:6px;gap:6px}.bilan-etapes li{display:flex;justify-content:space-between;align-items:center}.liste-exercices section{margin-bottom:28px}.grille-exercices{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}.carte-exercice{color:var(--texte);transition:border-color .15s;padding:18px;position:relative}.carte-exercice:hover{border-color:var(--principal)}.lien-exercice{display:block;color:inherit;padding-right:64px}.bouton-papier{position:absolute;top:14px;right:14px;font-size:.8rem;font-weight:700;color:var(--principal);background:var(--principal-clair);border-radius:999px;padding:3px 10px}.bouton-papier:hover{background:var(--principal);color:white}.carte-exercice .badges{margin-bottom:8px}.carte-exercice p{margin:0;color:var(--texte-doux);font-size:.9rem}.exercices-chapitre{margin-top:32px}.exercices-chapitre .liste-exercices h2{font-size:1.1rem}.liste-exercices section>.aide{margin:-6px 0 12px}code{font-family:Consolas,Courier New,monospace;font-size:.92em;padding:1px 5px;border-radius:4px}code,pre{background:var(--principal-clair)}pre{padding:12px 16px;border-radius:8px;overflow-x:auto}pre code{background:none;padding:0}.etat-exercice{font-size:.8rem;font-weight:700;color:var(--texte-doux)}.etat-exercice.reussi{color:var(--succes)}.etat-exercice.a-refaire{color:var(--accent)}.carte-exercices h3{margin-bottom:4px}.carte-exercices.type-bac{border-color:var(--accent)}.carte-exercices.bientot{opacity:.55}.progression-exercices{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:.85rem;color:var(--texte-doux)}math-field{font-size:1.25rem;min-width:200px;padding:6px 10px;border:2px solid var(--bordure);border-radius:10px;background:var(--carte)}math-field:focus-within{outline:none;border-color:var(--principal)}math-field::part(menu-toggle){display:none}math-field::part(virtual-keyboard-toggle){display:none}.zone-reponse{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.etiquette-reponse{font-weight:600}.saisie-maths{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.saisie-maths.juste math-field{border-color:var(--succes);background:var(--succes-clair)}.saisie-maths.faux math-field{border-color:var(--erreur);background:var(--erreur-clair)}.bouton-clavier{font:inherit;font-size:.9rem;cursor:pointer;padding:8px 12px;border-radius:10px;border:1px solid var(--bordure);background:var(--principal-clair);color:var(--principal);font-weight:600}.raisonnement-a-trous{display:grid;grid-gap:8px;gap:8px;margin:16px 0}.ligne-a-trous{display:flex;align-items:center;gap:8px}.ligne-a-trous math-field{border-color:transparent;background:none;padding:2px 0;min-width:0}.ligne-texte{margin:4px 0}.remettre-en-ordre{margin:16px 0}.demonstration{margin:0 0 12px;padding-left:24px;display:grid;grid-gap:6px;gap:6px}.demonstration li{background:var(--principal-clair);border-radius:8px;padding:6px 10px}.demonstration li.vide{background:none;color:var(--texte-doux);list-style:none;margin-left:-24px}.demonstration li.juste{background:var(--succes-clair)}.demonstration li.fausse{background:var(--erreur-clair)}.demonstration li{display:list-item}.texte-ligne{margin-right:8px}.commandes{float:right;display:inline-flex;gap:4px}.commandes button{font:inherit;cursor:pointer;width:30px;height:30px;border-radius:8px;border:1px solid var(--bordure);background:var(--carte)}.commandes button:disabled{opacity:.3;cursor:default}.lignes-disponibles{display:grid;grid-gap:6px;gap:6px}.ligne-disponible{font:inherit;text-align:left;cursor:pointer;padding:10px 14px;border-radius:10px;border:2px dashed var(--bordure);background:var(--carte);color:var(--texte)}.ligne-disponible:hover{border-color:var(--principal)}.prefixe{font-size:1.15rem}.astuce{color:var(--texte-doux);font-size:.85rem;margin:-8px 0 12px}@media (pointer:coarse){.bouton-clavier{display:none}}.barre-papier{background:var(--principal-clair);border-radius:12px;padding:16px 20px;margin-bottom:24px}.barre-papier p{margin:0 0 12px;font-size:.95rem}.barre-papier a:not(.bouton){color:var(--principal);text-decoration:underline}.barre-papier .boutons-bilan{justify-content:flex-start}.feuille{background:white;color:#111;border:1px solid var(--bordure);border-radius:8px;padding:32px 40px;margin-bottom:24px}.feuille h1{font-size:1.5rem;margin:4px 0 16px}.feuille h2{font-size:1.15rem;margin:0 0 4px}.papier-details{color:#555;font-size:.9rem;margin:0}.papier-enonce{margin-bottom:8px}.papier-questions{padding-left:24px}.papier-questions>li{margin-bottom:14px}.papier-questions>li p{margin:0 0 6px}.papier-points{color:#555;font-size:.9rem;margin-left:6px}.papier code,.papier pre{background:#f2f2f2}.pour-pdf{width:720px}.pour-pdf .feuille{border:none;border-radius:0;padding:0;margin:0 0 24px}.pour-pdf .papier-questions>li,.pour-pdf pre{page-break-inside:avoid;break-inside:avoid}.lien-papier{color:var(--principal);font-weight:600}.lien-papier:hover{text-decoration:underline}@media (max-width:600px){.feuille{padding:20px 16px}}@media print{.barre-papier,.entete,.pied,nextjs-portal{display:none!important}body{background:white}main.conteneur{max-width:none;padding:0}.feuille{border:none;border-radius:0;padding:0;margin:0}.corrige{page-break-before:always;break-before:page}.papier-questions>li,pre{page-break-inside:avoid;break-inside:avoid}}:root{--badge-netlify:0px}.bouton-signaler{position:fixed;right:16px;bottom:calc(var(--badge-netlify) + 12px);z-index:50;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;background:var(--carte);color:var(--texte-doux);border:1px solid var(--bordure);border-radius:999px;padding:8px 16px;box-shadow:var(--ombre)}.bouton-signaler:hover{color:var(--accent);border-color:var(--accent)}.panneau-signaler{position:fixed;right:16px;bottom:calc(var(--badge-netlify) + 12px);z-index:50;width:min(360px,calc(100vw - 32px));background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon);box-shadow:var(--ombre);padding:18px}.panneau-signaler label{display:block;font-size:.9rem;font-weight:600;margin:10px 0}.panneau-signaler select,.panneau-signaler textarea{display:block;width:100%;margin-top:4px;font:inherit;font-size:.95rem;font-weight:400;border:1px solid var(--bordure);border-radius:8px;padding:6px 8px;background:var(--carte);color:var(--texte)}.panneau-signaler .aide{color:var(--texte-doux);font-size:.8rem;margin:0 0 10px}.panneau-signaler input:not([type=radio]){display:block;width:100%;margin-top:4px;font:inherit;font-size:.95rem;font-weight:400;border:1px solid var(--bordure);border-radius:8px;padding:6px 8px;background:var(--carte);color:var(--texte)}.choix-endroit{border:none;padding:0;margin:10px 0}.choix-endroit legend{font-size:.9rem;font-weight:600;padding:0;margin-bottom:4px}.choix-endroit label{display:inline-flex;align-items:center;gap:4px;margin:0 14px 0 0;font-weight:500}.panneau-signaler{max-height:calc(100vh - var(--badge-netlify) - 90px);overflow-y:auto}.panneau-signaler .erreur-envoi{color:var(--erreur);font-size:.85rem}.panneau-signaler .fermer{position:absolute;top:6px;right:10px;background:none;border:none;font-size:1.4rem;color:var(--texte-doux);cursor:pointer}@media print{.bouton-signaler,.panneau-signaler{display:none}}.resume-progression{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:20px}.resume-progression .tuile{background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon);padding:14px 16px;box-shadow:var(--ombre)}.resume-progression .tuile strong{display:block;font-size:1.6rem;line-height:1.2}.resume-progression .tuile span{color:var(--texte-doux);font-size:.9rem}.tableau-progression{background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon);box-shadow:var(--ombre);overflow:hidden}.ligne-progression{display:grid;grid-template-columns:2.2fr 1.3fr 1.2fr 1.1fr .9fr;grid-gap:8px;gap:8px;align-items:center;padding:10px 16px;border-top:1px solid var(--bordure);font-size:.95rem}.ligne-progression:first-child{border-top:none}.ligne-progression.entete-tableau{background:var(--fond);color:var(--texte-doux);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cellule-chapitre a{font-weight:600;color:var(--texte)}.cellule-chapitre a:hover{color:var(--principal)}.pastille-niveau{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.82rem;font-weight:600;white-space:nowrap}.niveau-gris{background:var(--fond);color:var(--texte-doux);border:1px solid var(--bordure)}.niveau-bleu{background:var(--principal-clair);color:var(--principal)}.niveau-orange{background:#fdf0e0;color:#a85a00}.niveau-vert{background:var(--succes-clair);color:var(--succes)}.regle-niveau{margin-top:16px}.regle-niveau summary{cursor:pointer;color:var(--principal);font-weight:600}.regle-niveau ul{list-style:none;padding:0;margin:12px 0 8px}.regle-niveau li{margin:8px 0}.regle-niveau li .pastille-niveau{margin-right:8px}@media (max-width:640px){.resume-progression{grid-template-columns:1fr}.ligne-progression.entete-tableau{display:none}.ligne-progression{grid-template-columns:1fr 1fr;row-gap:4px}.cellule-chapitre{grid-column:1/-1}.ligne-progression [data-libelle]:before{content:attr(data-libelle) " : ";color:var(--texte-doux);font-size:.8rem}.ligne-progression [data-libelle=Niveau]:before{content:none}}.lien-revoir{font-weight:600}.lien-revoir:hover{text-decoration:underline}.lien-entrainement{display:inline-block;margin-top:6px;font-weight:600;color:var(--accent)}.lien-entrainement:hover{text-decoration:underline}.revoir-etape{margin-top:12px}.fiche h2,.fiche h3{scroll-margin-top:80px}.fiche h2:target,.fiche h3:target{background:var(--principal-clair);border-radius:6px}.recherche{flex:1 1;max-width:440px;margin:0 20px}.champ-recherche,.recherche{position:relative}.champ-recherche input{width:100%;font:inherit;font-size:.95rem;padding:8px 14px;border-radius:999px;border:1px solid var(--bordure);background:var(--fond);color:var(--texte)}.champ-recherche input:focus{outline:none;border-color:var(--principal);background:var(--carte)}.resultats-recherche{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;max-height:70vh;overflow-y:auto;background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon);box-shadow:var(--ombre);padding:6px}.titre-groupe{margin:6px 10px 2px;font-size:.75rem;font-weight:700;color:var(--texte-doux);text-transform:uppercase;letter-spacing:.04em}.resultat{display:block;width:100%;text-align:left;font:inherit;background:none;border:none;border-radius:8px;padding:6px 10px;cursor:pointer;color:var(--texte)}.resultat.actif{background:var(--principal-clair)}.resultat-titre{display:block;font-weight:600;font-size:.95rem}.resultat-contexte{display:block;font-size:.8rem;color:var(--texte-doux)}.vide-recherche{margin:8px 10px;color:var(--texte-doux);font-size:.9rem}.loupe-mobile{display:none;background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px 8px}@media (max-width:640px){.recherche{flex:0 1;margin:0 8px 0 auto;position:static}.loupe-mobile{display:block}.champ-recherche{display:none}.recherche.mobile-ouvert .champ-recherche{display:block;position:absolute;left:0;right:0;top:64px;padding:10px 16px;background:var(--carte);border-bottom:1px solid var(--bordure);box-shadow:var(--ombre)}.recherche.mobile-ouvert .resultats-recherche{left:16px;right:16px}}@media print{.recherche{display:none}}.manuscrit{font-family:var(--police-manuscrite),"Segoe Print",cursive;font-weight:500}.lien-nav{color:var(--texte);font-weight:500}.lien-nav:hover{color:var(--accent)}@media (max-width:900px){.lien-nav{display:none}}.hero{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:48px;gap:48px;align-items:center;text-align:left;padding:48px 0 56px}.hero h1{font-size:clamp(2.2rem,5vw,3.2rem)}.hero .intro{max-width:520px;margin:0 0 28px}.hero-actions{justify-content:flex-start;align-items:center;gap:20px}.surtitre-manuscrit{color:var(--accent);font-size:1.5rem;margin:0 0 4px}.lien-prof{color:var(--texte-doux);font-weight:600;text-decoration:underline;text-underline-offset:3px}.chiffres-ligne{color:var(--texte-doux);font-size:.95rem;margin:28px 0 0}.chiffres-ligne strong{color:var(--texte)}.page-cahier{position:relative;background-color:#fff;border:1px solid var(--bordure);border-radius:6px;padding:28px 28px 24px 64px;box-shadow:var(--ombre);transform:rotate(1.2deg);background-image:linear-gradient(90deg,transparent 47px,#e8a4a0 0,#e8a4a0 48px,transparent 0),repeating-linear-gradient(#fff 0 31px,#dce6f2 31px 32px);line-height:32px}.page-cahier p{margin:0}.page-cahier-titre{font-family:var(--police-titres);font-weight:700;color:var(--principal)}.page-cahier .katex-display{margin:4px 0;text-align:left}.annotation{color:var(--accent);font-size:1.5rem;transform:rotate(-3deg)}.coche{color:var(--succes);font-size:1.5rem;text-align:right}.methode{margin-bottom:64px}.methode h2{text-align:center;margin-bottom:20px}.etapes-methode{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.etapes-methode p{color:var(--texte-doux);margin:0}.numero-etape{display:block;color:var(--accent);font-size:2.2rem;line-height:1;margin-bottom:4px}@media (max-width:760px){.hero{grid-template-columns:1fr;gap:32px;padding-top:24px}.page-cahier{transform:none}}.page-fiche{display:grid;grid-template-columns:minmax(0,1fr) 210px;grid-gap:24px;gap:24px;align-items:start}.fiche{--marge:clamp(36px,6vw,72px);background:#fff;border:1px solid var(--bordure);border-radius:6px;box-shadow:var(--ombre);padding:clamp(20px,4vw,44px) clamp(18px,4vw,44px) clamp(20px,4vw,44px) var(--marge);background-image:linear-gradient(90deg,transparent calc(var(--marge) - 14px),#e8a4a0 calc(var(--marge) - 14px),#e8a4a0 calc(var(--marge) - 13px),transparent calc(var(--marge) - 13px))}.fiche h2{border-bottom:none;color:var(--principal)}.encadre{position:relative;border-radius:10px;padding:14px 18px 4px;margin:22px 0;background:var(--fond);border:1px solid var(--bordure)}.encadre:before{content:attr(data-type);position:absolute;top:-11px;left:14px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 10px;border-radius:999px;color:#fff}.encadre>h3{margin-top:6px}.encadre-definition{background:#ebeef4;border-color:#c9d3e6}.encadre-definition:before{background:var(--principal)}.encadre-propriete{background:#e9f2e7;border-color:#c4dcc0}.encadre-propriete:before{background:var(--succes)}.encadre-methode{background:#fdf0e0;border-color:#f0d3ad}.encadre-methode:before{background:var(--accent)}.encadre-attention{background:#f8e4df;border-color:#ecc3ba}.encadre-attention:before{background:var(--erreur)}.encadre-exemple{background:#f6f2e8}.encadre-exemple:before{background:var(--texte-doux)}.encadre blockquote{background:rgba(255,255,255,.6)}.sommaire-fiche{position:-webkit-sticky;position:sticky;top:88px;font-size:.9rem}.sommaire-titre{font-family:var(--police-titres);font-weight:700;margin:0 0 8px}.sommaire-fiche ol{list-style:none;padding:0;margin:0 0 12px;display:grid;grid-gap:6px;gap:6px}.sommaire-fiche li a{color:var(--texte-doux);display:block;padding-left:20px;position:relative}.sommaire-fiche li a:before{content:"○";position:absolute;left:0}.sommaire-fiche li.lue a{color:var(--succes)}.sommaire-fiche li.lue a:before{content:"✓"}.sommaire-fiche li.en-cours a{color:var(--texte);font-weight:700}.sommaire-fiche li.en-cours a:before{content:"▸";color:var(--accent)}.sommaire-fiche .jauge div{background:var(--accent)}.pourcentage-lu{color:var(--texte-doux);font-size:.85rem;margin:6px 0 0}.lecture-mobile{display:none}@media (max-width:900px){.page-fiche{grid-template-columns:1fr}.sommaire-fiche{display:none}.lecture-mobile{display:block;position:fixed;top:64px;left:0;right:0;height:3px;z-index:9}.lecture-mobile div{height:100%;background:var(--accent);transition:width .2s}}.progression{justify-content:space-between;margin-bottom:8px}.compteur{display:flex;gap:12px;font-weight:600}.compteur-juste{color:var(--succes)}.compteur-faux{color:var(--erreur)}.jauge-quiz{margin-bottom:20px}.option.fausse>span:last-child{text-decoration:line-through;-webkit-text-decoration-color:var(--erreur);text-decoration-color:var(--erreur);text-decoration-thickness:2px}.note-copie{display:inline-block;font-family:var(--police-manuscrite),cursive;font-weight:700;font-size:3.6rem;line-height:1;color:var(--erreur);border:3px solid;border-radius:50%;padding:18px 26px;margin:8px 0 12px;transform:rotate(-4deg)}.note-copie.reussie{color:var(--succes)}.note-copie span{font-size:.55em}.score-detail{color:var(--texte-doux);margin:0 0 8px}.demande-prenom{max-width:520px;margin:24px auto;text-align:center}.demande-prenom .manuscrit{color:var(--accent);font-size:1.6rem;margin:0}.ligne-prenom{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.ligne-prenom input{font:inherit;padding:10px 14px;border:2px solid var(--bordure);border-radius:10px;background:var(--carte);color:var(--texte);min-width:0;flex:1 1;max-width:260px}.ligne-prenom input:focus{outline:none;border-color:var(--principal)}.erreur-saisie{color:var(--erreur);font-size:.9rem;margin:8px 0 0}.cahier{display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:32px;gap:32px;align-items:start}.menu-cahier{position:-webkit-sticky;position:sticky;top:88px;display:grid;grid-gap:2px;gap:2px;padding:16px 10px;background:#f3ecdd;border:1px solid var(--bordure);border-radius:var(--rayon)}.titre-cahier{font-family:var(--police-titres);font-weight:700;font-size:1.15rem;margin:0 8px 8px}.menu-cahier>button{font:inherit;text-align:left;background:none;border:none;cursor:pointer;color:var(--texte);padding:8px 10px;border-radius:8px;font-weight:500}.menu-cahier>button:hover{background:rgba(255,255,255,.6)}.menu-cahier>button.actif{background:var(--carte);font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}.menu-cahier .menu-classe{margin-top:12px}.menu-cahier .menu-classe summary{font-size:.85rem;padding:6px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-cahier .menu-classe[open]{display:grid;grid-gap:6px;gap:6px}.menu-cahier .menu-classe .bouton-lien,.menu-cahier .menu-classe a{position:static;box-shadow:none;border:none;background:none;padding:2px 12px;font-size:.9rem;color:var(--principal);font-weight:500}.contenu-cahier>h1{margin-bottom:20px}.barre-bas{display:none}@media (max-width:760px){.cahier{grid-template-columns:1fr}.menu-cahier{display:none}.barre-bas{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--carte);border-top:1px solid var(--bordure);padding:4px 2px calc(4px + var(--badge-netlify) + env(safe-area-inset-bottom))}.barre-bas button{font:inherit;font-size:.68rem;background:none;border:none;color:var(--texte-doux);display:grid;justify-items:center;grid-gap:1px;gap:1px;padding:4px 0;cursor:pointer}.barre-bas button span{font-size:1.2rem;filter:grayscale(1);opacity:.7}.barre-bas button.actif{color:var(--principal);font-weight:700}.barre-bas button.actif span{filter:none;opacity:1}body:has(.barre-bas) main.conteneur{padding-bottom:calc(96px + var(--badge-netlify))}body:has(.barre-bas) .bouton-signaler{bottom:calc(76px + var(--badge-netlify))}body:has(.barre-bas) .pied{padding-bottom:calc(80px + var(--badge-netlify))}}.serie{color:var(--accent);font-size:1.6rem;font-weight:500}.petit-titre{display:block;color:var(--texte-doux);font-size:.85rem;font-weight:600;margin:0 0 4px}.reprendre{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-left:5px solid var(--accent);margin-bottom:16px;padding:18px 22px}.reprendre p{margin:0}.grille-aujourdhui{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.grille-aujourdhui .carte{padding:18px 22px}.mes-chapitres{list-style:none;padding:0;margin:4px 0 10px;display:grid;grid-gap:8px;gap:8px}.mes-chapitres li{display:flex;justify-content:space-between;align-items:center;gap:8px}.mes-chapitres a{color:var(--texte);font-weight:600}.objectifs p{margin:0 0 12px}.chapitres-controle{color:var(--texte-doux);font-size:.95rem}.planning{max-width:600px;margin:0 auto}.question-planning{display:grid;grid-gap:14px;gap:14px;justify-items:start;padding:28px}.question-planning h1{font-size:clamp(1.5rem,4vw,2rem);margin:0}.saisie-date{font:inherit;font-size:1.6rem;letter-spacing:.08em;width:100%;max-width:260px;padding:10px 16px;border:2px solid var(--bordure);border-radius:12px;background:#fff;color:var(--texte)}.saisie-date:focus{outline:none;border-color:var(--principal)}.barre-choix,.choix-multiple{position:relative;width:100%}.barre-choix{font:inherit;min-height:50px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;text-align:left;padding:8px 40px 8px 12px;border:2px solid var(--bordure);border-radius:12px;background:#fff;color:var(--texte);cursor:pointer}.barre-choix[aria-expanded=true]{border-color:var(--principal)}.barre-choix .fleche,.barre-choix .indication{color:var(--texte-doux)}.barre-choix .fleche{position:absolute;right:14px;top:50%;transform:translateY(-50%)}.puce-chapitre{background:var(--principal-clair);color:var(--principal);font-size:.9rem;font-weight:600;padding:2px 10px;border-radius:999px}.liste-deroulante{list-style:none;margin:6px 0 0;padding:6px;position:absolute;left:0;right:0;z-index:15;max-height:300px;overflow-y:auto;background:var(--carte);border:1px solid var(--bordure);border-radius:12px;box-shadow:var(--ombre)}.liste-deroulante label{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer}.liste-deroulante label:hover{background:var(--fond)}.liste-deroulante input{width:18px;height:18px;accent-color:var(--principal)}.boutons-planning{display:flex;gap:10px}.encouragement{color:var(--accent);font-size:1.9rem;line-height:1.2;margin:0}.choix-premier{display:flex;flex-wrap:wrap;gap:10px}.choix-jours{display:flex;flex-wrap:wrap;gap:8px}.jour{font:inherit;font-weight:700;width:46px;height:46px;border-radius:50%;cursor:pointer;border:2px solid var(--bordure);background:var(--carte);color:var(--texte-doux)}.jour.actif{background:var(--principal);border-color:var(--principal);color:#fff}.resultat-test{list-style:none;padding:0;margin:0;width:100%;display:grid;grid-gap:6px;gap:6px}.resultat-test li{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--fond);border-radius:8px}.question-planning>p{margin:0}.vue-planning h1{margin-bottom:4px}.delai{color:var(--accent);font-size:.7em}.avancement{display:flex;align-items:center;gap:12px;margin:10px 0 16px;font-size:.9rem;color:var(--texte-doux)}.avancement .jauge{flex:1 1;max-width:320px}.avancement .jauge div{background:var(--succes)}.seance{margin-bottom:12px}.seance-du-jour{border-left:5px solid var(--accent)}.prochaines .seance{padding:12px 0;border-top:1px dashed var(--bordure);margin:0}.prochaines h2{font-size:1.3rem;margin-top:24px}.date-seance{font-family:var(--police-titres);font-weight:700;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.prochaines .date-seance{font-family:inherit;font-weight:600;font-size:.95rem}.date-seance:first-letter{text-transform:uppercase}.etiquette-seance{font-family:system-ui,sans-serif;font-size:.75rem;font-weight:700;padding:2px 10px;border-radius:999px;color:#fff}.etiquette-seance.blanc{background:var(--erreur)}.etiquette-seance.veille{background:var(--succes)}.taches{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.taches li{display:flex;align-items:flex-start;gap:10px}.taches input{width:18px;height:18px;margin-top:4px;accent-color:var(--succes);flex:none}.taches a{color:var(--texte)}.taches a:hover{color:var(--principal)}.taches li.faite a{text-decoration:line-through;color:var(--texte-doux)}.prochaines .taches a{color:var(--texte-doux);font-size:.95rem}.bravo-seance{color:var(--succes);font-size:1.4rem;margin:10px 0 0}.bas-planning{margin-top:28px;align-items:center;flex-wrap:wrap}.supprimer{color:var(--erreur)}.ligne-note{display:flex;align-items:center;gap:10px;font-size:1.4rem;font-weight:600}.ligne-note .saisie-date{max-width:120px}.mes-notes{margin-top:16px;padding-top:12px;border-top:1px dashed var(--bordure)}.suite-notes{font-family:var(--police-titres);font-weight:700;font-size:1.2rem;margin:0}.progres{color:var(--succes);font-size:1.3rem;margin:4px 0 0}.objectifs .avancement{margin:4px 0 12px}.classe:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.classe:disabled:hover{border-color:var(--bordure)}.hero h1 .accent{white-space:nowrap}.types-revision{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;width:100%}.type-revision{font:inherit;cursor:pointer;text-align:left;display:grid;grid-gap:6px;gap:6px;justify-items:start;padding:18px;border-radius:14px;border:2px solid var(--bordure);background:var(--carte);color:var(--texte);transition:border-color .15s,transform .1s}.type-revision:hover{border-color:var(--principal);transform:translateY(-1px)}.type-revision strong{font-family:var(--police-titres);font-size:1.2rem}.type-revision span{color:var(--texte-doux);font-size:.92rem}.type-revision.conseille{border-color:var(--accent)}.type-choisi{display:flex;align-items:center;gap:8px;color:var(--texte-doux);font-weight:600}.type-choisi svg{width:28px;height:28px}.recap-planning p{margin:0}.commencer{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.lien-planning{font-weight:600}.objectifs{margin-bottom:16px}.entete-planning{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.titre-controle{margin:0 0 2px}.seances-planning .seance-du-jour{background:var(--fond);border-left:4px solid var(--accent);border-radius:0 10px 10px 0;padding:14px 16px;margin:4px 0 16px}.seances-planning .prochaines .seance{padding:10px 0}.ligne-synthese{border-color:var(--accent)}.ligne-synthese .numero{color:var(--accent)}body{--keyboard-padding-bottom:var(--badge-netlify)}main.conteneur{padding-bottom:calc(64px + var(--badge-netlify))}