:root{--color-bg: #161826;--color-surface: #232532;--color-text: #e9e9ed;--color-accent: #84b0d9;--color-accent-300: #a5c1db;--color-accent-400: #6b96be;--color-accent-600: #436688;--color-accent-800: #293c4e;--color-accent-900: #212d38;--color-divider: color-mix(in srgb, #e9e9ed 16%, transparent);--color-neutral-400: #b2b6ca;--color-neutral-500: #9397ab;--color-neutral-600: #75798c;--color-neutral-800: #3f424d;--color-neutral-900: #292b31;--font-heading: "Inter", system-ui, sans-serif;--font-heading-weight: 500;--font-body: "Inter", system-ui, sans-serif;--space-1: 2.8px;--space-2: 5.6px;--space-3: 8.4px;--space-4: 11.2px;--space-6: 16.8px;--space-8: 22.4px;--radius-sm: 4px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 0 0 1px #3f424d;--shadow-md: 0 0 0 1px #595d6c, 0 6px 18px rgba(0, 0, 0, .55);--shadow-lg: 0 0 0 1px #9397ab, 0 16px 40px rgba(0, 0, 0, .65);--tap-min: 44px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.01em;margin:0}a{color:var(--color-accent-400)}button{font-family:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.page{min-height:100vh;display:flex;flex-direction:column}.conteneur{width:100%;max-width:960px;margin:0 auto;padding:0 var(--space-4);align-items:center}main.conteneur{flex:1;padding-top:var(--space-6);padding-bottom:calc(var(--space-8) * 2)}@media (min-width: 640px){.conteneur{padding:0 var(--space-8)}main.conteneur{padding-top:var(--space-8)}}.entete{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--color-bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-divider)}.entete-inner{display:flex;align-items:center;gap:var(--space-4);min-height:56px}.logo{font-family:var(--font-heading);font-weight:600;font-size:19px;color:var(--color-text);text-decoration:none;letter-spacing:-.01em;display:inline-flex;align-items:center;min-height:var(--tap-min)}.logo span{color:var(--color-accent)}.nav-desktop{display:none;margin-left:auto;gap:var(--space-2)}.nav-lien{display:inline-flex;align-items:center;min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--color-neutral-400);text-decoration:none;font-size:15px;transition:color .15s,background .15s}.nav-lien:hover,.nav-lien.actif{color:var(--color-text);background:var(--color-surface)}.burger{margin-left:auto;width:var(--tap-min);height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text);cursor:pointer;border-radius:var(--radius-md)}@media (min-width: 640px){.nav-desktop{display:flex}.burger{display:none}}.menu-mobile{border-top:1px solid var(--color-divider);display:flex;flex-direction:column;padding:var(--space-3) 0 var(--space-4)}.menu-mobile .nav-lien{min-height:48px;font-size:16px}.eyebrow{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--color-neutral-500);margin-bottom:var(--space-2)}.titre-page{display:flex;font-size:26px;margin-bottom:var(--space-6);justify-content:center}@media (min-width: 640px){.titre-page{font-size:32px}}.grille-niveaux{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width: 640px){.grille-niveaux{flex-direction:row}.grille-niveaux>*{flex:1}}.section-accueil{margin-top:var(--space-8)}.titre-section{font-size:20px;margin-bottom:var(--space-4)}.carte-niveau{display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);min-height:88px;text-decoration:none;color:var(--color-text);transition:box-shadow .15s,transform .15s;align-items:center}.carte-niveau:hover{background:color-mix(in srgb,var(--color-accent) 5%,transparent)}.carte-niveau .niveau-nom{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:22px;color:var(--color-accent-300)}.carte-niveau .niveau-sous{color:var(--color-neutral-400);font-size:14px}.carte-niveau .niveau-meta{margin-top:var(--space-3);font-size:13px;color:var(--color-neutral-500)}.liste-chapitres{display:flex;flex-direction:column;gap:var(--space-3)}.chapitre{background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden}.chapitre-entete{width:100%;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-4);min-height:56px;background:transparent;border:none;color:var(--color-text);font-size:16px;text-align:left;cursor:pointer}.chapitre-entete:hover{background:color-mix(in srgb,var(--color-accent) 7%,transparent)}.chapitre-num{font-size:13px;color:var(--color-accent);font-variant-numeric:tabular-nums;min-width:22px}.chapitre-titre{flex:1;font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.chapitre-chevron{color:var(--color-neutral-500);transition:transform .18s;flex-shrink:0}.chapitre.ouvert .chapitre-chevron{transform:rotate(180deg)}.chapitre-corps{border-top:1px solid var(--color-divider);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-6)}.section-docs .section-label{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--color-neutral-500);margin-bottom:var(--space-3)}.liste-docs{display:flex;flex-direction:column;gap:var(--space-2)}.doc{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-bg) 55%,transparent);color:var(--color-text);text-decoration:none;font-size:15px;transition:background .15s}.doc:hover{background:color-mix(in srgb,var(--color-accent) 7%,transparent)}.doc-icone{color:var(--color-accent-400);flex-shrink:0;display:flex}.doc-nom{flex:1;min-width:0;overflow-wrap:anywhere}.doc-format{font-size:11px;letter-spacing:.06em;color:var(--color-accent-300);background:var(--color-accent-900);border-radius:var(--radius-sm);padding:2px var(--space-2);flex-shrink:0}.video{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-accent-300);text-decoration:none;font-size:15px}.video:hover{background:color-mix(in srgb,var(--color-accent) 7%,transparent)}.video-icone{flex-shrink:0;display:flex;color:var(--color-accent)}.liste-liens{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width: 640px){.liste-liens{grid-template-columns:1fr 1fr}}.carte-lien{display:flex;align-items:center;gap:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4) var(--space-6);text-decoration:none;transition:box-shadow .15s}.carte-lien:hover{background:color-mix(in srgb,var(--color-accent) 7%,transparent)}.lien-icone{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-accent-400);overflow:hidden}.lien-icone img{width:40px;height:40px;object-fit:contain;border-radius:var(--radius-sm)}.lien-emoji{font-size:20px;line-height:1}.lien-texte{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.carte-lien .lien-titre{color:var(--color-accent-300);font-size:16px;font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.carte-lien .lien-desc{color:var(--color-neutral-400);font-size:14px}.vide{color:var(--color-neutral-500);font-size:15px;background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-6)}.pied{border-top:1px solid var(--color-divider);padding:var(--space-6) 0;margin-top:auto}.pied-inner{display:flex;flex-direction:column;gap:var(--space-2);font-size:14px;color:var(--color-neutral-500)}.pied a{color:var(--color-accent-400);text-decoration:none;display:inline-flex;align-items:center;min-height:var(--tap-min)}.pied a:hover{text-decoration:underline}@media (min-width: 640px){.pied-inner{flex-direction:row;align-items:center;justify-content:space-between}.pied a{min-height:0}}
