/* Langues — plateforme séparée d'IASSOL (26/10/2026). Violet = Langues. Mobile d'abord. */
:root{--fond:#f6f4f9;--carte:#fff;--txt:#211c2b;--doux:#5f5870;--bord:#e1dbe9;--accent:#6b3fa0;--accent2:#7f52b5;--pale:#efe7f7;
  --vert:#2e7d32;--vertpale:#e6f4e7;--rouge:#c62828;--ambre:#a86200;--ambrepale:#fff4dc;--ombre:0 1px 3px rgba(30,20,50,.08),0 4px 14px rgba(30,20,50,.06)}
@media (prefers-color-scheme:dark){:root{--fond:#14111a;--carte:#1d1926;--txt:#ece8f2;--doux:#b0a8bf;--bord:#2f2a3a;--accent:#b48ee0;--accent2:#c6a6ea;--pale:#2a2140;
  --vertpale:#16301a;--ambrepale:#33270f;--ombre:none}}
*{box-sizing:border-box}html,body{margin:0;background:var(--fond);color:var(--txt);font:16.5px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;overflow-wrap:anywhere}
a{color:var(--accent)}.cont{max-width:960px;margin:0 auto;padding:0 16px}
.haut{background:var(--carte);border-bottom:1px solid var(--bord);position:sticky;top:0;z-index:10}
.haut .cont{display:flex;align-items:center;gap:12px;min-height:58px;flex-wrap:wrap}
.marque{display:flex;align-items:center;gap:8px;font-weight:800;font-size:19px;color:var(--txt);text-decoration:none;flex:1}
.logo{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--accent);color:#fff;font-family:Georgia,serif;font-size:16px}
.haut nav{display:flex;gap:14px}.haut nav a{text-decoration:none;font-weight:600}
main{padding:18px 16px 40px;min-height:60vh}
h1{font-size:26px;line-height:1.25;margin:10px 0}h2{font-size:20px;margin-top:26px}
.heros{background:linear-gradient(135deg,#6b3fa0,#8d5cc4);color:#fff;border-radius:18px;padding:24px 20px;margin:8px 0 18px}
.heros h1{color:#fff;font-size:32px;margin:4px 0}.heros .devise{opacity:.9;margin:0;font-style:italic}.heros a.btn{background:#fff;color:#4b2a74}.heros a.btn.sec{background:transparent;color:#fff;border-color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);color:#fff;border:1.5px solid transparent;border-radius:12px;padding:11px 18px;font:inherit;font-weight:700;min-height:46px;cursor:pointer;text-decoration:none;margin:4px 4px 4px 0}
.btn:hover{background:var(--accent2)}.btn.sec{background:transparent;color:var(--accent);border-color:var(--accent)}.btn.plein{width:100%;margin-top:14px}.btn[disabled]{opacity:.6}
.grille{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:700px){.grille{grid-template-columns:1fr 1fr}}
.tuile{display:block;background:var(--carte);border-radius:14px;box-shadow:var(--ombre);padding:16px;color:inherit;text-decoration:none}
.tuile b{display:block;font-size:18px;margin:6px 0 2px}.tuile small{color:var(--doux)}
.etat{display:inline-block;font-size:12px;font-weight:700;border-radius:99px;padding:2px 9px;background:var(--bord);color:var(--doux)}.etat.ouvert{background:var(--vertpale);color:var(--vert)}
.liste{list-style:none;padding:0}.liste li{background:var(--carte);border-radius:12px;box-shadow:var(--ombre);padding:12px 14px;margin:8px 0}
.carte{background:var(--carte);border-radius:14px;box-shadow:var(--ombre);padding:16px;margin:12px 0}
.form label{display:block;font-weight:600;margin:12px 0 4px}.form input{width:100%;font:inherit;padding:11px 12px;border:1.5px solid var(--bord);border-radius:10px;min-height:46px;background:var(--carte);color:var(--txt)}
.msg.ok{background:var(--vertpale);color:var(--vert);border-radius:10px;padding:10px;margin-top:10px}.msg.err{background:#fdeaea;color:var(--rouge);border-radius:10px;padding:10px;margin-top:10px}
.centre{text-align:center}.meta{color:var(--doux);font-size:14.5px}
.pied{border-top:1px solid var(--bord);padding:20px 0 30px;color:var(--doux);font-size:14px}.pied a{color:var(--doux)}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#211c2b;color:#fff;padding:12px 16px;border-radius:12px;width:min(480px,92vw);display:none;z-index:30}
/* leçons (reprise de la mise en page du module de français d'IASSOL) */
.fr{max-width:900px}.fr .obj,.fr .ret,.fr .txt{border-radius:12px;padding:12px 16px;margin:14px 0}.fr .obj{background:var(--pale)}
.fr .ret{background:var(--ambrepale);border-left:4px solid var(--ambre)}.fr .txt{background:var(--carte);border:1px solid var(--bord);font-family:Georgia,serif;line-height:1.7}
.fr .txt .src{font-family:inherit;font-size:13.5px;color:var(--doux)}.fr table{border-collapse:collapse;width:100%;font-size:15px;margin:10px 0;display:block;overflow-x:auto}
.fr td,.fr th{border:1px solid var(--bord);padding:6px 8px;text-align:left;vertical-align:top}
.fr figure{margin:16px 0;text-align:center}.fr figure svg{width:640px;max-width:100%;height:auto}.fr figcaption{font-size:13.5px;color:var(--doux)}
.fr .qcm,.fr .act{background:var(--carte);border:1px solid var(--bord);border-radius:12px;padding:14px 16px;margin:16px 0}.fr .act{border-color:var(--ambre)}
.fr .tag{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--doux);margin:0 0 4px}.fr .stem{font-weight:600;margin-bottom:6px}
.fr fieldset{border:0;padding:0;margin:0}.fr .opt{display:block;padding:11px 12px;border:1px solid var(--bord);border-radius:10px;margin:6px 0;cursor:pointer}
.fr .opt:hover{border-color:var(--accent)}.fr .opt.ok{border:2px solid var(--vert);background:var(--vertpale)}.fr .opt.ko{border:2px dashed var(--rouge)}
.fr .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.fr .ok-t{color:var(--vert)}.fr .ko-t{color:var(--rouge)}
.fr textarea{width:100%;font:inherit;padding:8px;border:1px solid var(--bord);border-radius:8px;margin:8px 0;background:var(--fond);color:inherit}
.fr .corr{background:var(--ambrepale);padding:10px 12px;border-radius:8px;margin-top:10px}.fr .nav{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:28px}
.fr .li{margin:4px 0 4px 6px}
