/* Fichier généré par outils/build-assets.php – ne pas modifier directement. Sources : assistant.css, v2-global.css, pop.css */

/* ---- assistant.css ---- */
/* CapClasse Assistant — lot 1, sans IA, sans traceur */
.cc-chat-launch{position:fixed;right:20px;bottom:20px;z-index:900;background:#6748bc;color:#fff;border:0;border-radius:40px;padding:14px 19px;font:700 15px system-ui;box-shadow:0 7px 25px #32225c44;cursor:pointer}
.cc-chat{position:fixed;right:20px;bottom:80px;z-index:901;width:min(370px,calc(100vw - 28px));height:min(520px,calc(100dvh - 105px));background:#fff;border:1px solid #e8e1f7;border-radius:20px;box-shadow:0 12px 45px #30244d33;display:flex;flex-direction:column;overflow:hidden;font:15px/1.5 system-ui;color:#2e2543}
.cc-chat[hidden],.cc-chat-launch[hidden]{display:none!important}
.cc-chat-top{background:#f1eafe;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.cc-chat-top strong{font-size:17px}.cc-chat-top button{border:0;background:transparent;font-size:24px;cursor:pointer;color:#332351}
.cc-chat-log{flex:1;overflow:auto;padding:15px;display:flex;flex-direction:column;gap:10px}
.cc-chat-msg{max-width:90%;padding:10px 12px;border-radius:15px;background:#f1eef8;overflow-wrap:anywhere}
.cc-chat-msg.user{align-self:flex-end;background:#6748bc;color:#fff}.cc-chat-msg a{color:#4c299c;font-weight:700;text-decoration:underline}
.cc-chat-actions{display:flex;gap:7px;flex-wrap:wrap;padding:8px 12px}
.cc-chat-actions button{border:1px solid #cdbbeb;background:#faf8ff;color:#4c299c;border-radius:20px;padding:6px 10px;cursor:pointer}
.cc-chat-form{display:flex;gap:7px;border-top:1px solid #e8e1f7;padding:12px}
.cc-chat-form input{min-width:0;flex:1;border:1px solid #bca9db;border-radius:12px;padding:10px;font:inherit}
.cc-chat-form button{background:#6748bc;color:white;border:0;border-radius:12px;padding:9px 12px;font:700 14px system-ui;cursor:pointer}
.cc-chat-small{padding:0 12px 10px;margin:0;font-size:11px;color:#695f7a}
@media(max-width:500px){.cc-chat{right:14px;bottom:74px}.cc-chat-launch{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.cc-chat *{scroll-behavior:auto!important}}

/* ---- v2-global.css ---- */
/* CapClasse V2 - améliorations progressives sans bibliothèques externes */
:root{--cc-violet:#6750b8;--cc-pastel:#f4f0ff}html{scroll-behavior:smooth}body{accent-color:var(--cc-violet)}:focus-visible{outline:3px solid #7b4dd3!important;outline-offset:3px} .cc-v2-a11y-link{display:inline-flex;align-items:center;color:#5e429a;text-decoration:underline;font-weight:700;margin:0 8px} .cc-v2-shell{max-width:1050px;margin:0 auto;padding:35px 20px 70px}.cc-v2-hero{background:linear-gradient(130deg,#f1ebff,#eefbff);border-radius:28px;padding:32px;margin-bottom:24px}.cc-v2-hero h1{font-size:clamp(1.7rem,4vw,2.7rem);color:#39266d}.cc-v2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.cc-v2-card{border:1px solid #e7e1f5;border-radius:20px;padding:20px;background:white;box-shadow:0 8px 24px #39266d0d}.cc-v2-card h2{font-size:1.2rem;color:#49348b}.cc-v2-btn{background:#6548a9;color:white;border:0;border-radius:12px;padding:12px 17px;font:inherit;font-weight:700;cursor:pointer;display:inline-block;text-decoration:none}.cc-v2-btn.secondary{background:#ede7ff;color:#39266d}.cc-v2-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}.cc-v2-row label{font-weight:600}.cc-v2-row select,.cc-v2-row input{font:inherit;padding:9px;border:1px solid #a89cc5;border-radius:10px;max-width:100%}.cc-v2-note{background:#f6f2ff;padding:15px;border-left:4px solid #7b57c3;border-radius:10px}.cc-v2-status{min-height:1.5em}.cc-v2-table{width:100%;border-collapse:collapse}.cc-v2-table th,.cc-v2-table td{border-bottom:1px solid #e7e1f5;padding:12px;text-align:left}html.cc-v2-dys body{font-family:Verdana,Arial,sans-serif!important;letter-spacing:.045em;word-spacing:.14em;line-height:1.9}html.cc-v2-focus .cm-announce,html.cc-v2-focus .cm-hero-panel,html.cc-v2-focus .owl,html.cc-v2-focus .cm-ft{display:none!important}html.cc-v2-contrast body{background:#fff!important;color:#111!important}html.cc-v2-contrast a{text-decoration:underline!important}html.cc-v2-large body{font-size:120%!important}html.cc-v2-reduce *,html.cc-v2-reduce *::before,html.cc-v2-reduce *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media print{.cm-hd,.cm-ft,.cc-v2-actions,.cc-v2-a11y-link,#cc-assistant-toggle{display:none!important}.cc-v2-card{break-inside:avoid;box-shadow:none}.cc-v2-shell{padding:0}}@media(max-width:700px){.cc-v2-hero{padding:22px}.cc-v2-a11y-link{padding:8px}}

/* ---- pop.css ---- */
/* CapClasse — thème « atelier violet » (inspiré du design Manus). Chargé en dernier. */
:root{
  --brand:#901ce0;--brand-d:#6b12ab;--brand-l:#f1e4fb;--hero:#961dde;--yellow:#ffce1b;--on-y:#2a1646;
  --ink:#241338;--ink2:#3b2c52;--muted:#6c6280;--line:#ebe6f1;--line2:#d9d0e4;--bg:#fff;--soft:#f8f5fc;
  --orange:#901ce0;--orange-d:#6b12ab;--orange-ink:#fff;--pink:#901ce0;--pink-d:#6b12ab;
  --cream:#f6f1fb;--cream-line:#e7def2;--cream-row:#f0eaf7;
  --display:Nunito,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--pop-r:18px;--pop-sh:0 1px 2px rgba(42,22,70,.05),0 8px 24px rgba(42,22,70,.06);
}
body,body.cm{background:#fff;color:var(--ink);font-family:Nunito,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
html{scroll-padding-top:110px}
.pop-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}
.cm-btn{background:var(--brand);border-color:var(--brand)}.cm-btn:hover{background:var(--brand-d);border-color:var(--brand-d)}
.cm-btn.ghost{background:#fff;color:var(--brand-d)!important}
:where(body.cm) a{color:var(--brand)}
/* ---------- en-tête ---------- */
.pop-hd{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.pop-hd .pop-wrap{max-width:1320px}
.pop-hd-in{display:flex;align-items:center;gap:16px;min-height:64px}
.pop-brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none!important;color:var(--on-y)!important;flex:none}
.pop-word{font-weight:900;font-size:23px;letter-spacing:-.02em;color:var(--on-y)}.pop-word i{font-style:normal;color:var(--brand)}
.pop-menu{display:flex;flex:1;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.pop-nav{display:flex;gap:0;flex-wrap:nowrap}
.pop-nav a{padding:8px 9px;border-radius:10px;font-weight:700;font-size:14.5px;color:var(--ink)!important;text-decoration:none!important;white-space:nowrap}
.pop-nav a:hover,.pop-nav a[aria-current="page"]{background:var(--brand-l);color:var(--brand-d)!important}
.pop-actions{display:flex;align-items:center;gap:10px;flex:none}
.pop-search{position:relative;display:flex;align-items:center}
.pop-search svg{position:absolute;left:11px;color:var(--ink);pointer-events:none}
.pop-search input[type=search]{width:42px;height:42px;padding:0 0 0 38px;border:1px solid transparent;border-radius:999px;background:transparent;font:600 15px inherit;color:var(--ink);cursor:pointer;transition:width .2s,border-color .2s}
.pop-search input[type=search]:focus{width:210px;border-color:var(--brand);background:#fff;outline:none;cursor:text;box-shadow:0 0 0 3px rgba(144,28,224,.15)}
.pop-lv{display:inline-flex;gap:3px;padding:3px;background:#f3eef8;border-radius:999px}
.pop-lv a,.cm-lv a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:6px 10px;border-radius:999px;font-weight:800;font-size:13px;color:var(--muted)!important;text-decoration:none!important;line-height:1.2;border:0;background:transparent}
.pop-lv a[aria-current="true"]{background:var(--brand);color:#fff!important}
.pop-lv a:not([aria-current="true"]):hover{color:var(--brand-d)!important}
.pop-easy{width:38px;height:38px;border-radius:50%;border:1px solid var(--line2);background:#fff;font:800 14px inherit;color:var(--ink);cursor:pointer}
.pop-easy[aria-pressed="true"]{background:var(--brand-l);border-color:var(--brand);color:var(--brand-d)}
.pop-cta{display:inline-flex;align-items:center;padding:11px 20px;border-radius:12px;background:var(--brand);color:#fff!important;font-weight:800;font-size:15px;text-decoration:none!important;white-space:nowrap;box-shadow:0 3px 0 var(--brand-d)}
.pop-cta:hover{background:var(--brand-d)}
.pop-burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line2);border-radius:12px;background:#fff;cursor:pointer;position:relative}
.pop-burger .cm-burger-i,.pop-burger .cm-burger-i::before,.pop-burger .cm-burger-i::after{display:block;position:absolute;left:12px;width:18px;height:2.5px;border-radius:2px;background:var(--ink);content:""}
.pop-burger .cm-burger-i{top:20px}.pop-burger .cm-burger-i::before{left:0;top:-6px}.pop-burger .cm-burger-i::after{left:0;top:6px}
.pop-announce{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;min-height:41px;padding:6px 16px;background:var(--yellow);color:var(--on-y);font-weight:700;font-size:14px;text-align:center}
.pop-announce span{display:inline-flex;align-items:center;gap:7px}
.pop-announce a{color:var(--on-y)!important;font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media (max-width:1239px){
  .pop-burger{display:block}
  .pop-hd-in{min-height:60px}
  .pop-menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:14px;padding:16px 20px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(42,22,70,.12);max-height:calc(100vh - 70px);overflow:auto}
  .pop-menu.open{display:flex}
  .pop-nav{flex-direction:column}.pop-nav a{padding:12px;font-size:17px}
  .pop-actions{flex-wrap:wrap;gap:10px}
  .pop-search{flex:1 1 100%}
  .pop-search input[type=search],.pop-search input[type=search]:focus{width:100%;border-color:var(--line2);background:#fff;cursor:text}
  .pop-cta{flex:1;justify-content:center}
}
@media (max-width:520px){.pop-wrap{padding:0 16px}.pop-announce{font-size:13px;gap:4px 12px}}
/* ---------- boutons communs ---------- */
.pop-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:14px;font-weight:800;font-size:16px;text-decoration:none!important;line-height:1.2;border:2px solid transparent}
.pop-btn-white{background:#fff;color:var(--brand-d)!important;box-shadow:0 4px 0 rgba(0,0,0,.18)}
.pop-btn-white:hover{transform:translateY(-1px)}
.pop-btn-ghost{background:transparent;color:#fff!important;border-color:#fff}
.pop-btn-ghost:hover{background:rgba(255,255,255,.14)}
.pop-link-w{color:#fff!important;font-weight:800;text-decoration:underline!important;text-underline-offset:4px}
.pop-textlink{color:var(--on-y)!important;font-weight:800;text-decoration:none!important;display:inline-flex;gap:6px;align-items:center}
.pop-textlink:hover{color:var(--brand)!important}
.pop-eyebrow{font-weight:800;font-size:12.5px;letter-spacing:.1em;color:var(--brand);margin-bottom:8px}
.pop-eyebrow.w{color:#fff;opacity:.9}
.pop-section{padding:64px 0}
.pop-section h2{font-size:clamp(26px,3.4vw,36px);line-height:1.15;font-weight:900;letter-spacing:-.02em;margin:0 0 8px;color:var(--on-y);text-wrap:balance}
.pop-section p{color:var(--muted);font-size:16.5px;line-height:1.6;margin:0}
.pop-center{text-align:center;margin-bottom:34px}
mark{background:var(--yellow);color:var(--on-y);padding:0 .18em;border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* ---------- hero ---------- */
.pop-hero{position:relative;overflow:hidden;background:var(--hero);color:#fff;padding:72px 0 80px}
.pop-shape{position:absolute;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.pop-shape.s1{width:420px;height:70px;border-radius:40px;left:-80px;top:70px;transform:rotate(-35deg)}
.pop-shape.s2{width:300px;height:300px;left:-90px;bottom:-170px}
.pop-shape.s3{width:380px;height:380px;right:-140px;top:-190px}
.pop-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center}
.pop-trust{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.12);font-weight:700;font-size:14px;margin-bottom:22px}
.pop-trust svg{color:var(--yellow)}
.pop-hero h1{font-size:clamp(34px,5vw,54px);line-height:1.1;font-weight:900;letter-spacing:-.03em;margin:0 0 18px;color:#fff;text-wrap:balance}
.pop-hero p{color:rgba(255,255,255,.92);font-size:18px;line-height:1.6;max-width:36em;margin:0 0 26px}
.pop-hero p strong{color:#fff}
.pop-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.pop-proof{display:flex;gap:20px;list-style:none;margin:24px 0 0;padding:0;font-size:14.5px;font-weight:700;color:rgba(255,255,255,.88);flex-wrap:wrap}
.pop-proof li::before{content:"✓";margin-right:7px;color:var(--yellow);font-weight:900}
.pop-hero .cm-resume{margin-top:18px}
.pop-hero .cm-resume a{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);color:#fff}
.pop-hero .cm-resume small{color:rgba(255,255,255,.85)}
.pop-preview{position:relative;justify-self:center;width:100%;max-width:390px;padding:34px 0 40px}
.pop-pcard{background:#fff;color:var(--ink);border-radius:22px;padding:20px 22px 18px;transform:rotate(3deg);box-shadow:0 24px 50px rgba(30,5,60,.35)}
.pop-pcard-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}
.pop-plogo{display:inline-flex;align-items:center;gap:6px;font-weight:900;font-size:14px;color:var(--on-y)}
.pop-plevel{font-size:12px;font-weight:800;color:var(--brand-d);background:var(--brand-l);padding:4px 10px;border-radius:999px}
.pop-pk{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--brand);margin-bottom:6px}
.pop-pcard h2{font-size:23px;line-height:1.2;font-weight:900;margin:0 0 6px;color:var(--on-y)}
.pop-pcard p{color:var(--muted);font-size:14px;margin:0 0 14px;line-height:1.45}
.pop-pvis{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--brand-l);border-radius:14px;padding:14px;margin-bottom:14px;min-height:78px;color:var(--brand)}
.pop-bar{display:flex;gap:3px;flex:1;height:44px}.pop-bar i{flex:1;border:2px solid var(--brand);border-radius:4px;background:#fff}.pop-bar i.f{background:var(--brand)}
.pop-fr{display:inline-flex;flex-direction:column;align-items:center;font-weight:900;font-size:26px;line-height:1;color:var(--brand)}.pop-fr i{display:block;width:30px;height:3px;background:var(--brand);margin:3px 0}.pop-fr b{font-weight:900}
.pop-pq b{display:block;font-size:13.5px;margin-bottom:8px;color:var(--on-y)}
.pop-pq>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pop-pq button{padding:10px 4px;border:1.5px solid var(--line2);border-radius:10px;background:#fff;font:800 15px inherit;color:var(--ink);cursor:pointer}
.pop-pq button:hover:not(:disabled){border-color:var(--brand);background:var(--brand-l)}
.pop-pq button.ok{background:#e3f6ee;border-color:#157f55;color:#0d5a3b}
.pop-pq button.no{background:#fdebee;border-color:#c2344a;color:#8e1f31}
.pop-pans{font-size:12.5px!important;margin:8px 0 0!important;min-height:2.6em;color:var(--muted)}
.pop-pnext{display:flex;justify-content:space-between;margin-top:6px;padding-top:12px;border-top:1px solid var(--line);font-weight:800;font-size:14px;color:var(--brand)!important;text-decoration:none!important}
.pop-pfloat{position:absolute;left:-26px;bottom:0;display:flex;align-items:center;gap:10px;background:var(--yellow);color:var(--on-y);padding:12px 16px;border-radius:14px;transform:rotate(-4deg);box-shadow:0 14px 28px rgba(30,5,60,.3);max-width:290px}
.pop-pfloat>span{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;color:var(--brand)}
.pop-pfloat b{display:block;font-size:14px;line-height:1.2}.pop-pfloat small{font-size:12.5px;font-weight:600}
.pop-pcap{position:absolute;right:-6px;top:-6px;font-family:"Patrick Hand",Kalam,"Segoe Print",cursive;font-size:19px;color:var(--yellow);transform:rotate(-5deg);white-space:nowrap}
@media (max-width:900px){
  .pop-hero{padding:44px 0 56px}
  .pop-hero-in{grid-template-columns:minmax(0,1fr);gap:28px}
  .pop-preview{max-width:360px;padding-top:30px}
  .pop-pfloat{left:-6px}
  .pop-pcap{right:4px}
}
/* ---------- ruban matières ---------- */
.pop-ribbon{background:#f7f5f1;border-bottom:1px solid #ece7de}
.pop-ribbon .pop-wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:10px;padding-bottom:10px}
.pop-ribbon .pop-wrap::-webkit-scrollbar{display:none}
.pop-ribbon a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-weight:700;font-size:14.5px;color:var(--ink)!important;text-decoration:none!important;white-space:nowrap;flex:none}
.pop-ribbon a span{color:var(--s);display:inline-flex}
.pop-ribbon a:hover{background:#fff;box-shadow:var(--pop-sh)}
/* ---------- outils ---------- */
.pop-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pop-tool{display:flex;flex-direction:column;gap:10px;padding:26px;border:1px solid var(--line);border-radius:var(--pop-r);background:#fff;text-decoration:none!important;color:var(--ink)!important;box-shadow:var(--pop-sh);transition:transform .15s,box-shadow .15s}
.pop-tool:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(42,22,70,.12)}
.pop-tool-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:10px}
.pop-tool.violet .pop-tool-ico{background:#efe2fb;color:var(--brand)}
.pop-tool.yellow .pop-tool-ico{background:#fff1bd;color:#8a6200}
.pop-tool.coral .pop-tool-ico{background:#ffe3dc;color:#c2412c}
.pop-tool h3{font-size:20px;font-weight:900;margin:0;color:var(--on-y)}
.pop-tool p{font-size:15px;flex:1}
.pop-tool-cta{font-weight:800;font-size:15px;color:var(--brand);margin-top:10px;display:flex;justify-content:space-between}
.pop-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px;padding-top:34px;border-top:1px solid var(--line);text-align:center}
.pop-stats b{display:block;font-size:clamp(28px,3.4vw,36px);font-weight:900;color:var(--brand);line-height:1.1}
.pop-stats span{font-size:14.5px;color:var(--muted);font-weight:600}
@media (max-width:860px){.pop-tool-grid{grid-template-columns:minmax(0,1fr)}.pop-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pop-section{padding:48px 0}}
/* ---------- matières ---------- */
.pop-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.pop-section-head h2{margin:0 0 6px}
.pop-level-pick{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;color:var(--muted)}
.pop-subject-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pop-subject{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px 18px;border:1px solid var(--line);border-top:4px solid var(--s);border-radius:16px;background:#fff;color:var(--ink)!important;text-decoration:none!important;box-shadow:var(--pop-sh);transition:transform .15s,box-shadow .15s}
.pop-subject:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(42,22,70,.12)}
.pop-subject-top{display:flex;justify-content:space-between;align-items:flex-start;color:var(--muted)}
.pop-subject-ico{width:50px;height:50px;border-radius:13px;background:var(--s-l);color:var(--s-d);display:grid;place-items:center}
.pop-subject h3{font-size:19px;font-weight:900;margin:8px 0 0;color:var(--on-y)}
.pop-subject p{font-size:14.5px!important;line-height:1.45!important;flex:1;min-height:2.9em}
.pop-subject .cm-bar{height:6px;border-radius:4px;background:#efe9f6;overflow:hidden;display:block}
.pop-subject .cm-bar i{display:block;height:100%;background:var(--s);width:0;border-radius:4px}
.pop-subject-bottom{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13.5px;color:var(--s-d)}
.pop-subject-bottom>span{flex:1}
.pop-subject-bottom small{font-weight:700;color:var(--muted)}
@media (max-width:1000px){.pop-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.pop-subject-grid{gap:12px}.pop-subject{padding:16px 14px}.pop-subject h3{font-size:17px}.pop-subject p{font-size:13.5px!important}}
/* ---------- recommandations ---------- */
.pop-reco{background:var(--soft)}
.pop-reco-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pop-reco-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);color:var(--ink)!important;text-decoration:none!important;box-shadow:var(--pop-sh);transition:transform .15s}
.pop-reco-card:hover{transform:translateY(-3px)}
.pop-reco-art{position:relative;display:grid;place-items:center;height:150px;background:var(--s-l);color:var(--s)}
.pop-chip{position:absolute;left:12px;top:12px;background:#fff;color:var(--s-d);font-weight:800;font-size:12px;padding:4px 10px;border-radius:999px}
.pop-reco-ico{opacity:.9}
.pop-reco-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.pop-reco-body small{font-weight:700;color:var(--muted);font-size:13px}
.pop-reco-body h3{font-size:20px;font-weight:900;margin:0;color:var(--on-y);line-height:1.25}
.pop-reco-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;font-weight:700;color:var(--muted)}
.pop-reco-foot svg{color:var(--brand)}
@media (max-width:860px){.pop-reco-grid{grid-template-columns:minmax(0,1fr)}}
/* ---------- méthode ---------- */
.pop-how-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.pop-how-intro h2{margin-bottom:14px}
.pop-how-intro p{margin-bottom:18px}
.pop-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
.pop-steps li{display:flex;gap:16px;align-items:flex-start}
.pop-steps li>b{flex:none;width:40px;height:40px;border-radius:50%;background:var(--brand-l);color:var(--brand);display:grid;place-items:center;font-weight:900;font-size:17px}
.pop-steps h3{font-size:19px;font-weight:900;margin:0 0 4px;color:var(--on-y)}
.pop-steps p{font-size:15.5px}
@media (max-width:860px){.pop-how-in{grid-template-columns:minmax(0,1fr);gap:28px}}
/* ---------- famille ---------- */
.pop-family-card{position:relative;overflow:hidden;background:var(--hero);color:#fff;border-radius:22px;padding:48px clamp(24px,5vw,56px)}
.pop-family-card h2{color:#fff!important;font-size:clamp(28px,4vw,40px)}
.pop-family-card p{color:rgba(255,255,255,.9)!important;max-width:30em;margin:12px 0 24px!important}
.pop-family-btns{display:flex;gap:12px;flex-wrap:wrap;position:relative}
.pop-family-sym{position:absolute;right:clamp(20px,6vw,80px);top:50%;transform:translateY(-50%) rotate(-3deg);font-family:"Patrick Hand",Kalam,"Segoe Print",cursive;font-size:clamp(22px,2.6vw,30px);line-height:1.25;color:var(--yellow)}
@media (max-width:760px){.pop-family-sym{position:static;transform:none;display:block;margin-top:22px}}
/* ---------- FAQ ---------- */
.pop-faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.pop-faq details{border:1px solid var(--line);border-radius:12px;background:#fff}
.pop-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;font-weight:800;font-size:16px;color:var(--on-y)}
.pop-faq summary::-webkit-details-marker{display:none}
.pop-faq summary span{color:var(--brand);font-size:22px;font-weight:700;transition:transform .15s}
.pop-faq details[open] summary span{transform:rotate(45deg)}
.pop-faq details p{padding:0 20px 18px;font-size:15.5px}
.pop-about{padding-top:24px}
.pop-about .cm-about{background:var(--soft);border-radius:var(--pop-r);padding:28px}
.pop-about .cm-about h2{font-size:22px;color:var(--on-y)}
/* ---------- pied de page ---------- */
.pop-ft{background:#f6f4f8;margin-top:0;padding:48px 0 22px;color:var(--ink)}
.pop-ft-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.2fr;gap:28px}
.pop-ft-about p{color:var(--muted);font-size:14.5px;margin:12px 0 0;line-height:1.55}
.pop-ft nav{display:flex;flex-direction:column;gap:9px}
.pop-ft h2{font-size:14px;font-weight:900;margin:0 0 4px;color:var(--on-y)}
.pop-ft nav a{color:var(--muted)!important;font-size:14.5px;font-weight:600;text-decoration:none!important}
.pop-ft nav a:hover{color:var(--brand)!important}
.pop-ft-lv{display:flex;gap:6px;flex-wrap:wrap}
.pop-ft-lv a{padding:4px 10px;border-radius:999px;background:#fff;border:1px solid var(--line2);font-weight:800!important;color:var(--brand-d)!important}
.pop-ft-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;align-self:start}
.pop-ft-card svg{color:var(--brand)}
.pop-ft-card b{display:block;font-size:15px;margin:6px 0 4px;color:var(--on-y)}
.pop-ft-card p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.5}
.pop-ft-bottom{display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;margin-top:34px;padding-top:18px;border-top:1px solid var(--line2);font-size:13.5px;color:var(--muted)}
.pop-ft-links{display:flex;gap:18px;flex-wrap:wrap}.pop-ft-links a{color:var(--muted)!important}
@media (max-width:1000px){.pop-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pop-ft-about,.pop-ft-card{grid-column:1/-1}}
/* ---------- page matière ---------- */
.matiere{display:block;max-width:1180px;margin:0 auto;padding:0 24px}
.sidebar{min-height:0;height:auto;position:static;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;background:none;border-radius:0;padding:18px 0 6px;scrollbar-width:thin}
.sidebar .side-logo,.sidebar .side-more{display:none}
.sidebar .prog{display:none}
.side-item{flex:none;padding:7px 14px 7px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:14.5px;white-space:nowrap}
.side-item .ico{width:30px;height:30px;border-radius:50%}
.side-item[aria-current="page"]{background:var(--s-l);border-color:var(--s)}
.main{padding:8px 0 56px;gap:24px}
.subject-hero{border-radius:20px;background:var(--s-l);border:1px solid var(--line);padding:26px 28px}
.subject-hero .blob{opacity:.16}
.subject-hero .ico{border-radius:18px;box-shadow:none;transform:none}
.subject-hero h1{font-size:clamp(28px,4vw,40px);font-weight:900;letter-spacing:-.02em;color:var(--on-y)}
.chapter-head small{color:var(--brand);font-size:12.5px}
.chapter-head h2{font-size:clamp(21px,2.6vw,26px);font-weight:900;color:var(--on-y)}
.lessons{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;background:none;box-shadow:none;border-radius:0;overflow:visible}
.lesson{flex-wrap:wrap;gap:8px 12px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);border-top:3px solid var(--s);border-radius:14px;background:#fff;box-shadow:var(--pop-sh);position:relative}
.lesson:first-child{border-top:3px solid var(--s)}
.lesson:hover{background:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(42,22,70,.12)}
.lesson .title{flex:1 1 calc(100% - 100px);font-size:16.5px;color:var(--on-y)}
.lesson .status{order:-1;width:26px;height:26px;margin-top:1px}
.status.new{border:2.5px solid #d9d0e4}
.status.current{background:var(--brand);box-shadow:0 0 0 4px var(--brand-l)}
.lesson .chips{flex:1 1 100%;padding-left:38px}
.chips span{background:var(--soft);color:var(--brand-d);font-size:12px}
.lesson .chev{position:absolute;right:14px;top:16px;color:var(--brand)}
.lesson .stars,.lesson .todo{order:3}
.todo{background:var(--brand)}
.cm-steps a.on{background:var(--brand);box-shadow:0 5px 0 var(--brand-d)}
@media (max-width:640px){.matiere{padding:0 16px}.lessons{grid-template-columns:minmax(0,1fr)}.subject-hero{flex-direction:column;align-items:flex-start;padding:20px}}
@media print{.pop-announce,.pop-hd,.pop-ft{display:none}}

body.cm h1,body.cm h2,body.cm h3,body.cm h4{font-family:var(--font);font-weight:800;letter-spacing:-.01em}
.matiere>.sidebar{display:flex!important}
.lesson .title{padding-right:22px}
