:root{--ink:#173c3a;--deep:#123e3b;--muted:#6b807b;--paper:#f7f5ee;--white:#fffefa;--line:#dce4dc;--mint:#dceddf;--teal:#2f7d6c;--sun:#efbc73;--coral:#e38d6e;--shadow:0 10px 35px rgba(22,61,55,.06)}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e99f6d;outline-offset:2px}button:disabled{opacity:.48;cursor:not-allowed}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:1.65rem}h3{font-size:1.12rem}.app{min-height:100vh}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:var(--deep);color:#f6f8f1;padding:27px 18px;display:flex;flex-direction:column;gap:28px;z-index:4}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand svg{width:42px;height:42px}.brand strong{font-size:1.09rem;line-height:1.12;display:block}.brand small{display:block;font-size:.71rem;color:#b1cec2;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}.nav-label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#a2c2b4;margin:0 11px 10px}.nav{display:grid;gap:4px}.nav button{color:#dcece3;background:transparent;border:0;border-radius:10px;text-align:left;padding:11px 12px;display:flex;align-items:center;gap:11px;width:100%}.nav button.active,.nav button:hover{background:#2d6159;color:white}.nav .nav-icon{width:22px;text-align:center;font-size:1.05rem}.sidebar-foot{margin-top:auto;color:#bad1c5;font-size:.74rem;padding:0 10px}.sidebar-foot strong{display:block;color:#e3f1e9;font-size:.8rem}.main{margin-left:240px;min-height:100vh}.topbar{height:77px;padding:0 5vw;border-bottom:1px solid #e6ebe2;display:flex;justify-content:space-between;align-items:center;gap:12px;background:rgba(247,245,238,.92)}.top-left{font-size:.83rem;color:var(--muted);font-weight:600}.top-actions{display:flex;align-items:center;gap:10px}.save-dot{font-size:.74rem;color:var(--muted);display:flex;align-items:center;gap:7px}.dot{width:7px;height:7px;background:#7bad8b;border-radius:50%;display:inline-block}.profile{display:flex;gap:9px;align-items:center;font-size:.82rem;font-weight:700}.avatar{width:36px;height:36px;background:#e5ae82;color:#543e34;border-radius:50%;display:grid;place-items:center}.content{max-width:1320px;margin:0 auto;padding:35px 5vw 60px}.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--teal);margin-bottom:10px}.sub{color:var(--muted);margin-top:9px;max-width:680px}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:29px}.date-pill,.pill{display:inline-flex;gap:6px;align-items:center;border-radius:99px;font-size:.72rem;font-weight:750;padding:6px 10px;background:#e9f0e8;color:#507968}.date-pill{padding:8px 12px;white-space:nowrap}.pill.orange{background:#fae9d8;color:#9d5b31}.pill.pink{background:#f8e5db;color:#9a5847}.pill.blue{background:#e1ecec;color:#457170}.pill.grey{background:#ecf0ed;color:#72827d}.hero{background:#dbece0;border:1px solid #d0e4d5;border-radius:22px;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:154px;position:relative;overflow:hidden;margin-bottom:29px}.hero:after{content:'';position:absolute;right:100px;bottom:-97px;width:220px;height:220px;border:32px solid rgba(255,255,255,.35);border-radius:50%}.hero h2{font-size:1.55rem;max-width:520px}.hero p{color:#648177;margin-top:8px}.hero .btn{position:relative;z-index:1;flex-shrink:0}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:27px 0 15px}.sectionhead span{color:var(--muted);font-size:.82rem}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.card,.panel{background:var(--white);border:1px solid #e5e9e1;border-radius:17px;box-shadow:var(--shadow)}.topic-card{padding:19px;min-height:205px;display:flex;flex-direction:column;transition:.18s transform,.18s box-shadow}.topic-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(25,70,62,.10)}.topic-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.3rem;margin-bottom:19px;background:#e9f0db}.topic-icon.math{background:#f9e6c9}.topic-icon.de{background:#e3ebdc}.topic-icon.geo{background:#e1eeee}.topic-icon.sci{background:#f5e0d9}.topic-card h3{margin:0 0 6px}.topic-card p{font-size:.8rem;color:var(--muted);flex:1}.topic-card button{border:0;padding:12px 0 0;background:transparent;color:var(--teal);font-weight:800;text-align:left}.progress{height:6px;background:#e8eee8;border-radius:10px;overflow:hidden;margin-top:14px}.progress>span{display:block;background:#74aa88;height:100%;border-radius:10px}.two-col{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.panel{padding:23px}.panel h3{margin-bottom:7px}.panel p{color:var(--muted)}.small{font-size:.8rem}.muted{color:var(--muted)}.checklist{display:grid;gap:10px;margin-top:16px}.checkrow{display:flex;align-items:center;gap:11px}.circle{width:22px;height:22px;display:grid;place-items:center;border:1.5px solid #bcd1c2;border-radius:50%;font-size:.73rem;color:var(--teal);flex-shrink:0}.circle.done{background:#6ba681;border-color:#6ba681;color:#fff}.goal-badge{display:flex;gap:12px;align-items:flex-start;padding:15px;background:#fbf4e8;border-radius:12px;margin-top:13px}.goal-badge strong{font-size:.88rem}.goal-badge p{font-size:.78rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:9px;background:var(--deep);color:#fff;padding:11px 15px;font-weight:750;text-decoration:none;font-size:.84rem}.btn:hover{filter:brightness(1.1)}.btn.light{background:white;color:var(--ink);border-color:#dbe5dd}.btn.soft{background:#e2eee4;color:#245f4f}.btn.warn{background:#fae9db;color:#90513c}.btn.plain{padding:5px;color:var(--teal);background:transparent}.breadcrumb{border:0;background:transparent;color:var(--teal);font-weight:750;padding:0;margin-bottom:18px}.course-head{border-radius:18px;padding:26px 28px;background:#e0eee2;margin-bottom:21px;display:flex;justify-content:space-between;gap:20px;align-items:center}.course-head.math{background:#faead0}.course-head.geo{background:#dfedec}.course-head.sci{background:#f5e2d9}.course-head h1{font-size:2.1rem}.course-head p{margin-top:8px;color:#5f7c70}.course-content{display:grid;grid-template-columns:minmax(230px,290px) minmax(0,1fr);gap:18px}.lesson-list{padding:18px;height:max-content}.lesson-list h3{margin-bottom:14px}.step{display:flex;gap:11px;width:100%;text-align:left;background:transparent;border:0;border-radius:10px;padding:11px 9px;color:var(--ink)}.step:hover,.step.active{background:#edf5eb}.step-n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf2ed;font-weight:800;font-size:.75rem;flex-shrink:0}.step.active .step-n{background:var(--teal);color:#fff}.step strong{display:block;font-size:.8rem}.step small{color:var(--muted);font-size:.72rem}.lesson-body{min-width:0}.lesson-card{padding:27px;min-height:380px}.lesson-card h2{margin:8px 0 12px}.lesson-copy{color:#4b685f;max-width:800px}.lesson-copy p{margin:0 0 12px}.lesson-copy ul{margin:8px 0 15px;padding-left:20px}.callout{border-left:4px solid #82b59a;background:#eff7ee;border-radius:3px 12px 12px 3px;padding:14px 17px;margin:18px 0}.callout strong{color:#245f4f}.exercise{border-top:1px solid #e5ece4;margin-top:24px;padding-top:23px}.exercise h3{font-size:1.15rem}.exercise .question{margin:9px 0 18px;color:#48665d}.choices{display:grid;gap:8px}.choice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #dfe9e0;border-radius:10px;background:#fff;cursor:pointer}.choice:hover{background:#f5f9f4}.choice input{margin-top:4px;accent-color:#377d65}.input,textarea,select{border:1px solid #ceded2;border-radius:9px;padding:10px 12px;background:white;color:var(--ink);max-width:100%}.input:focus,textarea:focus,select:focus{border-color:#4e997d}.input.wide,textarea{width:100%}textarea{resize:vertical;min-height:110px}.inline{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.task-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.feedback{border-radius:10px;padding:13px 15px;margin-top:15px;font-size:.87rem}.feedback.ok{background:#e9f5e9;color:#276a4c}.feedback.no{background:#fff1e7;color:#945238}.feedback.wait{background:#edf2f1;color:#526f67}.hint{margin:12px 0 0;color:#6b7e6d;font-size:.84rem}.figure{max-width:520px;border-radius:12px;background:#f7faf5;padding:15px;margin:14px 0}.figure svg{display:block;width:100%;height:auto}.canvas-wrap{max-width:750px}.canvas-tools{display:flex;align-items:center;gap:8px;margin:10px 0}.drawpad{touch-action:none;width:100%;height:300px;display:block;border:1px solid #cdded1;border-radius:10px;background-color:#fff;background-image:linear-gradient(#eef4ec 1px,transparent 1px),linear-gradient(90deg,#eef4ec 1px,transparent 1px);background-size:24px 24px}.record{padding:15px;border:1px solid #dfe8de;border-radius:10px}.record audio{display:block;width:100%;margin-top:12px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.admin-grid .full{grid-column:1/-1}.admin-panel{padding:22px}.admin-panel p{margin:7px 0 13px;color:var(--muted);font-size:.86rem}.admin-topic{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1ec}.admin-topic:last-child{border:0}.admin-topic small{display:block;color:var(--muted)}.switch{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;color:#5b7167}.switch input{accent-color:var(--teal);width:18px;height:18px}.attempt{border-top:1px solid #e8eee7;padding:14px 0}.attempt header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.attempt blockquote{margin:8px 0;padding:11px;background:#f4f7f2;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere}.attempt img{max-width:100%;background:#fff;border:1px solid #e4e9e0}.attempt audio{max-width:100%}.notification{border-radius:10px;background:#fff6e8;color:#875b37;padding:13px 15px;font-size:.84rem}.footer-note{font-size:.75rem;color:#82938a;margin-top:25px}.lock{text-align:center;max-width:430px;margin:35px auto}.lock h1{font-size:2rem}.lock p{margin:10px 0 20px;color:var(--muted)}.lock .panel{text-align:left}.lock label{display:block;font-weight:700;font-size:.85rem;margin-bottom:8px}.empty{padding:26px;text-align:center;color:var(--muted);background:#f6f8f3;border-radius:12px}.modal-backdrop{position:fixed;inset:0;background:rgba(12,42,37,.55);display:grid;place-items:center;z-index:10;padding:20px}.modal{background:var(--white);width:min(540px,100%);border-radius:18px;padding:25px;max-height:90vh;overflow:auto}.modal p{margin:10px 0;color:var(--muted)}.mobile-nav{display:none}#toast{position:fixed;bottom:22px;right:22px;z-index:30}.toast{background:#173e37;color:#fff;border-radius:9px;padding:12px 17px;box-shadow:0 8px 30px #0002}.boot{padding:40px;font-weight:700}.review-list{max-height:650px;overflow:auto}.divider{border:0;border-top:1px solid #e4ebe4;margin:20px 0}
@media(max-width:1050px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:205px}.main{margin-left:205px}.course-content{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:720px){.sidebar{display:none}.main{margin:0;padding-bottom:65px}.topbar{height:63px;padding:0 18px}.top-left{font-size:.76rem}.save-dot{display:none}.content{padding:24px 18px 40px}.intro{align-items:start}.intro h1{font-size:2rem}.date-pill{display:none}.hero{padding:21px;align-items:start;flex-direction:column}.hero:after{right:-70px}.two-col,.admin-grid,.course-content{grid-template-columns:1fr}.admin-grid .full{grid-column:auto}.lesson-list{display:flex;overflow-x:auto;gap:4px;padding:10px}.lesson-list>h3{display:none}.step{min-width:150px}.lesson-card{padding:19px}.course-head{padding:20px}.course-head h1{font-size:1.7rem}.mobile-nav{position:fixed;display:flex;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e0eae0;z-index:5;padding:8px 12px;justify-content:space-around}.mobile-nav button{border:0;background:transparent;color:#477263;font-size:.72rem;font-weight:750;display:grid;place-items:center;gap:2px}.mobile-nav span{font-size:1.15rem}.grid{gap:10px}.topic-card{padding:15px;min-height:190px}.topic-card h3{font-size:1rem}.admin-topic{grid-template-columns:1fr auto}.admin-topic .admin-status{grid-column:1/-1}.profile{font-size:0}.admin-topic .switch{font-size:.7rem}}
.skill-details{grid-column:1/-1;font-size:.81rem;color:#527368}.skill-details summary{cursor:pointer;font-weight:750;padding:3px 0}.skill-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid #eef2ed}.skill-row small{color:#8a9b91}.skill-row select{font-size:.78rem;padding:7px}
/* Pages d’apprentissage : lecture courte et illustrations disponibles hors ligne. */
.lesson-objective{font-size:.92rem;color:#628074;margin:0 0 18px;padding:11px 14px;border-radius:10px;background:#eef5eb}
.lesson-progress{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 24px}
.lesson-dot{width:33px;height:33px;border:1px solid #cfdfd0;border-radius:50%;background:#fff;color:#638374;font-size:.78rem;font-weight:800}
.lesson-dot.active{background:#2f7d6c;border-color:#2f7d6c;color:white}
.lesson-rich{font-size:.98rem;line-height:1.7;color:#37574d}
.lesson-rich p{margin:0 0 14px}.lesson-rich ol{padding-left:23px;margin:10px 0 16px}.lesson-rich li{padding-left:3px;margin:5px 0}
.lesson-rich a{color:#246e5a;text-decoration:underline;text-underline-offset:2px}
.lesson-visual{margin:17px 0 21px;max-width:640px;background:#f6faf4;border:1px solid #e2eee0;border-radius:13px;padding:14px}
.lesson-visual svg{width:100%;height:auto;display:block}.lesson-visual svg text{fill:#355f50;font:15px system-ui,-apple-system,"Segoe UI",sans-serif}.lesson-visual figcaption{color:#738b7c;font-size:.77rem;line-height:1.4;margin-top:5px}
.lesson-example,.lesson-tip{margin:16px 0;padding:15px 18px;border-radius:12px;background:#f1f7ed;border-left:4px solid #87b898}
.lesson-example strong,.lesson-tip strong{color:#27674f}.lesson-example p:last-child,.lesson-example ol:last-child{margin-bottom:0}.lesson-tip{background:#fff5e6;border-color:#e6b477}
.vocab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0 19px}.vocab-grid span{display:flex;flex-direction:column;background:#f1f7ed;border-radius:10px;padding:10px 13px}.vocab-grid b{color:#205a48}.vocab-grid small{color:#6e8678}
.flash-question{margin:23px 0 7px;background:#f9f1e2;border-radius:12px;padding:14px 16px;color:#6b573b}.flash-question summary{font-weight:750;cursor:pointer}.flash-question p{margin:12px 0 2px;line-height:1.55}
.speak-box{margin:20px 0;padding:16px;border-radius:12px;background:#e8f2ed}.speak-box p{margin:5px 0 13px;color:#668071}.speak-btn{font-size:.77rem;padding:8px 10px}.lesson-navigation{justify-content:space-between}
@media(max-width:480px){.lesson-navigation{align-items:stretch;flex-direction:column}.lesson-navigation .btn{width:100%}.lesson-dot{width:31px;height:31px}.vocab-grid{grid-template-columns:1fr 1fr}}
.parent-guide{border-top:1px solid #e9eee7;padding:12px 0}.parent-guide summary{font-weight:750;cursor:pointer;color:#2d6653}.parent-guide p{max-width:900px;margin:9px 0!important;line-height:1.55}
.nav-subject-detail{display:block;font-size:.68rem;color:#b8d3c4;font-weight:400;margin-top:1px;line-height:1.2}
.topic-subject{text-transform:uppercase;letter-spacing:.12em;color:#659182;font-size:.65rem;font-weight:800;margin-bottom:7px}
.subject-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.subject-group{background:#fffefa;border:1px solid #e5e9e1;border-radius:14px;padding:16px}.subject-group h3{font-size:.86rem;margin-bottom:10px}.subject-items{display:grid;gap:6px}.subject-item{display:flex;justify-content:space-between;align-items:center;gap:8px;border:0;width:100%;text-align:left;border-radius:9px;padding:9px 10px;background:#f5f7f2;color:#3c6458}.subject-item strong{font-size:.79rem}.subject-item small{display:block;font-size:.68rem;color:#81958a}.subject-item.active{background:#e7f2e6;color:#24694e}.subject-item.inactive{color:#82938a;background:#f6f7f4}.subject-item.inactive small{color:#a2aea6}
.series-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:22px}.series-card{border:1px solid #e1e9e0;background:#fff;border-radius:13px;padding:15px;display:flex;flex-direction:column;gap:8px}.series-card-head{display:flex;justify-content:space-between;align-items:center}.series-number{color:#2e7b62;font-size:.76rem;font-weight:800}.series-card h3{font-size:1rem;margin:2px 0}.series-card p{font-size:.79rem;color:#6b8076;line-height:1.45;flex:1}.series-card .btn{align-self:flex-start;font-size:.75rem;padding:8px 10px}.series-visual svg text{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;fill:#355f50}
@media(max-width:1050px){.subject-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.subject-catalog,.series-grid{grid-template-columns:1fr}.subject-group{padding:13px}}
.control-report{border-top:1px solid #edf1ec;padding:10px 0}.control-report summary{font-weight:650;cursor:pointer;color:#355f50}.control-report ol{padding-left:24px;margin:12px 0}.control-report li{padding:6px 0;line-height:1.45}
