@charset "UTF-8";

:root{--berry:#8e1449;--pink:#c2185b;--rose:#f8bbd0;--pale:#fff5f8;--cream:#fffaf6;--ink:#3d2130;--gold:#c9a24b;--green:#7a9b76;--shadow:0 14px 40px rgba(61,33,48,.12)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Jost,system-ui,sans-serif;line-height:1.5}a{color:inherit}.shell{max-width:1120px;margin:auto;padding:26px 22px 70px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:48px}.brand{font-family:'Cormorant Garamond',serif;font-size:1.65rem;color:var(--berry);text-decoration:none}.back{color:var(--berry);text-decoration:none;font-size:.9rem}.site-language{position:fixed;top:18px;right:18px;z-index:10001;display:flex;gap:3px;padding:4px;border:1px solid var(--rose);border-radius:999px;background:rgba(255,255,255,.95);box-shadow:0 8px 24px rgba(61,33,48,.14)}.site-language a{min-width:42px;padding:7px 10px;border-radius:999px;text-align:center;text-decoration:none;color:var(--berry);font-size:.76rem;letter-spacing:.08em}.site-language a[aria-current="page"]{background:var(--pink);color:#fff;font-weight:600}.site-language a:focus-visible{outline:3px solid rgba(194,24,91,.28);outline-offset:2px}@media(max-width:760px){.site-language{top:12px;right:12px}}.hero{display:block;max-width:780px;margin-bottom:34px}.eyebrow{color:var(--pink);font-weight:600;letter-spacing:.13em;text-transform:uppercase;font-size:.75rem}.hero h1{font:600 clamp(2.7rem,6vw,5.2rem)/.93 'Cormorant Garamond',serif;margin:10px 0 18px;color:var(--berry)}.hero p{max-width:620px;font-size:1.08rem;margin:0}.switcher{background:#fff;border:1px solid var(--rose);border-radius:22px;padding:20px;box-shadow:var(--shadow)}.switcher h2{font:600 1.5rem 'Cormorant Garamond',serif;margin:0 0 12px;color:var(--berry)}.direction{display:grid;gap:8px}.direction button,.level button{font:inherit;cursor:pointer;border:1px solid var(--rose);background:var(--pale);color:var(--berry);border-radius:13px;padding:12px;text-align:left;transition:.2s}.direction button:hover,.direction button.active,.level button.active{background:var(--pink);color:#fff;border-color:var(--pink)}.progress-wrap{margin:24px 0 36px}.progress-label{display:flex;justify-content:space-between;font-size:.86rem;margin-bottom:8px;color:#6c4857}.progress{height:10px;border-radius:10px;background:#f1dbe3;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--gold));border-radius:inherit;width:0;transition:width .4s}.progress-note{margin-top:7px;font-size:.78rem;color:#7b5c68}.review-button{margin-top:10px;border:1px solid var(--pink);border-radius:12px;background:#fff;color:var(--berry);font:inherit;padding:8px 12px;cursor:pointer}.review-button:hover{background:var(--pale)}.level-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.level button{padding:9px 15px;text-align:center;font-size:.88rem}.level button[disabled]{opacity:.5;cursor:not-allowed}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.unit{background:#fff;border:1px solid #f0dce4;border-radius:20px;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0}.unit-content{margin-top:10px}.unit-content summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:var(--berry);font-size:.82rem;font-weight:600;padding:9px 10px;border:1px solid var(--rose);border-radius:10px;background:var(--pale);list-style:none}.unit-content summary::-webkit-details-marker{display:none}.unit-content summary:after{content:"+";font-size:1.1rem}.unit-content[open] summary:after{content:"−"}.unit-content[open] summary{margin-bottom:12px}.unit .unit-num{color:var(--gold);font-weight:600;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.unit h3{font:600 1.8rem/1.05 'Cormorant Garamond',serif;color:var(--berry);margin:9px 0}.unit p{margin:0 0 15px;color:#6c4857}.unit-details{display:grid;gap:6px;margin:0 0 15px;font-size:.78rem;color:#6c4857}.unit-details span{display:block}.unit-details b{display:inline-block;color:var(--berry);margin-right:5px;font-weight:600}.coverage{margin:0 0 4px;color:#6c4857}.coverage summary{cursor:pointer;color:var(--berry);font-weight:600}.coverage ul{margin:6px 0 0 18px;padding:0;display:grid;gap:4px}.coverage li{font-size:.78rem}.checkpoint{grid-column:auto;background:linear-gradient(135deg,#fff0f5,#fff9ef);border:1px solid var(--gold);border-radius:20px;padding:20px}.checkpoint h3{font:600 1.45rem/1.05 Cormorant Garamond,serif;color:var(--berry);margin:8px 0}.checkpoint p{margin:0 0 12px;color:#6c4857}.checkpoint button{border:0;border-radius:12px;background:var(--berry);color:#fff;padding:10px 15px;font:inherit;cursor:pointer}.lesson-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.lesson-list button,.lesson-list a{border:0;background:#fff5f8;color:var(--ink);border-radius:10px;padding:10px;text-align:left;cursor:pointer;font:inherit;display:flex;justify-content:space-between;gap:10px;text-decoration:none}.lesson-list button:hover,.lesson-list a:hover{background:#fce4ec}.lesson-list button.done{background:#e8f1e6}.lesson-list small{color:var(--green);font-weight:600}.footnote{margin-top:30px;color:#7b5c68;font-size:.82rem}.modal{position:fixed;inset:0;background:rgba(61,33,48,.5);display:none;place-items:center;padding:18px;z-index:10}.modal.open{display:grid}.dialog{background:var(--cream);max-width:620px;width:100%;border-radius:24px;padding:28px;box-shadow:0 24px 80px rgba(61,33,48,.3)}.dialog header{display:flex;justify-content:space-between;gap:14px}.dialog h2{font:600 2.2rem/1 'Cormorant Garamond',serif;color:var(--berry);margin:0}.close{border:0;background:transparent;font-size:1.5rem;cursor:pointer;color:var(--berry)}.lesson-meta{color:var(--pink);font-size:.85rem;margin:12px 0 18px}.lesson-content{background:#fff;border:1px solid #f0dce4;border-radius:12px;padding:14px 16px;margin:0 0 16px;color:#5f4350;font-size:.93rem}.lesson-content:empty{display:none}.lesson-content h3{font:600 1.35rem/1.1 Cormorant Garamond,serif;color:var(--berry);margin:0 0 8px}.lesson-content p{margin:7px 0}.lesson-content ul{margin:8px 0 12px 20px;padding:0}.lesson-content li{margin:3px 0}.lesson-content textarea{width:100%;margin:7px 0 12px;border:1px solid var(--rose);border-radius:9px;padding:9px;font:inherit}.rule-card{background:#fff5f8;border-left:3px solid var(--gold);padding:10px 12px;border-radius:8px;color:#6c4857;font-size:.88rem;margin-bottom:16px}.prompt{font-size:1.12rem;font-weight:500;margin-bottom:14px}.answers{display:grid;gap:9px}.answer-option{display:flex;align-items:flex-start;gap:10px;font:inherit;border:1px solid var(--rose);border-radius:12px;padding:12px;background:#fff;text-align:left;cursor:pointer}.answer-option:hover{border-color:var(--pink);background:#fff9fb}.answer-option input{accent-color:var(--pink);margin-top:4px}.answer-option.correct{background:#e8f1e6;border-color:var(--green)}.answer-option.wrong{background:#fde8ed;border-color:#d45a78}.listen{border:1px solid var(--rose);border-radius:12px;background:#fff5f8;color:var(--berry);font:inherit;padding:9px 13px;margin:0 0 17px;cursor:pointer}.listen:hover{background:#fce4ec}.feedback{min-height:28px;margin:16px 0;color:var(--berry);font-weight:500}.next{border:0;border-radius:14px;background:var(--pink);color:#fff;font:inherit;font-weight:600;padding:12px 20px;cursor:pointer}.next:disabled{opacity:.45;cursor:not-allowed}
.passport-panel{display:grid;grid-template-columns:1.12fr .88fr;gap:18px;margin:0 0 34px}.passport-card,.journey-card{background:#fff;border:1px solid #f0dce4;border-radius:22px;box-shadow:var(--shadow);padding:22px}.passport-card{background:linear-gradient(145deg,#fffaf6,#fff1f6);position:relative;overflow:hidden}.passport-card:after{content:'✦';position:absolute;right:18px;top:12px;color:rgba(201,162,75,.28);font-size:4rem}.passport-kicker{font-size:.73rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);font-weight:600}.passport-card h2,.journey-card h2{font:600 2rem/1 'Cormorant Garamond',serif;color:var(--berry);margin:8px 0 16px}.passport-id{display:flex;align-items:center;gap:12px;margin-bottom:18px}.passport-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--berry);color:#fff;font-size:1.5rem}.passport-name{font-weight:600;color:var(--berry)}.passport-name small{display:block;color:#7b5c68;font-weight:400;font-size:.78rem}.stamp-list{display:flex;flex-wrap:wrap;gap:10px}.stamp{width:120px;min-height:78px;border:2px dashed #d8b0bf;border-radius:12px;display:grid;place-items:center;text-align:center;padding:8px;color:#b2778c;transform:rotate(-3deg);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.stamp.earned{border-style:solid;border-color:var(--pink);color:var(--berry);background:rgba(255,255,255,.7);animation:stampIn .45s ease both}.stamp:nth-child(even){transform:rotate(3deg)}.stamp small{display:block;font-size:.6rem;letter-spacing:.04em;margin-top:4px}.journey-card{background:linear-gradient(145deg,#fff,#fff8ef)}.journey-intro{margin:0 0 16px;color:#6c4857;font-size:.88rem}.journey-map{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:12px 8px;padding:6px 0}.journey-map:before{content:'';position:absolute;left:13%;right:13%;top:50%;height:3px;background:#f1d4a0;z-index:0;transform:rotate(-5deg)}.city-node{position:relative;z-index:1;border:1px solid #f0dce4;border-radius:14px;background:#fff;text-align:center;padding:10px 4px;color:#9b6b7b;font:500 .76rem Jost,system-ui,sans-serif}.city-node strong{display:block;font-size:1.35rem;margin-bottom:3px;filter:grayscale(1);opacity:.55}.city-node small{display:block;font-size:.65rem}.city-node.active{border-color:var(--pink);color:var(--berry)}.city-node.active strong{filter:none;opacity:1}.city-node.current{box-shadow:0 0 0 3px rgba(194,24,91,.12)}.city-node.locked{opacity:.58}.city-node.locked strong:after{content:'🔒';font-size:.65rem;filter:none;opacity:1;margin-left:3px}.boss-hud{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 16px;padding:10px 12px;border-radius:12px;background:#fff0f5;color:var(--berry);font-size:.82rem}.boss-lives{letter-spacing:.15em;font-size:1.1rem}.boss-result{font-size:1.05rem;font-weight:600;color:var(--berry)}@keyframes stampIn{0%{opacity:0;transform:scale(1.35) rotate(-10deg)}70%{transform:scale(.96) rotate(-2deg)}100%{opacity:1;transform:scale(1) rotate(-3deg)}}
.player-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 28px}.player-card,.arcade-card,.prof-card,.couple-card{background:#fff;border:1px solid #f0dce4;border-radius:18px;padding:18px;box-shadow:var(--shadow)}.player-card strong{display:block;font:600 1.9rem/1 'Cormorant Garamond',serif;color:var(--berry);margin:6px 0}.player-card span{font-size:.76rem;color:#7b5c68}.meter{height:7px;background:#f1dbe3;border-radius:8px;overflow:hidden;margin-top:10px}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--gold));border-radius:inherit}.weak-panel{grid-column:1/-1;background:#fff8ef;border-color:#efd6a7}.weak-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.weak-item{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:9px 10px;background:#fff;border-radius:10px;font-size:.8rem}.weak-item b{color:#a42d4f}.weak-item small{color:#7b5c68}.tools-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin:0 0 32px}.arcade-card h2,.prof-card h2,.couple-card h2{font:600 1.8rem/1 'Cormorant Garamond',serif;color:var(--berry);margin:4px 0 8px}.tools-panel p{margin:0 0 14px;color:#6c4857;font-size:.88rem}.arcade-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.arcade-grid button,.tool-button{border:1px solid var(--rose);border-radius:11px;background:var(--pale);color:var(--berry);font:inherit;padding:10px;cursor:pointer;text-align:left}.arcade-grid button:hover,.tool-button:hover{background:#fce4ec}.prof-card textarea{width:100%;min-height:92px;border:1px solid var(--rose);border-radius:10px;padding:10px;font:inherit;resize:vertical}.prof-feedback{min-height:28px;margin-top:10px;color:var(--berry);font-size:.84rem}.couple-card{grid-column:1/-1;background:linear-gradient(135deg,#fff0f5,#fff9ef)}.couple-card .tool-button{display:inline-block;margin-top:8px;background:#fff}.couple-panel{margin-top:14px;padding-top:14px;border-top:1px solid #efd6df}.couple-form{display:flex;gap:8px;flex-wrap:wrap}.couple-form input{flex:1 1 220px;min-width:0;border:1px solid var(--rose);border-radius:10px;padding:10px;font:inherit}.couple-status{min-height:24px;margin:10px 0;color:var(--berry);font-size:.84rem}.couple-invite{background:#fff;border:1px solid #efd6df;border-radius:12px;padding:12px;margin-top:10px}.couple-invite strong{color:var(--berry)}.couple-challenge{background:#fff;border:1px solid #efd6df;border-radius:14px;padding:14px;margin-top:12px}.couple-scores{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.couple-score{background:#fff7fa;border-radius:10px;padding:9px;font-size:.82rem}.couple-score strong{display:block;font-size:1.25rem;color:var(--berry)}.arcade-modal{position:fixed;inset:0;background:rgba(61,33,48,.5);display:none;place-items:center;padding:18px;z-index:20}.arcade-modal.open{display:grid}.arcade-dialog{background:var(--cream);max-width:500px;width:100%;border-radius:22px;padding:24px;box-shadow:0 24px 80px rgba(61,33,48,.3)}.arcade-dialog h2{font:600 2rem/1 'Cormorant Garamond',serif;color:var(--berry);margin:0 0 12px}.arcade-question{font-size:1.15rem;margin:15px 0}.arcade-answer{display:block;width:100%;margin:8px 0;border:1px solid var(--rose);background:#fff;border-radius:10px;padding:11px;text-align:left;font:inherit;cursor:pointer}.arcade-answer.correct{background:#e8f1e6;border-color:var(--green)}.arcade-answer.wrong{background:#fde8ed;border-color:#d45a78}
@media(max-width:760px){.hero{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}.topbar{margin-bottom:30px}.shell{padding-inline:16px}.unit{min-height:0}.passport-panel,.tools-panel{grid-template-columns:1fr}.journey-map{grid-template-columns:repeat(4,1fr);gap:8px 5px}.city-node{font-size:.68rem;padding:8px 2px}.city-node strong{font-size:1.1rem}.player-panel{grid-template-columns:1fr 1fr}.weak-list{grid-template-columns:1fr}.couple-card{grid-column:auto}}


.unit-toggle{display:none;border:1px solid var(--rose);border-radius:10px;background:var(--pale);color:var(--berry);font:inherit;font-size:.82rem;padding:8px 10px;cursor:pointer;margin:0 0 12px;text-align:left}
@media(max-width:760px){.passport-panel,.player-panel,.tools-panel{gap:12px}.passport-card,.journey-card,.player-card,.arcade-card,.prof-card,.couple-card{padding:15px}.unit{padding:17px}.unit-toggle{display:block}.unit.collapsed-mobile .unit-details,.unit.collapsed-mobile .lesson-list{display:none}.unit.collapsed-mobile p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.unit h3{font-size:1.55rem}}

.book-plan{margin:0 0 15px;padding:11px 12px;border-left:3px solid var(--gold);background:#fff8ef;border-radius:8px;color:#6c4857;font-size:.78rem}.book-plan strong{display:block;color:var(--berry);font-size:.82rem}.book-plan span{display:block;margin-top:3px}.book-alignment{margin:10px 0 14px;padding:9px 10px;border:1px solid #efd6df;border-radius:10px;background:#fffafc}.book-alignment summary{cursor:pointer;color:var(--berry);font-weight:600;font-size:.8rem}.book-alignment ul{margin:8px 0 8px 18px;padding:0;display:grid;gap:4px}.book-alignment li,.book-alignment p{font-size:.76rem;color:#6c4857}.book-alignment p{margin:5px 0}.lesson-list a .stage{display:block;color:var(--pink);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.lesson-list a .lesson-name{display:block}.lesson-list a.done .stage{color:var(--green)}

/* --- Ajouts 2026-09-29 : sélecteur de niveau, accessibilité, missions --- */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;margin-right:110px}
@media(max-width:760px){.topbar-actions{margin-right:0}.topbar{flex-wrap:wrap;margin-top:40px}}
.hero h1{margin-top:10px}
.path-panel{background:#fff;border:1px solid #f0dce4;border-radius:22px;box-shadow:var(--shadow);padding:20px 22px;margin:0 0 26px}
.course-switch{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:0 0 16px}
.course-switch button{font:inherit;cursor:pointer;text-align:left;border:1px solid var(--rose);background:var(--pale);color:var(--berry);border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}
.course-switch button strong{font-weight:600}
.course-switch button small{font-size:.75rem;color:#7b5c68}
.course-switch button[aria-pressed="true"]{background:var(--pink);border-color:var(--pink);color:#fff}
.course-switch button[aria-pressed="true"] small{color:#ffe3ee}
.path-panel header h2{font:600 1.7rem/1.1 'Cormorant Garamond',serif;color:var(--berry);margin:0 0 4px}
.path-panel header p{margin:0 0 14px;color:#6c4857;font-size:.88rem}
.path-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.path-choice{font:inherit;cursor:pointer;border:1px solid var(--rose);background:var(--pale);color:var(--berry);border-radius:13px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:2px}
.path-choice strong{font-weight:600;font-size:.88rem}
.path-choice small{font-size:.72rem;color:#7b5c68}
.path-choice.active{background:var(--pink);border-color:var(--pink);color:#fff}
.path-choice.active small{color:#ffe3ee}
.path-choice[aria-disabled="true"]{opacity:.6;cursor:help}
.path-note{margin:12px 0 0;font-size:.82rem;color:#6c4857;min-height:1.2em}
.review-button{display:inline-block;text-decoration:none}
.review-button[hidden]{display:none}
button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(194,24,91,.35);outline-offset:2px}
.modal{z-index:10002}
.dialog header,.arcade-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.dialog{max-height:calc(100vh - 36px);overflow:auto}
.dialog-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:6px}
.dialog-actions .listen{margin:0}
fieldset.answers{border:0;padding:0;margin:0;min-width:0}
.answer-option input:disabled{cursor:default}
.boss-hud{flex-wrap:wrap}
.boss-result{font-size:1.05rem;font-weight:600;color:var(--berry)}
.checkpoint.completed{border-color:var(--green);background:linear-gradient(135deg,#f1f8ef,#fff9ef)}
.checkpoint .mission-done{display:inline-block;margin-left:8px;color:var(--green);font-weight:600;font-size:.8rem}
.checkpoint button:focus-visible{outline-color:rgba(142,20,73,.45)}
.player-card strong{font-variant-numeric:tabular-nums}
.weak-item a{color:inherit;text-decoration:none}
.weak-item a:hover b{text-decoration:underline}
.teacher-question{font-weight:600;color:var(--berry);margin:0 0 8px}
.teacher-model{margin-top:12px;padding:12px;border-left:3px solid var(--gold);background:#fff8ef;border-radius:8px;font-size:.86rem;color:#5f4350}
.teacher-model p{margin:0 0 8px}
.teacher-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.couple-share{width:100%;margin-top:6px;border:1px solid var(--rose);border-radius:10px;padding:9px;font:inherit;font-size:.82rem}
.couple-answers{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.couple-answer.correct,.arcade-answer.correct{background:#e8f1e6;border-color:var(--green)}
.couple-answer.wrong,.arcade-answer.wrong{background:#fde8ed;border-color:#d45a78}
.arcade-answers{display:grid;gap:8px}
.arcade-answer{display:block;width:100%;margin:0}
.arcade-dialog{max-height:calc(100vh - 36px);overflow:auto}
.city-node small{min-height:2.2em}
.book-plan[hidden],.book-alignment[hidden]{display:none}
@media(max-width:760px){.player-panel{grid-template-columns:1fr 1fr}.player-panel .player-card:nth-child(3){grid-column:auto}.path-panel{padding:16px}.stamp{width:calc(50% - 5px)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.linklike{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
.linklike:hover b{text-decoration:underline}
.couple-feedback{min-height:1.2em;font-size:.84rem;color:var(--berry)}

/* --- Révision, positionnement, examen et attestation --- */
.study-panel{margin:0 0 30px}
.study-panel > h2{display:block;margin:0 0 10px}
.study-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.study-card{background:#fff;border:1px solid #f0dce4;border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.study-card h3{font:600 1.45rem/1.1 'Cormorant Garamond',serif;color:var(--berry);margin:0 0 6px}
.study-card p{margin:0 0 12px;color:#6c4857;font-size:.86rem}
.tool-button[disabled]{opacity:.5;cursor:not-allowed}
.typed-answer{width:100%;border:1px solid var(--rose);border-radius:12px;padding:11px 13px;font:inherit;font-size:1rem}
.certificate-dialog{background:var(--cream);max-width:760px;width:100%;border-radius:22px;padding:20px;box-shadow:0 24px 80px rgba(61,33,48,.3);max-height:calc(100vh - 36px);overflow:auto}
.certificate-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.certificate-controls label{font-size:.85rem;color:#6c4857}
.certificate-controls input{flex:1 1 200px;border:1px solid var(--rose);border-radius:10px;padding:9px;font:inherit}
.certificate-controls .next{margin:0}
.certificate-sheet{background:#fff;border:3px double var(--gold);border-radius:14px;padding:40px 32px;text-align:center}
.certificate-mark{font-size:2.4rem;color:var(--pink)}
.certificate-brand{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:.8rem;margin:4px 0 14px}
.certificate-sheet h2{font:600 2.6rem/1 'Cormorant Garamond',serif;color:var(--berry);margin:0 0 20px}
.certificate-sheet #certificateText{font-size:1.1rem;line-height:1.7;max-width:560px;margin:0 auto 22px}
.certificate-note{font-size:.78rem;color:#7b5c68;margin:0}
@media(max-width:760px){.study-grid{grid-template-columns:1fr}.certificate-sheet{padding:26px 16px}.certificate-sheet h2{font-size:2rem}}
@media print{
  body *{visibility:hidden}
  #certificateModal,#certificateModal .certificate-sheet,#certificateModal .certificate-sheet *{visibility:visible}
  #certificateModal{position:absolute;inset:0;background:#fff;display:block!important;padding:0}
  #certificateModal .certificate-dialog{box-shadow:none;background:#fff;max-height:none}
  .certificate-controls{display:none}
}
.path-grid div.path-choice{grid-column:1/-1;cursor:default}
.path-grid div.path-choice small{color:#ffe3ee;font-size:.8rem}

/* Cartes du jour, étapes du livre */
.goal-meter{height:10px;background:#f1dbe3;border-radius:10px;overflow:hidden;margin:6px 0 10px}
.goal-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pink),var(--gold));border-radius:inherit;transition:width .4s}
.goal-choices{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;color:var(--muted)}
.goal-choices button{border:1px solid var(--rose);border-radius:999px;background:#fff;color:var(--berry);font:inherit;font-size:.78rem;padding:4px 10px;cursor:pointer}
.goal-choices button[aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:#fff}
.word-of-day{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:6px 0}
.word-of-day strong{font:600 1.6rem/1.1 'Cormorant Garamond',serif;color:var(--berry)}
.word-pic{font-size:1.9rem;line-height:1}
.word-of-day details{flex-basis:100%;font-size:.88rem;color:var(--muted)}
.word-of-day summary{cursor:pointer;color:var(--pink)}
.story-card p small{display:block;color:var(--pink);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}
.story-card p span{font-style:italic}
.lesson-list .book-step-title{margin:8px 0 0;color:#274b7a;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.lesson-list .book-step-title:first-child{margin-top:0}
@media(max-width:860px){.study-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.study-grid{grid-template-columns:1fr}}

/* Bouton « Continuer », contrat du livre repliable, bouton de langue qui défile sur téléphone */
.continue-button{display:inline-flex;flex-direction:column;gap:2px;margin-top:22px;padding:14px 22px;border-radius:16px;background:var(--pink);color:#fff;text-decoration:none;box-shadow:0 14px 30px rgba(194,24,91,.28);max-width:100%}
.continue-button:hover{background:var(--berry)}
.continue-button:focus-visible{outline:3px solid rgba(194,24,91,.35);outline-offset:3px}
.continue-kicker{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.continue-title{font-size:1.1rem;font-weight:600}
details.book-plan summary{cursor:pointer;color:var(--berry);font-weight:600;font-size:.82rem}
details.book-plan[open] summary{margin-bottom:6px}
@media(max-width:760px){.site-language{position:absolute}.hero{margin-bottom:22px}.continue-button{display:flex;width:100%}}

/* Sélecteur de niveau (A1 à C2 / BIPA 1 à 7) */
.path-panel{margin:0 0 26px}
.level-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}
.level-chip{flex:0 0 auto;scroll-snap-align:start;min-width:84px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 13px;border:1px dashed #d9bfca;border-radius:13px;background:#faf6f8;color:#8b6977;font:inherit;cursor:pointer;text-align:left}
.level-chip strong{font-size:.95rem;font-weight:600}
.level-chip small{font-size:.7rem}
.level-chip.is-open{border:1px solid var(--rose);background:var(--pale);color:var(--berry)}
.level-chip[aria-pressed=true]{border:2px solid var(--pink);background:#fff;color:var(--berry);box-shadow:0 6px 16px rgba(194,24,91,.14)}
.level-chip.is-open[aria-pressed=true]{background:var(--pink);color:#fff}
.level-chip:focus-visible{outline:3px solid rgba(194,24,91,.35);outline-offset:2px}
.level-detail{margin-top:10px;padding:12px 14px;border-radius:14px;background:#fffaf6;border:1px solid #f0dce4;font-size:.9rem;color:#5f4350}
.level-detail p{margin:0 0 6px}
.level-program{margin:4px 0 8px 18px;padding:0}
.level-program li{margin:2px 0}
.level-learn,.level-meanwhile{font-weight:600;color:var(--berry)}
.level-unit{margin:6px 0}
.level-unit>summary{cursor:pointer;color:var(--berry);padding:4px 0}
.level-unit>summary strong{font-weight:600}
.level-actions{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.level-actions .tool-button{margin:0;font-size:.85rem;padding:8px 11px;text-decoration:none}
.level-notify-box{padding-top:10px;border-top:1px dashed #ecd6df}
.level-notify{margin:0 0 4px;background:var(--pink)!important;color:#fff!important;border-color:var(--pink)!important;font-weight:600}
.level-note{display:block;color:#8b6977;font-size:.75rem}
.level-notified{color:#315c32;font-weight:500}
.level-error{color:#9b2c4a}
.level-notified .linklike{color:var(--berry);text-decoration:underline}
/* Cours de français expliqué en français : sans traduction, seuls le choix du niveau, les séances et le profil restent. */
body.is-mono .progress-wrap,body.is-mono main,body.is-mono .study-panel,body.is-mono .passport-panel,body.is-mono .tools-panel{display:none}
