:root{
  --ArrierePlan:#050505;
  --Panneau:rgba(8,8,8,.88);
  --Ligne:rgba(255,255,255,.20);
  --Texte:#f5f5f5;
  --TexteAttenue:#9a9a9a;
  --Blanc:#ffffff;
  --Bleu:#27a8ff;
  --Vert:#38f27b;
  --Dore:#ffd84a;
}
*{box-sizing:border-box}
*::selection{background:#fff;color:#000;text-shadow:none}
*::-moz-selection{background:#fff;color:#000;text-shadow:none}
html,body{margin:0;min-height:100%;background:#000}
body{min-height:100vh;color:var(--Texte);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;overflow-x:hidden;position:relative}
.ArrierePlanGrille{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),radial-gradient(circle at 50% 0%,rgba(255,255,255,.065),transparent 34rem),var(--ArrierePlan);background-size:32px 32px,32px 32px,auto,auto}
.ArrierePlanGrille::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.025) 50%,transparent 100%);animation:BalayageGrille 7s linear infinite}
@keyframes BalayageGrille{from{transform:translateY(-100%)}to{transform:translateY(100%)}}
.LignesBalayage{position:fixed;inset:0;pointer-events:none;z-index:100;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 2px,transparent 4px);opacity:.28}
.Coquille{width:min(1180px,calc(100% - 28px));margin:28px auto 48px;position:relative;z-index:1}
.Panneau{border:1px solid var(--Ligne);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008)),var(--Panneau);box-shadow:inset 0 0 0 1px rgba(255,255,255,.018),0 20px 60px rgba(0,0,0,.35);border-radius:8px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.BarreSuperieure{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;gap:18px;position:relative;z-index:2}
.BlocMarque{display:flex;align-items:center;gap:18px;min-width:0}.SurTitre{margin:0 0 8px;color:#8d8d8d;font-size:.78rem;letter-spacing:.04em}
h1{margin:0;font-size:clamp(1.6rem,4vw,3rem);letter-spacing:-.04em;font-weight:800}h1 span{color:#a9a9a9;font-weight:400}.SousTitre{margin:8px 0 0;color:var(--TexteAttenue)}
.Clignotement{animation:Clignotement 1s steps(1) infinite}@keyframes Clignotement{50%{opacity:0}}
.BadgeSysteme{display:flex;align-items:center;gap:9px;color:#bdbdbd;font-size:.76rem;letter-spacing:.08em}.IndicateurPriorites{border:0;background:transparent;padding:8px 0;cursor:pointer;transition:color .15s ease}.IndicateurPriorites:hover{color:#fff}.PointSysteme{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.65);transition:background .2s ease,box-shadow .2s ease}.PointSysteme[data-niveau="Aucune"]{background:#fff;box-shadow:0 0 8px rgba(255,255,255,.7)}.PointSysteme[data-niveau="Faible"]{background:#38f27b;box-shadow:0 0 10px rgba(56,242,123,.85)}.PointSysteme[data-niveau="Moderee"]{background:#ff9f1a;box-shadow:0 0 11px rgba(255,159,26,.9)}.PointSysteme[data-niveau="Elevee"]{background:#ff3b3b;box-shadow:0 0 12px rgba(255,59,59,.95)}
.Synthese{padding:24px 26px;margin-top:14px}.EnteteProgression{display:flex;align-items:end;justify-content:space-between;gap:20px}.EnteteProgression>div:first-child{display:flex;align-items:baseline;gap:16px}.LibelleTerminal{color:var(--TexteAttenue);font-size:.82rem}#PourcentageGlobal{font-size:2.2rem;color:#fff}.CompteurGlobal{color:var(--TexteAttenue);text-align:right}
.PisteProgression{width:100%;height:10px;border:1px solid #333;background:#0a0a0a;overflow:hidden;border-radius:999px}.PisteProgression.Grande{height:17px;margin-top:16px}.RemplissageProgression{height:100%;width:0;background:linear-gradient(90deg,#555,#fff,#8a8a8a);background-size:220% 100%;box-shadow:0 0 16px rgba(255,255,255,.15);animation:FluxProgression 6s linear infinite;transition:width .25s ease}@keyframes FluxProgression{to{background-position:-200% 0}}
.LigneStatut{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 22px;margin-top:13px;color:var(--TexteAttenue);font-size:.78rem}
.Commandes{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:13px;margin-top:14px;position:relative;z-index:80;overflow:visible}#BoutonTri{width:194px;min-width:194px;flex:0 0 194px;text-align:center;white-space:nowrap}.ZoneRecherche{flex:1 1 320px;display:flex;align-items:center;gap:10px;border:1px solid #333;padding:9px 11px;background:#0a0a0a;border-radius:7px;color:#d8d8d8}.ZoneRecherche input{flex:1;min-width:0;border:0;outline:0;color:#fff;background:transparent}.ZoneRecherche input::placeholder{color:#686868}
button,input{font:inherit}.Secondaire,.Danger,.EtiquetteFichier{border:1px solid #333;background:#0a0a0a;color:#ddd;padding:9px 11px;border-radius:7px;cursor:pointer}.Secondaire:hover,.EtiquetteFichier:hover{border-color:#777;background:#151515}.Danger{border-color:#4a4a4a;color:#bdbdbd}.Danger:hover{border-color:#999;color:#fff}
.SelecteurUnite{position:relative;min-width:238px;z-index:90}.DeclencheurSelecteurUnite{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #333;background:#0a0a0a;color:#eee;padding:9px 13px;border-radius:7px;cursor:pointer;text-align:left}.DeclencheurSelecteurUnite:hover,.SelecteurUnite.Ouvert .DeclencheurSelecteurUnite{border-color:#777;background:#151515}.ChevronSelecteurUnite{font-size:1rem;line-height:1;transition:transform .18s ease;color:#fff}.SelecteurUnite.Ouvert .ChevronSelecteurUnite{transform:rotate(180deg)}
.MenuSelecteurUnite{position:absolute;z-index:9999;top:calc(100% + 7px);left:0;right:0;display:grid;gap:4px;padding:7px;border:1px solid #444;border-radius:8px;background:#090909;box-shadow:0 18px 40px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.985);transform-origin:top;transition:opacity .15s ease,transform .15s ease,visibility .15s ease;overflow:hidden}.SelecteurUnite.Ouvert .MenuSelecteurUnite{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.OptionSelecteurUnite{border:0;width:100%;padding:9px 11px;border-radius:5px;background:transparent;color:#dcdcdc;cursor:pointer;text-align:left}.OptionSelecteurUnite:hover,.OptionSelecteurUnite:focus-visible{outline:none;background:#1b1b1b;color:#fff}.OptionSelecteurUnite[aria-selected="true"]{background:#fff;color:#000}.OptionSelecteurUnite[aria-selected="true"]:hover{background:#e8e8e8}
.Legende,.UnitesEnseignement,.PiedPage{position:relative;z-index:1}.Legende{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:13px;margin-top:14px}.Legende>div{background:#090909;border:1px solid #272727;border-radius:7px;padding:10px;color:var(--TexteAttenue)}.Legende small{float:right;color:#666}.PuceEtat{margin-right:6px;font-weight:800;text-shadow:0 0 12px currentColor}.Etat0{color:var(--Blanc)}.Etat1{color:var(--Bleu)}.Etat2{color:var(--Vert)}.Etat3{color:var(--Dore)}
.UnitesEnseignement{display:grid;gap:14px;margin-top:14px}.Unite{padding:0;overflow:hidden}.EnteteUnite{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:0}.BasculeUnite{flex:1;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:inherit;text-align:left;padding:18px 20px 12px;cursor:pointer}.BasculeUnite{transition:background .2s ease}.BasculeUnite:hover{background:#0d0d0d}.ChevronUnite{display:inline-block;color:#8d8d8d;font-size:1rem;transition:transform .34s cubic-bezier(.2,.8,.2,1),color .2s ease;transform:rotate(0deg)}.Unite.Repliee .ChevronUnite{transform:rotate(-90deg)}.Unite h2{margin:0;font-size:1.05rem;color:#fff}.MetaUnite{margin:5px 0 0;color:var(--TexteAttenue);font-size:.76rem}.PourcentageUnite{font-size:1.25rem;color:#fff;padding-right:20px}.CorpsUnite{overflow:hidden;height:auto;opacity:1;transform:translateY(0);transition:height .34s cubic-bezier(.2,.8,.2,1),opacity .22s ease,transform .34s cubic-bezier(.2,.8,.2,1);will-change:height,opacity,transform}.CorpsUnite>.PisteProgression{margin:0 20px 14px;width:calc(100% - 40px)}.Unite.Repliee .CorpsUnite{height:0;opacity:0;transform:translateY(-6px);pointer-events:none}
.ListeCours{border-top:1px solid #242424}.Cours{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:11px 16px;border-bottom:1px solid #1d1d1d;transition:background .15s ease}.Cours:last-child{border-bottom:0}.Cours:hover{background:#0f0f0f}.BoutonEtat{width:42px;border:1px solid #333;background:#080808;border-radius:6px;padding:7px 0;cursor:pointer;font-weight:800;transition:color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.BoutonEtat[data-etat="0"]{color:var(--Blanc);border-color:#707070;box-shadow:0 0 10px rgba(255,255,255,.12)}.BoutonEtat[data-etat="1"]{color:var(--Bleu);border-color:var(--Bleu);box-shadow:0 0 12px rgba(39,168,255,.24)}.BoutonEtat[data-etat="2"]{color:var(--Vert);border-color:var(--Vert);box-shadow:0 0 12px rgba(56,242,123,.22)}.BoutonEtat[data-etat="3"]{color:#171100;background:var(--Dore);border-color:var(--Dore);box-shadow:0 0 16px rgba(255,216,74,.36)}
.TitreCours{color:#e9e9e9}.TitreCours mark{background:#fff;color:#000;padding:0 .08em;border-radius:2px}.SousInformationsCours{margin-top:5px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#7d7d7d;font-size:.72rem}.DateCours{color:#d2d2d2;font-weight:700;letter-spacing:.02em}.BadgeCours{border:1px solid #363636;padding:1px 5px;border-radius:4px;color:#9b9b9b}.LibelleEtatCours{color:#8f8f8f;font-size:.72rem;min-width:116px;text-align:right}.Cours[data-etat="0"] .LibelleEtatCours{color:var(--Blanc)}.Cours[data-etat="1"] .LibelleEtatCours{color:var(--Bleu)}.Cours[data-etat="2"] .LibelleEtatCours{color:var(--Vert)}.Cours[data-etat="3"] .LibelleEtatCours{color:var(--Dore);font-weight:700}.Cours[data-etat="1"] .TitreCours{color:#d5efff}.Cours[data-etat="2"] .TitreCours{color:#d8ffe5}.Cours[data-etat="3"] .TitreCours{color:#fff7c7;font-weight:700}
.PiedPage{display:flex;justify-content:space-between;gap:20px;margin-top:14px;padding:13px 16px;color:#777;font-size:.76rem}
@media(max-width:760px){.Coquille{width:min(100% - 16px,1180px);margin-top:8px}.BarreSuperieure,.Synthese{padding:18px}.BarreSuperieure{flex-direction:column;align-items:stretch;gap:20px}.BlocMarque{width:100%}.BlocMarque>div{width:100%}.BarreSuperieure h1{font-size:clamp(2rem,10vw,3rem);line-height:1.08}.BarreSuperieure h1 span{display:block;margin-top:5px}.SousTitre{max-width:17rem;line-height:1.3}.BadgeSysteme{display:flex;width:100%;max-width:none;justify-content:flex-start;text-align:left;gap:10px;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;letter-spacing:.05em}.IndicateurPriorites{align-self:stretch}.PointSysteme{flex:0 0 auto}.EnteteProgression{align-items:flex-start;flex-direction:column}.CompteurGlobal{text-align:left}.LigneStatut{justify-content:flex-start}.Legende{grid-template-columns:1fr 1fr}.Cours{grid-template-columns:auto 1fr}.LibelleEtatCours{grid-column:2;text-align:left;min-width:0}.PiedPage{flex-direction:column}.Commandes .Secondaire{flex:1 1 auto}}

.VoilePriorites{position:fixed;inset:0;z-index:180;background:rgba(0,0,0,.56);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.VoilePriorites.Ouvert{opacity:1;visibility:visible}
.PanneauPriorites{position:fixed;z-index:190;top:0;right:0;width:min(440px,calc(100vw - 20px));height:100vh;padding:22px;border-left:1px solid #353535;background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.008)),rgba(5,5,5,.97);box-shadow:-28px 0 70px rgba(0,0,0,.62);transform:translateX(104%);transition:transform .28s cubic-bezier(.2,.8,.2,1);overflow-y:auto}.PanneauPriorites.Ouvert{transform:translateX(0)}
.EntetePriorites{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid #252525}.EntetePriorites .SurTitre{margin-bottom:7px}.EntetePriorites h2{margin:0;font-size:1.3rem;letter-spacing:-.02em}.BoutonFermerPriorites{width:38px;height:38px;border:1px solid #333;background:#0a0a0a;color:#ddd;border-radius:7px;cursor:pointer;font-size:1.3rem;line-height:1}.BoutonFermerPriorites:hover{border-color:#777;color:#fff}
.ExplicationPriorites{margin:16px 0;color:#858585;font-size:.76rem;line-height:1.65}.ResumePriorites{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.ResumePriorites span{border:1px solid #292929;background:#090909;border-radius:7px;padding:11px;color:#888;font-size:.72rem}.ResumePriorites strong{display:block;margin-bottom:4px;color:#fff;font-size:1.15rem}.ListePriorites{display:grid;gap:8px}.CartePriorite{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;border:1px solid #292929;background:#090909;border-radius:8px;padding:11px 12px}.CartePriorite[data-etat="1"]{border-color:rgba(39,168,255,.45);box-shadow:inset 3px 0 0 var(--Bleu)}.CartePriorite[data-etat="2"]{border-color:rgba(56,242,123,.36);box-shadow:inset 3px 0 0 var(--Vert)}.RangPriorite{color:#6b6b6b;font-size:.7rem}.TitrePriorite{color:#ededed;font-size:.82rem;line-height:1.35}.MetaPriorite{margin-top:5px;color:#666;font-size:.67rem}.NiveauPriorite{font-size:.66rem;text-align:right;white-space:nowrap}.CartePriorite[data-etat="1"] .NiveauPriorite{color:var(--Bleu)}.CartePriorite[data-etat="2"] .NiveauPriorite{color:var(--Vert)}.PrioritesVides{border:1px dashed #333;border-radius:8px;padding:24px;color:#777;text-align:center;font-size:.78rem}
@media(max-width:560px){.PanneauPriorites{width:100vw;padding:18px}.ResumePriorites{grid-template-columns:1fr}.CartePriorite{grid-template-columns:30px 1fr}.NiveauPriorite{grid-column:2;text-align:left}.PrioritesOuvertes{overflow:hidden}}
.VoileAuthentification{position:fixed;inset:0;z-index:280;background:rgba(0,0,0,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.VoileAuthentification.Ouvert{opacity:1;visibility:visible}.FenetreAuthentification{position:fixed;z-index:290;left:50%;top:50%;width:min(460px,calc(100vw - 28px));padding:28px;transform:translate(-50%,-46%) scale(.98);opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.FenetreAuthentification.Ouverte{transform:translate(-50%,-50%) scale(1);opacity:1;visibility:visible}.BoutonFermerAuthentification{position:absolute;right:14px;top:14px;width:34px;height:34px;border:1px solid #333;background:#090909;color:#bbb;border-radius:7px;cursor:pointer;font-size:1.15rem}.BoutonFermerAuthentification:hover{border-color:#777;color:#fff}.EmblemeAuthentification{width:52px;height:52px;display:grid;place-items:center;margin-bottom:18px;border:1px solid #3a3a3a;border-radius:10px;background:#090909;color:#fff;font-size:1.65rem;box-shadow:0 0 24px rgba(255,255,255,.07)}.FenetreAuthentification h2{margin:0;font-size:1.45rem;letter-spacing:-.025em}.TexteAuthentification{margin:11px 0 20px;color:#8c8c8c;font-size:.8rem;line-height:1.65}.ActionsAuthentification{display:grid;gap:9px}.BoutonPrincipalAuthentification,.BoutonSecondaireAuthentification,.ConfigurationAppareil button{min-height:43px;border-radius:7px;cursor:pointer}.BoutonPrincipalAuthentification{border:1px solid #d9d9d9;background:#f5f5f5;color:#050505;font-weight:800}.BoutonPrincipalAuthentification:hover{background:#fff}.BoutonSecondaireAuthentification,.ConfigurationAppareil button{border:1px solid #363636;background:#0a0a0a;color:#ddd}.BoutonSecondaireAuthentification:hover,.ConfigurationAppareil button:hover{border-color:#777;color:#fff}.BoutonPrincipalAuthentification:disabled,.BoutonSecondaireAuthentification:disabled{opacity:.35;cursor:not-allowed}.ChargementAuthentification{min-height:74px;display:flex;align-items:center;justify-content:center;gap:13px;color:#d6d6d6;font-size:.78rem}.AnneauChargement{width:18px;height:18px;border:2px solid #353535;border-top-color:#fff;border-radius:50%;animation:RotationAuthentification .72s linear infinite}@keyframes RotationAuthentification{to{transform:rotate(360deg)}}.ErreurAuthentification{margin:0 0 12px;padding:10px 11px;border:1px solid rgba(255,59,59,.38);border-radius:7px;background:rgba(255,59,59,.07);color:#ff7777;font-size:.72rem;line-height:1.45}.ConfigurationAppareil{margin-top:12px;padding-top:14px;border-top:1px solid #292929}.ConfigurationAppareil label{display:block;margin-bottom:8px;color:#aaa;font-size:.72rem}.LigneConfigurationAppareil{display:grid;grid-template-columns:1fr auto;gap:8px}.ConfigurationAppareil input{min-width:0;border:1px solid #343434;background:#080808;color:#fff;border-radius:7px;padding:10px 11px;outline:none}.ConfigurationAppareil input:focus{border-color:#777}.ConfigurationAppareil button{padding:0 12px}.ConfigurationAppareil>p,.EnregistrementPasskey p{margin:9px 0 0;color:#686868;font-size:.68rem;line-height:1.5}.EnregistrementPasskey{padding-top:8px}.EnregistrementPasskey .BoutonPrincipalAuthentification{width:100%;margin-top:14px}.AuthentificationOuverte{overflow:hidden}@media(max-width:760px){.FenetreAuthentification{padding:24px 20px}.LigneConfigurationAppareil{grid-template-columns:1fr}.ConfigurationAppareil button{min-height:41px}}
