:root{--ink:#173244;--ink-soft:#4a6070;--muted:#788891;--paper:#fbfaf6;--white:#fff;--cream:#f5f1e8;--line:#e7e8e4;--green:#c5e9d5;--green-deep:#1b7866;--coral:#f7c6aa;--orange:#ee985d;--lilac:#e6ddf9;--blue:#d6e9f5;--yellow:#f8e9b1;--shadow:0 12px 40px rgba(22,47,61,.07);--shadow-hover:0 18px 45px rgba(22,47,61,.12);--radius:22px;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e79c55;outline-offset:3px}::selection{background:var(--green)}.container{width:min(1200px,calc(100% - 64px));margin:auto}.skip-link{position:absolute;z-index:1000;left:20px;top:-60px;background:#fff;padding:12px 20px;border-radius:12px}.skip-link:focus{top:10px}
.site-header{height:88px;background:rgba(251,250,246,.96);border-bottom:1px solid #eeeee7;position:sticky;top:0;z-index:30;backdrop-filter:blur(15px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:11px;min-width:194px}.brand-symbol{width:52px;height:52px;display:grid;place-items:center;background:var(--ink);color:#fff8e9;border-radius:17px;transform:rotate(-7deg)}.brand-symbol svg{width:39px;transform:rotate(7deg)}.brand-copy{display:flex;flex-direction:column;line-height:1.08;letter-spacing:-.055em}.brand-copy strong{font-family:var(--serif);font-size:22px}.brand-copy small{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.20em;margin-top:5px;color:var(--green-deep)}.top-nav{display:flex;align-items:center;gap:8px;background:#f2f1e9;padding:6px;border-radius:100px}.top-nav a{font-size:13px;font-weight:800;padding:10px 17px;border-radius:100px;color:#556672;white-space:nowrap}.top-nav a.active,.top-nav a:hover{background:#fff;box-shadow:0 3px 9px #1a384012;color:var(--ink)}.header-actions{display:flex;align-items:center;gap:12px}.icon-btn{height:42px;width:42px;border:1px solid #e8e8e3;background:#fff;border-radius:14px;display:grid;place-items:center;color:var(--ink)}.icon-btn:hover{background:#f2f3f0}.icon-btn svg{width:19px}.profile-button{display:flex;gap:9px;align-items:center;border:1px solid #e8e8e3;background:#fff;border-radius:100px;padding:5px 11px 5px 5px;font-size:13px;font-weight:800;max-width:150px;white-space:nowrap}.profile-button #profileName{overflow:hidden;text-overflow:ellipsis}.avatar{height:32px;width:32px;background:#d7e7f8;color:#28465a;border-radius:50%;display:grid;place-items:center;font-weight:800;flex-shrink:0}.chevron{color:#7c8d93;font-size:21px;margin-top:-6px}.menu-button{display:none;background:none;border:0;width:36px;height:36px;align-items:center;flex-direction:column;justify-content:center;gap:5px}.menu-button span{display:block;width:22px;height:2px;background:var(--ink);border-radius:5px}.mobile-menu{display:none}.site-footer{background:#112b3c;color:#fff;padding:44px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-brand{font-family:var(--serif);font-size:25px}.site-footer p{color:#c5d2d9;margin:6px 0 0;font-size:13px}.footer-right{display:flex;flex-direction:column;align-items:end;gap:8px;color:#c5d2d9;font-size:12px}.text-btn{border:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:4px;padding:0}.text-btn:hover{color:#fff}.loading{min-height:60vh;display:grid;place-items:center;color:var(--muted)}
/* Shared */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:800;text-transform:uppercase;letter-spacing:.17em;font-size:11px;color:#26796d}.eyebrow:before{content:'';width:19px;height:2px;background:currentColor;border-radius:3px}.display-title{font:700 clamp(36px,5.5vw,66px)/1.13 var(--serif);letter-spacing:-.04em;margin:17px 0 18px}.display-title em{font-style:normal;box-shadow:inset 0 -.22em 0 #d1ead9}.section-title{font:700 clamp(27px,3.1vw,39px)/1.2 var(--serif);letter-spacing:-.036em;margin:6px 0 10px}.section-intro{color:var(--ink-soft);max-width:610px;margin:0}.tag{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:100px;background:#eef3ef;font-size:11px;line-height:1.2;font-weight:800;color:#4b655d}.pill{display:inline-flex;align-items:center;padding:8px 13px;border-radius:100px;font-size:12px;font-weight:800;border:1px solid #e0e8df;background:#fff;white-space:nowrap}.button{border:1px solid transparent;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 23px;border-radius:13px;font-weight:800;font-size:14px;transition:transform .18s,box-shadow .18s,background .18s}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 19px #16354622}.button:disabled{opacity:.5;cursor:not-allowed}.button.secondary{background:#fff;color:var(--ink);border:1px solid #e4e6df}.button.secondary:hover{background:#f8f8f4}.button.soft{background:#e5f4e9;color:#136657}.button.small{padding:10px 15px;font-size:12px}.button.full{width:100%}.icon-sm{width:17px;height:17px;display:inline-block;vertical-align:middle}.section-space{padding:80px 0}.empty-state{text-align:center;padding:60px 25px;background:#fff;border:1px dashed #d8ded7;border-radius:23px}.empty-state .emoji{font-size:40px;display:block}.empty-state h3{font:700 25px var(--serif);margin:12px 0 5px}.empty-state p{color:var(--muted);margin-bottom:20px}.back-link{font-size:13px;font-weight:800;color:#5b6e78;display:inline-flex;align-items:center;gap:8px}.back-link:hover{color:var(--green-deep)}.muted{color:var(--muted)}.progress-track{height:9px;background:#e9eee9;border-radius:30px;overflow:hidden}.progress-track>span{display:block;background:#3caa88;height:100%;border-radius:30px;transition:width .3s}.progress-track.light{background:#ffffff40}.progress-track.light>span{background:#f5bd74}.mini-progress{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-weight:800;margin:13px 0 7px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
/* Homepage */
.hero{background:#f5f3eb;position:relative;overflow:hidden;padding:73px 0 85px;background-image:radial-gradient(#b8c7be56 1px,transparent 1px);background-size:26px 26px}.hero:before{content:'';position:absolute;width:420px;height:420px;right:-170px;top:-190px;border-radius:50%;background:#e5efe3}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:50px;align-items:center;position:relative}.hero-content{position:relative;z-index:2}.hero-description{font-size:17px;line-height:1.85;color:#60737b;max-width:540px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:33px}.hero-social{display:flex;align-items:center;gap:12px;margin-top:35px;font-size:12px;color:#657883;font-weight:700}.small-avatars{display:flex;padding-left:7px}.small-avatars span{width:30px;height:30px;border-radius:50%;border:3px solid #f5f3eb;display:grid;place-items:center;margin-left:-7px;font-size:14px;background:#d8ebdc}.small-avatars span:nth-child(2){background:#f5d7c4}.small-avatars span:nth-child(3){background:#dcd9f5}.hero-art{height:400px;position:relative;display:grid;place-items:center}.hero-blob{width:94%;height:93%;background:#e2ebdf;border-radius:41% 59% 45% 55%/58% 39% 61% 42%;position:absolute;transform:rotate(-9deg)}.board-card{position:relative;width:78%;height:300px;background:#163a4a;border:9px solid #e9c79c;border-radius:24px;box-shadow:17px 20px 0 #27515b14,0 25px 55px #173a461c;transform:rotate(4deg);color:#fff8eb;overflow:hidden}.board-card:after{content:'';position:absolute;inset:11px;border:1px solid #ffffff20;border-radius:13px;pointer-events:none}.board-head{display:flex;align-items:center;justify-content:space-between;padding:23px 25px 0;font-size:13px;font-weight:800;letter-spacing:.1em;color:#b8dac9}.board-sticker{width:29px;height:29px;border:2px solid #f1b867;border-radius:50%;display:grid;place-items:center;font-size:16px;color:#f1b867}.board-formula{display:flex;align-items:center;justify-content:center;height:165px;gap:22px;font-family:var(--serif);font-size:58px;letter-spacing:-.07em}.board-fraction{display:flex;align-items:center;flex-direction:column;line-height:1.03}.board-fraction .bar{height:3px;width:66px;background:var(--coral);margin:7px 0}.board-result{font:600 15px var(--sans);text-align:center;color:#bee5c9}.float-shape{position:absolute;display:grid;place-items:center;border-radius:20px;box-shadow:0 12px 22px #142f3b1d;font-weight:800}.shape-one{width:88px;height:86px;background:#f7c7aa;color:#a9582c;left:0;top:16px;font-size:42px;transform:rotate(-12deg)}.shape-two{width:94px;height:82px;background:#fff;border:1px solid #eee8dc;right:4px;bottom:28px;transform:rotate(-11deg);font-family:var(--serif);font-size:37px}.shape-three{width:60px;height:60px;background:#d7ccf6;color:#6756a2;right:24px;top:18px;transform:rotate(14deg);font-size:36px}.stats-strip{border-bottom:1px solid var(--line);background:#fff}.stats-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0}.stats-inner>p{font-size:13px;font-weight:800;color:#60717b;margin:0}.stats-list{display:flex;gap:40px}.stat{text-align:center}.stat strong{font:700 24px var(--serif);display:block;letter-spacing:-.035em}.stat span{font-size:11px;color:#72848d;font-weight:800}.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:29px}.cycle-caption{color:#8a9a9c;font-weight:800;font-size:12px;letter-spacing:.13em;text-transform:uppercase;margin:34px 0 15px}.cycle-caption:first-child{margin-top:0}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.level-card{border:1px solid #e5e9e2;border-radius:22px;min-height:198px;background:#fff;display:flex;flex-direction:column;gap:15px;padding:25px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}.level-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);border-color:#b5d8cc}.level-card .card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.level-number{height:57px;min-width:64px;padding:0 9px;display:grid;place-items:center;border-radius:15px;font:700 24px var(--serif);letter-spacing:-.04em;transform:rotate(-3deg)}.level-card:nth-child(3n+1) .level-number{background:#e5f1e5}.level-card:nth-child(3n+2) .level-number{background:#fbebcd}.level-card:nth-child(3n) .level-number{background:#ebe4f9}.level-card h3{font:700 22px var(--serif);margin:0}.level-card p{margin:0;color:#7c8c92;font-size:13px}.level-card .card-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;font-size:12px;font-weight:800}.level-card .go{height:34px;width:34px;display:grid;place-items:center;background:#15384b;color:white;border-radius:50%;font-size:20px}.tip-section{background:#e9f2e9;padding:65px 0}.tip-inner{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.tip-inner p{max-width:560px;color:#60727b}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.feature-card{border:1px solid #dce6da;border-radius:18px;background:#fff;padding:21px;display:flex;flex-direction:column;gap:8px}.feature-card .feature-icon{font-size:26px}.feature-card strong{font-size:14px}.feature-card p{font-size:12px;line-height:1.6;margin:0}.resume-section{padding:45px 0 0}.resume-banner{background:#173f4b;color:white;border-radius:24px;padding:28px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.resume-banner h3{font:700 25px var(--serif);margin:5px 0}.resume-banner p{margin:0;color:#d1e2e2;font-size:13px}.resume-banner .button{background:#e7f1e4;color:#1c5045}.resume-banner .eyebrow{color:#d1e5c0}
/* Level overview */
.page-pad{padding:42px 0 95px;min-height:70vh}.level-hero{position:relative;background:#e9f0e8;border-radius:28px;padding:43px 48px;margin-top:22px;overflow:hidden}.level-hero:before{content:'';position:absolute;right:-30px;top:-70px;width:280px;height:280px;border:55px solid #ffffff55;border-radius:50%}.level-hero[data-cycle="3"]{background:#f6e9d9}.level-hero[data-cycle="4"]{background:#e9e5f6}.level-head{display:flex;align-items:center;gap:22px;position:relative}.level-big{width:105px;height:105px;background:#fff;border-radius:26px;box-shadow:0 10px 20px #173c4a0e;display:grid;place-items:center;font:700 47px var(--serif);transform:rotate(-5deg);flex-shrink:0}.level-head h1{font:700 44px var(--serif);letter-spacing:-.04em;margin:4px 0}.level-head p{margin:0;color:#526570;font-size:14px}.level-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:23px;font-size:13px;font-weight:800}.level-progress{width:min(270px,100%)}.category-bar{display:flex;align-items:center;gap:9px;margin:32px 0 23px;overflow:auto;padding:4px 1px 10px}.filter-chip{border:1px solid #dfe5dd;color:#586976;background:#fff;border-radius:100px;padding:9px 16px;font-weight:800;font-size:12px;white-space:nowrap}.filter-chip:hover{background:#edf5ed}.filter-chip.selected{background:var(--ink);border-color:var(--ink);color:#fff}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.lesson-card{background:#fff;border:1px solid #e4e8e4;border-radius:20px;padding:25px;display:flex;flex-direction:column;min-height:218px;transition:box-shadow .2s,transform .2s;position:relative}.lesson-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.lesson-card .lesson-icon{width:45px;height:45px;border-radius:13px;background:#ecf1f0;display:grid;place-items:center;font-size:23px;margin-bottom:17px}.lesson-card[data-topic="Calcul"] .lesson-icon,.lesson-card[data-topic="Algèbre"] .lesson-icon{background:#ffeddc}.lesson-card[data-topic="Géométrie"] .lesson-icon{background:#e8e2f7}.lesson-card[data-topic="Grandeurs"] .lesson-icon{background:#e4edf9}.lesson-card[data-topic="Données"] .lesson-icon,.lesson-card[data-topic="Fonctions"] .lesson-icon{background:#f7edcb}.lesson-card .lesson-title{font:700 20px/1.3 var(--serif);margin:0 0 9px}.lesson-card p{color:#798991;font-size:12px;line-height:1.65;margin:0 0 17px}.lesson-card .lesson-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto}.status{font-size:11px;color:#77878d;font-weight:800}.status.done{color:#218568}.arrow-link{font-weight:800;font-size:12px;color:#246f5d}.legend{color:#809099;font-size:12px;margin:24px 0 0}
/* Lesson page */
.lesson-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:35px;margin-top:24px;align-items:start}.lesson-aside{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;position:sticky;top:110px}.lesson-aside h4{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#74858b;margin:0 0 14px}.aside-lesson{display:flex;gap:9px;font-size:12px;color:#627580;padding:10px 11px;border-radius:10px;line-height:1.4;font-weight:700}.aside-lesson:hover,.aside-lesson.current{background:#e8f4ee;color:#185f50}.aside-lesson .num{color:#9baaaa;min-width:17px}.lesson-main{min-width:0}.breadcrumb{font-size:12px;font-weight:800;color:#88989b;display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:27px}.breadcrumb a:hover{color:var(--green-deep)}.lesson-top h1{font:700 clamp(32px,4.7vw,50px)/1.14 var(--serif);letter-spacing:-.035em;margin:13px 0 14px;max-width:760px}.lesson-subtitle{color:#70818a;font-size:16px;max-width:700px;margin:0 0 22px}.lesson-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:31px}.lesson-paper{background:#fff;border:1px solid #e5e8e4;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.paper-heading{padding:24px 29px;border-bottom:1px solid #eaeee9;background:#fcfdfb;display:flex;align-items:center;gap:14px}.paper-heading .paper-icon{font-size:26px}.paper-heading h2{font:700 25px var(--serif);margin:0}.paper-content{padding:28px 32px}.learning-lead{font-size:16px;color:#394f5a;line-height:1.85;margin:0 0 23px}.rule-box{background:#eaf5ed;border-radius:15px;padding:22px 24px;margin:25px 0}.rule-box strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#267d66;margin-bottom:7px}.rule-box p{font-weight:700;line-height:1.75;font-size:16px;margin:0;white-space:pre-line}.takeaways{display:grid;gap:10px;margin:17px 0 0;padding:0;list-style:none}.takeaways li{display:flex;align-items:start;gap:10px;color:#576e78;font-size:14px;line-height:1.7}.takeaways .tick{color:#23836a;font-weight:800}.example-card{margin-top:24px;border:1px solid #e8e4d9;background:#fffaf0;border-radius:17px;padding:24px}.example-card .example-eyebrow{font-size:11px;color:#b46a40;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.example-card p{font-weight:600;font-size:16px;white-space:pre-line;line-height:1.75;margin:10px 0 0}.example-card p em{font-style:normal;color:#168065}.section-divider{border:0;border-top:1px solid #e8eae5;margin:33px 0}.exercise-zone{margin-top:31px;border-radius:23px;border:1px solid #dce7e1;background:#f1f7f1;padding:28px 30px}.exercise-head{display:flex;align-items:start;justify-content:space-between;gap:18px}.exercise-head h2{font:700 29px var(--serif);margin:4px 0}.exercise-head p{margin:0;color:#697d83;font-size:13px}.counter-badge{background:#fff;color:#39705c;padding:7px 13px;border-radius:30px;font-size:12px;font-weight:800}.exercise-progress{height:6px;background:#d7e5d8;border-radius:9px;overflow:hidden;margin:21px 0 25px}.exercise-progress>span{height:100%;display:block;background:#23886e;border-radius:9px;transition:width .2s}.question-area{background:#fff;padding:27px;border-radius:17px;border:1px solid #e0ebe2;min-height:205px}.question-title{font:700 19px/1.5 var(--sans);margin:0 0 21px;white-space:pre-line}.options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option{display:flex;align-items:center;gap:10px;padding:13px 16px;background:#fbfcfa;border:2px solid #e9efeb;border-radius:12px;font-weight:800;font-size:14px;text-align:left;color:#3d5660;min-height:55px}.option:hover:not(:disabled){border-color:#a8c7b4;background:#f5fbf6}.option.selected{border-color:#248a6b;background:#e4f3ea}.option.correct{background:#e3f6e8;border-color:#54a778;color:#205f40}.option.incorrect{background:#fff0e9;border-color:#d88d71;color:#8f493b}.option-letter{border-radius:8px;background:#e9eeeb;width:26px;height:26px;display:grid;place-items:center;flex-shrink:0;font-weight:800;font-size:12px}.answer-input{padding:15px 18px;max-width:480px;width:100%;border-radius:12px;border:2px solid #dfe8df;background:#fff;outline:0;font-size:17px;color:var(--ink)}.answer-input:focus{border-color:#3b9778}.exercise-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.exercise-feedback{margin:14px 0 0;border-radius:12px;padding:15px 18px;font-size:13px;line-height:1.7}.exercise-feedback.good{background:#e2f5e4;color:#176a48}.exercise-feedback.bad{background:#ffefe6;color:#894935}.exercise-feedback strong{display:block;font-size:14px;margin-bottom:3px}.exercise-finish{text-align:center;padding:25px 0 8px}.finish-icon{font-size:55px}.exercise-finish h3{font:700 29px var(--serif);margin:10px 0}.exercise-finish p{color:#5d717a;max-width:500px;margin:7px auto 20px}.finish-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.lesson-next{margin-top:25px;display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #e6e9e4;background:#fff;border-radius:16px;padding:18px 23px}.lesson-next p{margin:0;color:#839399;font-size:11px}.lesson-next strong{font:700 17px var(--serif)}
/* Trainer */
.trainer-hero{background:#e9e5f7;padding:46px 50px;border-radius:27px;margin-top:23px;position:relative;overflow:hidden}.trainer-hero h1{font:700 clamp(33px,4vw,49px) var(--serif);margin:8px 0}.trainer-hero p{color:#677181;max-width:600px;margin:0}.trainer-hero:after{content:'✦';position:absolute;right:8%;top:13%;font-size:145px;color:#c3b1e6;transform:rotate(-11deg)}.trainer-config{background:#fff;border:1px solid var(--line);border-radius:24px;max-width:820px;margin:32px auto;padding:35px}.trainer-config h2{font:700 27px var(--serif);margin:0 0 10px}.trainer-config label,.field-label{display:block;font-size:12px;font-weight:800;color:#576e78;margin:15px 0 8px}.trainer-config select,.modal-card select,.modal-card input{width:100%;padding:13px 15px;border:1px solid #d7e3df;border-radius:12px;background:#fff;color:var(--ink)}.trainer-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.trainer-tile{border-radius:15px;background:#f4f5f1;padding:16px;text-align:center}.trainer-tile b{font-size:21px;display:block}.trainer-tile small{color:#8a9a9c;font-size:11px}.trainer-play{max-width:820px;margin:30px auto}.trainer-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px;font-size:13px;font-weight:800}.trainer-question{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:25px;padding:39px;min-height:340px;display:flex;flex-direction:column;justify-content:center}.trainer-question h2{font:700 clamp(26px,3.5vw,41px)/1.35 var(--serif);margin:0 0 26px;text-align:center}.trainer-question .answer-input{margin:0 auto;display:block;text-align:center}.trainer-controls{display:flex;justify-content:center;margin-top:18px}.trainer-results{text-align:center;background:#fff;border-radius:25px;border:1px solid var(--line);padding:50px 30px;max-width:800px;margin:30px auto}.trainer-results .giant{font-size:70px}.trainer-results h2{font:700 34px var(--serif);margin:5px 0}.trainer-results p{color:#70818b}.trainer-results .result-score{font:700 55px var(--serif);color:#287d63}.trainer-review{text-align:left;max-width:570px;margin:25px auto 30px}.trainer-review>div{padding:10px 0;border-bottom:1px solid #eee;font-size:13px}.trainer-review .right{color:#218668}.trainer-review .wrong{color:#c3644d}
/* Search / modal */
.modal-backdrop{position:fixed;inset:0;z-index:80;background:#0d2635a8;display:flex;align-items:flex-start;justify-content:center;padding:80px 18px 25px;overflow:auto;backdrop-filter:blur(3px)}.modal-card{background:#fff;border-radius:24px;max-width:570px;width:100%;padding:28px 30px 32px;box-shadow:0 27px 90px #0c223c48}.modal-card.wide{max-width:650px}.modal-top{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}.modal-top h2{font:700 28px var(--serif);margin:0}.modal-x{width:36px;height:36px;border-radius:12px;background:#f0f2ee;border:0;color:#3d5965;font-size:23px;line-height:1}.modal-desc{font-size:13px;color:#73838d;margin:0 0 18px}.search-field{display:flex;align-items:center;border:2px solid #dce7df;border-radius:14px;padding:0 14px}.search-field:focus-within{border-color:#32886f}.search-field svg{width:18px;flex-shrink:0;color:#67827b}.search-field input{width:100%;border:none;background:transparent;outline:0;padding:16px 12px;font-size:14px}.search-results{max-height:420px;overflow:auto;margin-top:17px;display:grid;gap:7px}.search-result{border:1px solid #e8ece8;text-align:left;background:#fff;border-radius:12px;padding:13px 15px;display:flex;gap:12px;align-items:center;justify-content:space-between}.search-result:hover{background:#eef6ef}.search-result strong{display:block;font-size:14px}.search-result small{color:#8a999e;font-size:11px}.profile-list{display:grid;gap:9px;margin-bottom:19px}.profile-row{display:flex;align-items:center;gap:12px;text-align:left;width:100%;background:#fff;border:1px solid #e4ebe5;border-radius:13px;padding:12px;cursor:pointer}.profile-row:hover,.profile-row.active{border-color:#7db79b;background:#eef7ee}.profile-row span.info{flex:1}.profile-row strong{display:block;font-size:13px}.profile-row small{display:block;color:#82939b;font-size:11px}.profile-row .profile-status{color:#248369;font-size:11px;font-weight:800}.profile-add{border-top:1px solid #e8eae6;padding-top:17px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-card .button{margin-top:16px}.modal-info{font-size:12px;color:#738791;margin:15px 0 0}.error-msg{font-size:12px;color:#a84531;margin-top:8px}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,100px);opacity:0;transition:transform .25s,opacity .25s;background:#153d4e;color:white;border-radius:14px;padding:12px 20px;box-shadow:0 15px 40px #142d3b4a;z-index:100;font-weight:800;font-size:13px;pointer-events:none}#toast.show{transform:translate(-50%,0);opacity:1}
/* Print */
@media print{.site-header,.site-footer,.lesson-aside,.lesson-actions,.exercise-zone,.lesson-next,.breadcrumb,.back-link{display:none!important}.lesson-layout{display:block}.page-pad{padding:0}.lesson-paper{box-shadow:none}.container{width:100%;max-width:none}.lesson-top h1{font-size:29px}.paper-content{padding:20px}body{background:#fff;color:#000}}
@media(max-width:1080px){.container{width:min(100% - 44px,1100px)}.hero-grid{gap:17px}.hero-art{height:350px}.board-card{height:270px}.stats-list{gap:25px}.lesson-grid{grid-template-columns:repeat(2,1fr)}.lesson-layout{grid-template-columns:190px minmax(0,1fr);gap:24px}}
@media(max-width:800px){.site-header{height:74px}.brand{min-width:unset}.brand-symbol{width:45px;height:45px}.brand-copy strong{font-size:19px}.top-nav{display:none}.menu-button{display:flex}.mobile-menu:not([hidden]){display:flex;flex-direction:column;position:absolute;top:74px;left:0;right:0;background:#fff;border-bottom:1px solid #e7e8e3;box-shadow:0 15px 25px #0001;padding:14px 25px}.mobile-menu a,.mobile-menu button{font-size:14px;font-weight:800;border:none;background:none;text-align:left;padding:12px;color:var(--ink)}.hero{padding:47px 0 53px}.hero-grid{grid-template-columns:1fr;gap:22px}.hero-content{text-align:center}.hero-description{margin:auto}.hero-buttons,.hero-social{justify-content:center}.hero-art{height:320px;max-width:550px;width:100%;margin:auto}.display-title{font-size:clamp(36px,8.5vw,59px)}.stats-inner{flex-direction:column;gap:18px}.stats-list{width:100%;justify-content:space-around}.level-grid{grid-template-columns:repeat(2,1fr)}.tip-inner{grid-template-columns:1fr;gap:25px}.lesson-layout{display:block}.lesson-aside{display:none}.lesson-main{max-width:850px;margin:auto}.level-hero{padding:30px}.footer-inner{align-items:start}.footer-right{align-items:end;text-align:right}}
@media(max-width:560px){.container{width:calc(100% - 34px)}.brand-copy strong{font-size:17px}.brand-copy small{font-size:10px}.header-actions{gap:7px}.profile-button{max-width:92px;padding:4px 6px 4px 4px}.profile-button #profileName,.profile-button .chevron{display:none}.hero-art{height:260px}.board-card{height:205px;width:80%;border-width:6px;border-radius:18px}.board-head{padding:13px 17px 0;font-size:10px}.board-formula{height:113px;font-size:45px;gap:14px}.board-fraction .bar{width:48px}.board-result{font-size:11px}.shape-one{width:62px;height:62px;font-size:30px}.shape-two{width:70px;height:65px;font-size:29px}.shape-three{width:45px;height:45px;font-size:26px}.hero-buttons .button{flex:1;min-width:165px;padding:13px 14px}.section-space{padding:54px 0}.home-section-heading{display:block}.home-section-heading .button{margin-top:17px}.level-grid,.lesson-grid{grid-template-columns:1fr}.level-card{min-height:166px;padding:19px}.level-card .card-top{margin-bottom:0}.stats-list{gap:10px}.stat strong{font-size:20px}.stat span{font-size:10px}.tip-section{padding:47px 0}.feature-grid{gap:8px}.feature-card{padding:14px}.feature-card strong{font-size:12px}.resume-banner{padding:24px;display:block}.resume-banner .button{margin-top:20px}.page-pad{padding:25px 0 55px}.level-head{align-items:flex-start;gap:15px}.level-big{height:72px;width:73px;font-size:33px;border-radius:19px}.level-head h1{font-size:32px}.level-hero{padding:27px 20px}.level-meta{gap:10px}.lesson-top h1{font-size:34px}.lesson-subtitle{font-size:14px}.paper-heading{padding:20px}.paper-content{padding:22px}.learning-lead{font-size:14px}.example-card,.rule-box{padding:18px}.exercise-zone{padding:20px 16px}.question-area{padding:22px 16px}.question-title{font-size:17px}.options{grid-template-columns:1fr}.exercise-controls{align-items:stretch;flex-wrap:wrap}.exercise-controls .button{width:100%}.exercise-head h2{font-size:25px}.lesson-next{align-items:start}.trainer-hero{padding:30px 24px}.trainer-hero:after{font-size:75px;opacity:.5}.trainer-config{padding:24px 19px}.trainer-question{padding:27px 17px}.trainer-question h2{font-size:28px}.trainer-tiles{gap:7px}.trainer-tile{padding:11px 4px}.trainer-results{padding:30px 20px}.modal-card{padding:23px 19px}.field-row{grid-template-columns:1fr}.footer-inner{display:block}.footer-right{align-items:start;text-align:left;margin-top:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Enrichissements de l'interface : schémas, suivi, fiches et accessibilité */
.question-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.13em;color:#42816d;font-weight:800;font-size:11px;margin-bottom:11px}
.helper-text{font-size:12px;line-height:1.55;color:#819097;margin:9px 0 0}
.hint-line{margin:16px 0 0;background:#fff8de;border:1px solid #f3e5ae;border-radius:11px;padding:12px 15px;font-size:13px;color:#856225}
.quiet-btn{border:0;background:transparent;color:#396d65;font-size:12px;padding:7px 5px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.quiet-btn:hover{color:#214d47}
.exercise-minor{display:flex;gap:13px;flex-wrap:wrap;align-items:center;color:#759388;font-size:12px}
.result-score{font:700 40px/1.2 var(--serif);color:#25886f;margin:6px 0}
.subsection-heading{font:700 21px/1.35 var(--serif);margin:18px 0 12px}
.dots-visual{display:flex;flex-wrap:wrap;max-width:300px;gap:9px;margin:2px 0 22px;padding:16px 18px;background:#f2f7f4;border:1px solid #e2efe8;border-radius:12px}
.dots-visual span{width:17px;height:17px;display:block;border-radius:50%;background:#318c70;box-shadow:inset -3px -3px 0 #196e5830}
.fraction-parts{display:flex;gap:3px;width:min(300px,100%);margin:0 0 22px;padding:5px;background:#edf2ed;border-radius:13px}
.fraction-parts span{height:60px;flex:1;background:#fff;border:1px solid #d8e3d9}
.fraction-parts span:first-child{border-radius:7px 0 0 7px}.fraction-parts span:last-child{border-radius:0 7px 7px 0}.fraction-parts span.filled{background:#a0d8b4}
.mini-chart{min-height:150px;display:flex;align-items:end;justify-content:center;gap:28px;border-bottom:2px solid #d6e1de;margin:0 0 25px;padding:0 20px 6px}
.mini-chart-col{display:flex;align-items:center;flex-direction:column;gap:4px;min-width:45px}.mini-chart-col strong{font-size:12px}.mini-chart-col small{font-size:12px;font-weight:800}.mini-chart-bar{background:#8dc7b2;width:43px;border-radius:7px 7px 0 0;min-height:14px}
.mini-chart-col:nth-child(2) .mini-chart-bar{background:#efba91}.mini-chart-col:nth-child(3) .mini-chart-bar{background:#b6a8e6}
.function-table{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid #e0e8dd;border-radius:12px;overflow:hidden;margin:5px 0 25px;max-width:520px}.function-table span{padding:9px 3px;text-align:center;border:1px solid #e6ebe6;font-size:13px}.function-table span:nth-child(6n+1){background:#dcf1e6;font-weight:800}
.review-panel{border-top:1px solid #e5eee6;margin-top:28px;padding-top:15px}.review-panel h4{font:700 20px var(--serif);margin:10px 0 15px}.review-row{display:flex;gap:13px;border-bottom:1px solid #e7ede7;padding:12px 3px;text-align:left;font-size:12px}.review-row>span{width:23px;flex-shrink:0;font-weight:800;color:#319078}.review-row strong{font-size:12px}.review-row p{margin:4px 0;color:#6c7f87;line-height:1.65}
.progress-header{padding:30px 0}.overview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:12px 0 43px}.overview-tile{background:#e7f2ea;border-radius:20px;padding:28px}.overview-tile:nth-child(2){background:#fff0dc}.overview-tile:nth-child(3){background:#efeafa}.overview-tile strong{font:700 42px var(--serif);display:block}.overview-tile span{color:#607580;font-size:13px;font-weight:700}
.progress-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.progress-level{display:grid;gap:14px;border:1px solid #e3e8e4;background:#fff;border-radius:16px;padding:18px}.progress-level>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:6px}.progress-level strong{font:700 23px var(--serif)}.progress-level span,.progress-level small{font-size:11px;color:#738790}.progress-level small{text-align:right}
.recent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.recent-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border:1px solid #e1e9e2;border-radius:13px;background:#fff}.recent-list strong{display:block;font-size:13px}.recent-list small{display:block;font-size:11px;color:#81919a;margin-top:4px}.recent-list a>span{font-weight:800;color:#9d6a4c;white-space:nowrap}.recent-list a>span.positive{color:#298569}
.privacy-note{font-size:12px;color:#71828c;margin:25px 0;line-height:1.8}
.about-page{max-width:980px;margin:34px auto 20px}.about-page>.learning-lead{max-width:750px}.about-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}.about-cards>div{padding:27px;background:white;border:1px solid var(--line);border-radius:20px}.about-cards h2{font:700 22px var(--serif);margin:0 0 12px}.about-cards p{font-size:13px;line-height:1.85;color:#617781}.backup-panel{padding:30px;border:1px solid #cfded0;background:#eaf4e9;border-radius:20px;margin:27px 0}.backup-panel h2{font:700 26px var(--serif);margin:0 0 8px}.backup-panel>p{font-size:13px;color:#5c7379}.backup-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.backup-actions .button{margin:5px 0}.sources-list{padding:0;list-style:none;display:grid;gap:9px;margin:20px 0}.sources-list a{display:block;padding:13px 17px;border-radius:13px;background:#fff;border:1px solid #e5e9e5;font-weight:700;font-size:13px;color:#286c5a}.sources-list a:hover{background:#ebf6ee}
.profile-links{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:17px}.profile-add h3{font:700 20px var(--serif);margin:0}
@media(max-width:800px){.progress-level-grid{grid-template-columns:repeat(2,1fr)}.overview-stats{gap:9px}.overview-tile{padding:19px}.overview-tile strong{font-size:31px}.about-cards{grid-template-columns:1fr}}
@media(max-width:560px){.overview-stats{grid-template-columns:1fr 1fr}.overview-tile:last-child{grid-column:span 2}.overview-tile strong{font-size:31px}.progress-level-grid,.recent-list{grid-template-columns:1fr}.backup-panel{padding:21px}.backup-actions{flex-direction:column;align-items:stretch}.backup-actions .button{width:100%}.exercise-minor{justify-content:center}.mini-chart{gap:12px;padding:0 5px 5px}.mini-chart-bar{width:35px}}
@media print{.quiet-btn,.hint-line,.review-panel,.backup-panel{display:none!important}.lesson-main{margin:0!important}.lesson-paper{border:none!important}.lesson-top h1{margin-top:0}body{font-size:12px}}

/* Lien de retour au portail toutes matières, sans modifier la logique de révision. */
.portal-return{font-size:11px;font-weight:800;color:#397764;white-space:nowrap;padding:8px 10px;border-radius:100px}.portal-return:hover{background:#e4f1e7}.site-footer .footer-right a.text-btn{color:inherit;text-decoration:underline;text-underline-offset:4px}@media(max-width:1000px){.portal-return{display:none}}
