/* CapClasse — design sobre « manuel scolaire moderne ». Remplace style.css + kids.css. */
@font-face{font-family:Nunito;font-weight:400;font-style:normal;font-display:swap;src:url(fonts/nunito-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Nunito;font-weight:700;font-style:normal;font-display:swap;src:url(fonts/nunito-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Nunito;font-weight:800;font-style:normal;font-display:swap;src:url(fonts/nunito-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Lilita One";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/lilita-one-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Patrick Hand";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/patrick-hand-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Kalam;font-weight:700;font-style:normal;font-display:swap;src:url(fonts/kalam-latin-700-normal.woff2) format("woff2")}

:root{
  --bg:#f7f1e8;--card:#fff;--ink:#12332b;--ink2:#34483f;--muted:#5f6f68;--line:#eadfcd;--line2:#d9cdb9;
  --brand:#0b6f67;--brand-d:#064a45;--brand-l:#d9f0ed;
  --ok:#157f55;--ok-l:#e3f6ee;--bad:#c2344a;--bad-l:#fdebee;--warn:#9a6a00;--warn-l:#fff4d6;
  --s:#0b6f67;--s-l:#d9f0ed;--s-d:#064a45;
  --r:12px;--r2:16px;--sh:0 1px 2px rgba(23,32,58,.06),0 4px 14px rgba(23,32,58,.05);
  --font:Nunito,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --hand:"Patrick Hand","Segoe Print","Comic Sans MS",cursive;--hand-b:Kalam,"Patrick Hand",cursive;
  --navy:#1f2a44;--font-h:var(--font);--font-b:var(--font);
  --c:var(--s);--l:var(--s-l);--d:var(--s-d);--sun:#f2b84b;
}
[data-subject="francais"]{--s:#ff5d8f;--s-l:#ffd6e5;--s-d:#a12a53}
[data-subject="mathematiques"]{--s:#3d7bff;--s-l:#d4e6ff;--s-d:#1f4fb8}
[data-subject="histoire"]{--s:#ff9f1c;--s-l:#ffe7c2;--s-d:#8a5a00}
[data-subject="geographie"]{--s:#0ea5c6;--s-l:#cdeef7;--s-d:#0a6379}
[data-subject="sciences"]{--s:#2fbf71;--s-l:#d6f5dc;--s-d:#17734a}
[data-subject="anglais"]{--s:#7b5cff;--s-l:#e7dcff;--s-d:#4a35b8}
[data-subject="espagnol"]{--s:#e8590c;--s-l:#ffe0cf;--s-d:#9a3a05}
[data-subject="arts"]{--s:#c13fc9;--s-l:#f4d6f6;--s-d:#7d2483}
[data-subject="emc"]{--s:#12b5a8;--s-l:#cdf3f1;--s-d:#0b6f67}
[data-subject="eps"]{--s:#6fae10;--s-l:#e6f4c6;--s-d:#47700a}
[data-subject="qmonde"]{--s:#2fbf71;--s-l:#d6f5dc;--s-d:#17734a}
[data-subject="histoire-geo"]{--s:#ff9f1c;--s-l:#ffe7c2;--s-d:#8a5a00}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
.cm-steps em:empty{display:none}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body.cm{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--font);overflow-x:hidden;overflow-x:clip;min-height:100vh;display:flex;flex-direction:column}
body.cm>main{flex:1 0 auto}
body.cm img,body.cm svg,body.cm video{max-width:100%}
:where(body.cm) a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:3px}
:where(body.cm) a:hover{color:var(--brand-d)}
body.cm :where(h1,h2,h3,h4){font-family:var(--font);font-weight:800;line-height:1.22;color:var(--ink);margin:0;text-wrap:balance;letter-spacing:-.01em}
body.cm :where(p){margin:0 0 1em}
body.cm :focus-visible{outline:3px solid #1b6ff0;outline-offset:2px;border-radius:6px}
.cm-wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}
.cm-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cm-skip{position:absolute;left:8px;top:-60px;z-index:100;background:#fff;color:var(--ink);padding:10px 14px;border-radius:8px;box-shadow:var(--sh)}
.cm-skip:focus{top:8px}
.cm-ico{flex:none}

/* ---------- En-tête ---------- */
.cm-hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.4) blur(8px)}
.cm-hd-in{display:flex;align-items:center;gap:18px;min-height:64px}
.cm-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:21px;letter-spacing:-.02em;color:var(--ink)!important;text-decoration:none}
.cm-brand svg{display:block}
.cm-menu{display:flex;align-items:center;gap:16px;flex:1;min-width:0}
.cm-nav{display:flex;gap:4px;margin-right:auto}
.cm-nav a{padding:8px 12px;border-radius:8px;color:var(--ink2);font-weight:700;font-size:15.5px;text-decoration:none}
.cm-nav a:hover{background:var(--brand-l);color:var(--brand-d)}
.cm-nav a[aria-current="page"]{color:var(--brand-d);background:var(--brand-l)}
.cm-search{position:relative;display:flex;align-items:center;min-width:0}
.cm-search svg{position:absolute;left:11px;color:var(--muted);pointer-events:none}
.cm-search input[type=search]{font:inherit;font-size:15px;width:210px;max-width:100%;padding:8px 12px 8px 34px;border:1px solid var(--line2);border-radius:999px;background:#fff;color:var(--ink)}
.cm-search input[type=search]:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px rgba(11,111,103,.18)}
.cm-lv{display:inline-flex;border:1px solid var(--line2);border-radius:999px;padding:2px;background:#fff}
.cm-lv a{padding:5px 14px;border-radius:999px;font-weight:800;font-size:14px;color:var(--ink2);text-decoration:none}
.cm-lv a[aria-current="true"]{background:var(--brand);color:#fff}
.cm-easy{font:700 14px var(--font);color:var(--ink2);background:#fff;border:1px solid var(--line2);border-radius:999px;padding:7px 12px;cursor:pointer;white-space:nowrap}
.cm-easy:hover{border-color:var(--brand);color:var(--brand-d)}
.cm-easy[aria-pressed="true"]{background:var(--brand-l);border-color:var(--brand);color:var(--brand-d)}
.cm-burger{display:none;margin-left:auto;border:1px solid var(--line2);background:#fff;border-radius:10px;width:44px;height:40px;cursor:pointer;align-items:center;justify-content:center}
.cm-burger-i,.cm-burger-i::before,.cm-burger-i::after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;content:"";position:relative}
.cm-burger-i::before{position:absolute;top:-6px}.cm-burger-i::after{position:absolute;top:6px}
@media (max-width:980px){
  .cm-burger{display:inline-flex}
  .cm-menu{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:14px 20px 18px;flex-direction:column;align-items:stretch;gap:12px;box-shadow:0 14px 24px rgba(23,32,58,.08)}
  .cm-menu.open{display:flex}
  .cm-nav{flex-direction:column;margin:0}
  .cm-nav a{padding:12px}
  .cm-search input[type=search]{width:100%}
  .cm-lv{align-self:flex-start}
  .cm-easy{align-self:flex-start}
}

/* ---------- Boutons, pastilles ---------- */
.cm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:800 16px var(--font);padding:11px 20px;border-radius:10px;border:1px solid var(--brand);background:var(--brand);color:#fff!important;text-decoration:none!important;cursor:pointer;line-height:1.2}
.cm-btn:hover{background:var(--brand-d);border-color:var(--brand-d)}
.cm-btn.ghost{background:#fff;color:var(--brand-d)!important;border-color:var(--line2)}
.cm-btn.ghost:hover{border-color:var(--brand);background:var(--brand-l)}
.cm-btn.sm{padding:7px 14px;font-size:14.5px}
.cm-tag{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;padding:3px 10px;border-radius:999px;background:var(--s-l);color:var(--s-d);letter-spacing:.01em}
.cm-tag.grey{background:#eef0f6;color:var(--ink2)}

/* ---------- Accueil ---------- */
.cm-hero{background:#fff;border-bottom:1px solid var(--line);padding:56px 0 48px}
.cm-hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center}
.cm-eyebrow{display:inline-block;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.cm-hero h1{font-size:clamp(32px,4.4vw,50px);margin:10px 0 14px;letter-spacing:-.025em}
.cm-hero h1 em{font-style:normal;color:var(--brand)}
.cm-hero p.lead{font-size:19px;color:var(--ink2);max-width:34em}
.cm-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.cm-hero-search{margin-top:22px;max-width:480px}
.cm-hero-search form{display:flex;gap:8px}
.cm-hero-search input[type=search]{flex:1;min-width:0;font:inherit;padding:12px 14px;border:1px solid var(--line2);border-radius:10px;background:#fff}
.cm-hero-search input[type=search]:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px rgba(11,111,103,.18)}
.cm-hero-panel{background:var(--bg);border:1px solid var(--line);border-radius:var(--r2);padding:22px}
.cm-hero-panel h2{font-size:15px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:12px}
.cm-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.cm-facts li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 10px;text-align:center}
.cm-facts b{display:block;font-size:26px;line-height:1.1;color:var(--brand-d);font-weight:800}
.cm-facts span{font-size:13.5px;color:var(--muted)}
.cm-resume{margin-top:14px;display:none}
.cm-resume.on{display:block}
.cm-resume a{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--brand);background:var(--brand-l);border-radius:var(--r);text-decoration:none;color:var(--brand-d);font-weight:800}
.cm-resume small{display:block;font-weight:600;color:var(--ink2)}
@media (max-width:860px){.cm-hero{padding:34px 0 30px}.cm-hero-in{grid-template-columns:minmax(0,1fr)}}

.cm-sec{padding:44px 0 6px}
.cm-sec-h{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px 20px;margin-bottom:20px}
.cm-sec-h h2{font-size:clamp(24px,3vw,30px)}
.cm-sec-h p{margin:4px 0 0;color:var(--muted);font-size:16px}
.cm-subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.cm-subj{display:flex;flex-direction:column;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:20px;text-decoration:none!important;color:var(--ink)!important;box-shadow:var(--sh);border-top:4px solid var(--s);transition:transform .15s,box-shadow .15s}
.cm-subj:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(23,32,58,.1)}
.cm-subj-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--s-l);color:var(--s-d)}
.cm-subj h3{font-size:19px}
.cm-subj p{margin:0;color:var(--muted);font-size:15px;line-height:1.5;flex:1}
.cm-subj-meta{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--ink2);font-weight:700;border-top:1px solid var(--line);padding-top:12px}
.cm-subj-meta .go{color:var(--s-d)}
.cm-bar{height:6px;border-radius:99px;background:#e8ebf3;overflow:hidden}
.cm-bar i{display:block;height:100%;width:0;background:var(--s);border-radius:99px;transition:width .4s}

.cm-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cm-how div{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:20px}
.cm-how b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand-l);color:var(--brand-d);margin-bottom:10px}
.cm-how h3{font-size:18px;margin-bottom:6px}.cm-how p{margin:0;color:var(--muted);font-size:15.5px}
@media (max-width:760px){.cm-how{grid-template-columns:minmax(0,1fr)}}
.cm-about{margin:40px 0 0;padding:26px 0 0;border-top:1px solid var(--line);color:var(--ink2);font-size:15.5px;max-width:60em}
.cm-about h2{font-size:20px;margin-bottom:10px}

/* ---------- Page matière ---------- */
.cm-crumbs{font-size:14.5px;color:var(--muted);padding:18px 0 0}
.cm-crumbs a{color:var(--muted)}
.cm-crumbs span[aria-current]{color:var(--ink2);font-weight:700}
.cm-mhead{display:flex;gap:18px;align-items:center;padding:20px 0 24px}
.cm-mhead .cm-subj-ico{width:64px;height:64px;border-radius:16px;background:var(--s);color:#fff}
.cm-mhead h1{font-size:clamp(26px,3.6vw,36px)}
.cm-mhead p{margin:6px 0 0;color:var(--ink2);max-width:46em}
.cm-mlay{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start;padding-bottom:30px}
@media (max-width:900px){.cm-mlay{grid-template-columns:minmax(0,1fr)}}
.cm-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;counter-reset:l}
.cm-list li{counter-increment:l}
.cm-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;text-decoration:none!important;color:var(--ink)!important;transition:border-color .12s,box-shadow .12s}
.cm-row:hover{border-color:var(--s);box-shadow:var(--sh)}
.cm-row::before{content:counter(l);flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--s-l);color:var(--s-d);font-weight:800;font-size:15px}
.cm-row-t{flex:1;min-width:0}
.cm-row-t b{display:block;font-weight:800;font-size:17px;line-height:1.3}
.cm-row-t span{font-size:13.5px;color:var(--muted)}
.cm-st{flex:none;font-size:13px;font-weight:800;padding:3px 10px;border-radius:99px;background:#eef0f6;color:var(--ink2);display:none}
.cm-row.done::before{content:"✓";background:var(--ok);color:#fff}
.cm-row.done .cm-st{display:inline-block;background:var(--ok-l);color:var(--ok)}
.cm-row.tried .cm-st{display:inline-block;background:var(--warn-l);color:var(--warn)}
.cm-row .chev{flex:none;color:var(--line2)}
.cm-side{position:sticky;top:84px;display:flex;flex-direction:column;gap:14px}
.cm-card{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:18px}
.cm-card h2{font-size:16px;margin-bottom:10px}
.cm-card p{font-size:15px;color:var(--ink2)}
.cm-big{font-size:32px;font-weight:800;color:var(--s-d);line-height:1}
.cm-subnav{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.cm-subnav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--ink2);text-decoration:none;font-weight:700;font-size:15px}
.cm-subnav a:hover{background:var(--brand-l)}
.cm-subnav a[aria-current]{background:var(--s-l);color:var(--s-d)}
.cm-subnav .cm-ico{width:20px;height:20px}
.cm-empty{padding:22px;border:1px dashed var(--line2);border-radius:var(--r);color:var(--muted);background:#fff}

/* ---------- Leçon ---------- */
.cm-lhead{background:#fff;border-bottom:1px solid var(--line)}
.cm-lhead .cm-wrap{padding-bottom:22px}
.cm-lhead h1{font-size:clamp(26px,3.8vw,38px);margin:10px 0 10px}
.cm-lmeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cm-lmeta .cm-tag{background:var(--s-l)}
.cm-lstate{margin-left:auto}
.cm-steps{position:sticky;top:64px;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.cm-steps-in{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px 20px}
.cm-steps-in::-webkit-scrollbar{display:none}
.cm-steps a{flex:none;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;font-weight:800;font-size:15px;color:var(--ink2);text-decoration:none;border:1px solid transparent}
.cm-steps a:hover{background:var(--brand-l)}
.cm-steps a.on{background:var(--s-l);color:var(--s-d);border-color:var(--s)}
.cm-steps a em{font-style:normal;font-size:12.5px;background:#eef0f6;color:var(--ink2);padding:1px 8px;border-radius:99px}
.cm-steps a.done em{background:var(--ok-l);color:var(--ok)}
.cm-lay{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:30px;align-items:start;padding-top:26px;padding-bottom:20px}
@media (max-width:980px){.cm-lay{grid-template-columns:minmax(0,1fr)}.cm-toc{display:none}}
.cm-toc{position:sticky;top:128px;order:2}
.cm-toc h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.cm-toc ol{margin:0;padding:0;list-style:none;border-left:2px solid var(--line)}
.cm-toc a{display:block;padding:6px 12px;margin-left:-2px;border-left:2px solid transparent;color:var(--ink2);text-decoration:none;font-size:15px;line-height:1.35}
.cm-toc a:hover{color:var(--s-d)}
.cm-toc a.on{border-left-color:var(--s);color:var(--s-d);font-weight:800}
.cm-prog{margin-top:18px}
.cm-prog p{font-size:14px;margin:6px 0 0;color:var(--muted)}
.cm-main{min-width:0}
.cm-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:28px 32px;margin-bottom:22px}
.cm-panel>h2.cm-ph{display:flex;align-items:center;gap:10px;font-size:22px;margin-bottom:18px;padding-bottom:12px;border-bottom:2px solid var(--s-l)}
.cm-ph .n{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--s);color:#fff;font-size:15px}
@media (max-width:640px){.cm-panel{padding:20px 16px;border-radius:var(--r)}}

.lesson-blocks{font-size:17.5px;line-height:1.75;color:var(--ink)}
.lesson-blocks>*{max-width:46em}
.lesson-blocks>.at-game,.lesson-blocks>figure,.lesson-blocks>.cc-anim,.lesson-blocks>.lesson-block-image{max-width:none}
:is(h2,h3).lesson-block-title{font-size:21px;margin:30px 0 10px;padding-left:12px;border-left:4px solid var(--s);color:var(--s-d)}
:is(h2,h3).lesson-block-title:first-child{margin-top:0}
.lesson-block-paragraph{margin:0 0 14px}
.lesson-block-list{margin:0 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.lesson-block-list li{position:relative;padding:8px 14px 8px 40px;background:#f8f9fd;border:1px solid var(--line);border-radius:10px}
.lesson-block-list li::before{content:"";position:absolute;left:14px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--s-l);border:2px solid var(--s)}
.lesson-block-tip,.lesson-block-example{margin:20px 0;padding:16px 20px;border-radius:var(--r);border:1.5px solid}
.lesson-block-tip p,.lesson-block-example p{margin:6px 0 0}
.lesson-block-tip{background:#fff7f7;border-color:#e7a2ac}
.lesson-block-tip strong{color:#a82b40;text-transform:uppercase;letter-spacing:.06em;font-size:13.5px;font-family:var(--hand-b)}
.lesson-block-example{background:#f3f7ff;border-color:#a9bff2}
.lesson-block-example strong{color:#274aae;text-transform:uppercase;letter-spacing:.06em;font-size:13.5px}
.lesson-block-image,.at-figure,.cc-anim{margin:22px auto;text-align:center}
.lesson-block-image img,.at-figure img{display:block;margin:0 auto;border:1px solid var(--line);border-radius:var(--r);background:#fff;max-width:100%;height:auto}
.at-figure{max-width:760px}.at-figure img{width:100%}
.at-figure figcaption,.cc-anim figcaption{margin-top:8px;font-size:14.5px;color:var(--muted)}
.cc-anim-stage{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:8px;overflow:hidden}
.cc-anim-stage svg{max-width:100%;height:auto}
.math-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1.1;margin:0 .15em;font-weight:700}
.math-frac .top{padding:0 .25em}.math-frac .bar{width:100%;height:1.5px;background:currentColor;margin:1px 0}.math-frac .bottom{padding:0 .25em}
.lesson-blocks table,.lesson-body table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto;margin:16px 0}
.lesson-blocks td,.lesson-blocks th{border:1px solid var(--line2);padding:7px 12px}

/* Navigation précédent / suivant */
.cm-pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:6px 0 22px}
.cm-pager a{display:flex;flex-direction:column;gap:2px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none!important;color:var(--ink)!important}
.cm-pager a:hover{border-color:var(--s)}
.cm-pager small{color:var(--muted);font-weight:700}
.cm-pager b{font-weight:800;line-height:1.3}
.cm-pager .nx{text-align:right;grid-column:2}
.cm-pager .pv{grid-column:1}
@media (max-width:560px){.cm-pager{grid-template-columns:minmax(0,1fr)}.cm-pager .nx,.cm-pager .pv{grid-column:auto;text-align:left}}
.cm-rel ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.cm-rel a{display:block;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);font-weight:700;font-size:15.5px}
.cm-rel a:hover{border-color:var(--s)}

/* ---------- Quiz ---------- */
.cm-quiz-intro{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;background:var(--s-l);border-radius:var(--r);padding:18px 20px}
.cm-quiz-intro p{margin:0;color:var(--ink2)}
.cm-quiz-intro b{color:var(--s-d)}
.cm-q{margin-top:18px}
.cm-q-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.cm-q-top .cm-bar{flex:1;height:8px}
.cm-q-top .cm-bar i{background:var(--s)}
.cm-q-top span{font-weight:800;font-size:14.5px;color:var(--ink2);white-space:nowrap}
.cm-q-card{border:1px solid var(--line);border-radius:var(--r2);padding:22px;background:#fff}
.cm-q-text{font-size:20px;font-weight:800;line-height:1.4;margin:0 0 16px}
.cm-ans{display:flex;flex-direction:column;gap:10px}
.cm-a{display:flex;align-items:center;gap:12px;text-align:left;width:100%;font:700 17px var(--font);color:var(--ink);background:#fff;border:1.5px solid var(--line2);border-radius:var(--r);padding:12px 14px;cursor:pointer}
.cm-a:hover:not(:disabled){border-color:var(--s);background:var(--s-l)}
.cm-a .k{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line2);font-size:14px;font-weight:800;color:var(--ink2)}
.cm-a.right{border-color:var(--ok);background:var(--ok-l)}.cm-a.right .k{background:var(--ok);border-color:var(--ok);color:#fff}
.cm-a.wrong{border-color:var(--bad);background:var(--bad-l)}.cm-a.wrong .k{background:var(--bad);border-color:var(--bad);color:#fff}
.cm-a:disabled{cursor:default}
.cm-fb{margin-top:14px;padding:12px 16px;border-radius:var(--r);font-size:16px}
.cm-fb.good{background:var(--ok-l);color:#0b5338}.cm-fb.bad{background:var(--bad-l);color:#7c1d2d}
.cm-fb p{margin:4px 0 0}
.cm-q-next{margin-top:14px}
.cm-result{border:1px solid var(--line);border-radius:var(--r2);padding:26px;text-align:center;background:#fff;margin-top:18px}
.cm-ring{--p:0;width:132px;height:132px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:conic-gradient(var(--ringc,var(--s)) calc(var(--p)*1%),#e8ebf3 0)}
.cm-ring span{display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:#fff;font-size:30px;font-weight:800}
.cm-result h3{font-size:22px;margin-bottom:6px}
.cm-result p{color:var(--ink2);max-width:34em;margin:0 auto 14px}
.cm-result .row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cm-review{text-align:left;margin-top:18px}
.cm-review summary{cursor:pointer;font-weight:800;color:var(--brand-d)}
.cm-review div{padding:10px 0;border-top:1px solid var(--line);margin-top:10px}
.cm-review p{margin:2px 0;font-size:15.5px}

/* ---------- Progression ---------- */
.cm-ptitle{padding:30px 0 6px}
.cm-ptitle h1{font-size:clamp(26px,3.6vw,36px)}
.cm-ptitle p{color:var(--muted);margin:8px 0 0}
.cm-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:20px 0}
.cm-stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px}
.cm-stat b{display:block;font-size:30px;line-height:1.1;color:var(--brand-d)}
.cm-stat span{color:var(--muted);font-size:14.5px}
.cm-ptable{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.cm-ptable th,.cm-ptable td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:15.5px}
.cm-ptable th{background:#f6f7fb;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.cm-pwrap{overflow-x:auto;max-width:100%;border-radius:var(--r)}
.cm-danger{font:700 15px var(--font);color:var(--bad);background:#fff;border:1px solid #e7b3bb;border-radius:10px;padding:9px 16px;cursor:pointer}
.cm-danger:hover{background:var(--bad-l)}

/* ---------- Pied de page ---------- */
.cm-ft{margin-top:50px;background:#fff;border-top:1px solid var(--line);padding:34px 0 26px;color:var(--ink2)}
.cm-ft-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:30px}
.cm-ft-brand{font-size:20px;font-weight:800;color:var(--ink)}
.cm-ft p{font-size:15px;color:var(--muted);margin:8px 0 0;max-width:30em}
.cm-ft h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.cm-ft nav{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.cm-ft nav a{color:var(--ink2);text-decoration:none;font-size:15.5px;font-weight:600}
.cm-ft nav a:hover{color:var(--brand)}
.cm-ft-copy{margin-top:26px!important;padding-top:16px;border-top:1px solid var(--line);font-size:14px!important;max-width:none!important}
@media (max-width:700px){.cm-ft-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Pages simples (à propos, légales, 404, recherche) ---------- */
.cm-page{max-width:820px;margin:0 auto;padding:30px 20px 10px}
.cm-page h1{font-size:clamp(28px,4vw,38px);margin-bottom:14px}
.cm-page h2{font-size:22px;margin:28px 0 10px}
.cm-page p,.cm-page li{color:var(--ink2)}
.cm-page ul{padding-left:1.2em}
.cm-notice{padding:14px 16px;background:var(--warn-l);border:1px solid #f0d28a;border-radius:var(--r);margin:16px 0;color:#5b4100}
.cm-results{display:flex;flex-direction:column;gap:10px;margin:18px 0;padding:0;list-style:none}
.cm-results a{display:block;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink)}
.cm-results a:hover{border-color:var(--brand)}
.cm-results small{display:block;color:var(--muted);font-weight:700}
.cm-results b{font-size:17px}

/* ---------- Compatibilité des anciens composants de leçon ---------- */
.course-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:28px 32px;margin-bottom:22px}
@media (max-width:640px){.course-panel{padding:20px 16px}}
.course-panel h2{font-size:22px;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--s-l)}
.course-panel h3{font-size:19px;margin:20px 0 8px;color:var(--s-d)}
.course-panel h4{font-size:17px;margin:14px 0 6px}
.course-panel p,.course-panel li{font-size:17px;line-height:1.7}
.course-panel strong{color:var(--ink)}
.course-button{font:800 16px var(--font);background:var(--brand);color:#fff;border:1px solid var(--brand);padding:10px 18px;border-radius:10px;cursor:pointer}
.course-button:hover{background:var(--brand-d)}
.course-button.btn-secondary{background:#fff;color:var(--brand-d);border-color:var(--line2)}
.muted{color:var(--muted)}
.cm-panel textarea,.course-panel textarea{width:100%;font:inherit;padding:10px 12px;border:1.5px solid var(--line2);border-radius:var(--r);background:#fff;color:var(--ink);min-height:84px}
.course-panel input[type=text],.course-panel input[type=number],.course-panel select{font:inherit;padding:8px 10px;border:1.5px solid var(--line2);border-radius:8px;background:#fff;color:var(--ink);max-width:100%}
.course-panel details{border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin:10px 0;background:#fafbfe}
.course-panel summary{cursor:pointer;font-weight:800}
.course-panel button:not(.at-btn):not(.at-chip):not(.at-opt):not(.at-reset):not(.cm-a):not(.cm-btn){font:700 15.5px var(--font);cursor:pointer;color:var(--brand-d);background:#fff;border:1.5px solid var(--line2);border-radius:10px;padding:8px 14px}
.course-panel button:not(.at-btn):not(.at-chip):not(.at-opt):not(.at-reset):not(.cm-a):not(.cm-btn):hover{border-color:var(--brand);background:var(--brand-l)}
.course-panel canvas{max-width:100%}

/* ---------- Exercices « cahier » (ateliers) ---------- */
.at-game{margin:26px 0}
.at-card{margin:26px 0!important;--c:var(--s);--l:var(--s-l);--d:var(--s-d);position:relative;background:#fff;border:2px solid var(--c);border-radius:14px;overflow:hidden;margin:0;font-family:var(--hand);color:#1c2d6b}
.at-t-ordre,.at-t-phrase,.at-t-mot{--c:#c8374f;--l:#fdecef;--d:#9a2236}
.at-t-assoc{--c:#2c62d6;--l:#eaf0fd;--d:#1d449c}
.at-t-trous,.at-t-saisie{--c:#6c47c4;--l:#f0ebfc;--d:#4b2f92}
.at-t-vf,.at-t-cliquer{--c:#1f8a5c;--l:#e4f6ee;--d:#126140}
.at-t-trier,.at-t-zones,.at-t-nommer{--c:#c9532b;--l:#fdede6;--d:#8f3515}
.at-head{display:flex;align-items:center;gap:12px;padding:12px 18px;background:#fff;border-bottom:1.5px dashed var(--c);flex-wrap:wrap}
.at-ico{display:none!important}
.at-headtext{flex:1 1 220px;min-width:0}
.at-kind{display:inline-block;font:700 14px/1 var(--hand-b);letter-spacing:.05em;text-transform:uppercase;color:var(--c);border:1.5px solid var(--c);border-radius:8px;padding:5px 10px 3px;background:#fff}
.at-done{display:inline-block;margin-left:8px;background:var(--ok-l);color:var(--ok);border-radius:99px;padding:1px 10px;font:800 13px var(--font)}
.at-q,body.cm .at-q{margin:8px 0 0;font:400 22px/1.3 var(--hand);color:#1c2d6b}
.at-reset{margin-left:auto;font:700 14px var(--font);color:var(--ink2);background:#fff;border:1px solid var(--line2);border-radius:99px;padding:5px 12px;cursor:pointer}
.at-reset:hover{border-color:var(--c);color:var(--d)}
.at-body{padding:18px 20px 10px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 33px,#e7effc 33px,#e7effc 34px);background-position:0 8px;font-family:var(--hand);font-size:21px;line-height:34px}
.at-foot{padding:6px 20px 16px;background:#fff;border-top:1px solid var(--line)}
.at-bar{height:8px;border-radius:99px;background:#e8ebf3;border:0;overflow:hidden;margin-top:6px}
.at-bar i{background:var(--c)!important;background-image:none!important}
.at-msg{font:700 16px var(--font);color:var(--ink2);min-height:26px;margin:8px 0 0}
.at-msg.good{color:var(--ok)}.at-msg.bad{color:var(--bad)}
.at-ask,.at-info{font:400 21px var(--hand);color:#1c2d6b}
.at-win{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;padding:12px 16px;border:1.5px solid var(--ok);border-radius:12px;background:var(--ok-l);animation:none;font-family:var(--font)}
.at-win-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ok);color:#fff;font-size:20px;font-weight:800;line-height:1}
.at-win b{font:800 17px var(--font);color:#0b5338}
.at-win span{font:600 15px var(--font)}
.at-btn{font:800 15.5px var(--font);color:#fff;background:var(--c);border:1px solid var(--c);border-radius:10px;padding:8px 18px;cursor:pointer;box-shadow:none}
.at-btn:hover{filter:brightness(.92)}
.at-btn.at-ghost{background:#fff;color:var(--d);border-color:var(--line2)}
.at-chip{font:400 21px/1.2 var(--hand);color:#1c2d6b;background:#fff;border:1.5px solid #1c2d6b;border-radius:8px;padding:5px 12px 4px;cursor:pointer;box-shadow:none;min-height:0}
.at-chip:hover:not(:disabled){background:var(--l)}
.at-chip.sel{background:var(--warn-l);outline:3px solid #e0a21a;outline-offset:1px}
.at-chip.ok{background:var(--ok-l);border-color:var(--ok);color:#0b5338}
.at-chip.bad{background:var(--bad-l);border-color:var(--bad);color:#8c1d30}
.at-slot{border:1.5px dashed var(--c);background:rgba(255,255,255,.85);border-radius:8px}
.at-slot>span{font:700 13px var(--font);color:var(--d)}
.at-opt{font:400 21px var(--hand);background:#fff;color:#1c2d6b;border:1.5px solid #1c2d6b;border-radius:8px;padding:0 12px}
.at-opt:hover:not(:disabled){background:var(--l)}
.at-gap,.at-in{font-family:var(--hand);font-size:21px;border:0;border-bottom:2px solid #1c2d6b;background:transparent;border-radius:0;color:#c8374f}
.at-vf-card{border:1.5px solid var(--line2);border-radius:12px;background:#fff;font-family:var(--hand)}
.at-vf-btns .at-btn{font-size:16px}
.at-card input[type=text]{font-family:var(--hand);font-size:21px;border:0;border-bottom:2px solid #1c2d6b;background:transparent;color:#c8374f;border-radius:0;padding:0 6px}
.at-card input[type=text]:focus{outline:none;border-bottom-color:var(--c);background:rgba(255,255,255,.7)}
/* repères numérotés comme sur le cahier */
.at-t-trous .at-body,.at-t-saisie .at-body,.at-t-vf .at-body{counter-reset:ex}
@keyframes at-shake{20%{transform:translateX(-4px)}60%{transform:translateX(4px)}}
.at-shake{animation:at-shake .3s}
.at-slots,.at-pool,.at-words{max-width:100%}
.at-card *{max-width:100%}

/* Parcours / activités des anciennes versions : cadres sobres */
[class*="cc-v9"],[class*="cc12"],[class*="cc15"],[class*="cc18"],[class*="cc19"],[class*="cc-v10"]{font-family:inherit}
.cc-v9-tag{display:inline-block;font-size:13px;font-weight:800;color:var(--s-d);background:var(--s-l);padding:3px 10px;border-radius:99px}
.cc-v9-task,.cc18-chapter,.cc15-chapter{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:14px 0;background:#fcfcff}
.cc-v9-answer{background:var(--ok-l);border-radius:10px;padding:10px 14px;margin-top:10px}
.cm-panel .course-panel,.cm-main .course-panel{box-shadow:none}

/* ---------- Mode lecture facile ---------- */
html.cm-easy body.cm,html.cm-easy body.cm button,html.cm-easy body.cm input,html.cm-easy body.cm textarea{font-family:Verdana,Tahoma,"Trebuchet MS",sans-serif!important;letter-spacing:.03em;word-spacing:.08em}
html.cm-easy .lesson-blocks,html.cm-easy .course-panel p,html.cm-easy .course-panel li{line-height:2;font-size:18.5px}
html.cm-easy .at-card,html.cm-easy .at-card *{font-family:Verdana,Tahoma,sans-serif!important}
html.cm-easy .at-body{background-image:none}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.cm-hd,.cm-steps,.cm-toc,.cm-ft,.cm-pager,.cm-rel{display:none!important}body.cm{background:#fff}.cm-panel{border:0;padding:0}}

/* ---------- Fiches de révision ---------- */
.cc-todo{background:#fff4d6;border-radius:4px;padding:0 4px;color:#7a5500}
.cm-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}
.cm-chips a{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:99px;border:1px solid var(--line2);background:#fff;color:var(--ink2);text-decoration:none;font-weight:700;font-size:14.5px}
.cm-chips a:hover{border-color:var(--brand)}
.cm-chips a[aria-current="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.cm-chips small{opacity:.7;font-weight:700}
.cm-fgroup{margin:28px 0 0}
.cm-fgroup h2{display:flex;align-items:center;gap:10px;font-size:21px;margin-bottom:12px}
.cm-fgroup h2 small{font-size:14px;color:var(--muted);font-weight:700}
.cm-fgroup .cm-subj-ico{width:34px;height:34px;border-radius:9px}
.cm-fcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;list-style:none;margin:0;padding:0}
.cm-fcard{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink)}
.cm-fcard:hover{border-color:var(--s)}
.cm-fcard .n{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--s-l);color:var(--s-d);font-weight:800;font-size:14px}
.cm-fcard .t{font-weight:700;line-height:1.3}
.cm-fgroup{--s:var(--s);}
.cm-fgroup[data-subject],.cm-chips a[data-subject]{}
.fch-sheet{max-width:860px;margin:10px auto 18px}
.fch-card-in{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:28px 34px;border-top:5px solid var(--s)}
.fch-eyebrow{font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--s-d);margin:0 0 6px}
.fch-card-in h1{font-size:clamp(26px,3.6vw,36px);margin-bottom:10px}
.fch-intro{color:var(--ink2);background:var(--s-l);border-radius:var(--r);padding:12px 16px;margin:12px 0 4px}
.fch-sec{margin:22px 0}
.fch-sec h2{display:flex;align-items:center;gap:10px;font-size:20px;margin-bottom:8px;color:var(--s-d)}
.fch-num{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--s);color:#fff;font-size:14px;flex:none}
.fch-sec p{margin:0 0 .7em}
.fch-list-ul{margin:.4em 0;padding-left:1.2em}.fch-list-ul li{margin:.2em 0}
.fch-key{margin:.7em 0}.fch-key mark{background:#fff3c4;padding:2px 6px;border-radius:5px;color:var(--ink)}
.fch-ex{border-left:4px solid #a9bff2;background:#f3f7ff;padding:10px 14px;border-radius:0 var(--r) var(--r) 0;margin:.8em 0}
.fch-ex strong{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#274aae}
.fch-ex p{margin:4px 0 0}
.fch-fig{margin:.8em 0;text-align:center}.fch-fig img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:var(--r)}.fch-fig figcaption{font-size:14px;color:var(--muted)}
.fch-retiens{margin-top:22px;border:1.5px solid #e7a2ac;background:#fff7f7;border-radius:var(--r);padding:12px 18px}
.fch-retiens h2{font-size:15px;text-transform:uppercase;letter-spacing:.07em;color:#a82b40;margin-bottom:6px}
.fch-retiens ul{margin:0;padding-left:1.2em}
.fch-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:6px 0 22px}
.fch-main .cm-pager{max-width:860px;margin-left:auto;margin-right:auto}
@media (max-width:640px){.fch-card-in{padding:20px 16px}}
@media print{
  body.cm.fch-body{background:#fff!important}
  .fch-noprint{display:none!important}
  .fch-card-in{border:1.5px solid #999;border-top:5px solid #666;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@page{size:A4 portrait;margin:8mm}
html.fch-fit,html.fch-fit body{height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important;font-size:13px}
html.fch-fit .fch-main{width:194mm;max-width:none;margin:0;padding:0}
html.fch-fit .fch-sheet{margin:0;width:194mm;max-width:none}
html.fch-fit .fch-card-in{padding:12px 18px}
html.fch-fit .fch-card-in h1{font-size:1.5rem;margin:.1em 0 .3em}
html.fch-fit .fch-sec{margin:9px 0}.fch-fit .fch-sec h2{font-size:1.05rem}
html.fch-fit .fch-sec p,html.fch-fit .fch-list-ul li{line-height:1.4;margin-top:.25em;margin-bottom:.25em}
html.fch-fit .fch-fig img{max-height:150px;width:auto}
html.fch-fit .fch-retiens{margin-top:10px}
html.fch-fit .fch-noprint{display:none!important}
.at-card .at-word,.at-card .at-sentence,.at-card .at-trous,.at-card .at-row,.at-card .at-given,.at-card .at-words,.at-card .at-line,.at-card .at-body span:not(.at-win-ico):not(.at-done){font-family:var(--hand)}
.at-card .at-word{font-weight:400;font-size:23px}
.at-card .at-win,.at-card .at-win *,.at-card .at-foot,.at-card .at-msg,.at-card .at-btn,.at-card .at-slot>span,.at-card .at-vf-n{font-family:var(--font)!important}
.at-vf-btns .at-btn{background:#fff;color:var(--d);border:1.5px solid var(--c);font-weight:800}
.at-vf-btns .at-btn:hover{background:var(--l)}
/* jamais de défilement horizontal : les onglets passent à la ligne */
.cm-steps-in{flex-wrap:wrap;overflow:visible;gap:4px 6px}
.cm-steps a{padding:6px 12px;font-size:14.5px}
@media (max-width:560px){.cm-steps{position:static}.cm-steps a em{display:none}}


/* ======================================================================
   Design v4 (maquette : fond crème, bandeau teal, orange en relief, cartes colorées)
   ====================================================================== */
:root{--cream:#f7f1e8;--cream-line:#eadfcd;--cream-row:#f3ece0;--orange:#ff7a2b;--orange-d:#c2541a;--orange-ink:#2a1000;--gold:#ffc93c;--gold-ink:#3a2500;--star:#ffb400;--teal:#0b6f67;--teal-deco:#0a625b;--teal-dd:#064a45;--pink:#ff5d8f;--pink-d:#c93a68;--pink-ink:#a12a53;--pink-bg:#ffd6e5;--green:#2fbf71;--green-d:#1e8f52;--green-ink:#17734a;--green-bg:#d6f5dc;--blue-ink:#1f4fb8;--blue-bg:#d4e6ff;--owl:#5b45d6;--owl-rim:#8b78ff;--owl-belly:#fff1c9;--display:"Lilita One",system-ui,sans-serif;--ok:#1e8f52;--ok-l:#d6f5dc;--bad:#c93a68;--bad-l:#ffe3ec}
body.cm :where(h1,h2,h3){font-family:var(--display);font-weight:400;letter-spacing:0}
:where(body.cm) a{color:var(--orange-d)}
:where(body.cm) a:hover{color:var(--orange)}
body.cm :focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.cm-wrap{max-width:1280px;padding:0 40px}
@media (max-width:700px){.cm-wrap{padding:0 18px}}
/* boutons en relief */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:999px;font:800 18px var(--font);padding:16px 26px;transition:transform .08s;white-space:nowrap;text-decoration:none!important;cursor:pointer}
.btn:active{transform:translateY(4px)}
.btn-orange{background:var(--orange);color:var(--orange-ink)!important;box-shadow:0 6px 0 var(--orange-d)}
.btn-orange:hover{background:#ff8f4d}.btn-orange:active{box-shadow:0 2px 0 var(--orange-d)}
.btn-white{background:#fff;color:var(--ink)!important;box-shadow:0 6px 0 var(--teal-dd)}.btn-white:active{box-shadow:0 2px 0 var(--teal-dd)}
.cm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;font:800 17px var(--font);padding:13px 24px;background:var(--orange);color:var(--orange-ink)!important;box-shadow:0 5px 0 var(--orange-d);text-decoration:none!important;cursor:pointer;line-height:1.2;transition:transform .08s}
.cm-btn:hover{background:#ff8f4d;border:0}
.cm-btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--orange-d)}
.cm-btn.ghost{background:#fff;color:var(--ink)!important;box-shadow:0 5px 0 var(--cream-line)}
.cm-btn.ghost:hover{background:#fffaf3}
.cm-btn.sm{padding:9px 18px;font-size:15px;box-shadow:0 4px 0 var(--orange-d)}
.cm-btn.ghost.sm{box-shadow:0 4px 0 var(--cream-line)}
/* en-tête */
.cm-hd{background:#fff;border-bottom:0;backdrop-filter:none}
.cm-hd-in{min-height:70px;gap:24px}
.cm-brand{font-family:var(--display);font-weight:400;font-size:30px;letter-spacing:0;color:var(--ink)!important}
.cm-brand span{color:var(--orange)}
.cm-nav a{font-weight:800;font-size:16px;color:var(--ink);padding:10px 16px;border-radius:999px}
.cm-nav a:hover,.cm-nav a[aria-current="page"]{background:var(--cream);color:var(--ink)}
.cm-search input[type=search]{border:2px solid var(--cream-line);background:var(--cream);width:190px}
.cm-search input[type=search]:focus{border-color:var(--orange);box-shadow:none}
.cm-lv{background:var(--cream);border:0;padding:4px}
.cm-lv a{font-weight:800;color:var(--ink)}
.cm-lv a[aria-current="true"]{background:var(--ink);color:#fff}
.cm-easy{background:#fff;border:2px solid var(--cream-line);color:var(--ink);font-weight:800}
.cm-easy:hover{border-color:var(--orange);color:var(--ink)}
.cm-easy[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.cm-announce{background:var(--gold);color:var(--gold-ink);font-weight:800;font-size:15px;padding:10px 0}
.cm-announce a{color:inherit}
/* accueil : bandeau */
.cm-hero{background:var(--teal);color:#fff;border:0;padding:64px 0 0;position:relative;overflow:hidden}
.cm-hero::before,.cm-hero::after{content:"";position:absolute;border-radius:50%;background:var(--teal-deco)}
.cm-hero::before{left:-80px;bottom:-120px;width:320px;height:320px}
.cm-hero::after{left:560px;top:-60px;width:160px;height:160px}
.cm-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:stretch}
.cm-hero-txt{display:flex;flex-direction:column;gap:24px;padding-bottom:64px;align-items:flex-start}
.cm-hero h1{font-size:64px;line-height:1.05;color:#fff;margin:0}
.cm-hero .nb{white-space:nowrap}
.cm-hero mark{background:var(--gold);color:var(--ink);padding:0 14px;border-radius:16px;display:inline-block;transform:rotate(-1.5deg)}
.cm-hero-txt p{font-size:20px;line-height:1.5;margin:0;max-width:34ch;font-weight:600;color:#fff}
.cm-hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.cm-hero .cm-resume a{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff}
.cm-hero .cm-resume small{color:#d8efec}
.cm-hero-panel{position:relative;z-index:1;align-self:end}
.hero-list{background:#fff;border-radius:32px 32px 0 0;padding:20px 20px 0;display:flex;flex-direction:column;gap:10px}
.hero-list .hero-row:last-child{margin-bottom:0;border-radius:18px 18px 0 0}
.hero-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:18px;color:var(--ink)!important;text-decoration:none!important;background:var(--s-l)}
.hero-row:hover{filter:brightness(.97)}
.hero-row .ico{width:40px;height:40px;border-radius:12px;background:var(--s);color:#fff;display:grid;place-items:center;flex:none}
.hero-row .ico svg{width:55%;height:55%}
.hero-row b{flex:1;font-size:16px;line-height:1.2}
.hero-row small{font-weight:700;font-size:13px;color:var(--ink2)}
.hero-owl{position:absolute;left:-90px;bottom:24px}
.owl{position:relative;width:110px;height:122px}
.owl .ear{position:absolute;top:0;border-left:17px solid transparent;border-right:17px solid transparent;border-bottom:32px solid var(--owl)}
.owl .ear.l{left:10px;transform:rotate(-18deg)}.owl .ear.r{right:10px;transform:rotate(18deg)}
.owl .body{position:absolute;left:0;top:12px;width:110px;height:110px;border-radius:50% 50% 46% 46%;background:var(--owl)}
.owl .belly{position:absolute;left:25px;bottom:5px;width:60px;height:52px;border-radius:50%;background:var(--owl-belly)}
.owl .eye{position:absolute;top:32px;width:40px;height:40px;border-radius:50%;background:#fff;border:4px solid var(--owl-rim);display:grid;place-items:center}
.owl .eye.l{left:12px}.owl .eye.r{left:58px}
.owl .eye i{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0 2px,#1a1238 2.5px);transform:translate(3px,2px)}
.owl .beak{position:absolute;left:48px;top:70px;width:14px;height:14px;background:#ff9f1c;transform:rotate(45deg);border-radius:3px 3px 8px 3px}
/* sections / cartes matières */
.cm-section{padding:56px 0 8px}
.cm-section .cm-wrap{display:flex;flex-direction:column;gap:28px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.section-head h2{font-size:40px;line-height:1.1}
.seg{display:flex;flex-wrap:wrap;justify-content:center;max-width:100%;background:#fff;border-radius:999px;padding:4px}
.seg a{font-weight:800;font-size:15px;padding:8px 18px;border-radius:999px;color:var(--ink)!important;text-decoration:none!important}
.seg a[aria-current="true"]{background:var(--ink);color:#fff!important}
.subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.subject-card{display:block;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 8px 0 var(--cream-line);text-decoration:none!important;color:var(--ink)!important;transition:transform .15s}
.subject-card:hover{transform:translateY(-4px)}
.subject-top{display:block;height:130px;position:relative;overflow:hidden;background:var(--s-l)}
.subject-top .blob1{position:absolute;right:-30px;top:-40px;width:150px;height:150px;border-radius:50%;opacity:.25;background:var(--s)}
.subject-top .blob2{position:absolute;left:30px;bottom:-30px;width:90px;height:90px;border-radius:50%;opacity:.18;background:var(--s)}
.subject-top .ico{position:absolute;left:28px;top:28px;width:76px;height:76px;border-radius:24px;transform:rotate(-6deg);box-shadow:0 6px 0 rgba(0,0,0,.15);background:var(--s);color:#fff;display:grid;place-items:center}
.subject-bottom{padding:20px 28px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.subject-bottom>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.subject-bottom b{display:block;font-family:var(--display);font-weight:400;font-size:26px;line-height:1.15}
.subject-bottom small{font-weight:700;font-size:14px;color:var(--ink-soft,var(--muted))}
.subject-bottom .cm-bar{height:8px;margin-top:10px;background:var(--cream-row)}
.subject-bottom .cm-bar i{background:var(--s)}
.subject-bottom .prog-t{margin-top:4px;font-size:13px}
.chev{width:44px;height:44px;border-radius:50%;background:var(--cream);display:grid;place-items:center;flex:none;color:var(--ink)}
.cm-bar{background:var(--cream-row)}
.cm-how b{background:var(--pink-bg);color:var(--pink-ink)}
.cm-how>div{background:#fff;border:0;border-radius:24px;box-shadow:0 6px 0 var(--cream-line)}
.cm-how h3{font-size:22px}
.cm-about{background:transparent;border:0;padding:0}
.cm-about h2{font-size:30px}
.cc-seo-links{padding-left:1.1em;columns:2 220px}
/* page matière */
.matiere{display:grid;grid-template-columns:270px minmax(0,1fr);gap:0;padding:0;max-width:1280px}
.sidebar{background:#fff;display:flex;flex-direction:column;gap:6px;padding:20px 14px 32px;border-radius:0 0 28px 0;align-self:start;position:sticky;top:70px}
.prog{margin-bottom:10px;background:var(--orange);color:var(--orange-ink);border-radius:20px;padding:16px 18px;box-shadow:0 5px 0 var(--orange-d)}
.prog small{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.prog b{display:block;font-family:var(--display);font-weight:400;font-size:28px;color:#fff;line-height:1}
.side-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;font-weight:700;font-size:16px;color:var(--ink)!important;text-decoration:none!important;line-height:1.25}
.side-item:hover{background:var(--cream)}
.side-item .ico{width:38px;height:38px;border-radius:12px;background:var(--s-l);color:var(--s);display:grid;place-items:center;flex:none}
.side-item .ico svg{width:55%;height:55%}
.side-item[aria-current="page"]{font-weight:800;background:var(--s-l)}
.side-item[aria-current="page"] .ico{background:var(--s);color:#fff}
.main{padding:28px 56px 56px;display:flex;flex-direction:column;gap:28px;min-width:0}
.crumbs{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--muted);flex-wrap:wrap}
.crumbs a{color:inherit!important;text-decoration:none}.crumbs a:hover{color:var(--ink)!important}
.crumbs .here{color:var(--ink)}
.subject-hero{display:flex;align-items:center;gap:20px;border-radius:32px;padding:28px 32px;position:relative;overflow:hidden;background:var(--s-l)}
.subject-hero .blob{position:absolute;right:-40px;top:-60px;width:220px;height:220px;border-radius:50%;opacity:.2;background:var(--s)}
.subject-hero .ico{width:84px;height:84px;border-radius:26px;transform:rotate(-6deg);box-shadow:0 6px 0 rgba(0,0,0,.15);background:var(--s);color:#fff;display:grid;place-items:center;flex:none;position:relative}
.subject-hero h1{font-size:46px;line-height:1;margin:0}
.subject-hero p{font-size:17px;line-height:1.5;margin:6px 0 0;max-width:62ch;font-weight:600;color:var(--ink)}
.sh-t{position:relative;min-width:0}
.cm-pbar{background:#fff;border-radius:20px;padding:16px 22px;box-shadow:0 5px 0 var(--cream-line)}
.cm-pbar p{margin:0 0 8px;font-size:15px;font-weight:700}
.cm-pbar b{font-family:var(--display);font-weight:400;font-size:22px;color:var(--s-d)}
.cm-pbar small{color:var(--muted);font-weight:600}
.cm-pbar .cm-bar{height:10px}.cm-pbar .cm-bar i{background:var(--green)}
.chapter{display:flex;flex-direction:column;gap:12px}
.chapter-head{display:flex;align-items:baseline;gap:12px}
.chapter-head small{font-weight:800;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.chapter-head h2{font-size:30px}
.lessons{background:#fff;border-radius:24px;box-shadow:0 6px 0 var(--cream-line);overflow:hidden}
.lesson{display:flex;align-items:center;gap:16px;padding:16px 24px;border-top:2px solid var(--cream-row);color:var(--ink)!important;text-decoration:none!important}
.lesson:first-child{border-top:0}
.lesson:hover{background:#fbf8f2}
.lesson .title{flex:1;min-width:0;font-weight:800;font-size:17px;line-height:1.3}
.lesson .title small{display:block;font-weight:600;font-size:13px;color:var(--muted)}
.status{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none}
.status.done{background:var(--green);color:#fff}
.status.current{background:var(--orange);color:#fff;box-shadow:0 0 0 5px #ffe1cc}
.status.new{border:3px solid #e6dccb}
.stars{font-size:18px;letter-spacing:2px;color:#e6dccb;white-space:nowrap}.stars b{color:var(--star);font-weight:400}
.todo{background:var(--orange);color:var(--orange-ink);font-weight:800;font-size:13px;padding:5px 12px;border-radius:999px;white-space:nowrap}
.chips{display:flex;gap:6px}
.chips span{background:var(--cream);font-weight:800;font-size:12px;padding:5px 10px;border-radius:999px}
.lesson .chev{width:auto;height:auto;background:none;color:var(--ink)}
/* page leçon */
.cm-lhead{background:transparent;border:0}
.cm-lhead .cm-wrap{padding-top:6px;padding-bottom:0}
.cm-lhead .cm-crumbs{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--muted);flex-wrap:wrap;padding:24px 0 6px}
.cm-lhead .cm-crumbs a{color:inherit!important;text-decoration:none}
.cm-lhead .cm-crumbs .here{color:var(--ink)}
.cm-steps{position:static;background:transparent;border:0}
.cm-steps-in{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;overflow:visible;padding:14px 40px 8px}
@media (max-width:700px){.cm-steps-in{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto;padding:12px 18px 6px}}
.cm-steps a{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;border-radius:22px;border:0;background:#fff;color:var(--ink);font-weight:800;font-size:18px;box-shadow:0 6px 0 var(--cream-line);text-align:center}
.cm-steps a:hover{background:#fffaf3}
.cm-steps a.on{background:var(--pink);color:#fff;box-shadow:0 6px 0 var(--pink-d);border:0}
.cm-steps a em{background:var(--cream);color:var(--ink);font-size:13px}
.cm-steps a.on em{background:rgba(255,255,255,.28);color:#fff}
.cm-steps a.done em{background:var(--green-bg);color:var(--green-ink)}
.cm-lay{grid-template-columns:250px minmax(0,1fr);gap:28px;padding-top:20px}
@media (max-width:980px){.cm-lay{grid-template-columns:minmax(0,1fr)}}
.cm-toc{order:-1;top:20px;padding-top:12px}
.cm-toc h2{font-family:var(--font);font-weight:800;font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink);margin-bottom:8px}
.cm-toc ol{border:0;display:flex;flex-direction:column;gap:4px}
.cm-toc a{border-left:4px solid var(--cream-line);padding:10px 14px;margin:0;font-weight:700;font-size:15px;color:var(--ink)}
.cm-toc a:hover{background:#fffaf3;color:var(--ink)}
.cm-toc a.on{border-left-color:var(--pink);background:#fff;border-radius:0 12px 12px 0;font-weight:800;color:var(--pink-d)}
.cm-prog{margin-top:22px;border:0;border-radius:20px;box-shadow:0 5px 0 var(--cream-line)}
.cm-prog .cm-bar i{background:var(--pink)}
.cm-panel{background:#fff;border:0;border-radius:32px;padding:44px 56px 48px;margin-bottom:24px;position:relative}
.cm-panel.sheet{padding-right:96px}
@media (max-width:1000px){.cm-panel,.cm-panel.sheet{padding:32px 24px}}
.cm-panel>h2.cm-ph{font-size:30px;border:0;padding:0;margin-bottom:18px}
.cm-ph .n{background:#fff;border:4px solid var(--pink);color:var(--pink-d);border-radius:50%;width:48px;height:48px;font-family:var(--display);font-size:22px}
.tools{position:absolute;right:24px;top:24px;display:flex;flex-direction:column;gap:10px}
.tools button,.tools a.tool{width:52px;height:52px;border-radius:50%;border:0;background:var(--cream);color:var(--ink)!important;display:grid;place-items:center;cursor:pointer;text-decoration:none}
@media (max-width:1000px){.tools{position:static;flex-direction:row;margin-bottom:14px}}
.pill{display:inline-block;align-self:flex-start;background:var(--pink-bg);color:var(--pink-ink);font-weight:800;font-size:13px;padding:5px 12px;border-radius:999px;margin-right:6px}
.pill.ok{background:var(--green-bg);color:var(--green-ink)}
.cm-panel h1{font-size:48px;line-height:1.05;margin:12px 0 18px}
@media (max-width:700px){.cm-panel h1{font-size:34px}.section-head h2{font-size:32px}.cm-hero h1{font-size:44px}}
.lesson-blocks{font-size:18px;line-height:1.7;font-weight:600}
.lesson-blocks>*{max-width:62ch}
.lesson-blocks>.at-game,.lesson-blocks>figure,.lesson-blocks>.cc-anim,.lesson-blocks>.lesson-block-image{max-width:none}
:is(h2,h3).lesson-block-title{counter-increment:part;display:flex;align-items:center;gap:14px;border:0;padding:0;margin:34px 0 14px;font-size:30px;color:var(--ink);line-height:1.1}
:is(h2,h3).lesson-block-title::before{content:counter(part);flex:none;width:48px;height:48px;border-radius:50%;border:4px solid var(--pink);display:grid;place-items:center;font-size:22px;color:var(--pink-d)}
.lesson-blocks{counter-reset:part}
.lesson-block-list li{background:var(--cream);border:0;border-radius:14px}
.lesson-block-list li::before{background:var(--pink-bg);border-color:var(--pink)}
.lesson-block-tip{background:#fff7d6;border:0;border-radius:22px;padding:20px 24px}
.lesson-block-tip strong{color:#8a5a00;font-family:var(--font);font-weight:800;font-size:14px}
.lesson-block-example{background:var(--blue-bg);border:0;border-radius:22px;padding:20px 24px}
.lesson-block-example strong{color:var(--blue-ink)}
.lesson-block-image img,.at-figure img{border:3px solid var(--cream-row);border-radius:22px}
.cm-pager a,.cm-rel a{border:0;border-radius:20px;box-shadow:0 5px 0 var(--cream-line)}
.cm-pager a:hover,.cm-rel a:hover{background:#fffaf3}
.cm-tag{background:var(--pink-bg)!important;color:var(--pink-ink)}
/* quiz */
.cm-quiz-intro{background:var(--cream);border-radius:22px}
.cm-quiz-intro b{color:var(--pink-d)}
.cm-q-top .cm-bar{height:14px}.cm-q-top .cm-bar i{background:var(--pink)}
.cm-q-card{border:0;padding:6px 0}
.cm-q-text{font-family:var(--display);font-weight:400;font-size:34px;line-height:1.15}
.cm-a{border:3px solid var(--cream-line);border-radius:20px;padding:16px 20px;font-size:20px;font-weight:800;box-shadow:0 5px 0 var(--cream-line)}
.cm-a:hover:not(:disabled){border-color:var(--pink);background:#fff}
.cm-a .k{width:38px;height:38px;border-radius:12px;background:var(--cream);border:0;font-size:16px;color:var(--ink)}
.cm-a.right{border-color:var(--green);background:var(--green-bg);box-shadow:0 5px 0 var(--green)}
.cm-a.right .k{background:var(--green);color:#fff}
.cm-a.wrong{border-color:var(--pink);background:#ffe3ec;box-shadow:0 5px 0 var(--pink)}
.cm-a.wrong .k{background:var(--pink);color:#fff}
.cm-fb{border-radius:22px;padding:18px 22px;font-weight:800;font-size:17px}
.cm-fb.good{background:var(--green-bg);color:var(--green-ink)}
.cm-fb.bad{background:#ffe3ec;color:var(--pink-ink)}
.cm-result{border:0;background:var(--cream);border-radius:28px}
/* pied, divers */
.cm-ft{background:#fff;border-top:0;margin-top:56px}
.cm-ft-brand{font-family:var(--display);font-weight:400;font-size:26px}
.cm-ft-brand span{color:var(--orange)}
.cm-page,.cm-sp{font-size:17px}
.cm-empty{background:#fff;border:0;border-radius:20px}
/* responsive maquette */
@media (max-width:1000px){
  .cm-hero{padding-top:40px}
  .cm-hero-in{grid-template-columns:minmax(0,1fr)}
  .cm-hero-txt{padding-bottom:30px}
  .hero-owl{display:none}
  .cm-hero::after{display:none}
  .cm-hero-panel{max-width:460px;width:100%}
  .cm-section{padding-top:40px}
  .subjects{grid-template-columns:repeat(2,minmax(0,1fr))}
  .matiere{grid-template-columns:minmax(0,1fr)}
  .sidebar{position:static;flex-direction:row;flex-wrap:wrap;border-radius:0 0 24px 24px;padding:14px 18px;gap:6px;align-self:stretch}
  .sidebar .prog{display:none}
  .side-item{padding:6px 10px}
  .side-item .ico{width:30px;height:30px}
  .main{padding:20px 18px 40px}
  .chips{display:none}
  .subject-hero{flex-wrap:wrap}
  .subject-hero h1{font-size:34px}
}
@media (max-width:600px){.subjects{grid-template-columns:minmax(0,1fr)}.lesson{padding:14px 16px;gap:12px}.stars{display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{.cm-hd,.cm-announce,.cm-steps,.cm-toc,.tools,.cm-ft,.sidebar{display:none!important}.cm-panel{box-shadow:none;padding:0}body.cm{background:#fff}}
.cm-hero-panel{background:none;border:0;border-radius:0;padding:0}
.cm-brand{gap:0}
.cm-hero-txt{justify-content:center}
/* ===== onglets Cours / Exercices (maquette) ===== */
.cm-steps-in{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-columns:none}
@media (max-width:700px){.cm-steps-in{grid-auto-flow:column;grid-template-columns:none}}
.cm-steps .tab{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;border-radius:22px;border:0;background:#fff;color:var(--ink);font:800 18px var(--font);box-shadow:0 6px 0 var(--cream-line);cursor:pointer}
.cm-steps .tab:hover{background:#fffaf3}
.cm-steps .tab svg{stroke:var(--pink)}
.cm-steps .tab.on{background:var(--pink);color:#fff;box-shadow:0 6px 0 var(--pink-d)}
.cm-steps .tab.on svg{stroke:currentColor}
.cm-steps .tab em{font-style:normal;font-size:13px;background:var(--cream);color:var(--ink);padding:1px 9px;border-radius:99px}
.cm-steps .tab em:empty{display:none}
.cm-steps .tab.on em{background:rgba(255,255,255,.28);color:#fff}
.cm-steps .tab.done em{background:var(--green-bg);color:var(--green-ink)}
.cm-lay.ex-mode{grid-template-columns:minmax(0,1fr)}
.cm-lay.ex-mode .cm-toc{display:none}
#panel-ex .cm-panel{padding:36px 40px}
.cm-ex-list{display:flex;flex-direction:column;gap:22px}
.ex-title{font-size:26px;margin:10px 0 0}
.cm-go{margin:28px 0 0}
.cm-go .btn{align-self:flex-start}
.cm-tail{padding-top:6px}
.tip{margin-top:24px;background:#fff;border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 5px 0 var(--cream-line)}
.tip small{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--owl)}
.tip span{font-weight:700;font-size:15px;line-height:1.4}
.cm-toc a[aria-current="true"]{border-left-color:var(--pink);background:#fff;border-radius:0 12px 12px 0;font-weight:800;color:var(--pink-d)}
.cm-toc a.on{border-left-color:var(--cream-line);background:none;font-weight:700;color:var(--ink);border-radius:0}
.cm-toc a[aria-current="true"].on{border-left-color:var(--pink)}
.btn-green{background:var(--green);color:#fff!important;box-shadow:0 5px 0 var(--green-d);padding:14px 22px;font-size:16px}
.btn-pink{background:var(--pink);color:#fff!important;box-shadow:0 5px 0 var(--pink-d);padding:14px 22px;font-size:16px}
.cm-fb{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cm-fb>span{flex:1;min-width:200px}
.cm-fb .btn{flex:none}
.kicker{display:block;font-weight:800;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.cm-q-top{font-weight:800}
.cm-q-card{padding:10px 0 0}
.cm-q-card .cm-q-next{margin:0}
.cm-q-text{margin-bottom:18px}
/* tableaux de leçon (modèle de la maquette) */
.conj-t{margin:6px 0 20px;max-width:640px}
.conj-t table{width:100%;border-collapse:separate;border-spacing:0;font-size:17px;font-weight:600;background:#fff}
.conj-t caption{caption-side:top;text-align:left;background:var(--cream);padding:12px 18px;font-weight:800;font-size:16px;border-radius:22px 22px 0 0;border:3px solid var(--cream-row);border-bottom:0}
.conj-t table{border:0}
.conj-t thead th{background:var(--cream);text-align:left;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 18px;border-left:3px solid var(--cream-row);border-right:3px solid var(--cream-row)}
.conj-t tbody th,.conj-t tbody td{padding:5px 18px;text-align:left;border-left:3px solid var(--cream-row);border-right:3px solid var(--cream-row);line-height:1.4;vertical-align:top}
.conj-t tbody th{font-weight:600;width:34%;color:var(--ink)}
.conj-t tbody tr:first-child>*{padding-top:14px}
.conj-t tbody tr:last-child>*{padding-bottom:14px;border-bottom:3px solid var(--cream-row)}
.conj-t tbody tr:last-child>*:first-child{border-bottom-left-radius:22px}
.conj-t tbody tr:last-child>*:last-child{border-bottom-right-radius:22px}
.conj-t.cols2 tbody th{font-weight:800}
.conj-t:not(.cols2) tbody .c2{font-weight:800;color:var(--blue-ink)}
.conj-t:not(.cols2) tbody .c3{font-weight:800;color:var(--green-ink)}
.conj-t.cols2 tbody .c2{font-weight:600}
@media (max-width:560px){.conj-t table{font-size:16px}.conj-t tbody th,.conj-t tbody td{padding:5px 12px}}
.lesson-blocks .conj-t table{display:table;overflow:visible;margin:0;width:100%}
.lesson-blocks .conj-t th,.lesson-blocks .conj-t td{border:0}
.conj-t thead th{background:var(--cream);border-left:3px solid var(--cream-row);border-right:0;border-bottom:0;padding:4px 18px 10px;font-size:13px}
.conj-t thead th:first-child{border-left:3px solid var(--cream-row)}
.conj-t thead th:last-child{border-right:3px solid var(--cream-row)}
.conj-t thead th:not(:first-child){border-left:0}
.conj-t caption+thead th,.conj-t caption~thead th{padding-top:0}
.conj-t tbody th,.conj-t tbody td{border-left:0;border-right:0}
.conj-t tbody tr>*:first-child{border-left:3px solid var(--cream-row)}
.conj-t tbody tr>*:last-child{border-right:3px solid var(--cream-row)}
.conj-t tbody tr:last-child>*{border-bottom:3px solid var(--cream-row)}
.conj-t caption{padding-bottom:6px}
:is(h2,h3).lesson-block-title{overflow-wrap:anywhere;min-width:0}
@media (max-width:560px){:is(h2,h3).lesson-block-title{font-size:24px;gap:10px}:is(h2,h3).lesson-block-title::before{width:40px;height:40px;font-size:19px}}
.conj-t{max-width:min(640px,100%)}
.conj-t th,.conj-t td,.conj-t caption{overflow-wrap:anywhere;word-break:normal}
@media (max-width:560px){.conj-t table{font-size:15px}.conj-t tbody th,.conj-t tbody td,.conj-t thead th{padding-left:10px;padding-right:10px}.conj-t caption{padding-left:12px;padding-right:12px}.conj-t tbody th{width:auto}.conj-t thead th{font-size:11px;letter-spacing:0}}
/* page matière : maquette (barre latérale pleine hauteur, chapitres) */
@media (min-width:1001px){.cm-subjpage .cm-hd,.cm-subjpage .cm-skip+.cm-hd{display:none}}
.matiere{max-width:none;width:100%;grid-template-columns:300px minmax(0,1fr)}
.sidebar{border-radius:0;top:0;min-height:100vh;align-self:stretch;position:static;padding:22px 16px 32px;gap:6px}
@media (min-width:1001px){.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;align-self:start}}
.side-logo{font-family:var(--display);font-size:32px;line-height:1;padding:0 10px 18px;color:var(--ink)!important;text-decoration:none!important}
.side-logo span{color:var(--orange)}
.prog .prog-n{display:block;margin-top:8px;font-size:13px;font-weight:700;color:var(--orange-ink)}
.prog .prog-n b{display:inline;font-family:var(--font);font-size:13px;font-weight:800;color:var(--orange-ink);line-height:inherit}
.side-more{margin-top:auto;padding-top:22px;display:flex;flex-direction:column;gap:2px;border-top:2px solid var(--cream-row);margin-top:22px}
.side-more a{padding:8px 12px;border-radius:12px;font-weight:700;font-size:15px;color:var(--ink)!important;text-decoration:none!important}
.side-more a:hover{background:var(--cream)}
.side-lv{display:inline-flex;background:var(--cream);border-radius:999px;padding:4px;margin:10px 0 0 6px;align-self:flex-start}
.side-lv a{padding:5px 14px;font-weight:800;font-size:14px;border-radius:999px}
.side-lv a[aria-current="true"]{background:var(--ink);color:#fff!important}
.main{max-width:1180px;padding:28px 56px 56px}
.crumbs{gap:8px}.crumbs svg{flex:none}
.chapter-head{align-items:baseline;gap:14px}
.chapter-head h2{font-size:32px;line-height:1.1}
.lesson .title{font-size:17px;font-weight:800}
.chips span{font-size:12px}
@media (max-width:1000px){
  .matiere{grid-template-columns:minmax(0,1fr)}
  .sidebar{min-height:0;height:auto;padding:14px 18px;flex-direction:row;flex-wrap:wrap}
  .side-logo,.side-more,.sidebar .prog{display:none}
}
.chapter-head{flex-wrap:wrap;row-gap:0}
.chapter-head h2{min-width:0;overflow-wrap:anywhere}
@media (max-width:560px){.chapter-head h2{font-size:26px}}
@media (max-width:1000px){.main{padding:16px 18px 40px}.matiere .sidebar{display:none}.subject-hero{padding:22px 20px}}
/* v5 : 5 niveaux dans l'en-tête */
.cm-nav a{white-space:nowrap}
.cm-lv a{padding-left:11px;padding-right:11px}
@media (max-width:1300px){.cm-nav a{padding:8px 9px;font-size:15px}.cm-lv a{padding-left:9px;padding-right:9px}}

@media(max-width:480px){.seg a{font-size:14px;padding:7px 11px}}

/* En-tête : rien ne se chevauche (5 niveaux + Entraînement) */
.cm-lv{flex:0 0 auto}
.cm-nav{flex:0 1 auto;min-width:0}
.cm-menu{flex-wrap:wrap;row-gap:8px}
@media (min-width:901px){
  .cm-easy-t{display:none}
  .cm-nav a{padding:8px 8px;font-size:15px}
  .cm-hd-in{gap:16px}.cm-menu{gap:10px}
  .cm-search{flex:0 0 44px;width:44px;height:40px}
  .cm-search input[type=search]{position:absolute;right:0;top:0;width:44px;height:40px;box-sizing:border-box;padding:0 0 0 34px;color:transparent;cursor:pointer;transition:width .18s}
  .cm-search input[type=search]::placeholder{color:transparent}
  .cm-search input[type=search]:focus{width:230px;color:var(--ink);cursor:text;z-index:6;background:#fff;padding:0 12px 0 34px}
  .cm-search input[type=search]:focus::placeholder{color:var(--muted)}
  .cm-search svg{left:13px;z-index:7}
}
