[data-theme=dark]{--fond-page:#060810;--texte:#eef2f8;--texte-doux:#b9c2d0;--accent-texte:#00d4ff;--lien:#00d4ff;--accent:#00d4ff;--halo:#00d4ff29;--halo-vif:#00d4ff33;--violet:#7b2fff;--fond-carte:#ffffff0f;--fond-carte-opaque:#10141f;--bord-carte:#00d4ff40;--bord-carte-vive:#00d4ff8c;--reflet-carte:#ffffff14;--fond-bouton:#7dd3fc;--texte-bouton-principal:#06202e;--lueur-bouton:#00d4ff8c;--lueur-bouton-vive:#00d4ffcc;--fond-secondaire-survol:#00d4ff26;--fond-secondaire:#060810cc;--fond-danger:#c1121f;--fond-champ:#10141f;--fond-champ-desactive:#1a1f2b;--focus:#00d4ff;--matiere-maths:#4da3ff;--matiere-francais:#ff6060;--matiere-anglais:#22ccc0;--matiere-espagnol:#ff9e3d;--matiere-techno:#aeb6bf;--matiere-musique:#c478ff;--matiere-physique:#35d98c;--matiere-chimie:#ffce3d;--matiere-histoire:#c08457;--matiere-geographie:#c9dc4a;--matiere-emc:#6e86ff;--matiere-svt:#7bd94d;--matiere-arts:#ff5cc8}[data-theme=light]{--fond-page:#f8f9ff;--texte:#10141f;--texte-doux:#4c5566;--accent-texte:#0077a8;--lien:#00506f;--accent:#00a8e8;--halo:#00a8e824;--halo-vif:#00a8e82e;--violet:#7b2fff;--fond-carte:#ffffffad;--fond-carte-opaque:#eef1fb;--bord-carte:#0077a859;--bord-carte-vive:#0077a899;--reflet-carte:#fff9;--texte-bouton-principal:#fff;--fond-bouton:#060810cc;--lueur-bouton:#0077a88c;--lueur-bouton-vive:#0077a8cc;--fond-secondaire-survol:#0077a826;--fond-secondaire:#f8f9ffe6;--fond-danger:#a4161a;--fond-champ:#eef1fb;--fond-champ-desactive:#dfe4f2;--focus:#0077a8;--matiere-maths:#0078c3;--matiere-francais:#d03e4c;--matiere-anglais:#00847b;--matiere-espagnol:#aa6000;--matiere-techno:#6f767e;--matiere-musique:#9753ca;--matiere-physique:#008645;--matiere-chimie:#8d6f00;--matiere-histoire:#9b693e;--matiere-geographie:#657e00;--matiere-emc:#456fd5;--matiere-svt:#008700;--matiere-arts:#cf26a5}*{box-sizing:border-box}html{background-color:var(--fond-page)}body{min-height:100vh;color:var(--texte);margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}.halo{z-index:0;pointer-events:none;filter:blur(90px);border-radius:50%;position:fixed}.halo--un{background:radial-gradient(circle, var(--halo-vif) 0%, transparent 70%);width:640px;height:640px;top:-220px;left:-180px}.halo--deux{background:radial-gradient(circle,#7b2fff24 0%,#0000 70%);width:560px;height:560px;bottom:-240px;right:-160px}main{z-index:1;width:100%;max-width:960px;margin:0 auto;padding:32px 24px 64px;position:relative}@media (width<=480px){main{padding:24px 16px 48px}}h1{margin:0 0 8px;font-size:30px;font-weight:700;line-height:1.25}h2{margin:0 0 8px;font-size:20px;font-weight:600;line-height:1.3}p{color:var(--texte);margin:0 0 16px}a{color:var(--lien)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.entete-site{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:960px;margin:0 auto;padding:20px 24px 0;display:flex;position:relative}@media (width<=480px){.entete-site{padding:16px 16px 0}}.nom-app{letter-spacing:.01em;font-size:18px;font-weight:700}.lien-nom-app{min-height:44px;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.entete-liens{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lien-tableau-bord{border:1px solid var(--bord-carte);min-height:44px;color:var(--accent-texte);border-radius:9999px;align-items:center;padding:10px 18px;font-weight:600;text-decoration:none;transition:border-color .3s,background-color .3s;display:inline-flex}.lien-tableau-bord:hover{border-color:var(--bord-carte-vive);background:var(--fond-secondaire-survol)}.formulaire-deconnexion{flex:none;margin:0;display:inline-flex}.bouton-deconnexion{border:1px solid var(--accent-texte);background:var(--fond-secondaire);min-height:44px;color:var(--accent-texte);font:inherit;cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .3s,transform .3s;display:inline-flex}.bouton-deconnexion:hover{background:var(--fond-secondaire-survol);transform:translateY(-2px)}.pied-site{z-index:1;max-width:960px;color:var(--texte-doux);text-align:center;margin:0 auto;padding:24px;font-size:14px;position:relative}.carte{background:var(--fond-carte);border:1px solid var(--bord-carte);backdrop-filter:blur(15px);min-height:96px;box-shadow:0 18px 30px #00000059, inset 0 1px 0 var(--reflet-carte);border-radius:16px;padding:24px;transition:transform .3s,border-color .3s,box-shadow .3s;display:block;position:relative}.carte--large{box-shadow:0 22px 36px #0006, inset 0 1px 0 var(--reflet-carte);border-radius:20px}.carte:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-texte), transparent);width:80%;height:1px;transition:transform .3s;position:absolute;top:0;left:10%;transform:scaleX(0)}.carte:hover,.carte:focus-within{border-color:var(--bord-carte-vive);box-shadow:0 0 30px var(--halo-vif), 0 12px 32px #0000004d, inset 0 1px 0 var(--reflet-carte);transform:translateY(-6px)}.carte:hover:before,.carte:focus-within:before{transform:scaleX(1)}.grille-cartes{gap:20px;margin:24px 0;display:grid}.carte+.carte{margin-top:20px}.grille-cartes>.carte+.carte{margin-top:0}@supports not (backdrop-filter:blur(1px)){.carte{background:var(--fond-carte-opaque)}}.bouton-principal,.bouton-secondaire{position:relative;overflow:hidden}.bouton-principal{background:var(--fond-bouton);min-height:48px;max-height:64px;color:var(--texte-bouton-principal);font:inherit;cursor:pointer;border:0;border-radius:9999px;justify-content:center;align-items:center;padding:12px 28px;font-weight:600;text-decoration:none;transition:transform .3s,box-shadow .3s;display:inline-flex}.bouton-principal:hover{transform:translateY(-2px)}.bouton-secondaire{border:1px solid var(--accent-texte);background:var(--fond-secondaire);min-height:48px;color:var(--accent-texte);font:inherit;cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;padding:12px 24px;font-weight:600;text-decoration:none;transition:background-color .3s,transform .3s;display:inline-flex}.bouton-secondaire:hover{background:var(--fond-secondaire-survol);transform:translateY(-2px)}.bouton-principal:disabled,.bouton-secondaire:disabled{cursor:not-allowed;opacity:.55;transform:none}@media (width<=480px){.ligne-actions .bouton-principal,.ligne-actions .bouton-secondaire{text-align:center;width:100%;display:block}}.bouton-danger{border:1px solid var(--fond-danger);background:var(--fond-secondaire);min-height:48px;color:var(--texte);font:inherit;cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;padding:12px 24px;font-weight:600;text-decoration:none;transition:background-color .3s,transform .3s;display:inline-flex;position:relative}.bouton-danger:hover{background:var(--fond-carte);transform:translateY(-2px)}.bascule-theme{border:1px solid var(--bord-carte);background:var(--fond-carte);backdrop-filter:blur(16px);min-height:44px;color:var(--texte);font:inherit;cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;padding:10px 20px;font-weight:600;transition:border-color .3s,background-color .3s;display:inline-flex}.bascule-theme:hover{border-color:var(--bord-carte-vive);background:var(--fond-secondaire-survol)}.bouton-principal,.bouton-secondaire,.bouton-danger,.bascule-theme{--lumiere-x:50%;--lumiere-y:50%;--rayon-lumiere:48px}.lumiere-calque{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:visible}.lumiere-calque>span{border-radius:inherit;opacity:0;pointer-events:none;position:absolute;inset:0}.lumiere-bordure{background:radial-gradient(circle at var(--lumiere-x) var(--lumiere-y), var(--lueur-bouton-vive) 0, var(--lueur-bouton) calc(var(--rayon-lumiere) * .6), transparent var(--rayon-lumiere));-webkit-mask-composite:xor;padding:2px;transition:opacity .25s;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}[data-theme=light] .lumiere-bordure{background:radial-gradient(circle at var(--lumiere-x) var(--lumiere-y), var(--accent-texte) 0, var(--accent-texte) calc(var(--rayon-lumiere) * .5), transparent var(--rayon-lumiere))}.lumiere-halo{border-radius:inherit;background:radial-gradient(circle at var(--lumiere-x) var(--lumiere-y), var(--lueur-bouton) 0, transparent var(--rayon-lumiere));filter:blur(14px);transition:opacity .25s}.lumiere-teinte{background:radial-gradient(circle at var(--lumiere-x) var(--lumiere-y), var(--lueur-bouton) 0, transparent calc(var(--rayon-lumiere) * 1.2));transition:opacity .25s}[data-lumiere=actif] .lumiere-bordure,[data-lumiere=flash] .lumiere-bordure{opacity:.9}[data-lumiere=actif] .lumiere-halo{opacity:.3}[data-lumiere=actif] .lumiere-teinte{opacity:.25}[data-lumiere=flash] .lumiere-halo,[data-lumiere=flash] .lumiere-teinte{opacity:.2}[data-lumiere=actif] .lumiere-calque>span,[data-lumiere=flash] .lumiere-calque>span{transition-duration:.35s}.lumiere-particule{background:var(--lueur-bouton-vive);pointer-events:none;border-radius:9999px;width:2px;height:2px;animation:2s ease-out forwards lumiere-derivee;position:absolute}@keyframes lumiere-derivee{0%{opacity:0;transform:translate(0)}25%{opacity:.9}55%{opacity:.4}to{opacity:0;transform:translate(6px,-14px)}}@media (prefers-reduced-motion:reduce){.lumiere-calque>span{transition-duration:0s}.lumiere-particule{display:none}}.champ{flex-direction:column;gap:8px;display:flex}.champ label{color:var(--texte);font-weight:600}.champ input[type=text],.champ select{box-sizing:border-box;width:100%;min-height:48px;font:inherit;color:var(--texte);background:var(--fond-champ);border:1px solid var(--bord-carte);border-radius:12px;padding:12px 14px}.formulaire-champs{gap:20px;margin:24px 0;display:grid}.liste-comptes{gap:12px;margin:16px 0 0;display:grid}.compte-lien{border:1px solid var(--bord-carte);background:var(--fond-carte);backdrop-filter:blur(14px);min-height:48px;color:var(--texte);border-radius:14px;align-items:center;padding:10px 18px;font-weight:600;text-decoration:none;transition:border-color .3s,transform .3s;display:flex}.compte-lien:hover{border-color:var(--bord-carte-vive);transform:translateY(-2px)}.puces-niveaux{flex-wrap:wrap;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.puce-niveau{border:1px solid var(--bord-carte);background:var(--fond-carte);min-height:44px;color:var(--texte);border-radius:9999px;align-items:center;padding:8px 18px;font-weight:600;text-decoration:none;transition:border-color .3s;display:inline-flex}a.puce-niveau:hover{border-color:var(--bord-carte-vive)}.badge{border:1px solid var(--accent-texte);min-height:28px;color:var(--accent-texte);border-radius:9999px;align-items:center;padding:2px 12px;font-size:14px;font-weight:700;display:inline-flex}.etat-erreur{border:1px solid var(--fond-danger);background:var(--fond-carte);color:var(--texte);border-radius:12px;margin:0 0 16px;padding:12px 16px;font-weight:600}.etat-info{border:1px solid var(--bord-carte);background:var(--fond-carte);color:var(--texte-doux);border-radius:12px;margin:0 0 16px;padding:12px 16px;font-weight:600}.etat-succes{border:1px solid var(--accent-texte);background:var(--fond-carte);color:var(--accent-texte);border-radius:12px;margin:0 0 16px;padding:12px 16px;font-weight:600}.ligne-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;display:flex}.actions-arrivee{flex-direction:column;align-items:center;gap:16px;max-width:420px;margin:24px auto;display:flex}.actions-arrivee .bouton-principal,.actions-arrivee .bouton-secondaire{box-sizing:border-box;text-align:center;width:100%}.grille-matieres{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin:24px 0;display:grid}.carte-matiere{border-left:4px solid var(--matiere);color:var(--texte);text-decoration:none}.carte-matiere .nom-matiere{color:var(--matiere);font-size:18px;font-weight:700;display:block}.nom-matiere{color:var(--matiere);font-weight:700}.carte-matiere .effet-matiere{color:var(--texte-doux);font-size:14px;display:block}.matiere-maths{--matiere:var(--matiere-maths)}.matiere-francais{--matiere:var(--matiere-francais)}.matiere-anglais{--matiere:var(--matiere-anglais)}.matiere-espagnol{--matiere:var(--matiere-espagnol)}.matiere-techno{--matiere:var(--matiere-techno)}.matiere-musique{--matiere:var(--matiere-musique)}.matiere-physique{--matiere:var(--matiere-physique)}.matiere-chimie{--matiere:var(--matiere-chimie)}.matiere-histoire{--matiere:var(--matiere-histoire)}.matiere-geographie{--matiere:var(--matiere-geographie)}.matiere-emc{--matiere:var(--matiere-emc)}.matiere-svt{--matiere:var(--matiere-svt)}.matiere-arts{--matiere:var(--matiere-arts)}.etat{border:1px solid var(--bord-carte);min-height:28px;color:var(--texte-doux);border-radius:9999px;align-items:center;padding:2px 12px;font-size:14px;font-weight:600;display:inline-flex}.etat--a-relire{border-color:var(--fond-danger);color:var(--texte)}.etat--en-attente{border-color:var(--accent-texte);color:var(--texte)}.etat--en-cours,.etat--ok{border-color:var(--accent-texte);color:var(--accent-texte)}.etat--echec{border-color:var(--fond-danger);color:var(--texte)}.liste-cours{gap:12px;margin:24px 0;display:grid}.cours-ligne{background:var(--fond-carte);border:1px solid var(--bord-carte);backdrop-filter:blur(15px);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px;display:flex}.cours-titre{margin:0;font-size:17px;font-weight:700}.lien-action{border:1px solid var(--bord-carte);min-height:44px;color:var(--accent-texte);border-radius:9999px;align-items:center;padding:6px 14px;font-weight:600;text-decoration:none;transition:border-color .3s,background-color .3s;display:inline-flex}.lien-action:hover{border-color:var(--bord-carte-vive);background:var(--fond-secondaire-survol)}.miniature{border:1px solid var(--bord-carte);background:var(--fond-champ);width:64px;height:64px;color:var(--texte-doux);text-align:center;border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.image-placeholder{border:1px dashed var(--bord-carte);background:var(--fond-champ);min-height:240px;color:var(--texte-doux);text-align:center;border-radius:16px;justify-content:center;align-items:center;margin:0 0 16px;padding:24px;display:flex}.apercu-rotation{border-radius:16px;margin:0 0 8px;overflow:hidden}.apercu-cible{max-width:420px;margin:0 auto;transition:transform .3s;transform:rotate(0)}.image-placeholder--apercu{min-height:240px;margin:0}.ligne-actions--rotation{justify-content:center;margin-top:8px}@media (prefers-reduced-motion:reduce){.apercu-cible{transition:none}}.champ textarea{box-sizing:border-box;width:100%;min-height:220px;font:inherit;color:var(--texte);background:var(--fond-champ);border:1px solid var(--bord-carte);resize:vertical;border-radius:12px;padding:12px 14px}.champ input[type=file]{box-sizing:border-box;width:100%;min-height:48px;font:inherit;color:var(--texte);background:var(--fond-champ);border:1px solid var(--bord-carte);border-radius:12px;padding:10px 14px}.onglets{flex-wrap:wrap;gap:8px;margin:24px 0 0;display:flex}.onglet{border:1px solid var(--bord-carte);background:var(--fond-carte);min-height:44px;color:var(--texte);border-radius:9999px;align-items:center;padding:8px 18px;font-weight:600;text-decoration:none;transition:border-color .3s;display:inline-flex}.onglet:hover{border-color:var(--bord-carte-vive)}.onglet--actif{border-color:var(--accent-texte);color:var(--accent-texte)}.liste-entrees{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.entree-rappel{border:1px solid var(--bord-carte);background:var(--fond-carte);border-radius:12px;padding:12px 16px}.entree-rappel strong{display:block}.entree-rappel span{color:var(--texte-doux)}.score-final{font-size:26px;font-weight:700}.liste-corrections{gap:16px;margin:16px 0 0;display:grid}.correction{border:1px solid var(--bord-carte);background:var(--fond-carte);border-radius:14px;padding:16px}.choix-reponses{gap:12px;margin:16px 0;display:grid}.choix{border:1px solid var(--bord-carte);background:var(--fond-carte);border-radius:12px;align-items:center;min-height:48px;padding:12px 16px;display:flex}.choix--donne{border-color:var(--accent-texte)}.choix--juste{border-color:var(--accent-texte);color:var(--accent-texte);font-weight:600}.grille-cases{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:16px 0 0;display:grid}.case-choix{border:1px solid var(--bord-carte);background:var(--fond-carte);backdrop-filter:blur(14px);min-height:48px;color:var(--texte);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:10px 16px;font-size:16px;font-weight:600;transition:border-color .3s,background-color .3s;display:flex}.case-choix:hover{border-color:var(--bord-carte-vive);background:var(--fond-secondaire-survol)}.case-choix input[type=checkbox],.case-choix input[type=radio]{width:22px;height:22px;accent-color:var(--accent);cursor:pointer;flex:none}.ligne-actions--sombre{margin-top:0}.case-choix--action{border-color:var(--accent-texte);color:var(--accent-texte)}.encadre-info{border:1px solid var(--bord-carte);border-left:4px solid var(--accent-texte);background:var(--fond-carte);color:var(--texte);border-radius:12px;margin:16px 0 0;padding:12px 16px;font-size:16px}.note-douce{color:var(--texte-doux);margin:12px 0 0;font-size:16px}.total-questions{margin:16px 0 0;font-size:16px;font-weight:600}.progression-revision{border:1px solid var(--bord-carte);background:var(--fond-carte);min-height:44px;color:var(--accent-texte);border-radius:9999px;align-items:center;padding:8px 18px;font-weight:700;display:inline-flex}.carte-liste{flex-direction:column;gap:16px;display:flex}.entete-liste{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.entete-liste .note-douce{margin:0}.ligne-actions--liste{margin-top:0}@media (width<=480px){.ligne-actions--liste .bouton-principal,.ligne-actions--liste .bouton-secondaire{text-align:center;width:100%;display:block}}.lien-en-ligne{align-items:center;min-height:44px;font-weight:600;display:inline-flex}@media (prefers-reduced-motion:reduce){.carte,.carte:before,.bouton-principal,.bouton-secondaire,.bouton-danger,.bascule-theme,.lien-tableau-bord,.compte-lien,.lien-action,.bouton-deconnexion,.onglet{transition-duration:0s}.carte:hover,.carte:focus-within,.bouton-principal:hover,.bouton-secondaire:hover,.bouton-danger:hover,.compte-lien:hover,.bouton-deconnexion:hover{transform:none}[data-lumiere=actif].bouton-principal,[data-lumiere=actif].bouton-secondaire{box-shadow:0 0 0 2px var(--accent-texte)}}
