:root{--bg: #0f1420;--paper: #171e2e;--line: #2a3346;--fg: #f3f5fa;--muted: #9aa5bd;--accent: #f2b84b;--accent-fg: #1a1200;--display: "Avenir Next", "Segoe UI", system-ui, sans-serif;--text: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2{font-family:var(--display);margin:0;line-height:1.15;text-wrap:balance}p{margin:0}a{color:var(--accent)}.page{max-width:960px;margin:0 auto;padding:48px 16px 40px;display:flex;flex-direction:column;gap:40px}.hero{display:flex;flex-direction:column;gap:14px;text-align:center;align-items:center}.eyebrow{font-family:var(--display);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}.hero h1{font-size:clamp(2.2rem,7vw,3.6rem);font-weight:800;color:var(--accent)}.pitch{font-size:1.15rem;max-width:32ch;color:var(--fg)}.btn{display:inline-flex;align-items:center;min-height:48px;padding:12px 24px;border-radius:14px;background:var(--accent);color:var(--accent-fg);font-family:var(--display);font-weight:700;text-decoration:none;box-shadow:0 4px #b8842a}.btn:active{transform:translateY(3px);box-shadow:none}.piliers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.carte{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:8px}.carte .icone{font-size:1.8rem}.carte h2{font-size:1.1rem}.carte p{color:var(--muted);font-size:.95rem}.pied{text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:8px;font-size:.95rem}.statut{font-size:.8rem;font-variant-numeric:tabular-nums}.etroite{max-width:560px;gap:20px;padding-top:24px}.stack{display:flex;flex-direction:column;gap:12px}.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.btn{border:0;cursor:pointer;justify-content:center;font-size:1rem}.btn:disabled{opacity:.6;cursor:wait}.btn.secondaire{background:transparent;color:var(--fg);border:1px solid var(--line);box-shadow:none}.retour,.lien{color:var(--muted);text-decoration:none;font-size:.95rem;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}.lien{color:var(--accent);text-decoration:underline}.barre{display:flex;justify-content:space-between;align-items:center}.muted{color:var(--muted)}.petit{font-size:.88rem}.choix{display:grid;gap:14px}.choix-carte{text-align:left;cursor:pointer;color:var(--fg);font:inherit}.choix-carte:hover{border-color:var(--accent)}.formulaire{display:flex;flex-direction:column;gap:14px}.formulaire label{display:flex;flex-direction:column;gap:6px;font-size:.92rem;color:var(--muted)}.formulaire input,.formulaire select{min-height:48px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--fg);font:inherit;font-size:1rem}.formulaire input:focus,.formulaire select:focus{outline:2px solid var(--accent);outline-offset:1px}.formulaire .case{flex-direction:row;align-items:flex-start;gap:10px;color:var(--fg);line-height:1.45}.formulaire .case input{min-height:0;width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--accent)}.ligne-form{display:flex;gap:10px}.ligne-form input{flex:1;min-width:0;letter-spacing:.1em;text-transform:uppercase}.carte.ligne{flex-direction:row;align-items:center;gap:14px}.carte h3{margin:0;font-family:var(--display);font-size:1.05rem}.erreur{color:#ff8a80;font-size:.95rem}.succes{color:#7ddc9a;font-size:.95rem}.code b{font-family:ui-monospace,Menlo,monospace;font-size:1.3rem;letter-spacing:.15em;color:var(--accent)}.progression{gap:16px}.prog-tete{display:flex;align-items:center;gap:16px}.prog-niveau{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:var(--accent);color:var(--accent-fg);flex:none;line-height:1}.prog-niveau b{font-family:var(--display);font-size:1.7rem}.prog-niveau span{color:var(--accent-fg);opacity:.75;font-size:.7rem}.prog-barre{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.barre-fond{height:12px;border-radius:999px;background:var(--line);overflow:hidden}.barre-fond i{display:block;height:100%;background:var(--accent);border-radius:999px}.chiffres{font-variant-numeric:tabular-nums}.prog-stats{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.95rem}.semaine{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;height:80px;align-items:end}.semaine div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px;font-size:.72rem;color:var(--muted)}.semaine i{display:block;width:100%;min-height:3px;border-radius:6px 6px 2px 2px;background:var(--line)}.semaine i.ok{background:var(--accent)}.semaine .auj span{color:var(--fg);font-weight:700}.badges{display:flex;flex-wrap:wrap;gap:6px}.pastille{border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.82rem}.enfant-prog{font-size:.88rem;color:var(--fg)}.medaillons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.medaillon{margin:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.medaillon img{width:100%;height:auto;display:block}.medaillon figcaption{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.8rem}.medaillon.off img{filter:grayscale(1) brightness(.9);opacity:.35}.medaillon.off figcaption span:last-child{color:var(--muted)}.rang{display:inline-block;font-family:var(--display);font-weight:700;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;color:#fff;background:#8a8f99}.rang-bronze{background:#a0612b}.rang-argent{background:#7b8796}.rang-or{background:#b8890a}.rang-platine{background:#5d6a7e}.rang-diamant{background:#1f7fc4}.rang-champion{background:#b3141e}.rang-legende{background:#c4620a}.rang-mythique{background:#a8167f}.rang-ultime{background:#1d1a24;color:#f3d27a}.texte{color:var(--fg)}.profil{display:flex;align-items:center;gap:12px}.avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}.avatar.vide{display:grid;place-items:center;font-size:2rem;background:var(--paper);border:1px solid var(--line)}.avatar.petit-av{width:48px;height:48px}.mdp-enfant{margin-top:8px;gap:8px}.carte.ligne>div{flex:1;min-width:0}.petit-btn{min-height:38px;padding:6px 14px;font-size:.9rem;margin-top:8px;align-self:flex-start}.notions summary{cursor:pointer}.notions ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.notions li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px;font-size:.92rem}.notions li span:first-child:first-letter{text-transform:uppercase}.a-revoir{color:#ff8a80}.couronnes{color:var(--accent);letter-spacing:.05em;white-space:nowrap}.objectifs{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px}.objectif{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;min-height:72px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--fg);font:inherit;cursor:pointer}.objectif.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--bg))}.objectif:disabled{cursor:wait}.seance{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:var(--fg)}.seance:hover{border-color:var(--accent)}.seance>div{flex:1;min-width:0}.statut{font-size:.78rem;color:var(--muted);text-align:right;max-width:45%}.statut.en-cours{color:var(--accent);font-weight:600}.mise-en-avant{border-color:var(--accent)}.taches{display:grid;gap:10px}.carte.fait{opacity:.75}.lecon{line-height:1.6}.lecon p+p,.lecon ol,.lecon ul{margin-top:8px}.lecon ol,.lecon ul{padding-left:20px}.astuce,.retour-ok,.retour-ko{border-radius:12px;padding:10px 14px;border:1px solid var(--line)}.astuce{margin-top:12px;background:color-mix(in srgb,var(--accent) 12%,transparent)}.retour-ok{background:color-mix(in srgb,#3ecf8e 14%,transparent);border-color:color-mix(in srgb,#3ecf8e 45%,transparent)}.retour-ko{background:color-mix(in srgb,#ff6b6b 14%,transparent);border-color:color-mix(in srgb,#ff6b6b 45%,transparent)}.retour-ok p,.retour-ko p{margin-top:4px}.saisie-dictee,.ligne-saisie input{width:100%;background:var(--paper);color:var(--fg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;font-size:1.1rem;line-height:1.6}.saisie-dictee:focus,.ligne-saisie input:focus{outline:2px solid var(--accent);outline-offset:1px}.ligne-saisie{display:flex;gap:10px}.ligne-saisie input{flex:1;min-width:0}.phrase-gram{font-family:var(--text);font-weight:400;font-size:1.25rem;line-height:1.5}.opt{text-align:left;background:var(--paper);color:var(--fg);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font:inherit;font-size:1.05rem;cursor:pointer}.opt:hover:not(:disabled){border-color:var(--accent)}.opt.ok{border-color:#3ecf8e;background:color-mix(in srgb,#3ecf8e 18%,var(--paper))}.opt.ko{border-color:#ff6b6b;background:color-mix(in srgb,#ff6b6b 18%,var(--paper));opacity:.8}.opt:disabled{cursor:default}.dictee-corr p{font-size:1.1rem;line-height:1.9}.dictee-corr .err{background:color-mix(in srgb,#ff6b6b 20%,transparent);border-radius:6px;padding:1px 4px;cursor:help}.dictee-corr .err s{color:#ff9b9b}.dictee-corr .manq{color:#ffb86b;cursor:help}.info-mot{margin-top:10px;color:var(--muted)}.ligne-notion{display:flex;align-items:center;justify-content:space-between;gap:12px}.lien-notion{padding:8px 0;color:var(--fg);text-decoration:none;border-top:1px solid var(--line)}.lien-notion:first-child{border-top:0}.centre{text-align:center}.centre .actions{justify-content:center}.gauche{text-align:left}.gros-emoji{font-size:3rem}.deux-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.carte.lecon p,.carte.lecon li,.dictee-corr p{color:var(--fg)}.langues{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;align-self:flex-start}.langues button{background:none;border:0;color:var(--muted);font:inherit;font-size:.85rem;padding:4px 12px;cursor:pointer}.langues button.on{background:var(--accent);color:var(--accent-fg);font-weight:600}.etab-recherche{display:grid;gap:6px}.etab-liste{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;max-height:320px;overflow-y:auto}.etab-liste li+li{border-top:1px solid var(--line)}.etab-liste button{display:grid;gap:2px;width:100%;text-align:left;background:var(--paper);color:var(--fg);border:0;padding:10px 14px;font:inherit;cursor:pointer}.etab-liste button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--paper))}.etab-choisi{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-weight:400}.formulaire .champ{display:grid;gap:6px;font-size:.92rem;color:var(--muted)}.formulaire .champ .etab-choisi{color:var(--fg)}.etab-recherche input{width:100%;background:var(--paper);color:var(--fg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;font-size:1rem}.etab-eleve{gap:6px;margin:6px 0}.onglets{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.onglets button{flex:none;border:1px solid var(--line);background:none;color:var(--fg);border-radius:999px;padding:8px 14px;font:inherit;font-size:.9rem;cursor:pointer;min-height:40px}.onglets button.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}.chap{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.chap p{margin-top:2px}.seg{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{background:none;border:0;color:var(--muted);font:inherit;font-size:.88rem;min-height:40px;cursor:pointer}.seg button+button{border-left:1px solid var(--line)}.seg button.on{color:var(--accent-fg);font-weight:600;background:var(--muted)}.seg button.on.vu{background:#3ecf8e}.seg button.on.en-cours{background:var(--accent)}.champ-libre{display:grid;gap:6px;font-size:.92rem;color:var(--muted)}.champ-libre textarea{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font:inherit}@media(min-width:640px){.chap{grid-template-columns:1fr 260px;align-items:center}}.en-classe{color:var(--accent);font-weight:600}.avancement-matiere+.avancement-matiere{border-top:1px solid var(--line);padding-top:10px}.ligne-classe{display:flex;align-items:center;gap:10px}.ligne-classe input{width:9rem;background:var(--paper);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font:inherit}.champ-gcse{display:grid;gap:8px;font-size:.92rem;color:var(--muted)}.seg.seg-2{grid-template-columns:1fr 1fr}.seg.seg-2 button{padding:8px;line-height:1.3}.options-gcse{display:flex;flex-wrap:wrap;gap:8px}.case-gcse{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--fg);min-height:40px}.texte-gcse,.grille-gcse select,.grille-gcse input,.ligne-gcse select{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;min-height:40px}.matiere-gcse{display:grid;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.grille-gcse{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.grille-gcse label,.ligne-gcse{display:grid;gap:4px;font-size:.85rem;color:var(--muted)}.compteurs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.compteur{text-align:center;gap:2px}.compteur b{font-size:2.2rem;color:var(--accent)}.tirelire-tete{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.cochon{font-size:3.4rem;line-height:1;animation:secousse 2.8s ease-in-out infinite}@keyframes secousse{0%,80%,to{transform:rotate(0)}84%{transform:rotate(-12deg)}88%{transform:rotate(10deg)}92%{transform:rotate(-6deg)}96%{transform:rotate(4deg)}}.cousins{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.tete{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:600}.tete img,.tete-emoji{width:88px;height:88px;border-radius:50%;background:var(--paper);border:2px solid var(--accent);object-fit:contain;display:grid;place-items:center;font-size:3rem}.tete:nth-child(2) img,.tete:nth-child(2) .tete-emoji{transform:translateY(-8px)}.histoire p{color:var(--fg)}.paliers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.palier{text-align:center;align-items:center}.palier .btn{margin-top:auto;width:100%;text-align:center;text-decoration:none}.palier-icone{font-size:2.4rem;line-height:1}.carte p.palier-montant{font-family:var(--display);font-size:1.9rem;font-weight:800;color:var(--accent);line-height:1}@media(prefers-reduced-motion:reduce){.cochon{animation:none}}.champ-mdp{position:relative;display:flex;flex:1;min-width:0}.champ-mdp input{flex:1;min-width:0;padding-right:52px}.champ-mdp .oeil{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:46px;height:44px;display:grid;place-items:center;background:none;border:0;border-radius:10px;color:var(--muted);cursor:pointer}.champ-mdp .oeil:hover,.champ-mdp .oeil[aria-pressed=true]{color:var(--accent)}.champ-mdp .oeil:focus-visible{outline:2px solid var(--accent)}
