:root{--blue:#0866c5;--navy:#09274a;--yellow:#ffca26;--ink:#102a43;--muted:#586a7e;--line:#d9e3ed;--green:#177342;--red:#b12d38}*{box-sizing:border-box}body{margin:0;background:#f4f8fc;color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.55}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:var(--blue)}button:focus-visible,a:focus-visible{outline:3px solid #0d59af;outline-offset:4px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.header{height:88px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1320px)/2));border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;height:100%}.brand img{width:136px;height:76px;object-fit:contain}.header nav{display:flex;gap:32px;align-items:center}.header nav a{text-decoration:none;color:var(--muted);font-weight:600}.header nav .current{color:var(--blue);border-bottom:3px solid var(--yellow);padding:26px 0 22px}main{max-width:1320px;padding:28px 24px 64px;margin:auto}.welcome{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:218px;padding:28px 38px;border-radius:22px;background:#ffd640 url('assets/fond-robotyp-jaune-orange-sans-image.webp') center/cover;overflow:hidden;border:1px solid #f5c236}.eyebrow{margin:0 0 8px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.13em}.welcome .eyebrow{color:#634615}.welcome h1{font-size:clamp(27px,3.2vw,42px);line-height:1.16;letter-spacing:-.04em;margin:0 0 10px;font-weight:800}.welcome h1 span{display:block}.welcome p:not(.eyebrow){margin:0 0 16px;color:#443d26}.mascot{position:absolute;right:50px;bottom:-14px;width:220px;height:230px;object-fit:contain}.level{display:inline-flex;gap:15px;background:white;padding:7px 14px;border-radius:8px;color:var(--navy);font-weight:700;font-size:14px}.level span{font-weight:400;color:var(--muted);border-left:1px solid var(--line);padding-left:15px}.mode-note{font-size:14px;color:var(--muted);margin:16px 0 26px}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:32px}aside h2{font-size:14px;margin:0 0 16px;color:var(--muted);font-weight:650}#categories{display:flex;flex-direction:column;gap:7px}.category{width:100%;display:flex;align-items:center;gap:12px;padding:13px 12px;background:transparent;border:1px solid transparent;border-radius:10px;text-align:left;color:var(--ink);font-weight:600;font-size:15px}.category .number{font-size:12px;display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);border-radius:7px;color:var(--muted);flex-shrink:0}.category.active{background:var(--blue);color:white;box-shadow:0 5px 12px #0966c522}.category.active .number{color:white;border-color:#ffffff55}.category:not(.active):hover{background:#e5eef8}.category .n{margin-left:auto;font-size:13px;opacity:.75}.legend{display:grid;gap:10px;border-top:1px solid var(--line);margin-top:25px;padding:22px 12px;font-size:13px;color:var(--muted)}.state-dot{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:6px}.state-dot.open{background:#39af69}.state-dot.closed{background:#df4555}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.section-heading h2{font-size:28px;letter-spacing:-.03em;margin:0}.section-heading p:not(.eyebrow){margin:6px 0 0;color:var(--muted)}.count{font-size:14px;white-space:nowrap;color:var(--muted);padding:5px 12px;border:1px solid var(--line);border-radius:20px}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{display:flex;flex-direction:column;min-width:0;background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #102a430d}.card-top{height:135px;background:#eaf1fa;overflow:hidden;position:relative;border-bottom:1px solid var(--line)}.card-top img{width:100%;height:100%;object-fit:cover;object-position:top}.card-top:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,#08264920)}.card .course-code{position:absolute;bottom:12px;left:17px;z-index:1;box-shadow:0 2px 6px #102a4322}.course-code{display:inline-block;background:var(--blue);color:white;border-radius:7px;padding:5px 12px;font-size:14px;font-weight:800}.card-body{padding:19px 20px 20px;display:flex;flex-direction:column;flex:1}.card h3{font-size:20px;line-height:1.3;margin:10px 0 8px}.status{font-size:12px;font-weight:700;color:var(--green);display:flex;align-items:center}.status.locked{color:var(--red)}.card p{font-size:14px;color:var(--muted);margin:0 0 19px}.card-action{display:flex;align-items:center;justify-content:space-between;text-decoration:none;font-weight:700;color:var(--blue);margin-top:auto;border-top:1px solid #eef2f6;padding-top:14px}.card-action.locked{color:var(--muted)}.parent-action{margin-top:12px;background:white;border:1px solid var(--blue);border-radius:7px;padding:7px 12px;color:var(--blue);font-size:14px}.back{padding:0;border:0;background:none;color:var(--blue);font-size:14px;margin:0 0 20px}.lesson-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.lesson-heading h2{font-size:29px;line-height:1.25;margin:0;letter-spacing:-.03em}.reader-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;background:white;border:1px solid var(--line);border-radius:12px 12px 0 0;font-size:14px}.reader-toolbar a{font-weight:600;text-decoration:none}.reader{background:#e9eef5;border:1px solid var(--line);border-top:0;padding:10px;min-height:220px;display:flex;align-items:center;justify-content:center}.reader img{display:block;width:100%;height:auto;border-radius:3px}.reader-navigation{display:flex;gap:20px;justify-content:center;align-items:center;padding:16px;background:white;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px}.reader-navigation button{border:1px solid var(--line);background:white;border-radius:8px;width:42px;height:38px;color:var(--blue);font-size:20px}.reader-navigation p{margin:0;min-width:100px;text-align:center;font-size:14px}.sheet-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:16px 0 28px}.sheet-buttons button{background:white;border:1px solid var(--line);border-radius:6px;min-width:36px;min-height:36px;color:var(--muted);font-size:14px}.sheet-buttons button.selected{background:var(--blue);color:white;border-color:var(--blue)}.small{margin-top:30px;margin-bottom:15px}.small h3{margin:0;font-size:22px}.document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.document{padding:18px;background:white;border:1px solid var(--line);border-radius:12px}.document h4{margin:0 0 4px;font-size:18px}.document p{color:var(--muted);font-size:13px;margin:0 0 12px}.document-actions{display:flex;gap:18px;flex-wrap:wrap}.document a{font-size:14px;font-weight:600}.lesson-bottom{display:flex;justify-content:flex-end;margin-top:26px}.primary{background:var(--blue);color:white;border:0;border-radius:9px;padding:12px 20px;font-weight:650;box-shadow:3px 3px 0 var(--yellow)}.locked-message{padding:55px 20px;text-align:center;background:white;border:1px solid var(--line);border-radius:15px}.locked-message>span{font-size:34px}.locked-message h3{font-size:24px;margin:12px 0}.locked-message p{color:var(--muted)}footer{max-width:1272px;margin:0 auto;padding:24px;border-top:1px solid var(--line);font-weight:750;color:var(--blue);display:flex;justify-content:space-between;gap:15px;font-size:14px}footer span{font-weight:400;color:var(--muted)}@media(min-width:1000px){aside{position:sticky;top:24px;align-self:start}}@media(max-width:850px){.workspace{grid-template-columns:1fr;gap:24px}aside h2,.legend{display:none}#categories{flex-direction:row;overflow:auto;padding:2px 2px 10px}.category{width:auto;flex-shrink:0}.category .number,.category .n{display:none}.mascot{right:15px;width:180px}.welcome{padding:25px}.welcome>div{max-width:70%}.section-heading h2{font-size:25px}.header nav{gap:19px}}@media(max-width:520px){main{padding:18px 15px 40px}.header{height:74px;padding:0 15px}.brand img{width:95px;height:64px}.header nav{gap:14px;font-size:14px}.header nav .current{padding:24px 0 19px}.welcome{min-height:210px;padding:23px 20px}.welcome>div{max-width:85%}.welcome h1{font-size:27px}.welcome p:not(.eyebrow){font-size:14px;max-width:220px}.mascot{width:112px;height:125px;right:-7px;bottom:-9px;opacity:.95}.level{font-size:12px;gap:8px;padding:6px 9px}.level span{padding-left:8px}.course-grid{grid-template-columns:1fr}.card-top{height:150px}.document-list{grid-template-columns:1fr}.section-heading{gap:10px}.count{padding:4px 8px}.lesson-heading h2{font-size:25px}.reader{padding:3px}.reader-toolbar{font-size:13px;padding:12px}.mode-note{font-size:13px}.welcome .eyebrow{font-size:11px}footer{flex-direction:column}.section-heading p:not(.eyebrow){font-size:14px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
