/* Français en classe, proposition 2.
   Layout: the school notebook (Seyès ruling, red margin) for what the pupil learns and writes,
   the book page for literary texts, ink blue as the only accent; everything else stays quiet. */
:root{
  --bg:#F4F5FA; --sheet:#FFFFFF; --page:#FDFCF8; --ink:#161B31; --muted:#596079; --line:#DDE1EE;
  --encre:#2A3D9C; --encre-2:#1E2D7A; --encre-soft:#E8EBFA; --on-encre:#FFFFFF;
  --marge:#D3463A; --seyes-h:#C6CFEE; --seyes-f:#E6EAF7; --seyes-v:#F0E6F1;
  --or:#B07409; --or-soft:#FBF1DE;
  --ok:#1D7A4C; --ok-soft:#E2F3E9; --bad:#B3261E; --bad-soft:#FBE7E5;
  --l6e:#3A72D0; --l5e:#23907A; --l4e:#7655AC; --l3e:#C0435B; --l2nde:#1B6E8C; --l1re:#B2601A; --lTle:#856512;
  --shadow:0 1px 2px rgba(22,27,49,.06),0 8px 24px -12px rgba(22,27,49,.18);
  --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --text:"Literata",Georgia,"Times New Roman",serif;
  --ui:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --head-h:58px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0D1021; --sheet:#151A2F; --page:#171B2D; --ink:#E8EAF5; --muted:#A4A9C3; --line:#29304F;
  --encre:#9AABFF; --encre-2:#B7C3FF; --encre-soft:#1E2552; --on-encre:#0D1021;
  --marge:#E2695E; --seyes-h:#2C355F; --seyes-f:#1D2343; --seyes-v:#272244;
  --or:#E9AE45; --or-soft:#352914;
  --ok:#5FD08F; --ok-soft:#14301F; --bad:#F2867E; --bad-soft:#3A1B19;
  --l6e:#5E92E8; --l5e:#3BAE95; --l4e:#9A7BD0; --l3e:#E06A80; --l2nde:#3A93B3; --l1re:#D6843E; --lTle:#C09B3A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.6);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0D1021; --sheet:#151A2F; --page:#171B2D; --ink:#E8EAF5; --muted:#A4A9C3; --line:#29304F;
  --encre:#9AABFF; --encre-2:#B7C3FF; --encre-soft:#1E2552; --on-encre:#0D1021;
  --marge:#E2695E; --seyes-h:#2C355F; --seyes-f:#1D2343; --seyes-v:#272244;
  --or:#E9AE45; --or-soft:#352914;
  --ok:#5FD08F; --ok-soft:#14301F; --bad:#F2867E; --bad-soft:#3A1B19;
  --l6e:#5E92E8; --l5e:#3BAE95; --l4e:#9A7BD0; --l3e:#E06A80; --l2nde:#3A93B3; --l1re:#D6843E; --lTle:#C09B3A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.6);
  color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head-h) + 60px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:16px;line-height:1.6}
a{color:inherit}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2.5px solid var(--encre);outline-offset:2px;border-radius:4px}
img{max-width:100%}
h1,h2,h3,h4,h5{text-wrap:balance;margin:0;line-height:1.2;font-weight:600}
h1,h2{font-family:var(--display);font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(30px,6vw,46px);line-height:1.08}
h2{font-size:clamp(22px,3.6vw,28px)}
h3,h4,h5{font-family:var(--ui)}
h4{font-size:17px}
p{margin:0}
.muted{color:var(--muted)}
.eyebrow,.blabel,.kick{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.eyebrow{color:var(--encre)}
.ast{color:var(--or)}
.note{font-size:13px;color:var(--muted)}
.col{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.col.read{max-width:800px}
@media (prefers-reduced-motion:no-preference){a,button,.card,.lab{transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s}}

/* glyphs (genre marks) */
.g{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------------------------------------------------------------- header */
header.top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--sheet) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
header.top .col{display:flex;align-items:center;gap:8px 18px;min-height:var(--head-h);flex-wrap:wrap;padding-block:6px}
.brand{display:flex;align-items:baseline;gap:7px;text-decoration:none;font-family:var(--display);font-size:21px;font-weight:600;margin-right:auto;line-height:1}
.brand em{color:var(--encre);font-style:italic}
.brand .nib{width:20px;height:20px;align-self:center;color:var(--marge)}
nav.lv{display:flex;align-items:center;gap:4px;overflow-x:auto;max-width:100%;scrollbar-width:none}
nav.lv::-webkit-scrollbar{display:none}
nav.lv a{flex:none;text-decoration:none;font-weight:700;font-size:13.5px;padding:5px 10px;border-radius:8px;color:var(--muted)}
nav.lv a:hover{color:var(--ink);background:var(--bg)}
nav.lv a.on{color:var(--on-encre);background:var(--c,var(--encre))}
nav.lv .sep{width:1px;height:18px;background:var(--line);margin:0 6px;flex:none}
@media (max-width:760px){header.top .col{gap:2px 12px}nav.lv{width:100%;margin-inline:-6px;padding-bottom:4px}}

main{padding-block:28px 64px}
main>.col{display:flex;flex-direction:column;gap:28px}
footer{border-top:1px solid var(--line);background:var(--sheet);padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));font-size:13.5px;color:var(--muted)}
footer .col{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px 40px}
footer .fbrand{font-family:var(--display);font-size:20px;color:var(--ink);font-weight:600}
footer .fbrand em{color:var(--encre)}
footer nav{display:flex;flex-wrap:wrap;gap:6px 16px;align-content:start}
footer nav a{text-decoration:none;font-weight:700;color:var(--ink)}
@media (max-width:640px){footer .col{grid-template-columns:1fr}}
.crumb{font-size:13.5px;color:var(--muted)}
.crumb a{color:var(--muted);text-decoration:none;font-weight:700}
.crumb a:hover{color:var(--encre)}

/* ---------------------------------------------------------------- Seyès paper */
.seyes{--m:56px;background-color:var(--sheet);background-image:
  linear-gradient(90deg,transparent calc(var(--m) - 1px),var(--marge) calc(var(--m) - 1px),var(--marge) calc(var(--m) + 1px),transparent calc(var(--m) + 1px)),
  repeating-linear-gradient(180deg,transparent 0 31px,var(--seyes-h) 31px 32px),
  repeating-linear-gradient(180deg,transparent 0 7px,var(--seyes-f) 7px 8px),
  repeating-linear-gradient(90deg,transparent 0 31px,var(--seyes-v) 31px 32px)}

/* ---------------------------------------------------------------- home */
.hero{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.hero.seyes{--m:clamp(28px,6vw,72px)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;padding:clamp(28px,5vw,56px) clamp(18px,4vw,48px) clamp(24px,4vw,44px) calc(var(--m) + clamp(16px,3vw,36px))}
.hero-txt{display:flex;flex-direction:column;gap:16px;min-width:0}
.hero h1{font-size:clamp(44px,8.6vw,92px);line-height:.95;letter-spacing:-.02em}
.hero h1 em{display:block;color:var(--encre);font-style:italic;font-weight:500}
.lede{font-size:clamp(16.5px,2.2vw,19px);max-width:34ch;line-height:1.5}
.by{font-size:14px;color:var(--muted)}
.by b{color:var(--ink)}
.mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:center}
.mosaic a{display:flex;flex-direction:column;gap:4px;text-decoration:none;font-size:12px;font-weight:700;color:var(--muted);min-width:0}
.mosaic a:nth-child(3n+2){transform:translateY(18px)}
.duo{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;filter:grayscale(1) sepia(.35) hue-rotate(185deg) saturate(1.7) contrast(1.02);background:var(--encre-soft)}
a:hover>.duo,a:focus-visible>.duo{filter:none}
@media (max-width:820px){.hero-in{grid-template-columns:1fr}.mosaic{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.mosaic a:nth-child(3n+2){transform:none}.mosaic span{display:none}}
@media (max-width:420px){.mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.mosaic a:nth-child(n+4){display:none}}

.pick{display:flex;flex-direction:column;gap:10px}
.pick h2{font-family:var(--ui);font-size:13px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.labels{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr);gap:10px 16px}
.grp{display:flex;flex-direction:column;gap:6px;min-width:0}
.cycle{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--line);padding-bottom:4px}
.labrow{display:grid;gap:8px}
.labrow.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.labrow.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lab{position:relative;display:flex;flex-direction:column;align-items:center;padding:12px 6px 10px;border-radius:12px;background:var(--sheet);border:2px solid var(--c);text-decoration:none;min-width:0;box-shadow:inset 0 0 0 3px var(--sheet),inset 0 0 0 4px color-mix(in srgb,var(--c) 35%,transparent)}
.lab b{font-family:var(--display);font-size:clamp(26px,3.6vw,34px);line-height:1;color:var(--c);font-weight:700}
.lab span{font-size:11.5px;color:var(--muted);font-weight:700;white-space:nowrap}
.lab:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--c) 8%,var(--sheet))}
@media (max-width:640px){.labels{grid-template-columns:1fr}}

.figures{display:flex;flex-wrap:wrap;gap:6px 26px;font-size:14px;color:var(--muted);padding:2px 2px 0}
.figures b{font-family:var(--display);font-size:24px;color:var(--ink);font-weight:600;margin-right:5px;font-variant-numeric:lining-nums}

.blockhead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}
.blockhead p{color:var(--muted);max-width:60ch}
.blockhead a{font-weight:700;color:var(--encre);text-decoration:none;font-size:14.5px}
.train{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:860px){.train{grid-template-columns:1fr}}
.train .from{font-size:13px;color:var(--muted)}
.train .from a{color:var(--encre);font-weight:700;text-decoration:none}
.stack{display:flex;flex-direction:column;gap:8px;min-width:0}

.authors{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:16px 12px}
.author{display:flex;flex-direction:column;gap:6px;text-decoration:none;min-width:0}
.author b{font-size:14px;line-height:1.25}
.author small{font-size:12px;color:var(--muted);line-height:1.3}

.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.door{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:14px;background:var(--sheet);border:1px solid var(--line);text-decoration:none;min-width:0}
.door b{font-family:var(--display);font-size:22px;line-height:1.15}
.door ul{margin:0;padding-left:18px;font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:2px}
.door .go{margin-top:auto}
.door:hover{border-color:var(--encre)}
@media (max-width:760px){.doors{grid-template-columns:1fr}}
.go{font-size:14px;font-weight:700;color:var(--encre)!important}

/* ---------------------------------------------------------------- level page */
.lvhero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 28px;align-items:end;padding:26px clamp(18px,4vw,36px);border-radius:18px;background:color-mix(in srgb,var(--c) 11%,var(--sheet));border:1px solid color-mix(in srgb,var(--c) 30%,var(--line));overflow:hidden}
.lvhero .big{font-family:var(--display);font-size:clamp(84px,16vw,150px);line-height:.8;color:var(--c);font-weight:700;letter-spacing:-.03em}
.lvhero .t{display:flex;flex-direction:column;gap:8px;min-width:0;padding-bottom:6px}
.lvhero .eyebrow{color:var(--c)}
.lvhero p{max-width:56ch}
.stats{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px;color:var(--muted)}
.stats b{color:var(--ink);font-size:16px}
@media (max-width:560px){.lvhero{grid-template-columns:1fr}}

.genre{display:flex;flex-direction:column;gap:12px}
.genre>h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.genre>h2 .g{width:24px;height:24px;color:var(--encre)}
.genre>h2 small{font-family:var(--ui);font-size:13.5px;color:var(--muted);font-weight:400;letter-spacing:0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
@media (max-width:400px){.cards{grid-template-columns:1fr}}
.card{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:6px 14px;padding:16px;border-radius:14px;background:var(--sheet);border:1px solid var(--line);text-decoration:none;min-width:0;align-items:start}
.card:hover{border-color:var(--c,var(--encre));box-shadow:var(--shadow);transform:translateY(-1px)}
.card .kind{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c,var(--encre))}
.card .kind .g{width:15px;height:15px}
.card h3{font-family:var(--display);font-size:21px;line-height:1.15;font-weight:600;margin-top:4px}
.card .txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.card .duo{width:72px;border-radius:8px}
.card .meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--muted);border-top:1px dashed var(--line);padding-top:8px;margin-top:4px}
.card .meta b{color:var(--ink);font-weight:700}
.card .meta .live{color:var(--ok);font-weight:700}
.card.noimg{grid-template-columns:minmax(0,1fr)}
.card .dt{margin-left:auto}

.band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:center;padding:22px 24px 22px calc(var(--m) + 20px);border-radius:16px;border:1px solid var(--line);text-decoration:none}
.band.seyes{--m:44px}
.band b{font-family:var(--display);font-size:24px;line-height:1.15;display:block}
.band span{color:var(--muted);font-size:14.5px}
@media (max-width:560px){.band{grid-template-columns:1fr}}

/* ---------------------------------------------------------------- lists (langue, dictées) */
.rows{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--sheet);overflow:hidden}
.rows a{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line);text-decoration:none;min-width:0}
.rows a:first-child{border-top:none}
.rows a:hover{background:var(--encre-soft)}
.rows .n{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--c,var(--encre));background:color-mix(in srgb,var(--c,var(--encre)) 12%,var(--sheet));font-variant-numeric:tabular-nums}
.rows .t{flex:1;min-width:0;font-weight:700}
.rows .s{display:block;font-size:13px;color:var(--muted);font-weight:400}
.rows .arr{color:var(--encre);font-weight:700}

/* ---------------------------------------------------------------- page heads (sequence, langue, espaces) */
.seqhead{display:flex;flex-direction:column;gap:10px;--c:var(--encre)}
.seqhead .eyebrow{color:var(--c);display:flex;align-items:center;gap:7px}
.seqhead .eyebrow .g{width:16px;height:16px}
.seqhead>p{color:var(--muted);font-size:17px;max-width:62ch}
.seqtop{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;align-items:end;padding-bottom:22px;border-bottom:1px solid var(--line)}
.seqtop .faces{display:flex;gap:10px}
.seqtop .faces a,.seqtop .faces figure{display:flex;flex-direction:column;gap:4px;width:84px;margin:0;text-decoration:none;font-size:11.5px;color:var(--muted);font-weight:700;line-height:1.25}
@media (max-width:640px){.seqtop{grid-template-columns:1fr}.seqtop .faces a,.seqtop .faces figure{width:64px}}
.counts{display:flex;flex-wrap:wrap;gap:8px}
.counts a,.counts span{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--sheet);border:1px solid var(--line);text-decoration:none;white-space:nowrap}
.counts .live{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--line))}
.counts i{font-style:normal;color:var(--encre)}

/* sequence layout: route on the left, the lesson on the right */
.layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start}
.layout>.content{display:flex;flex-direction:column;gap:36px;min-width:0;max-width:780px}
.parcours{position:sticky;top:calc(var(--head-h) + 20px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;gap:0;max-height:calc(100vh - var(--head-h) - 40px);overflow:auto;padding-right:4px}
.parcours .blabel{color:var(--muted);margin-bottom:10px}
.parcours a{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;padding:6px 0 10px;text-decoration:none;font-size:13.5px;line-height:1.35;color:var(--muted)}
.parcours a::before{content:"";position:absolute;left:11.5px;top:30px;bottom:-4px;width:1px;background:var(--line)}
.parcours a:last-child::before{display:none}
.parcours a i{font-style:normal;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;background:var(--sheet);border:1.5px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums}
.parcours a:hover{color:var(--ink)}
.parcours a:hover i,.parcours a.on i{border-color:var(--c);color:var(--on-encre);background:var(--c)}
.parcours a.on{color:var(--ink);font-weight:700}
.toc{display:none}
@media (max-width:900px){
  .layout{grid-template-columns:minmax(0,1fr);gap:0}
  .parcours{display:none}
  .toc{position:sticky;top:calc(var(--head-h) + env(safe-area-inset-top,0px));z-index:10;display:flex;gap:6px;overflow-x:auto;padding:10px 0;margin-bottom:12px;background:var(--bg);scrollbar-width:none}
  .toc::-webkit-scrollbar{display:none}
  .toc a{flex:none;font-size:13px;font-weight:700;text-decoration:none;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--sheet);white-space:nowrap;color:var(--muted)}
  .toc a i{font-style:normal;color:var(--c);margin-right:4px}
}
@media (max-width:760px){.toc{top:calc(var(--head-h) + 34px + env(safe-area-inset-top,0px))}html{scroll-padding-top:calc(var(--head-h) + 100px + env(safe-area-inset-top,0px))}}

.sec{display:flex;flex-direction:column;gap:18px}
.sechead{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 14px;align-items:baseline;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.sechead .num{grid-row:span 3;font-family:var(--display);font-size:44px;line-height:.9;color:var(--c);font-weight:700;font-variant-numeric:lining-nums}
.sechead .kick{color:var(--muted)}
.sechead h2{font-size:clamp(22px,3.4vw,28px)}
.sechead .sub{color:var(--muted)}
.h2{font-size:19px;margin-top:6px}
.h3{font-size:16px;color:var(--muted)}
.para{max-width:68ch}

/* teacher-facing technical sheet: present, but visually secondary */
.fiche-tech{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:12px;background:var(--bg);border:1px solid var(--line);font-size:14.5px}
.fiche-tech>.blabel{color:var(--muted);display:flex;align-items:center;gap:6px}
.kv{display:grid;grid-template-columns:150px minmax(0,1fr);gap:6px 16px;margin:0}
.kv dt{color:var(--muted);font-weight:700}
.kv dd{margin:0}
@media (max-width:560px){.kv{grid-template-columns:1fr;gap:0}.kv dd{margin-bottom:8px}}
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--sheet)}
table.data{border-collapse:collapse;width:100%;font-size:14.5px}
table.data th,table.data td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top;min-width:90px}
table.data tr:last-child td{border-bottom:none}
table.data th{font-size:12.5px;font-weight:700;color:var(--muted);background:var(--bg)}

/* boxes: three strong kinds (texte, à retenir, exercice); every other kind stays quiet */
.box,.exo,.dictee{border-radius:14px;padding:18px 20px;display:flow-root;background:var(--sheet);border:1px solid var(--line);min-width:0}
.box>*+*,.exo>*+*,.dictee>*+*{margin-top:10px}
.box>.who+*{margin-top:0}
.box header,.exo header,.dictee header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.blabel{color:var(--muted)}
.lv-tag{font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:6px;background:var(--bg);border:1px solid var(--line);color:var(--muted)}
.box ul,.box ol,.exo ul,.exo ol,.plain ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}
.box p+p{margin-top:4px}
.box h4,.exo h4,.dictee h4{font-size:18px}
/* À retenir: copied into the notebook */
.k-retenir{--m:38px;padding:14px 18px 16px calc(var(--m) + 16px);border:1px solid var(--seyes-h);box-shadow:var(--shadow);line-height:1.75}
.k-retenir .blabel{color:var(--marge)}
.k-retenir h4{font-family:var(--display);font-size:22px;color:var(--encre);font-weight:600}
.k-retenir.seyes{background-color:var(--sheet)}
/* questions: ink-blue rule */
.k-questions{border-left:4px solid var(--encre);border-radius:4px 14px 14px 4px}
.k-questions .blabel{color:var(--encre)}
/* quiet kinds */
.k-lecon,.k-methode,.k-langue,.k-lexique,.k-pistes,.k-oral,.k-atelier,.k-consignes{background:var(--sheet)}
.k-lecon .blabel,.k-methode .blabel{color:var(--encre)}
.k-auteur{background:var(--bg)}
.defs{margin:0;display:flex;flex-direction:column;gap:8px}
.defs dt{font-weight:700;display:inline}
.defs dt::after{content:" : "}
.defs dd{display:inline;margin:0}
.ex-list{font-size:15px}
.after{font-size:14.5px;color:var(--muted)}
.who{float:right;margin:0 0 8px 14px;width:84px;font-size:11.5px;color:var(--muted);line-height:1.3;font-weight:700}
.who img{width:84px;height:104px;object-fit:cover;border-radius:8px;display:block;margin-bottom:4px;filter:grayscale(1) sepia(.35) hue-rotate(185deg) saturate(1.7)}
.who span{display:block;font-weight:400}

/* literary texts: the book page */
.texte{margin:0;background:var(--page);border:1px solid var(--line);border-radius:6px 14px 14px 6px;padding:20px 22px 16px;font-family:var(--text);font-size:17.5px;line-height:1.75;overflow:hidden;box-shadow:var(--shadow);border-left:3px double var(--line)}
.texte figcaption{font-family:var(--display);font-weight:600;font-size:20px;margin-bottom:10px;line-height:1.2}
.texte .src{font-family:var(--ui);font-size:13px;color:var(--muted);margin-top:14px;clear:both;padding-top:10px;border-top:1px solid var(--line)}
.texte .src a{color:var(--encre);font-weight:700}
.texte mark{background:transparent;box-shadow:inset 0 -.45em 0 color-mix(in srgb,var(--encre) 22%,transparent);color:inherit}
.verses{display:flex;flex-direction:column;padding-left:34px}
.vl{position:relative}
.vl .ln{position:absolute;left:-34px;width:24px;text-align:right;font-style:normal;font-family:var(--ui);font-size:11px;color:var(--muted);top:5px;font-variant-numeric:tabular-nums}
.gap{height:.9em}
.texte .lines{display:flex;flex-direction:column;gap:12px}
.texte p.cut{font-style:italic;color:var(--muted)}
.texte .who{float:none;display:flex;align-items:center;gap:10px;width:auto;margin:0 0 12px;font-family:var(--ui);font-size:12.5px}
.texte .who img{width:40px;height:50px;margin:0;border-radius:6px}
.texte .who span{display:inline;margin-left:6px}
.dialogue .sp{font-family:var(--ui);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--encre)}
.dialogue .did,.dialogue .did-in{font-style:italic;color:var(--muted)}
.quote{margin:0;padding:6px 0 6px 18px;border-left:3px solid var(--encre);font-family:var(--text);font-size:17px}
.quote cite{display:block;font-family:var(--ui);font-style:normal;font-size:13px;color:var(--muted);margin-top:6px}

.conjgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:8px}
.conj{background:var(--sheet);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.conj h5{font-family:var(--display);font-size:18px;display:flex;flex-direction:column}
.conj h5 small{font-family:var(--ui);font-size:12px;font-weight:400;color:var(--muted)}
.conj table{border-collapse:collapse;width:100%;font-size:14px;margin-top:4px}
.conj th{text-align:left;font-size:12px;color:var(--encre);padding-top:6px}
.conj td{padding:1px 6px 1px 0}
.conj td:first-child{color:var(--muted);width:42%}

/* exercises */
.exo{border-top:4px solid var(--encre);box-shadow:var(--shadow)}
.exo .blabel{color:var(--encre)}
.support{background:var(--page);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:var(--text);display:flex;flex-direction:column;gap:8px}
.exo .src,.dictee .src{font-size:12.5px;color:var(--muted)}
.live-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--ok-soft);color:var(--ok)}
.live-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
ol.items.live{display:flex;flex-direction:column;gap:8px;line-height:2.3;padding-left:24px;margin:0}
input.blank{border:none;border-bottom:2px solid var(--encre);background:var(--encre-soft);padding:0 5px;border-radius:5px 5px 0 0;font-family:var(--text);font-size:17px;max-width:100%;min-width:3ch;color:var(--encre-2)}
input.blank.good{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}
input.blank.wrong{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:10px;padding:10px 16px;font-weight:700;font-size:14.5px;cursor:pointer;text-decoration:none;background:var(--encre);color:var(--on-encre)}
.btn:hover{background:var(--encre-2)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn.ghost:hover{border-color:var(--encre)}
.btn.gold{background:var(--encre);color:var(--on-encre)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.exres{font-family:var(--display);font-size:20px;font-weight:600}

/* dictée: you write on the notebook */
.dictee{border-top:4px solid var(--marge);box-shadow:var(--shadow)}
.dictee .blabel{color:var(--marge)}
.slow{font-size:14px;display:flex;gap:6px;align-items:center}
.dictee textarea{--m:40px;width:100%;min-height:160px;border:1px solid var(--seyes-h);border-radius:8px;padding:2px 12px 0 calc(var(--m) + 12px);font-family:var(--text);font-size:18px;line-height:32px;resize:vertical;background-attachment:local;color:var(--encre-2)}
.dres{display:flex;flex-direction:column;gap:10px}
.dres .score{font-family:var(--display);font-size:24px;font-weight:600}
.corr{font-family:var(--text);font-size:17.5px;line-height:1.9;background:var(--page);border-radius:12px;padding:12px 14px;border:1px solid var(--line)}
.corr .err,.corr .miss{background:var(--bad-soft);color:var(--bad);border-radius:4px;padding:0 3px}
.corr .err{text-decoration:underline wavy;text-underline-offset:4px}
.corr .todo{color:var(--muted)}
.yours{font-size:13px;color:var(--bad);font-family:var(--ui)}
.regles h5{font-size:15px;margin-bottom:4px}
.regles ul{margin:0;padding-left:20px}

/* teacher material */
details.prof{border:1.5px dashed var(--line);border-radius:10px;padding:9px 13px;font-size:14.5px;background:var(--bg)}
details.prof summary{cursor:pointer;font-weight:700}
details.prof[open]{display:flex;flex-direction:column;gap:8px}
.lock{font-weight:400;font-size:12px;color:var(--muted);margin-left:6px}
.corr-it{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-top:1px solid var(--line)}
.corr-it ol,.corr-it ul{margin:0;padding-left:20px}
.lockbox{border:1.5px dashed var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;background:var(--bg)}
.fiches{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 18px}
.fiches li{display:flex;gap:10px}
.fiches li>span{flex:none;font-size:12.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px}
.fiches b{display:block;font-weight:700;font-size:14.5px}
.fiches small{display:block;color:var(--muted);font-size:13px;line-height:1.4}

/* ✱ marking (unchanged rule: every generated addition, at each occurrence) */
.pill{display:inline-flex;align-items:center;font-family:var(--ui);font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--or-soft);color:var(--or);letter-spacing:.02em;vertical-align:middle;white-space:nowrap}
.ajout{box-shadow:inset 3px 0 0 var(--or)}
.exo.ajout{box-shadow:inset 3px 0 0 var(--or),var(--shadow)}
p.ajout,.plain.ajout,.tblock.ajout{padding-left:10px}
.texte .pill,.quote .pill,p.para .pill,.plain .pill,.tblock .pill{margin-right:6px;margin-bottom:6px}

.pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:18px;font-size:14.5px}
.pn a{display:flex;flex-direction:column;gap:2px;text-decoration:none;font-weight:700;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--sheet)}
.pn a small{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pn a:hover{border-color:var(--encre)}
.pn a:last-child{text-align:right}
@media (max-width:480px){.who{width:68px}.who img{width:68px;height:84px}.box,.exo,.dictee{padding:15px}.k-retenir{padding-left:calc(var(--m) + 12px)}}

/* creation date: discreet but visible */
.dt{font-size:11.5px;color:var(--muted);white-space:nowrap;font-style:italic;font-family:var(--text)}
header .dt{margin-left:auto}
.seqhead .dt{font-size:12.5px}

/* espaces & à propos (pages.json) */
.spaces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tile{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:14px;background:var(--sheet);border:1px solid var(--line);text-decoration:none;min-width:0}
.tile b{font-family:var(--display);font-size:21px;line-height:1.2}
.tile span{font-size:14.5px;color:var(--muted);line-height:1.45}
.tile:hover{border-color:var(--encre)}
@media (max-width:600px){.spaces{grid-template-columns:1fr}}

/* language exercises answered on screen */
.qs{margin:0;padding-left:24px;display:flex;flex-direction:column;gap:16px}
.q .qtext{font-family:var(--text);font-size:17px;line-height:1.7}
.q.solo{display:flex;flex-direction:column;gap:6px}
.ans{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-bottom:2px solid var(--encre);background:var(--encre-soft);border-radius:8px 8px 0 0;padding:7px 10px;font-family:var(--text);font-size:16.5px;color:var(--encre-2)}
textarea.ans{min-height:68px;resize:vertical;line-height:1.5}
.q.solo textarea.ans{min-height:120px}
.q.good .ans{border-bottom-color:var(--ok)}
.q.wrong .ans{border-bottom-color:var(--bad)}
.sel .w{cursor:pointer;border-radius:4px;padding:0 1px;-webkit-tap-highlight-color:transparent}
.sel .w:hover{background:var(--encre-soft)}
.sel .w.on{background:color-mix(in srgb,var(--encre) 20%,transparent);box-shadow:inset 0 -2px 0 var(--encre);color:var(--encre-2)}
.support.sel p{line-height:1.9}
.qc{margin-top:8px;font-size:15px;padding:9px 12px;border-radius:8px;background:var(--bg);border-left:3px solid var(--line);display:flex;flex-direction:column;gap:4px}
.q.good .qc{border-color:var(--ok);background:var(--ok-soft)}
.q.wrong .qc{border-color:var(--bad);background:var(--bad-soft)}
.qcl{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.self{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.self button{font-size:13px;font-weight:700;border-radius:999px;padding:4px 12px;border:1.5px solid var(--line);background:var(--sheet);cursor:pointer}
.q.good .self .yes{background:var(--ok);color:var(--sheet);border-color:var(--ok)}
.q.wrong .self .no{background:var(--bad);color:var(--sheet);border-color:var(--bad)}
.qall{padding:12px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font-size:15px;display:flex;flex-direction:column;gap:6px}
.qall ol{margin:0;padding-left:22px}
.hint{font-size:13.5px;color:var(--muted);font-style:italic}
.live-tag.todo{background:var(--encre-soft);color:var(--encre)}

/* teacher mode */
.prof-only,.prof-only-b,.prof-only-i{display:none!important}
html.prof-on .prof-only{display:flex!important}
html.prof-on .prof-only-b{display:block!important}
html.prof-on .prof-only-i{display:inline-flex!important}
html.prof-on .prof-off{display:none!important}
html:not(.prof-on) details.prof{display:none}
nav.lv a.profchip{border:1.5px solid var(--line);margin-left:4px}
html.prof-on nav.lv a.profchip{background:var(--encre);color:var(--on-encre);border-color:var(--encre)}
html.prof-on nav.lv a.profchip::before{content:"✓ "}
.btn.sm{padding:5px 11px;font-size:13px;border-radius:8px}
.lockbox .row{gap:8px}
.fiches li>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.acces{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 28px;align-items:end;padding:20px 22px;border-radius:16px;background:var(--sheet);border:1px solid var(--line);box-shadow:var(--shadow)}
.acces>.note{grid-column:1/-1}
.acces form{display:flex;flex-direction:column;gap:6px}
.acces label{font-weight:700;font-size:14px}
.acces input{flex:1;min-width:0;padding:9px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);font-size:16px}
.acces .row{flex-wrap:nowrap}
html.prof-on .acces{border-color:var(--encre)}
@media (max-width:640px){.acces{grid-template-columns:1fr}}
/* auteurs sans portrait, textes absents, liens vers les textes cités */
.who .mono{display:grid;place-items:center;width:84px;height:104px;border-radius:8px;margin-bottom:4px;background:var(--encre-soft);color:var(--encre);font-family:var(--display);font-size:26px;font-weight:600}
.texte .who .mono{width:40px;height:50px;margin:0;border-radius:6px;font-size:16px}
.absent{display:flex;gap:14px;align-items:flex-start;background:var(--page);border:1.5px dashed var(--line);border-radius:6px 14px 14px 6px;padding:16px 18px;margin:12px 0}
.absent .who{float:none;margin:0;flex:none;width:72px}
.absent .who img,.absent .who .mono{width:72px;height:90px}
.absent .ab-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.absent .ab-body>b{font-family:var(--display);font-size:20px;font-weight:600;line-height:1.25}
.absent p{margin:0;color:var(--muted);font-size:14.5px}
.absent .ab-go{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}
.ab-note{font-size:12px;color:var(--muted)}
.tlinks{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 14px}
.tlinks>.blabel{width:100%}
.tl{display:flex;align-items:center;gap:9px;padding:6px 12px 6px 6px;border:1px solid var(--line);border-radius:12px;background:var(--sheet);color:var(--ink);text-decoration:none;font-size:13px;line-height:1.3;max-width:100%}
.tl:hover{border-color:var(--encre)}
.tl img,.tl .mono{width:34px;height:42px;border-radius:5px;object-fit:cover;flex:none;filter:grayscale(1) sepia(.35) hue-rotate(185deg) saturate(1.7)}
.tl .mono{display:grid;place-items:center;filter:none;background:var(--encre-soft);color:var(--encre);font-family:var(--display);font-weight:600}
.tl span{display:flex;flex-direction:column;min-width:0}
.tl b{font-family:var(--text);font-size:14px}
.tl small{color:var(--encre);font-weight:700}
.credits{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.credits li{display:flex;gap:12px;background:var(--sheet);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:13px}
.credits img{width:56px;height:70px;object-fit:cover;border-radius:6px;flex:none;filter:grayscale(1) sepia(.35) hue-rotate(185deg) saturate(1.7)}
.credits p{margin:4px 0 0;color:var(--muted);overflow-wrap:anywhere}
.credits li>div{min-width:0}
@media (max-width:480px){.absent{padding:14px}.absent .who{width:56px}.absent .who img,.absent .who .mono{width:56px;height:70px}}
.ab-detail{display:block;font-family:var(--ui);font-size:13.5px;font-weight:600;color:var(--muted);margin-top:2px}
/* frise bilan */
.frise-sec .sechead .num{background:var(--or);color:var(--on-encre)}
.frise{overflow-x:auto;margin:6px 0 10px;padding:4px 2px 10px;-webkit-overflow-scrolling:touch}
.track{list-style:none;margin:0;padding:34px 8px 0;display:flex;gap:0;min-width:max-content;position:relative}
.track::before{content:"";position:absolute;left:0;right:0;top:66px;height:3px;background:linear-gradient(90deg,var(--encre),var(--or));border-radius:3px}
.ev{position:relative;width:168px;flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 8px;text-align:center}
.ev .per{position:absolute;top:-30px;left:8px;font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--or);white-space:nowrap;border-left:2px solid var(--or);padding-left:6px}
.ev .yr{font-family:var(--display);font-weight:600;font-size:18px;color:var(--encre);height:24px}
.ev .dot{width:14px;height:14px;border-radius:50%;background:var(--sheet);border:3px solid var(--encre);z-index:1}
.ev .au{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:var(--ink);font:700 12.5px/1.25 var(--ui);padding:4px;border-radius:10px}
.ev .au:hover,.ev .au.on{background:var(--encre-soft)}
.ev .au img,.ev .au .mono{width:52px;height:64px;border-radius:8px;object-fit:cover;filter:grayscale(1) sepia(.35) hue-rotate(185deg) saturate(1.7);border:2px solid transparent}
.ev .au.on img,.ev .au.on .mono{border-color:var(--or)}
.ev .au .mono{display:grid;place-items:center;filter:none;background:var(--encre-soft);color:var(--encre);font:600 20px var(--display)}
.ev .tt{font-family:var(--text);font-size:14px;line-height:1.3;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;gap:2px}
.ev a.tt:hover{color:var(--encre)}
.ev .tt small{font-family:var(--ui);font-size:11.5px;font-weight:700;color:var(--encre)}
.ev span.tt small{color:var(--muted)}
.bio-panel{display:flex;gap:14px;align-items:flex-start;background:var(--page);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow);margin-top:4px}
.bio-panel .who{float:none;margin:0;flex:none}
.bio-panel .bt{display:flex;flex-direction:column;gap:4px;min-width:0}
.bio-panel .bt b{font-family:var(--display);font-size:20px;font-weight:600}
.bio-panel .bt .d{color:var(--muted);font-size:13.5px;font-weight:700}
.bio-panel p{margin:4px 0 0;font-size:15px;line-height:1.55}
.bio-panel .after a{color:var(--encre);font-weight:700;font-size:13.5px}
/* cartes mentales */
:root{--cm-syn:#2F7BC0;--cm-ety:#7B4FB3;--cm-ant:#C94545;--cm-chp:#C2602D;--cm-exp:#1E8A84;--cm-ref:#A0700E}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--cm-syn:#7DB4E8;--cm-ety:#B99BE6;--cm-ant:#EE8B8B;--cm-chp:#EE9D72;--cm-exp:#6DCBC4;--cm-ref:#E2B656}}
:root[data-theme="dark"]{--cm-syn:#7DB4E8;--cm-ety:#B99BE6;--cm-ant:#EE8B8B;--cm-chp:#EE9D72;--cm-exp:#6DCBC4;--cm-ref:#E2B656}
.carte{margin:14px 0;border:1px solid var(--line);border-radius:14px;background:var(--sheet);box-shadow:var(--shadow)}
.carte summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 16px;cursor:pointer;list-style:none}
.carte summary::-webkit-details-marker{display:none}
.carte summary b{font-family:var(--display);font-size:19px;font-weight:600}
.carte summary .open{margin-left:auto;font-size:13px;font-weight:700;color:var(--encre)}
.carte[open] summary .open{visibility:hidden}
.cm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"syn ety ant" "ctr ctr ctr" "chp exp ref";gap:12px;padding:4px 14px 16px}
.cm .ctr{grid-area:ctr;justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--encre);color:var(--on-encre);border-radius:50%;padding:18px 40px;box-shadow:0 0 0 4px var(--sheet),0 0 0 6px var(--or);text-align:center;min-width:200px}
.cm .ctr b{font-family:var(--display);font-size:28px;font-weight:600;line-height:1.1}
.cm .ctr span{font-size:12.5px;opacity:.85}
.cm .br{--b:var(--cm-syn);border:1.5px solid var(--b);border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--b) 8%,var(--sheet));min-width:0}
.cm .br h5{margin:0;padding:8px 12px;background:var(--b);color:var(--sheet);font:700 14px var(--ui)}
.cm .br ul{margin:0;padding:10px 12px 10px 28px;display:flex;flex-direction:column;gap:6px}
.cm .br li{color:var(--b);line-height:1.3}
.cm .br li b{font-family:var(--text);font-weight:600}
.cm .br li span{display:block;color:var(--muted);font-size:13.5px;font-family:var(--text)}
.cm .syn{grid-area:syn;--b:var(--cm-syn)}.cm .ety{grid-area:ety;--b:var(--cm-ety)}.cm .ant{grid-area:ant;--b:var(--cm-ant)}
.cm .chp{grid-area:chp;--b:var(--cm-chp)}.cm .exp{grid-area:exp;--b:var(--cm-exp)}.cm .ref{grid-area:ref;--b:var(--cm-ref)}
.cm .ety li b{font-style:italic}
@media (max-width:720px){.cm{grid-template-columns:minmax(0,1fr);grid-template-areas:"ctr" "syn" "ety" "ant" "chp" "exp" "ref"}.cm .ctr{min-width:0;width:100%;border-radius:999px}.ev{width:140px}.bio-panel{flex-direction:column}}

/* ================================================================
   Proposition 3 : graphisme actuel. Couleurs vives, grotesque
   moderne pour les titres, surfaces arrondies, plus de cahier Seyès.
   Les textes littéraires gardent leur page de livre (Literata).
   ================================================================ */
:root{
  --bg:#F5F5FA; --sheet:#FFFFFF; --page:#FFFDF9; --ink:#0E1020; --muted:#5A5F78; --line:#E4E6EF;
  --encre:#5B4BF0; --encre-2:#4434D6; --encre-soft:#EEEBFF; --on-encre:#FFFFFF;
  --marge:#F0553F; --seyes-h:#E4E6EF; --seyes-f:#F5F5FA; --seyes-v:#F5F5FA;
  --l6e:#2F7BF5; --l5e:#0FA58A; --l4e:#8B5CF6; --l3e:#EC4467; --l2nde:#0EA2C4; --l1re:#F2711C; --lTle:#C08A06;
  --shadow:0 1px 2px rgba(14,16,32,.05),0 12px 32px -16px rgba(14,16,32,.22);
  --display:"Bricolage Grotesque","Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ui:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:20px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0A0B14; --sheet:#141628; --page:#16182B; --ink:#ECEDF7; --muted:#A0A4BF; --line:#262A45;
  --encre:#A79BFF; --encre-2:#C3BAFF; --encre-soft:#221E4A; --on-encre:#0A0B14;
  --marge:#FF8A78; --seyes-h:#262A45; --seyes-f:#141628; --seyes-v:#141628;
  --l6e:#6AA3FF; --l5e:#3CCBAE; --l4e:#B194FF; --l3e:#FF7A95; --l2nde:#4FC9E4; --l1re:#FF9A57; --lTle:#E5B43A}}
:root[data-theme="dark"]{
  --bg:#0A0B14; --sheet:#141628; --page:#16182B; --ink:#ECEDF7; --muted:#A0A4BF; --line:#262A45;
  --encre:#A79BFF; --encre-2:#C3BAFF; --encre-soft:#221E4A; --on-encre:#0A0B14;
  --marge:#FF8A78; --seyes-h:#262A45; --seyes-f:#141628; --seyes-v:#141628;
  --l6e:#6AA3FF; --l5e:#3CCBAE; --l4e:#B194FF; --l3e:#FF7A95; --l2nde:#4FC9E4; --l1re:#FF9A57; --lTle:#E5B43A}

h1,h2{font-family:var(--display);font-weight:750;letter-spacing:-.025em}
h1{font-size:clamp(32px,6vw,52px);line-height:1.02}
.seyes{background-image:none!important;background-color:var(--sheet)}

/* en-tête */
.brand{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em;align-items:center;gap:9px}
.brand em{font-style:normal;color:var(--encre)}
.brand .nib{width:30px;height:30px;padding:6px;border-radius:9px;color:#fff;background:linear-gradient(135deg,var(--encre),var(--l3e))}
nav.lv a{border-radius:999px;padding:6px 12px}
nav.lv a.profchip{border-radius:999px}
footer .fbrand{font-family:var(--display);font-weight:800}
footer .fbrand em{font-style:normal}

/* accueil */
.hero{border:none;border-radius:32px;background:
  radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--encre) 30%,transparent),transparent 42%),
  radial-gradient(circle at 70% 100%,color-mix(in srgb,var(--l3e) 22%,transparent),transparent 45%),
  radial-gradient(circle at 0% 100%,color-mix(in srgb,var(--l5e) 18%,transparent),transparent 40%),var(--sheet)!important}
.hero-in{padding:clamp(28px,5vw,60px) clamp(20px,4.5vw,56px)}
.hero h1{font-weight:800;letter-spacing:-.045em;line-height:.92}
.hero h1 em{font-style:normal;font-weight:800;background:linear-gradient(90deg,var(--encre),var(--l3e));-webkit-background-clip:text;background-clip:text;color:transparent}
.duo{border-radius:18px}
.mosaic{gap:12px}
.labels .lab{border:none;border-radius:var(--r);background:var(--c);box-shadow:0 10px 24px -14px var(--c);padding:16px 6px 12px}
.labels .lab b{color:#fff;font-family:var(--display);font-weight:800;letter-spacing:-.03em}
.labels .lab span{color:rgba(255,255,255,.88)}
.labels .lab:hover{transform:translateY(-3px);background:var(--c);box-shadow:0 16px 30px -14px var(--c)}
:root[data-theme="dark"] .labels .lab b,:root[data-theme="dark"] .labels .lab span{color:#0A0B14}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .labels .lab b,:root:not([data-theme="light"]) .labels .lab span{color:#0A0B14}}
.figures b{font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.03em}
.door,.card,.rows,.band,.box,.exo,.dictee,.carte,.absent{border-radius:var(--r)}
.door{border:none;box-shadow:var(--shadow)}
.door b,.card h3,.band b{font-family:var(--display);font-weight:750;letter-spacing:-.02em}
.door:hover,.card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px rgba(14,16,32,.35)}
.card{border:none;box-shadow:var(--shadow)}
.card .meta{border-top-style:solid}
.band{border:none;padding-left:24px;background:linear-gradient(120deg,var(--encre-soft),var(--sheet))!important;box-shadow:var(--shadow)}
.lvhero{border-radius:32px}
.lvhero .big{font-family:var(--display);font-weight:800;letter-spacing:-.06em}
.btn{border-radius:999px}
.btn.sm{border-radius:999px}

/* séquence */
.seqhead h1{font-weight:800}
.counts a,.counts span{border:none;background:var(--sheet);box-shadow:var(--shadow)}
.sechead{border-bottom:none;padding-bottom:4px;align-items:center}
.sechead .num{grid-row:span 3;align-self:start;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-family:var(--display);font-size:20px;font-weight:800;line-height:1;color:#fff;background:var(--c,var(--encre));box-shadow:0 8px 18px -10px var(--c,var(--encre))}
.sechead .kick{color:var(--c,var(--muted))}
.sechead h2{font-weight:750}
.parcours a i{border-radius:8px}
.box,.exo,.dictee{border:none;box-shadow:var(--shadow)}
.k-retenir{padding:18px 22px 20px;border:none;background:linear-gradient(135deg,var(--encre-soft),var(--sheet) 70%)!important;line-height:1.65;position:relative}
.k-retenir::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 4px 4px 0;background:var(--encre)}
.k-retenir .blabel{color:var(--encre)}
.k-retenir h4{font-family:var(--display);font-weight:750;letter-spacing:-.015em;color:var(--ink)}
.exo{border-top:none;position:relative}
.exo::before,.dictee::before{content:"";position:absolute;left:22px;right:22px;top:0;height:4px;border-radius:0 0 4px 4px;background:var(--encre)}
.dictee{border-top:none;position:relative}
.dictee::before{background:var(--marge)}
.dictee textarea{padding:10px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--bg)!important;background-image:none!important;line-height:1.7}
.texte{border-radius:20px;border:none;border-left:none;box-shadow:var(--shadow)}
.texte figcaption{font-family:var(--display);font-weight:750;letter-spacing:-.015em}
.fiche-tech{border-radius:var(--r)}
.who img,.tl img,.ev .au img{border-radius:12px}
.cm .ctr b{font-family:var(--display);font-weight:800;letter-spacing:-.03em}
.frise-sec .sechead .num{background:linear-gradient(135deg,var(--or),var(--l3e))}
.bio-panel .who figcaption{display:none}
.cm .syn ul,.cm .ant ul,.cm .chp ul{flex-direction:row;flex-wrap:wrap;list-style:none;padding:12px;gap:6px}
.cm .syn li,.cm .ant li,.cm .chp li{background:var(--sheet);border:1px solid color-mix(in srgb,var(--b) 35%,transparent);border-radius:999px;padding:2px 10px}
@media (max-width:720px){.cm{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"ctr ctr" "syn ant" "ety ety" "chp chp" "exp exp" "ref ref"}}
@media (max-width:640px){.acces{grid-template-columns:minmax(0,1fr)}}
.acces{border-radius:var(--r);border:none}

/* ---------- Une séance à la fois (pages allégées) */
.stepnav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:32px 0 8px;padding-top:20px;border-top:1px solid var(--line)}
.stepnav a{display:flex;flex-direction:column;gap:2px;min-width:0;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--sheet);color:var(--ink);text-decoration:none;font-weight:700;font-size:15px;line-height:1.3}
.stepnav a:hover{border-color:var(--c,var(--encre))}
.stepnav a small{font-size:12px;font-weight:600;color:var(--muted)}
.stepnav .next{text-align:right;align-items:flex-end}
.stepnav .pos{font-size:13px;font-weight:700;color:var(--muted)}
@media (max-width:600px){.stepnav{grid-template-columns:1fr 1fr}.stepnav .pos{grid-column:1/-1;grid-row:1;text-align:center}}
html.paged .parcours a.on{color:var(--ink)}
html:not(.prof-on) .fiche-tech{display:none}
html.paged section.sec[hidden]{display:none!important}

/* ---------- Mode PEJS (élèves sourds, LSF) */
header.top .pejschip{display:inline-flex;align-items:center;gap:5px;border:1.5px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:13px;padding:5px 10px;border-radius:999px;cursor:pointer;margin-left:4px}
header.top .pejschip svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html.pejs header.top .pejschip{background:var(--encre);color:var(--on-encre);border-color:var(--encre)}
.pejsbar{display:none}
html.pejs .pejsbar{display:block;background:var(--encre-soft);border-bottom:1px solid var(--line);font-size:14.5px}
.pejsbar .col{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding-block:10px}
.pejsbar span{flex:1 1 280px;min-width:0;color:var(--ink)}
.pejsbar button{border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:999px;padding:4px 12px;font:inherit;font-weight:700;cursor:pointer}
html.pejs body{line-height:1.8;word-spacing:.06em}
html.pejs p,html.pejs li{max-width:62ch}
/* dictée à lire */
.vis{display:none}
html.pejs .dictee .vis{display:flex;flex-direction:column;gap:10px}
html.pejs .dictee .play,html.pejs .dictee .stop,html.pejs .dictee .slow{display:none}
.vis-ctl{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.vis-ctl label{font-size:14px;color:var(--muted);display:flex;gap:6px;align-items:center}
.vis-screen{min-height:3.2em;display:grid;place-items:center;text-align:center;padding:14px 16px;border:2px solid var(--encre);border-radius:12px;background:var(--page);font-family:var(--text);font-size:clamp(20px,3.4vw,28px);line-height:1.35;color:var(--ink)}
.vis-screen:empty{display:none}
.vis-screen.gone{border-style:dashed;color:var(--muted);font-size:16px;font-family:var(--ui)}
.vis-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.vis-pos{font-size:13px;font-weight:700;color:var(--muted);margin-right:auto}
/* poèmes en couleurs */
html.pejs .vis-poem .vl{position:relative;padding-right:2.4em}
.sy.s0,.sy.s1,.sy.mute{color:inherit}
html.pejs .vis-poem .sy.s0{color:#1F4FB3}
html.pejs .vis-poem .sy.s1{color:#B3261E}
html.pejs .vis-poem .sy.mute{color:var(--muted);opacity:.55;font-size:.9em}
html.pejs .vis-poem .rime{border-radius:4px;padding:0 2px}
html.pejs .vis-poem .rime.r1{background:#FFE7A3}html.pejs .vis-poem .rime.r2{background:#CDEBD3}html.pejs .vis-poem .rime.r3{background:#D7E3FF}
html.pejs .vis-poem .rime.r4{background:#F6D3E6}html.pejs .vis-poem .rime.r5{background:#E2D8F7}html.pejs .vis-poem .rime.r6{background:#FFD9C2}
.syc{display:none}
html.pejs .vis-poem .syc{display:inline-block;position:absolute;right:0;top:.15em;font:700 12px/1.6 var(--ui);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 6px;background:var(--sheet)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) html.pejs .vis-poem .rime{color:#111}}
/* signes LSF et pictogrammes */
.lsf{display:none}
html.pejs .lsf{display:inline-block;margin-left:6px;font:700 11px/1.5 var(--ui);letter-spacing:.04em;padding:0 6px;border-radius:999px;border:1px solid var(--encre);color:var(--encre);text-decoration:none;vertical-align:2px}
.picto{display:none}
html.pejs .picto{display:inline-flex;align-items:center;gap:4px;margin-right:8px;padding:1px 8px 1px 5px;border-radius:999px;background:var(--encre-soft);color:var(--encre);font:700 12px/1.6 var(--ui);vertical-align:1px}
html.pejs .picto svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lsfslot{border:1.5px dashed var(--line);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--muted)}
html:not(.pejs) .lsfslot{display:none!important}

/* ===== Graphisme « Classique affirmé » (choisi par Etienne, 16/10) : Playfair Display + Source Serif 4 + Lato ; actif via data-v="1" sur <html> ===== */
/* ---------- socle commun aux cinq affinements ---------- */
:root[data-v]{
  --bg:#F1EADB; --sheet:#FBF7EE; --page:#FDFAF3; --ink:#1C1915; --muted:#5E5547; --line:#DCD0B9;
  --encre:#A8241C; --encre-2:#861C16; --encre-soft:#F3E3D9; --on-encre:#FFFFFF; --marge:#A8241C; --or:#A8241C;
  --l6e:#1C1915; --l5e:#1C1915; --l4e:#1C1915; --l3e:#1C1915; --l2nde:#A8241C; --l1re:#A8241C; --lTle:#A8241C;
  --title:var(--ink); --tw:700; --h1:clamp(44px,7.5vw,84px); --h2:clamp(26px,3.6vw,34px); --fs:18px; --lh:1.7;
  --shadow:none; --r:2px; color-scheme:light}
:root[data-v] body{background:var(--bg);color:var(--ink);font-family:var(--text);font-size:var(--fs);line-height:var(--lh);-webkit-font-smoothing:antialiased}
[data-v] main .col{display:flex;flex-direction:column;gap:clamp(48px,7vw,80px)}
[data-v] header.top{background:var(--bg);border-bottom:none;box-shadow:inset 0 -1px 0 var(--ink),inset 0 -4px 0 var(--bg),inset 0 -5px 0 var(--encre)}
[data-v] .brand{font-family:var(--display);font-weight:var(--tw);font-size:23px;letter-spacing:0;color:var(--ink)}
[data-v] .brand em{font-style:italic;color:var(--encre);font-weight:var(--tw)}
[data-v] .brand .nib{background:none;color:var(--ink);padding:0}
[data-v] nav.lv a{border-radius:var(--r);font-family:var(--ui);font-weight:600;letter-spacing:0;text-transform:none;font-size:15px;color:var(--muted)}
[data-v] nav.lv a:hover{color:var(--ink);background:var(--sheet)}
[data-v] nav.lv a.profchip{border:1px solid var(--line)}
[data-v] h1,[data-v] h2,[data-v] h3,[data-v] h4{font-family:var(--display);font-weight:var(--tw);color:var(--title);text-transform:none;letter-spacing:0}
[data-v] .hero{background:var(--sheet)!important;border-radius:0;box-shadow:none;border:1px solid var(--ink);outline:1px solid var(--encre);outline-offset:-9px}
[data-v] .hero::before,[data-v] .hero::after{display:none}
[data-v] .hero-in{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:36px;padding:clamp(40px,7vw,84px) clamp(20px,6vw,72px)}
[data-v] .hero-txt{align-items:center;gap:18px}
[data-v] .hero h1{font-size:var(--h1);line-height:1.04;letter-spacing:-.005em}
[data-v] .hero h1 em{background:none;-webkit-text-fill-color:var(--encre);color:var(--encre);font-style:italic;font-weight:var(--tw)}
[data-v] .eyebrow{font-family:var(--ui);color:var(--encre);letter-spacing:.14em;font-weight:700;font-size:12.5px}
[data-v] .lede{font-family:var(--text);font-size:clamp(19px,2.2vw,22px);line-height:1.6;max-width:32em;color:var(--ink)}
[data-v] .by{font-family:var(--ui);font-size:15px;color:var(--muted)}
[data-v] .mosaic{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;max-width:700px;width:100%}
[data-v] .mosaic a:nth-child(3n+2){transform:none}
[data-v] .mosaic a{align-items:center;gap:8px;font-family:var(--ui);font-size:13px;font-weight:600;line-height:1.3;color:var(--muted)}
[data-v] .duo{border-radius:0;filter:grayscale(1) sepia(.3);border:1px solid var(--line);padding:0;background:var(--sheet)}
[data-v] h2{font-size:var(--h2);line-height:1.15}
[data-v] .pick h2,[data-v] .blockhead h2{text-align:center}
[data-v] .pick h2::after,[data-v] .blockhead h2::after{content:"";display:block;width:48px;height:2px;background:var(--encre);margin:14px auto 0}
[data-v] .blockhead{flex-direction:column;align-items:center;gap:8px}
[data-v] .blockhead a,[data-v] .from{font-family:var(--ui);font-size:15px}
[data-v] .cycle{font-family:var(--ui);letter-spacing:.12em;color:var(--muted)}
[data-v] .labels .lab{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);box-shadow:none;padding:22px 12px}
[data-v] .labels .lab b{color:var(--title);font-family:var(--display);font-weight:var(--tw);font-size:38px}
[data-v] .labels .lab span{color:var(--muted);font-family:var(--ui);font-size:14px}
[data-v] .labels .lab:hover{border-color:var(--encre);background:var(--page)}
[data-v] .figures{justify-content:center;gap:28px;font-family:var(--ui);color:var(--muted)}
[data-v] .figures b{font-family:var(--display);font-weight:var(--tw);font-size:30px;color:var(--title)}
[data-v] .muted{font-family:var(--ui);font-size:16px}
[data-v] .exo,[data-v] .dictee,[data-v] .door,[data-v] .box,[data-v] .texte,[data-v] details.carte{border-radius:var(--r);box-shadow:none;border:1px solid var(--line);background:var(--sheet)}
[data-v] .exo::before,[data-v] .dictee::before{display:none}
[data-v] .exo h4,[data-v] .dictee h4,[data-v] .box h4{font-size:22px}
[data-v] .blabel,[data-v] .kick,[data-v] .lv-tag,[data-v] .live-tag{font-family:var(--ui)}
[data-v] .blabel,[data-v] .kick{color:var(--encre);letter-spacing:.1em}
[data-v] .btn{border-radius:var(--r);background:var(--ink);color:var(--sheet);letter-spacing:0;text-transform:none;font-family:var(--ui);font-weight:700;font-size:15px}
[data-v] .btn.gold{background:var(--encre);color:var(--on-encre)}
[data-v] .btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
[data-v] .door{text-align:center;align-items:center}
[data-v] .door ul{list-style:none;padding:0}
[data-v] .door b{font-family:var(--display);font-weight:var(--tw);font-size:26px}
[data-v] footer{background:var(--sheet);border-top:1px solid var(--ink);font-family:var(--ui)}
[data-v] .fbrand{font-family:var(--display);font-weight:var(--tw)}
[data-v] .dictee textarea,[data-v] .ans,[data-v] input.blank{font-family:var(--text);font-size:18px;background:var(--page)!important}
/* page de séance */
[data-v] .sechead{border-bottom:1px solid var(--ink);padding-bottom:14px;align-items:baseline}
[data-v] .sechead .num{width:auto;height:auto;border-radius:0;background:none;box-shadow:none;color:var(--encre);font-family:var(--display);font-weight:var(--tw);font-size:46px}
[data-v] .sechead h2{font-size:clamp(28px,4vw,38px);line-height:1.12}
[data-v] .sechead .sub{font-family:var(--ui);font-size:15.5px}
[data-v] .texte{background:var(--page);padding:clamp(20px,4vw,36px)}
[data-v] .texte>figcaption{font-family:var(--display);font-weight:var(--tw);font-size:24px;letter-spacing:0}
[data-v] .verses{font-family:var(--text);font-size:19px;line-height:1.75}
[data-v] .who figcaption{font-family:var(--ui);font-size:15px;font-weight:700;color:var(--ink)}
[data-v] .who figcaption span{font-weight:400;color:var(--muted)}
[data-v] .verses .vl{padding-left:1.4em;text-indent:-1.4em}
[data-v] .src{font-family:var(--ui);font-size:14px}
[data-v] .apercu{display:flex;flex-direction:column;gap:22px}
[data-v] .apercu>p{font-family:var(--ui);color:var(--muted);text-align:center;margin:0}

/* ---------- 1. Classique affirmé : Playfair Display + Source Serif 4 ---------- */
:root[data-v="1"]{--display:"Playfair Display",Georgia,serif;--text:"Source Serif 4",Georgia,serif;--ui:"Lato",system-ui,sans-serif;--tw:700}

@media (max-width:640px){
  [data-v] .mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}
  [data-v] .hero{outline-offset:-6px}
  [data-v] .sechead .num{font-size:36px}
  [data-v] .verses{font-size:17px;padding-left:26px}
  :root[data-v]{--fs:17px}
}

/* ---------- réglages des pages de séquence */
[data-v] main .col:not(:has(> .hero)){gap:28px}
[data-v] nav.lv a.on{background:var(--ink)!important;color:var(--sheet)!important}
[data-v] .crumb,[data-v] .counts,[data-v] .parcours,[data-v] .toc a,[data-v] .stepnav,[data-v] .who,[data-v] .seqtop figcaption,[data-v] .pn,[data-v] .dt,[data-v] table th{font-family:var(--ui)}
[data-v] .parcours a{font-size:15px}
[data-v] .parcours a.on{color:var(--ink);font-weight:700}
[data-v] .seqhead h1{font-size:clamp(36px,5.6vw,60px);line-height:1.08}
[data-v] .seqhead>p{font-size:19px;color:var(--muted)}
[data-v] .counts span,[data-v] .counts a{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r)}
[data-v] .box h4,[data-v] .exo h4{margin-bottom:4px}
[data-v] [hidden]{display:none!important}
[data-v] .seqtop figure figcaption,[data-v] .seqtop a span{font-family:var(--ui);font-weight:600}

/* fiches de préparation : tableaux à remplir en ligne, liste de vérification */
.filltab th[scope=row]{width:38%;text-align:left;font-weight:600;vertical-align:top}
.filltab td{padding:4px}
.fillin{width:100%;min-height:4.2em;resize:vertical;border:1px solid var(--line);border-radius:var(--r,4px);background:var(--page,#fff);color:inherit;font:inherit;font-size:.95em;padding:6px 8px;box-sizing:border-box}
.fillin:focus{outline:2px solid var(--encre,#2b4c9b);outline-offset:1px}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.checks label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.checks input{margin-top:.35em;width:18px;height:18px;flex:none;accent-color:var(--encre,#2b4c9b)}
.checks input:checked+span{color:var(--muted);text-decoration:line-through}
a.dl{display:inline-flex;align-items:center;gap:6px;font-family:var(--ui,inherit);font-weight:700;font-size:15px;border:1px solid currentColor;padding:6px 12px;border-radius:var(--r,4px);text-decoration:none}
html.pejs .dictee .note{display:none}
.vis-consigne{margin:0;padding:10px 12px;border-left:3px solid var(--encre);background:var(--encre-soft);font-size:.95em;max-width:none}
/* programme officiel en tête des séquences du collège */
.prog{margin-top:14px;border:1px solid var(--line);border-left:3px solid var(--encre);background:var(--sheet);padding:10px 14px;font-size:15px;line-height:1.5;display:flex;flex-direction:column;gap:6px;max-width:72ch}
.prog header{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.prog p{margin:0}
.prog .prog-links a{font-family:var(--ui,inherit);font-weight:700;font-size:14px}
.prog .prog-ent ul{margin:4px 0 0;padding-left:1.1em}
.prog .prog-ent b{font-family:var(--ui,inherit);font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.prog .prog-old{color:var(--muted);font-size:14px}
/* lectures YouTube sous les textes (pas en mode PEJS) */
.src a.yt{white-space:nowrap}
html.pejs .src a.yt{display:none}
.src a.yt-lsf{display:none;white-space:nowrap}
html.pejs .src a.yt-lsf{display:inline}

/* survol : la couleur du texte change (Etienne, 16/10) — rouge encre du graphisme Classique affirmé */
[data-v] a,[data-v] .btn{transition:color .15s ease,background-color .15s ease,border-color .15s ease}
[data-v] main a:not(.btn):not(.lab):hover,[data-v] footer a:hover,[data-v] .brand:hover,[data-v] .crumb a:hover{color:var(--encre)}
[data-v] nav.lv a:not(.on):hover,[data-v] nav.lv a.profchip:hover{color:var(--encre);background:var(--sheet)}
[data-v] .card:hover h3,[data-v] .door:hover b,[data-v] .door:hover .go,[data-v] .tile:hover,[data-v] .tile:hover b,[data-v] .pn a:hover,[data-v] .stepnav a:hover,[data-v] .rows a:hover,[data-v] .author:hover b,[data-v] .mosaic a:hover span{color:var(--encre)}
[data-v] .parcours a:not(.on):hover,[data-v] .toc a:not(.on):hover{color:var(--encre)}
[data-v] .labels .lab:hover b,[data-v] .labels .lab:hover span{color:var(--encre)}
[data-v] .btn.ghost:hover{color:var(--encre)}
[data-v] .btn:not(.ghost):hover{color:var(--on-encre)}
/* annales brevet / bac */
nav.years{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}
nav.years a{font-weight:700;font-size:13.5px;padding:5px 10px;border:1.5px solid var(--line);border-radius:8px;text-decoration:none;color:var(--muted);font-variant-numeric:tabular-nums}
nav.years a:hover{color:var(--encre);border-color:var(--encre)}
.ayear{scroll-margin-top:calc(var(--head-h) + 16px);display:flex;flex-direction:column;gap:10px}
.ayear h2{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.ayear h2 small{font-family:var(--sans,inherit);font-size:13px;font-weight:400;color:var(--muted)}
.arows,.aindex{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--sheet)}
.arows li,.aindex li{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 16px;border-top:1px solid var(--line);min-width:0}
.arows li:first-child,.aindex li:first-child{border-top:none}
.ah{min-width:0}.ah b{display:block}.ah p{margin:2px 0 0;font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.ah p.miss{font-size:12.5px;font-style:italic}
.al{display:flex;flex-wrap:wrap;gap:6px}
a.ax{display:inline-flex;flex-direction:column;padding:5px 10px;border-radius:8px;border:1.5px solid var(--encre);text-decoration:none;line-height:1.2;max-width:100%}
a.ax b{font-size:13.5px;color:var(--encre)}a.ax small{font-size:11.5px;color:var(--muted);overflow-wrap:anywhere}
a.ax.cor{border-color:var(--line)}
a.ax:hover{background:var(--encre-soft)}a.ax:hover b{color:var(--ink)}
.aindex li span{font-size:14px;color:var(--muted);min-width:0}
.aindex li{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 12px}
.al .ak{flex:0 0 100%;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.arows li.agroup{background:var(--bg);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 16px}
.arows li.agroup:first-child{border-radius:12px 12px 0 0}
/* bouton PEJS toujours visible : à droite du titre sur téléphone, après le menu sur ordinateur */
header.top .brand{order:0}header.top nav.lv{order:1}header.top .pejschip{order:2;flex:none}
@media (max-width:760px){header.top .pejschip{order:1;margin-left:auto}header.top nav.lv{order:2}}
@media (min-width:761px){header.top .col{gap:8px 12px}[data-v] nav.lv a{padding-inline:7px}nav.lv .sep{margin:0 3px}}
.ytbar{margin:4px 0 14px;display:flex;flex-wrap:wrap;gap:8px}
.ytbar a{display:inline-flex;align-items:center;gap:6px;font-family:var(--ui);font-size:13.5px;font-weight:700;text-decoration:none;color:var(--encre);border:1.5px solid var(--encre);border-radius:999px;padding:5px 12px;line-height:1.2}
.ytbar a:hover{background:var(--encre);color:var(--on-encre)}.ytbar a:hover .ast{color:inherit}
.ytbar a.yt-lsf{display:none}html.pejs .ytbar a.yt{display:none}html.pejs .ytbar a.yt-lsf{display:inline-flex}
/* revue 16/10 : boutons d'écoute sur une ligne de texte, cases vides des tableaux à compléter */
.ytbar a{display:inline-block;text-align:left}
html.pejs .ytbar a.yt-lsf{display:inline-block}
.ytbar a small{font-weight:500;opacity:.8;margin-left:2px}
.ytbar a .ast{margin-left:4px}
td:empty{height:2.4em}
details.corr{margin:14px 0;border:1.5px dashed var(--line);border-radius:var(--r,10px);background:var(--bg)}
details.corr>summary{cursor:pointer;font-family:var(--ui);font-weight:700;font-size:14px;padding:10px 14px;color:var(--encre)}
details.corr>summary:hover{text-decoration:underline}
details.corr[open]>summary{border-bottom:1px dashed var(--line)}
details.corr .corrb{padding:4px 14px 12px}
/* langue : accès direct aux exercices */
.rows .lrow{display:flex;align-items:center;border-top:1px solid var(--line);min-width:0}
.rows .lrow:first-child{border-top:none}
.rows .lrow a{border-top:none}
.rows .lrow a.lmain{flex:1;min-width:0}
.rows .lrow a.lexo{flex:none;margin-right:14px;padding:6px 12px;border:1.5px solid var(--encre);border-radius:999px;font-family:var(--ui);font-size:13px;font-weight:700;color:var(--encre);gap:0}
.rows .lrow a.lexo:hover{background:var(--encre);color:var(--on-encre)}
.trainbox{margin:22px 0 6px;padding:16px 18px;border:2px solid var(--encre);border-radius:var(--r,12px);background:var(--sheet);display:flex;flex-direction:column;gap:10px}
.trainbox h4{margin:0;font-family:var(--titre,inherit);font-size:20px}
.trainbox .tlinks{display:flex;flex-direction:column;gap:8px}
.trainbox .tlinks a{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--encre);background:var(--bg)}
.trainbox .tlinks a:hover{border-color:var(--encre)}
.trainbox .tlinks small{font-family:var(--ui);font-size:12.5px;color:var(--muted)}
.trainbox a.all{font-family:var(--ui);font-size:14px;font-weight:700;color:var(--encre)}
.counts a{text-decoration:none}
.trainbox .tlinks a.tx{display:block;padding:8px 12px;font-family:var(--ui);font-size:14px;line-height:1.35}
.trainbox .tlinks a.tx b{margin-right:4px}
.trainbox .tlinks a.tx small{margin-left:4px;font-size:11.5px;padding:1px 6px;border-radius:6px;background:var(--sheet)}
/* noms d'auteurs longs sous le portrait (Chateaubriand…) */
[data-v] .who figcaption{overflow-wrap:break-word;hyphens:auto}
@media (max-width:480px){[data-v] .box .who figcaption,[data-v] .sec>.who figcaption{font-size:13px}}
/* ---------- recherche */
header.top .srchchip{order:2;flex:none;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-family:var(--ui);font-weight:700;font-size:13px;padding:5px 11px;border-radius:999px;cursor:pointer}
header.top .srchchip:hover{border-color:var(--encre);color:var(--encre)}
header.top .pejschip{order:3}
.srchchip svg,.srchbig svg,.srch-bar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;flex:none}
@media (max-width:760px){header.top .srchchip{order:1;margin-left:auto;padding:6px 9px}header.top .srchchip span{display:none}header.top .pejschip{order:1;margin-left:6px}}
.srchbig{display:flex;align-items:center;gap:10px;width:100%;max-width:520px;margin:18px auto 0;padding:13px 18px;border:1.5px solid var(--encre);border-radius:999px;background:var(--sheet);color:var(--muted);font-family:var(--ui);font-size:15.5px;text-align:left;cursor:text}
.srchbig svg{color:var(--encre);width:19px;height:19px}
.srchbig:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--encre) 15%,transparent)}
html.srch-open{overflow:hidden}
.srch{position:fixed;inset:0;z-index:100;background:color-mix(in srgb,var(--ink) 45%,transparent);display:flex;justify-content:center;align-items:flex-start;padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 12px max(12px,env(safe-area-inset-left,0px))}
.srch[hidden]{display:none}
.srch-in{width:100%;max-width:720px;max-height:calc(100dvh - 24px);margin-top:4vh;display:flex;flex-direction:column;background:var(--bg);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.25);overflow:hidden}
.srch-bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--encre)}
.srch-bar input{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:17px;color:var(--ink);outline:none;padding:6px 0}
.srch-x{flex:none;border:1px solid var(--line);background:var(--sheet);border-radius:999px;padding:5px 11px;font-family:var(--ui);font-size:13px;font-weight:700;color:var(--muted);cursor:pointer}
.srch-f{display:flex;gap:6px;overflow-x:auto;padding:10px 14px 2px;scrollbar-width:none}
.srch-f button{flex:none;border:1px solid var(--line);background:var(--sheet);border-radius:999px;padding:5px 11px;font-family:var(--ui);font-size:13px;font-weight:700;color:var(--muted);cursor:pointer}
.srch-f button.on{background:var(--encre);border-color:var(--encre);color:var(--on-encre)}
.srch-n{margin:8px 16px 4px;font-family:var(--ui);font-size:13px;color:var(--muted)}
.srch-r{list-style:none;margin:0;padding:0 8px 10px;overflow-y:auto;overscroll-behavior:contain}
.srch-r a{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:10px;text-decoration:none;color:var(--ink)}
.srch-r a:hover,.srch-r a:focus{background:var(--sheet);outline:none;box-shadow:inset 3px 0 0 var(--encre)}
.srch-r b{font-size:15.5px;font-weight:600;line-height:1.3}
.srch-r small{font-family:var(--ui);font-size:12.5px;color:var(--muted);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.srch-t{font-family:var(--ui);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--encre)}
.srch-r mark{background:color-mix(in srgb,var(--encre) 16%,transparent);color:inherit;border-radius:3px;padding:0 1px}
/* ---------- qui suis-je, contact */
.qui{max-width:720px;display:flex;flex-direction:column;gap:6px}
.qui .qh{font-size:22px;margin:22px 0 6px}
ol.cv{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
ol.cv li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:8px 0 8px 14px;position:relative}
ol.cv li::before{content:"";position:absolute;left:-6px;top:14px;width:10px;height:10px;border-radius:50%;background:var(--encre)}
ol.cv .cv-d{font-family:var(--ui);font-size:13px;font-weight:700;color:var(--encre);padding-top:2px}
ol.cv b{display:block}
ol.cv p{margin:2px 0 0;color:var(--muted)}
@media (max-width:480px){ol.cv li{grid-template-columns:1fr;gap:2px}}
.qui .cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.mailbox{border:2px solid var(--encre);border-radius:var(--r,12px);background:var(--sheet);padding:18px;display:flex;flex-direction:column;gap:10px;margin-top:6px}
.mailbox .mail{margin:0;font-family:var(--titre,inherit);font-size:clamp(18px,5vw,26px);font-weight:700;overflow-wrap:anywhere;user-select:all}
.mailbox .row{display:flex;flex-wrap:wrap;gap:10px}
.plainlist{display:flex;flex-direction:column;gap:8px;padding-left:20px;margin:0}
.hero .by a{color:inherit}
.srch-bar,.srch-f,.srch-n{flex:none}
@media (max-width:440px){[data-v] header.top .brand{font-size:19px;gap:6px;margin-right:0}header.top .srchchip{padding:5px 7px}header.top .pejschip{padding:5px 8px;margin-left:4px}header.top .pejschip svg{width:14px;height:14px}}
@media (max-width:360px){[data-v] header.top .brand .nib{display:none}}
header.top .srchchip span{display:none}header.top .srchchip{padding:5px 8px}
@media (min-width:761px) and (max-width:1099px){header.top .srchchip{order:1;margin-left:auto}header.top .pejschip{order:1;margin-left:6px}header.top nav.lv{order:2;flex-basis:100%}}
@media (max-width:1099px){header.top .pejschip{margin-left:auto}header.top .srchchip{margin-left:6px}}
/* ---------- sommaire */
.srchmore{margin:10px 0 0;text-align:center;font-family:var(--ui);font-size:14px;color:var(--muted)}
.srchmore a{color:var(--encre);font-weight:700}
.sm-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 6px}
.sm-chips{display:flex;flex-wrap:wrap;gap:6px}
.sm-chips a{font-family:var(--ui);font-size:13.5px;font-weight:700;text-decoration:none;color:var(--encre);border:1.5px solid var(--line);border-radius:999px;padding:5px 11px;background:var(--sheet)}
.sm-chips a:hover{border-color:var(--encre)}
.sm-b{margin-top:26px;scroll-margin-top:90px}
.sm-b h2{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:6px}
.sm-b h2 a{color:inherit;text-decoration:none}
.sm-b h2 small{font-family:var(--ui);font-size:13px;font-weight:400;color:var(--muted)}
.sm-b h3{font-family:var(--ui);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--encre);margin:16px 0 4px}
.sm-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.sm-i{border-bottom:1px solid var(--line);padding:7px 0;min-width:0}
.sm-i summary{display:flex;align-items:baseline;gap:10px;cursor:pointer;list-style:none}
.sm-i summary::-webkit-details-marker{display:none}
.sm-i summary::before{content:"▸";color:var(--encre);font-size:13px;flex:none;transition:transform .15s}
.sm-i details[open] summary::before{transform:rotate(90deg)}
.sm-a{font-weight:600;color:var(--ink);text-decoration:none;min-width:0}
.sm-a:hover{color:var(--encre);text-decoration:underline}
.sm-n{margin-left:auto;flex:none;font-family:var(--ui);font-size:12px;color:var(--muted)}
.sm-steps{margin:6px 0 4px 22px;padding:0 0 0 14px;border-left:2px solid var(--line);columns:2 260px;column-gap:28px;font-family:var(--ui);font-size:14px}
.sm-steps li{break-inside:avoid;padding:2px 0}
.sm-steps a{color:var(--ink);text-decoration:none}
.sm-steps a:hover{color:var(--encre);text-decoration:underline}
.sm-flat .sm-i{padding:9px 0}
/* tuiles de classe : le nombre de séquences passe à la ligne sur téléphone */
.labrow .lab{min-width:0}
.labrow .lab span{overflow-wrap:anywhere;text-align:center}
@media (max-width:480px){.labrow.c4 .lab span{font-size:11.5px;line-height:1.25}}
/* Photo d'Etienne (Qui suis-je ?, Contact) */
.qui-intro{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:24px;align-items:start;margin-bottom:6px}
.qui-photo{margin:0}
.qui-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r,12px);border:1px solid var(--line);box-shadow:0 10px 26px -14px rgba(28,25,21,.45)}
.qui-txt{min-width:0;display:flex;flex-direction:column;gap:6px}
.qui-txt .cta{margin-top:8px}
@media (max-width:600px){.qui-intro{grid-template-columns:1fr;gap:16px}.qui-photo{width:min(62%,240px);justify-self:center}}
.mb-who{display:flex;align-items:center;gap:14px}
.mb-who .avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--sheet);box-shadow:0 0 0 2px var(--encre)}
.mb-who div{display:flex;flex-direction:column;min-width:0}
.mb-who b{font-family:var(--titre,inherit);font-size:18px}
.mb-who span{color:var(--muted);font-size:14px}
/* Livres chez Nathan (Qui suis-je ?) */
.livres{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;margin:6px 0}
.livre{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;background:var(--sheet);border:1px solid var(--line);border-radius:var(--r,12px);padding:14px}
.livre-couv{aspect-ratio:2/3;border-radius:4px 8px 8px 4px;background:linear-gradient(160deg,var(--encre),#3a1d14);color:#F6EFE3;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px;text-align:center;box-shadow:inset 6px 0 0 rgba(0,0,0,.18),0 6px 14px -8px rgba(0,0,0,.5)}
.livre-couv span{font-family:var(--ui);font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.livre-couv b{font-family:var(--titre,inherit);font-size:14px;line-height:1.15}
.livre-couv small{font-family:var(--ui);font-size:8.5px;opacity:.7;margin-top:6px}
.livre-txt{min-width:0;display:flex;flex-direction:column;gap:4px}
.livre-txt h3{margin:0;font-size:18px}
.livre-txt p{margin:0}
.livre-coll{color:var(--muted);font-size:14px}
.livre-isbn{font-family:var(--ui);font-size:13px;color:var(--muted);user-select:all}
.livre-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px!important}
.livre-btns .btn{font-size:14px;padding:8px 12px}
/* Galerie des écrivains (accueil) */
.galerie .gtools{display:flex;flex-direction:column;gap:10px}
.gfind{width:100%;max-width:420px;font:inherit;font-size:16px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--sheet);color:var(--ink)}
.gchips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.gchip{flex:none;font-family:var(--ui);font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--sheet);color:var(--ink);cursor:pointer}
.gchip.on{background:var(--encre);border-color:var(--encre);color:var(--sheet)}
.gbody{display:flex;flex-direction:column;gap:18px}
.gper h3{font-size:19px;margin:0 0 10px;display:flex;align-items:baseline;gap:8px;border-bottom:1px solid var(--line);padding-bottom:6px}
.gper h3 small{font-family:var(--ui);font-size:13px;color:var(--muted);font-weight:600}
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:14px 10px}
.gcard{min-width:0}
.gcard summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:4px;text-align:left}
.gcard summary::-webkit-details-marker{display:none}
.gcard summary img,.gcard summary .mono{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);background:var(--sheet);filter:grayscale(1) sepia(.3);transition:filter .2s}
.gcard summary .mono{font-family:var(--titre,inherit);font-size:26px;font-weight:700;color:var(--encre);filter:none}
.gcard summary:hover img,.gcard[open] summary img{filter:none}
.gcard summary b{font-size:13.5px;line-height:1.2}
.gcard summary span{font-family:var(--ui);font-size:11.5px;color:var(--muted);line-height:1.2}
.gcard[open]{grid-column:1/-1;display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;background:var(--sheet);border:1px solid var(--line);border-left:4px solid var(--encre);padding:14px;border-radius:var(--r,12px)}
.gcard[open] summary b,.gcard[open] summary span{display:none}
.g-more{min-width:0;display:flex;flex-direction:column;gap:6px}
.g-head b{font-family:var(--titre,inherit);font-size:20px;display:block}
.g-head span{font-family:var(--ui);font-size:13px;color:var(--muted)}
.g-bio,.g-where{margin:0}
.g-where{font-family:var(--ui);font-size:13px;font-weight:700;color:var(--encre);margin-top:4px}
.g-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.g-links a{display:flex;flex-direction:column;text-decoration:none;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--page)}
.g-links a:hover{border-color:var(--encre)}
.g-links small{font-family:var(--ui);font-size:11.5px;color:var(--muted)}
.g-wk{font-family:var(--ui);font-size:13px}
@media (max-width:480px){.ggrid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}.gcard[open]{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px}}
/* Page Écrivains et textes : index des textes par auteur */
.ix-jump{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}
.ix-jump a{font-family:var(--ui);font-size:14px;font-weight:600;padding:8px 14px;border:1px solid var(--encre);border-radius:999px;text-decoration:none;color:var(--encre)}
.ix-jump a:hover{background:var(--encre);color:var(--sheet)}
.ix-bar{display:flex;flex-wrap:wrap;gap:4px;position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);padding:8px 0;border-bottom:1px solid var(--line)}
.ix-bar a{font-family:var(--titre,inherit);font-weight:700;font-size:16px;min-width:30px;text-align:center;padding:4px 6px;text-decoration:none;color:var(--encre);border-radius:6px}
.ix-bar a:hover{background:var(--sheet)}
.ix-l{font-size:30px;color:var(--encre);margin:18px 0 6px;scroll-margin-top:70px}
.ix-grp{columns:2 340px;column-gap:32px}
.ix-a{break-inside:avoid;margin:0 0 14px;scroll-margin-top:70px}
.ix-a:target{background:var(--sheet);outline:2px solid var(--encre);outline-offset:6px;border-radius:4px}
.ix-n{margin:0 0 4px}
.ix-n b{font-family:var(--titre,inherit);font-size:17px}
.ix-n span{font-family:var(--ui);font-size:12.5px;color:var(--muted);margin-left:4px}
.ix-a ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.ix-a li{padding-left:12px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:2px}
.ix-t{font-size:15px;line-height:1.35}
.ix-o{display:flex;flex-wrap:wrap;gap:4px 10px}
.ix-o a{font-family:var(--ui);font-size:12.5px;font-weight:600;color:var(--encre)}
.g-ix{margin:2px 0 0;font-family:var(--ui);font-size:13px;font-weight:600}
/* dictées du brevet */
.dz,.bv{display:flex;flex-direction:column;gap:28px;min-width:0;scroll-margin-top:80px}
.bv-head{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:2px solid var(--line)}
.bv-head>p{max-width:68ch}
.bv-jump{display:flex;flex-wrap:wrap;gap:6px}
.bv-jump a{font-family:var(--ui);font-size:13.5px;font-weight:600;padding:5px 10px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--encre);background:var(--sheet);font-variant-numeric:tabular-nums}
.bv-jump a:hover{border-color:var(--marge);color:var(--marge)}
.bv-year{scroll-margin-top:80px}
.bv-rows{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r,14px);background:var(--sheet);overflow:hidden}
.bv-row{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-top:1px solid var(--line);min-width:0}
.bv-row:first-child{border-top:none}
details.bv-row{display:block;padding:0}
details.bv-row>summary{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;list-style:none;min-width:0}
details.bv-row>summary::-webkit-details-marker{display:none}
details.bv-row>summary:hover{background:var(--encre-soft)}
details.bv-row[open]>summary{background:color-mix(in srgb,var(--marge) 8%,var(--sheet))}
details.bv-row>.dictee{margin:0 12px 12px;box-shadow:none}
.bv-c{flex:none;width:9.5em;font-family:var(--ui);font-size:13px;font-weight:600;color:var(--muted);padding-top:2px}
.bv-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.bv-t .s{font-family:var(--ui);font-size:13.5px;color:var(--muted);font-weight:400}
.bv-t .s i,.bv-t .s{overflow-wrap:anywhere}
.bv-why a{font-weight:600;white-space:nowrap}
.bv-go{flex:none;font-family:var(--ui);font-size:13px;font-weight:700;color:var(--marge);white-space:nowrap}
@media (max-width:560px){.bv-row,details.bv-row>summary{flex-wrap:wrap;gap:4px 10px}.bv-c{width:auto;flex-basis:100%}details.bv-row>.dictee{margin:0 6px 8px}}
/* menu à 12 onglets (Glossaire en dernier) : sur ordinateur, le menu passe sur sa propre ligne, PEJS et loupe restent à droite du titre */
@media (min-width:761px){header.top .brand{margin-right:auto}header.top nav.lv{order:9;flex-basis:100%}}
/* glossaire : titre, boutons Lire / Écouter, séquences en gris */
.ix-open{all:unset;cursor:pointer}
.ix-tt{color:var(--ink)}
.ix-tt:hover{color:var(--encre)}
.ix-open:focus-visible,.ix-pill:focus-visible{outline:2px solid var(--encre);outline-offset:2px;border-radius:6px}
.ix-acts{display:flex;flex-wrap:wrap;gap:6px;margin:3px 0 2px}
.ix-pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--ui);font-size:12.5px;font-weight:700;line-height:1;padding:5px 10px 5px 8px;border-radius:999px;border:1.5px solid var(--encre);color:var(--encre);background:var(--sheet);text-decoration:none;cursor:pointer}
.ix-pill svg{width:15px;height:15px;stroke:currentColor;fill:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ix-pill:hover{background:var(--encre);color:var(--sheet)}
.ix-pill.ix-audio{border-color:var(--line);color:var(--ink)}
.ix-pill.ix-audio:hover{background:var(--ink);color:var(--sheet);border-color:var(--ink)}
.ix-o a{color:var(--muted);text-decoration:none;font-weight:600}
.ix-o a::before{content:"↳ ";color:var(--muted)}
.ix-o a:hover{color:var(--encre);text-decoration:underline}
.ix-legend{font-family:var(--ui);font-size:13.5px;color:var(--muted);line-height:2}
.ix-legend .ix-pill{cursor:default;vertical-align:middle}
.ix-legend .ix-pill:hover{background:var(--sheet);color:var(--encre)}
.ix-legend .ix-pill+.ix-pill,.ix-legend .ix-pill:nth-of-type(2){border-color:var(--line);color:var(--ink)}
.tx-pop{position:fixed;inset:0;z-index:60;background:color-mix(in srgb,var(--ink) 45%,transparent);display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
.tx-pop[hidden]{display:none}
.tx-box{background:var(--bg);border:1px solid var(--line);border-radius:var(--r,14px);width:min(760px,100%);max-height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow);min-width:0}
.tx-bar{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line)}
.tx-go{font-family:var(--ui);font-size:13.5px;font-weight:700;color:var(--encre);min-width:0}
.tx-x{all:unset;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);font-size:16px;flex:none}
.tx-x:hover{background:var(--sheet)}
.tx-body{overflow:auto;padding:16px 18px 22px;min-width:0}
.tx-body>figure{margin:0}
html.tx-on{overflow:hidden}
/* cartes mentales toujours affichées (demande du 16/10/2026) */
.carte summary{cursor:default;pointer-events:none}
/* glossaire du vocabulaire */
.vx-grp{columns:2 340px;column-gap:32px}
.vx{break-inside:avoid;margin:0 0 14px;padding-left:12px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:3px}
.vx[hidden],.vx-grp[hidden],.ix-l[hidden]{display:none}
.vx-t{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0}
.vx-t b{font-family:var(--display);font-size:17px}
.vx-nat{font-family:var(--ui);font-size:12.5px;font-style:italic;color:var(--muted)}
.vx-cat{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.vx-lit{color:var(--encre);border-color:color-mix(in srgb,var(--encre) 40%,var(--line))}
.vx-cm{color:var(--gold,#D48F12);border-color:color-mix(in srgb,var(--gold,#D48F12) 45%,var(--line))}
.vx-d{margin:0;font-size:15px;line-height:1.45}
.ix-jump a[aria-current]{background:var(--encre);color:var(--sheet)}
/* cartes mentales, dessin discret (16/10/2026) : mot au centre, branches reliées par des traits */
.carte{box-shadow:none;background:transparent;border:1px solid var(--line);margin:12px 0}
.carte summary{padding:8px 14px}
.carte summary b{font-size:16px}
.cm2{--ln:color-mix(in srgb,var(--ink) 28%,transparent);--k:14px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:4px 14px 14px;font-size:14px;line-height:1.4}
.cm2 .cm-c{grid-column:2;grid-row:1;position:relative;margin-inline:18px;display:flex;flex-direction:column;align-items:center;padding:7px 14px;border:1.5px solid var(--encre);border-radius:999px;background:var(--sheet);text-align:center}
.cm2 .cm-c b{font-family:var(--display);font-size:18px;font-weight:700;color:var(--encre);line-height:1.1}
.cm2 .cm-c span{font-family:var(--ui);font-size:11.5px;color:var(--muted)}
.cm2 .cm-c::before,.cm2 .cm-c::after{content:"";position:absolute;top:50%;width:18px;border-top:1.5px solid var(--ln)}
.cm2 .cm-c::before{right:100%}.cm2 .cm-c::after{left:100%}
.cm2 .cm-l{grid-column:1;grid-row:1}.cm2 .cm-r{grid-column:3;grid-row:1}
.cm2 .cm-s{display:flex;flex-direction:column;min-width:0}
.cm2 .cm-b{position:relative;padding:6px 0;min-width:0}
.cm2 .cm-l .cm-b{padding-right:18px;text-align:right}
.cm2 .cm-r .cm-b{padding-left:18px}
/* tronc vertical et rameau horizontal de chaque branche */
.cm2 .cm-b::before{content:"";position:absolute;top:0;bottom:0;border-left:1.5px solid var(--ln)}
.cm2 .cm-l .cm-b::before{right:0}.cm2 .cm-r .cm-b::before{left:0}
.cm2 .cm-b:first-child::before{top:calc(6px + var(--k) / 2 + 2px)}
.cm2 .cm-b:last-child::before{bottom:calc(100% - 6px - var(--k) / 2 - 2px)}
.cm2 .cm-b:only-child::before{display:none}
.cm2 .cm-b::after{content:"";position:absolute;top:calc(6px + var(--k) / 2 + 2px);width:14px;border-top:1.5px solid var(--ln)}
.cm2 .cm-l .cm-b::after{right:0}.cm2 .cm-r .cm-b::after{left:0}
.cm2 h5{margin:0 0 2px;font:700 11.5px/1.3 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--b,var(--muted))}
.cm2 .cm-w{margin:0;color:var(--ink)}
.cm2 .cm-w small{font-family:var(--ui);font-size:11px;color:var(--muted)}
.cm2 ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}
.cm2 li b{font-weight:600}
.cm2 .cm-ety li b{font-style:italic}
.cm2 .cm-p{display:block;color:var(--muted);font-size:13px}
.cm2 .cm-syn{--b:var(--cm-syn)}.cm2 .cm-ant{--b:var(--cm-ant)}.cm2 .cm-der{--b:var(--cm-ety)}.cm2 .cm-chp{--b:var(--cm-chp)}
.cm2 .cm-ety{--b:var(--cm-ety)}.cm2 .cm-exp{--b:var(--cm-exp)}.cm2 .cm-ref{--b:var(--cm-ref)}
.cm2 .cm-der{--b:color-mix(in srgb,var(--cm-ety) 60%,var(--cm-chp))}
@media (max-width:700px){
 .cm2{grid-template-columns:minmax(0,1fr);padding:4px 12px 12px}
 .cm2 .cm-c{grid-column:1;grid-row:1;justify-self:start;margin:0 0 0;align-items:flex-start;text-align:left}
 .cm2 .cm-c::before{display:none}
 .cm2 .cm-c::after{left:16px;top:100%;width:0;height:10px;border-top:0;border-left:1.5px solid var(--ln)}
 .cm2 .cm-l{grid-column:1;grid-row:2}.cm2 .cm-r{grid-column:1;grid-row:3}
 .cm2 .cm-s{margin-left:16px}
 .cm2 .cm-l .cm-b{padding-right:0;padding-left:18px;text-align:left}
 .cm2 .cm-l .cm-b::before{right:auto;left:0}.cm2 .cm-l .cm-b::after{right:auto;left:0}
 .cm2 .cm-l .cm-b:first-child::before{top:0}
 .cm2 .cm-l .cm-b:last-child::before{bottom:0}
 .cm2 .cm-r .cm-b:first-child::before{top:0}
}
/* mode d'emploi */
.mu{display:flex;flex-direction:column;gap:30px;min-width:0}
.mu-intro .para{font-size:18px;max-width:68ch}
.mu-sec{display:flex;flex-direction:column;gap:12px;min-width:0}
.mu-sec>.para{max-width:68ch}
.mu-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.mu-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 40px 16px 18px;border:1px solid var(--line);border-radius:var(--r,14px);background:var(--sheet);text-decoration:none;color:var(--ink);min-width:0}
.mu-card b{font-family:var(--display);font-size:19px;line-height:1.2}
.mu-card span{font-size:15px;color:var(--muted);line-height:1.45}
.mu-card i{position:absolute;right:16px;top:16px;font-style:normal;color:var(--encre);font-weight:700}
.mu-card:hover{border-color:var(--encre)}.mu-card:hover b{color:var(--encre)}
.mu-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.mu-step{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start}
.mu-n{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:var(--encre);color:var(--on-encre,#fff);font:700 16px var(--ui)}
.mu-step h3{margin:4px 0 6px;font-size:19px}
.mu-step p{margin:0 0 8px;max-width:68ch;line-height:1.55}
.mu kbd{font-family:var(--ui);font-size:13px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 6px;background:var(--sheet)}
.hero .by.guide a{font-weight:700;color:var(--encre)}

/* ---- FLE (16/10/2026) : badge de niveau et échelle CECRL ---- */
.rows .n.fle-n{width:auto;min-width:30px;padding:0 7px;font-size:11.5px;letter-spacing:.02em;white-space:nowrap}
.cecrl-box{margin:0 0 22px}
.cecrl-scale{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
.cecrl-scale .cecrl{display:flex;flex-direction:column;align-items:center;min-width:64px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--sheet);font-family:var(--ui);font-size:12px;color:var(--muted)}
.cecrl-scale .cecrl b{font-size:15px;color:var(--encre)}
.cecrl-scale .cecrl.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,var(--sheet))}
.cecrl-scale .cecrl.on b{color:var(--rouge,var(--encre))}
a.url{word-break:break-all;overflow-wrap:anywhere}

/* ===== Revue « navigation et design » (17/10/2026) ===== */
/* lien d'évitement (clavier) */
.skip{position:absolute;left:12px;top:-60px;z-index:80;background:var(--ink);color:var(--sheet);padding:10px 14px;font:700 15px var(--ui);text-decoration:none;border-radius:var(--r)}
.skip:focus{top:10px}
/* hauteur réelle de l'en-tête (mesurée par site.js) : la barre des séances se colle juste dessous */
html{scroll-padding-top:calc(var(--hh,92px) + 24px)}
@media (max-width:900px){.toc{top:calc(var(--hh,92px) - 1px)!important}html{scroll-padding-top:calc(var(--hh,92px) + 70px)}}
/* barre des classes : rubrique en cours, cibles tactiles, bord estompé quand la liste continue */
@media (max-width:760px){
  [data-v] nav.lv a{min-height:36px;display:inline-flex;align-items:center;padding:4px 11px}
}
@media (max-width:1099px){
  nav.lv.more-r{-webkit-mask-image:linear-gradient(to right,#000 82%,transparent);mask-image:linear-gradient(to right,#000 82%,transparent)}
  nav.lv.more-l{-webkit-mask-image:linear-gradient(to right,transparent,#000 14%);mask-image:linear-gradient(to right,transparent,#000 14%)}
  nav.lv.more-l.more-r{-webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 82%,transparent);mask-image:linear-gradient(to right,transparent,#000 14%,#000 82%,transparent)}
}
[data-v] nav.lv a.profchip.on{background:var(--ink);color:var(--sheet);border-color:var(--ink)}
/* bouton Menu */
header.top .menuchip{order:4;flex:none;display:none;align-items:center;gap:6px;border:1px solid var(--ink);background:var(--ink);color:var(--sheet);font:700 14px var(--ui);padding:6px 12px 6px 10px;border-radius:999px;cursor:pointer;min-height:36px}
header.top .menuchip svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
header.top .menuchip:hover{background:var(--encre);border-color:var(--encre)}
@media (max-width:1099px){header.top .menuchip{display:inline-flex;margin-left:6px}}
@media (max-width:760px){header.top .menuchip{order:2}header.top nav.lv{order:3}}
@media (min-width:761px) and (max-width:1099px){header.top .menuchip{order:2}header.top nav.lv{order:3}}
@media (max-width:420px){header.top .col{column-gap:6px}header.top .srchchip,header.top .menuchip{margin-left:0}[data-v] header.top .brand{font-size:18.5px}}
@media (max-width:400px){header.top .menuchip span{display:none}header.top .menuchip{padding:6px 9px}header.top .pejschip svg{display:none}header.top .srchchip{min-height:36px;min-width:36px;justify-content:center}}
@media (max-width:370px){[data-v] header.top .brand .nib{display:none}[data-v] header.top .brand{font-size:18px}}
/* panneau du menu */
html.menu-open{overflow:hidden}
.menu{position:fixed;inset:0;z-index:70;background:rgba(28,25,21,.45);display:flex;justify-content:flex-end}
.menu[hidden]{display:none}
.menu-in{width:min(440px,100%);height:100%;overflow:auto;overscroll-behavior:contain;background:var(--bg);padding:max(14px,env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:6px;font-family:var(--ui);box-shadow:-8px 0 30px rgba(0,0,0,.18)}
.menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--ink);margin-bottom:4px}
.menu-head b{font:var(--tw) 22px var(--display)}
.menu-x{border:1px solid var(--ink);background:transparent;color:var(--ink);font:700 14px var(--ui);padding:8px 14px;border-radius:999px;cursor:pointer;min-height:40px}
.menu-home{font-weight:700;color:var(--encre);text-decoration:none;padding:8px 0;font-size:15px}
.menu-lab{margin:10px 0 2px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.menu-lv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.menu-lv.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.menu-lv a{display:flex;flex-direction:column;align-items:center;gap:0;padding:10px 4px 8px;border:1px solid var(--line);background:var(--sheet);text-decoration:none;color:var(--ink);border-radius:var(--r);min-width:0}
.menu-lv a b{font:var(--tw) 26px/1.1 var(--display)}
.menu-lv a span{font-size:12px;color:var(--muted)}
.menu-lv a.on{background:var(--ink);border-color:var(--ink);color:var(--sheet)}.menu-lv a.on span{color:var(--sheet)}
.menu-more{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.menu-more a{display:flex;flex-direction:column;gap:1px;padding:10px 4px 10px 12px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);border-left:3px solid transparent}
.menu-more a b{font-size:16.5px}
.menu-more a span{font-size:13.5px;color:var(--muted);line-height:1.35}
.menu-more a:hover b{color:var(--encre)}
.menu-more a.on{border-left-color:var(--encre);background:var(--sheet)}
.menu-more a.menu-prof b::after{content:" ✎";color:var(--encre)}
.menu-aide{display:flex;flex-wrap:wrap;gap:8px}
.menu-aide a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--sheet);text-decoration:none;color:var(--ink);font-size:14px;font-weight:700}
.menu-aide a.on{border-color:var(--ink)}
/* parcours d'une séquence sur téléphone : la séance affichée est marquée */
@media (max-width:900px){
  [data-v] .toc a{padding:8px 14px;font-size:13.5px}
  [data-v] .toc a.on{background:var(--ink);border-color:var(--ink);color:var(--sheet)}
  [data-v] .toc a.on i{color:var(--sheet)}
}
/* retour en haut */
.totop{position:fixed;right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:25;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px 0 12px;border:1px solid var(--ink);border-radius:999px;background:var(--sheet);color:var(--ink);font:700 14px var(--ui);cursor:pointer;box-shadow:0 4px 14px rgba(28,25,21,.16)}
.totop[hidden]{display:none}
.totop svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.totop:hover{border-color:var(--encre);color:var(--encre)}
html.srch-open .totop,html.menu-open .totop,html.tx-on .totop{display:none}
/* accueil : entrées par besoin */
.needs{display:flex;flex-direction:column;gap:18px}
[data-v] .needs h2{text-align:center}
[data-v] .needs h2::after{content:"";display:block;width:48px;height:2px;background:var(--encre);margin:14px auto 0}
.needgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:10px}
.need{display:flex;gap:14px;align-items:flex-start;padding:16px 16px 16px 14px;border:1px solid var(--line);background:var(--sheet);text-decoration:none;color:var(--ink);border-radius:var(--r);min-width:0}
.need .g{width:26px;height:26px;flex:none;fill:none;stroke:var(--encre);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.need>span{display:flex;flex-direction:column;gap:3px;min-width:0}
.need b{font:var(--tw) 19px/1.2 var(--display)}
.need small{font:14px/1.4 var(--ui);color:var(--muted)}
.need:hover{border-color:var(--encre)}.need:hover b{color:var(--encre)}
@media (max-width:560px){
  [data-v] .hero .mosaic{display:none}
  [data-v] .hero-in{gap:20px;padding:36px 18px 30px}
  [data-v] .hero-txt{gap:14px}
  [data-v] .lede{font-size:18px}
  [data-v] .figures{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;text-align:center}
  [data-v] .figures span{display:flex;flex-direction:column;line-height:1.25;font-size:13.5px}
  [data-v] .figures b{margin:0}
  .need{padding:13px 14px 13px 12px}
}
/* barres « Aller à » des pages de classe et de langue */
.jumpbar a{display:inline-flex;align-items:center;gap:6px;min-height:40px}
.jumpbar a .g{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jumpbar a small{font-size:12px;opacity:.75}
/* programme officiel replié */
details.prog{display:block;padding:0}
details.prog>summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 40px 10px 14px;cursor:pointer;list-style:none;position:relative;min-height:44px}
details.prog>summary::-webkit-details-marker{display:none}
details.prog>summary::after{content:"Voir ▾";position:absolute;right:12px;top:12px;font:700 12.5px var(--ui);color:var(--encre)}
details.prog[open]>summary::after{content:"Fermer ▴"}
details.prog>summary .prog-sum{flex-basis:100%;font-size:14px;color:var(--muted);font-family:var(--ui);line-height:1.4;padding-right:24px}
details.prog[open]>summary .prog-sum{display:none}
details.prog .prog-body{display:flex;flex-direction:column;gap:6px;padding:0 14px 12px}
/* pied de page rangé par rubriques */
footer nav.fnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;align-items:start}
footer nav.fnav div{display:flex;flex-direction:column;gap:2px;min-width:0}
footer nav.fnav b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
footer nav.fnav b:not(:first-child){margin-top:12px}
footer nav.fnav a{padding:5px 0;line-height:1.3}
@media (max-width:640px){footer nav.fnav{grid-template-columns:1fr 1fr}footer nav.fnav div:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:24px}footer nav.fnav div:last-child b{grid-column:1/-1}}
.menu-srch{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:0 16px;border:1px solid var(--encre);border-radius:999px;background:var(--sheet);color:var(--muted);font:15px var(--ui);cursor:pointer;text-align:left;margin:4px 0}
.menu-srch svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--encre);stroke-width:2;stroke-linecap:round}
/* accueil sur téléphone : les trois espaces, plus compacts */
@media (max-width:560px){[data-v] .door{padding:14px 14px 12px;gap:4px}[data-v] .door b{font-size:22px}[data-v] .door ul{font-size:13.5px;gap:0}}
/* séquence sur téléphone : « 3 / 12 » ouvre la liste complète des étapes */
.tocall{display:none}
@media (max-width:900px){
  .toc .tocall{position:sticky;left:0;z-index:1;flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1.5px solid var(--encre);border-radius:999px;background:var(--sheet);color:var(--encre);font:700 13.5px var(--ui);cursor:pointer;box-shadow:8px 0 8px var(--bg)}
  .toc .tocall svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
}
.toclist{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.toclist a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;padding:11px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:15.5px;line-height:1.35}
.toclist a i{font-style:normal;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--line);background:var(--sheet);font-size:12.5px;font-weight:700;color:var(--muted)}
.toclist a span{padding-top:3px}
.toclist a.on{font-weight:700}.toclist a.on i{background:var(--ink);border-color:var(--ink);color:var(--sheet)}
/* pages très longues (vocabulaire, glossaire, brevet, bac) : la barre des lettres ou des années reste sous l'en-tête */
.ix-bar,nav.years{position:sticky;top:calc(var(--hh,92px) - 1px);z-index:9;background:var(--bg)}
nav.years{padding:8px 0;margin:8px 0 4px;border-bottom:1px solid var(--line)}
html:has(.ix-bar),html:has(nav.years){scroll-padding-top:calc(var(--hh,92px) + 64px)}
.ix-l,.ix-a,.ayear,.bv-year,.dz,.bv,.sm-b{scroll-margin-top:0}
@media (max-width:760px){
  .ix-bar,nav.years{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 88%,transparent);mask-image:linear-gradient(to right,#000 88%,transparent)}
  .ix-bar::-webkit-scrollbar,nav.years::-webkit-scrollbar{display:none}
  .ix-bar a,nav.years a{flex:none;min-height:36px;display:inline-flex;align-items:center;justify-content:center}
}
@media (max-width:560px){[data-v] .hero-in{padding:28px 16px 24px;gap:16px}[data-v] .hero-txt{gap:12px}[data-v] .lede{font-size:17px;line-height:1.55}
  [data-v] .hero-txt{width:100%;max-width:100%}.srchbig{font-size:15px;min-width:0}.srchbig span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}}
/* cohérence « Classique affirmé » : bandeau de classe à angles droits, sur papier, comme l'accueil */
[data-v] .lvhero{border-radius:var(--r);background:var(--sheet);border:1px solid var(--ink);outline:1px solid var(--line);outline-offset:-7px}
[data-v] .lvhero .eyebrow{color:var(--encre)}
@media (max-width:560px){[data-v] .lvhero{padding:20px 18px}[data-v] .lvhero .big{font-size:72px}}
@media (min-width:900px){.needgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
[data-v] .espaces>h2{text-align:center}
[data-v] .espaces>h2::after{content:"";display:block;width:48px;height:2px;background:var(--encre);margin:14px auto 0}
.pn a.pn-up{grid-column:1/-1;justify-self:center;display:inline-block;text-align:center;border:none;background:none;font-family:var(--ui);font-weight:700;font-size:15px;color:var(--encre);padding:8px 14px}
.pn a.pn-up:hover{text-decoration:underline}

/* Études d'images (une par séquence) */
.ei-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px 22px;align-items:start}
.ei-head.ajout{padding-left:10px}
.ei-fig{margin:0;min-width:0}
.ei-fig img{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;background:var(--sheet);border:1px solid var(--line)}
.ei-credit{font-family:var(--ui);font-size:12px;color:var(--muted);margin-top:6px;line-height:1.4;overflow-wrap:anywhere}
.ei-meta{min-width:0;display:flex;flex-direction:column;gap:10px}
.ei-cartel{font-family:var(--ui);font-size:14.5px;line-height:1.5;margin:0;padding:10px 12px;border-left:3px solid var(--ink);background:var(--sheet)}
.ei .ei-step,.ei .ei-voc,.ei .ei-rep{margin-top:14px}
@media (max-width:760px){.ei-head{grid-template-columns:1fr}}

/* ---- Cartes mentales v3 (17/10/2026) : même taille, plus graphiques pour la mémoire ---- */
.cm2{--ln:color-mix(in srgb,var(--b,var(--ink)) 55%,transparent)}
.cm2 .cm-c{background:var(--encre);border-color:var(--encre);padding:9px 18px;box-shadow:0 0 0 4px color-mix(in srgb,var(--encre) 14%,transparent)}
.cm2 .cm-c b{color:var(--on-encre,#fff);font-size:19px}
.cm2 .cm-c span{color:color-mix(in srgb,var(--on-encre,#fff) 78%,transparent)}
.cm2 .cm-c::before,.cm2 .cm-c::after{border-top-color:color-mix(in srgb,var(--encre) 45%,transparent);border-top-width:2px}
.cm2 .cm-b::before{border-left-color:color-mix(in srgb,var(--encre) 35%,transparent)}
.cm2 .cm-b::after{border-top:2px solid var(--b)}
.cm2 h5{display:inline-flex;align-items:center;gap:5px;color:var(--b);margin-bottom:4px}
.cm2 .cm-l h5{flex-direction:row-reverse}
.cm-ic{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:color-mix(in srgb,var(--b) 16%,var(--sheet));flex:none}
.cm-ic svg{width:13px;height:13px;fill:none;stroke:var(--b);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cm2 .cm-chips{display:flex;flex-wrap:wrap;gap:4px;margin:0}
.cm2 .cm-l .cm-chips{justify-content:flex-end}
.cm-chip{display:inline-flex;align-items:baseline;gap:4px;padding:1px 9px;border-radius:999px;font-size:13.5px;line-height:1.5;color:var(--ink);background:color-mix(in srgb,var(--b) 11%,var(--sheet));border:1px solid color-mix(in srgb,var(--b) 32%,transparent)}
.cm-chip small{font-family:var(--ui);font-size:10.5px;color:var(--muted)}
.cm2 .cm-ant .cm-chip{text-decoration:none;background:transparent;border-style:dashed}
.cm2 .cm-ety li,.cm2 .cm-exp li,.cm2 .cm-ref li{padding-left:9px;border-left:2px solid color-mix(in srgb,var(--b) 45%,transparent)}
.cm-root{font-style:italic;font-weight:700;color:var(--b)}
.cm2 .cm-exp li b{font-style:italic;font-weight:600}
.cm2 .cm-ref li b{color:var(--b)}
@media (max-width:700px){
 .cm2 .cm-l h5{flex-direction:row}
 .cm2 .cm-l .cm-chips{justify-content:flex-start}
 .cm2 .cm-c::after{border-left:2px solid color-mix(in srgb,var(--encre) 45%,transparent)}
}
.cm2 .cm-b{padding:4px 0}
.cm-chip{padding:0 8px;line-height:1.45;font-size:13px}
.cm2 ul{gap:2px}
.cm2 .cm-ety li,.cm2 .cm-exp li,.cm2 .cm-ref li{font-size:14px;line-height:1.38}
.cm2 .cm-p{font-size:12.5px;line-height:1.35;margin-top:1px}
.cm2 .cm-root{font-size:14.5px}
@media (max-width:700px){
 .cm2 .cm-syn,.cm2 .cm-ant,.cm2 .cm-der,.cm2 .cm-chp{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
 .cm2 .cm-syn h5,.cm2 .cm-ant h5,.cm2 .cm-der h5,.cm2 .cm-chp h5{margin:0 4px 0 0}
 .cm2 .cm-syn .cm-chips,.cm2 .cm-ant .cm-chips,.cm2 .cm-der .cm-chips,.cm2 .cm-chp .cm-chips{display:contents}
 .cm-chip{font-size:12.5px;padding:0 7px}
 .cm2 .cm-b::after{top:calc(4px + 10px)}
}
/* vocabulaire : bouton et fenêtre de la carte mentale */
.vx-cmopen{margin:4px 0 2px}
.vx-open{display:inline-flex;align-items:center;gap:6px}
.vx-open svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
dialog.cm-dlg{width:min(1000px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:0;border:1px solid var(--line);border-radius:var(--r,14px);background:var(--page);color:var(--ink);overflow:auto}
dialog.cm-dlg::backdrop{background:color-mix(in srgb,#000 45%,transparent)}
.cm-dlg-in{position:relative;padding:12px max(12px,env(safe-area-inset-right,0px)) 14px max(12px,env(safe-area-inset-left,0px))}
.cm-dlg .cm-x{position:sticky;top:0;float:right;z-index:2;margin:0 0 6px 8px}
.cm-dlg .carte{margin:0;clear:none}
.cm-dlg-src{margin-top:10px}
.cm-dlg-src span{font-family:var(--ui);font-size:12px;color:var(--muted);margin-right:6px}
button.vx-cat{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.03em;cursor:pointer;background:transparent;line-height:inherit}
button.vx-cat:hover{background:color-mix(in srgb,var(--gold,#D48F12) 12%,transparent)}
.ei-head.noimg{grid-template-columns:minmax(0,1fr);max-width:68ch}
.ei-rep>summary .pill{display:none}
.ei .ei-second .ei-head{margin-top:4px}
.ei .ei-second ol{margin-top:12px}

/* ---- Frise globale des écrivains et des mouvements (17/10/2026) ---- */
.fr{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0}
.fr-tools{display:flex;flex-direction:column;gap:10px}
.fr-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.fr-chk{font-family:var(--ui);font-size:14px;display:inline-flex;align-items:center;gap:6px}
.fr-chk small{color:var(--muted)}
.fr-find{flex:1 1 200px;min-width:0;font:inherit;font-family:var(--ui);font-size:15px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--sheet);color:var(--ink)}
.fr-zoom{display:inline-flex;gap:4px}
.fr-zoom button,.fr-jump button{font-family:var(--ui);font-size:14px;font-weight:700;min-width:40px;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--sheet);color:var(--ink);cursor:pointer}
.fr-jump{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;align-items:center}
.fr-jump::-webkit-scrollbar{display:none}
.fr-jump button{white-space:nowrap;min-height:32px;font-weight:600}
.fr-lab{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.fr-legend{display:flex;flex-wrap:wrap;gap:6px}
.fr-mv{display:inline-flex;align-items:center;gap:6px;font-family:var(--ui);font-size:12.5px;padding:3px 10px 3px 6px;border:1px solid color-mix(in srgb,var(--mc) 40%,transparent);border-radius:999px;background:color-mix(in srgb,var(--mc) 9%,var(--sheet));color:var(--ink);cursor:pointer}
.fr-mv i{width:10px;height:10px;border-radius:999px;background:var(--mc)}
.fr-mv.on{background:var(--mc);color:#fff;border-color:var(--mc)}
.fr-mv.on i{background:#fff}
.fr-scroll{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);background:var(--sheet);border-radius:var(--r,14px);-webkit-overflow-scrolling:touch;scroll-behavior:auto}
.fr-scroll:focus-visible{outline:2px solid var(--encre);outline-offset:2px}
.fr-in{position:relative}
.fr-tick{position:absolute;top:0;bottom:0;border-left:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.fr-tick.mn{border-left-style:dotted}
.fr-tick span{position:absolute;top:4px;left:4px;font-family:var(--ui);font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap}
.fr-tick em{position:absolute;bottom:6px;left:4px;font-family:var(--ui);font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap}
.fr-break{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--ink) 6%,transparent) 6px 8px)}
.fr-break span{position:absolute;top:4px;left:50%;transform:translateX(-50%);color:var(--muted)}
.fr-now{position:absolute;top:0;bottom:0;border-left:2px dashed var(--encre)}
.fr-now span{position:absolute;top:4px;left:4px;font-family:var(--ui);font-size:11.5px;font-weight:700;color:var(--encre)}
.fr-band{position:absolute;height:30px;display:flex;align-items:center;padding:0 8px;border:0;border-radius:6px;background:var(--mc);color:#fff;font-family:var(--ui);font-size:12.5px;font-weight:700;cursor:pointer;overflow:hidden;text-align:left;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12)}
.fr-band span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fr-band.dim{opacity:.28}
.fr-band.on{outline:2px solid var(--ink);outline-offset:1px}
.fr-a{position:absolute;height:42px;display:grid;grid-template-columns:36px auto;grid-template-rows:20px 10px;column-gap:4px;align-items:center;transition:opacity .15s}
.fr-a.dim{opacity:.18}
.fr-face{grid-row:1/3;width:36px;height:36px;padding:0;border-radius:999px;border:2px solid var(--mc);background:var(--page);overflow:hidden;cursor:pointer;display:grid;place-items:center;z-index:1}
.fr-face img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15)}
.fr-face span{font-family:var(--display);font-weight:700;font-size:16px;color:var(--mc)}
.fr-face:hover,.fr-face:focus-visible{transform:scale(1.12);box-shadow:0 0 0 3px color-mix(in srgb,var(--mc) 30%,transparent)}
.fr-n{grid-column:2;font-family:var(--ui);font-size:12.5px;font-weight:700;white-space:nowrap;color:var(--ink);line-height:1}
.fr-a:not(.etud) .fr-n{font-weight:400;color:var(--muted)}
.fr-bar{grid-column:2;grid-row:2;justify-self:start;margin-left:-22px;height:7px;border-radius:999px;background:var(--mc);opacity:.85}
.fr-bar.vivant{background:linear-gradient(90deg,var(--mc) 70%,transparent)}
.fr-bar.approx{background:repeating-linear-gradient(90deg,var(--mc) 0 8px,transparent 8px 11px)}
.fr-pop{position:absolute;z-index:20;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r,14px);background:var(--sheet);color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.18);font-size:14.5px;line-height:1.45;max-height:70vh;overflow:auto}
.fr-p-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}
.fr-p-head img{width:58px;height:58px;border-radius:999px;object-fit:cover}
.fr-p-head b{display:block;font-family:var(--display);font-size:18px;line-height:1.15}
.fr-p-head span{display:block;font-family:var(--ui);font-size:12.5px;color:var(--muted)}
.fr-p-mv{margin-top:5px;font-family:var(--ui);font-size:11.5px;font-weight:700;padding:1px 8px;border:0;border-radius:999px;background:var(--mc);color:#fff;cursor:pointer}
.fr-p-mv .ast{color:#fff}
.fr-p-x{border:0;background:transparent;font-size:16px;cursor:pointer;color:var(--muted);padding:2px 4px}
.fr-p-bio{margin:8px 0 0}
.fr-p-lab{margin:10px 0 2px;font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fr-pop ul{margin:0;padding-left:18px;font-family:var(--ui);font-size:13.5px}
.fr-p-who{margin:0;font-family:var(--ui);font-size:13px}
.fr-more{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:640px){.fr-legend{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.fr-legend::-webkit-scrollbar{display:none}.fr-mv{white-space:nowrap}}
.fr-scroll{overflow:auto;height:min(76vh,860px);overscroll-behavior:contain}
.fr-head{position:sticky;top:0;z-index:6;background:color-mix(in srgb,var(--sheet) 94%,transparent);backdrop-filter:blur(3px);border-bottom:1px solid var(--line)}
.fr-body{position:relative}
.fr-tl{position:absolute;top:5px;margin-left:4px;font-family:var(--ui);font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap;line-height:1.1}
.fr-tl em{display:block;font-style:normal;font-weight:400;font-size:10.5px}
.fr-tl.now{color:var(--encre)}
.fr-p-mv{white-space:nowrap}
.fr-band{font-size:12px}
.fr-p-head .fr-p-mv .ast{display:inline;color:#fff}
.fr-pop.sheet{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:62vh;border-radius:16px 16px 0 0;padding:14px max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));box-shadow:0 -8px 30px rgba(0,0,0,.22)}
/* frise : repères de dates et repères historiques (v37) */
.fr-tick{border-left-color:color-mix(in srgb,var(--ink) 20%,transparent)}
.fr-tick.h{border-left:1px dashed color-mix(in srgb,var(--ink) 13%,transparent)}
.fr-tick.mi{border-left:1px dotted color-mix(in srgb,var(--ink) 8%,transparent)}
.fr-tl{font-size:12.5px;color:var(--ink)}
.fr-tl em{color:var(--muted)}
.fr-tl.h{font-size:11.5px;font-weight:600;color:var(--muted)}
.fr-tl.mi{font-size:10px;font-weight:400;color:var(--muted)}
.fr-n small{margin-left:3px;font-size:11.5px;font-weight:400;color:var(--muted);letter-spacing:0}
.fr-ev{position:absolute;height:16px;display:flex;align-items:center;gap:3px;padding-left:5px;border-left:2px solid var(--encre);font-family:var(--ui);font-size:11px;line-height:1;white-space:nowrap;color:var(--ink)}
.fr-ev b{color:var(--encre);font-weight:700}
.fr-ev .ast{font-size:10px}
.fr-evl{position:absolute;top:0;bottom:0;border-left:1px dashed color-mix(in srgb,var(--encre) 40%,transparent)}
.fr-evs{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--encre) 7%,transparent)}
.fr-jump button{flex:0 0 auto}
.fr-ev.c{padding-right:2px}
.fr-ev{cursor:pointer}
/* étoile ✱ et filet des ajouts : vraiment dorés dans le thème « Classique affirmé » (où --or est rouge) */
:root[data-v]{--ast:#B07409}
.ast{color:var(--ast,var(--or))}
.ajout{box-shadow:inset 3px 0 0 var(--ast,var(--or))}
.exo.ajout{box-shadow:inset 3px 0 0 var(--ast,var(--or)),var(--shadow)}
/* documents iconographiques insérés dans les cours et évaluations */
.icono{margin:12px 0 18px;display:grid;gap:8px;max-width:640px}
.icono img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;background:var(--sheet);border:1px solid var(--line)}
.icono figcaption{display:grid;gap:2px}
.icono .ei-cartel{margin:0}
.icono.noimg{padding:10px 12px;border:1px dashed var(--line);border-radius:var(--r,10px)}
/* illustrations des textes (illustrations.py) */
figure.illus{margin:18px auto;width:fit-content;max-width:min(100%,560px);display:block;background:var(--sheet);border-radius:16px;padding:10px;box-shadow:0 2px 0 rgba(15,127,130,.08),0 16px 36px -24px rgba(31,42,46,.4)}
figure.illus img{display:block;width:auto;max-width:100%;height:auto;max-height:440px;margin:0 auto;border-radius:11px;background:var(--line)}
figure.illus figcaption{width:0;min-width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:3px;padding:8px 4px 2px;font-family:var(--ui);line-height:1.4}
figure.illus .il-leg{font-size:13.5px;font-weight:700;color:var(--muted)}
figure.illus .il-lien{font-size:15px;color:var(--ink)}
figure.illus .il-cr{font-size:12px;color:var(--muted)}
figure.illus .il-cr a{color:inherit}
.illus-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;justify-items:center;margin:18px 0}
.illus-row figure.illus{margin:0}
.illus-row figure.illus img{max-height:340px}
@media (max-width:640px){.illus-row{grid-template-columns:minmax(0,1fr)}figure.illus img,.illus-row figure.illus img{max-height:400px}}
ul.il-credits{display:flex;flex-direction:column;gap:6px;font-size:14px;padding-left:18px}

/* ===================================================================== 18/10/2026 (Etienne Buraud) =====
   1. onglet « Lexique » : les mots de la séquence en fiches et les cartes mentales en grand
   4. « Les mots de la séquence » : fiches de mots au lieu d'un tableau gris
   5. tableaux : en-tête de couleur, première colonne en intitulé, fiches sur téléphone */
:root{--cm-syn:#2F64B5;--cm-ant:#55657A;--cm-der:#8E4585;--cm-chp:#B0640C;--cm-ety:#6B4FCB;--cm-exp:#0F7F82;--cm-ref:#8A6508}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-b]){--cm-syn:#7DB4E8;--cm-ant:#AAB6C4;--cm-der:#D9A0CF;--cm-chp:#EE9D72;--cm-ety:#B99BE6;--cm-exp:#6DCBC4;--cm-ref:#E2B656}}
/* --- carte mentale (cm3) --- */
.carte.cm3{--k:var(--c,var(--encre));--ln:color-mix(in srgb,var(--k) 40%,transparent);margin:0;padding:22px 22px 8px;border:1.5px solid color-mix(in srgb,var(--k) 18%,var(--line));border-radius:20px;background:var(--sheet);box-shadow:0 14px 30px -24px rgba(31,42,46,.45);font-family:var(--ui);min-width:0}
.cm3 .cm-c{display:flex;flex-direction:column;align-items:center;gap:3px;width:max-content;max-width:100%;margin:0 auto;padding:12px 32px 14px;border-radius:999px;background:var(--k);color:#fff;text-align:center;box-shadow:0 0 0 6px color-mix(in srgb,var(--k) 14%,transparent);position:relative;z-index:1}
.cm3 .cm-k{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font:800 11px/1.3 var(--ui);letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.cm3 .cm-k .pill{background:rgba(255,255,255,.18);color:#fff;letter-spacing:.02em;text-transform:none}
.cm3 .cm-c b{font:900 clamp(26px,4.2vw,36px)/1.08 var(--display);color:#fff;letter-spacing:-.01em;overflow-wrap:anywhere}
.cm3 .cm-nat{font:600 14px/1.3 var(--ui);font-style:italic;color:rgba(255,255,255,.88)}
.cm3 .cm-g{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 32px;padding-top:24px}
.cm3 .cm-g::before{content:"";position:absolute;left:calc(50% - 1.5px);top:0;bottom:30px;border-left:3px solid var(--ln);border-radius:3px}
.cm3 .cm-s{display:flex;flex-direction:column;gap:14px;min-width:0;padding-bottom:14px}
.cm3 .cm-b{--b:var(--ink);position:relative;padding:12px 15px 14px;border-radius:16px;background:color-mix(in srgb,var(--b) 6%,var(--sheet));border:1.5px solid color-mix(in srgb,var(--b) 30%,transparent);min-width:0;text-align:left}
.cm3 .cm-b::after{content:"";position:absolute;top:24px;width:15px;border-top:3px solid color-mix(in srgb,var(--b) 70%,transparent)}
.cm3 .cm-b::before{content:"";position:absolute;top:20px;width:11px;height:11px;border-radius:50%;background:var(--b);box-shadow:0 0 0 3px var(--sheet)}
.cm3 .cm-l .cm-b::after{right:-17.5px}.cm3 .cm-l .cm-b::before{right:-23px}
.cm3 .cm-r .cm-b::after{left:-17.5px}.cm3 .cm-r .cm-b::before{left:-23px}
.cm3 h5{display:flex;align-items:center;gap:9px;margin:0 0 9px;font:900 13px/1.2 var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--b)}
.cm3 .cm-ic{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--b)}
.cm3 .cm-ic svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cm3 .cm-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.cm3 .cm-chip{display:inline-flex;align-items:baseline;gap:5px;padding:4px 11px;border-radius:999px;background:var(--sheet);border:1.5px solid color-mix(in srgb,var(--b) 38%,transparent);font:700 15px/1.3 var(--ui);color:var(--ink)}
.cm3 .cm-chip small{font:600 11.5px/1 var(--ui);color:var(--muted)}
.cm3 .cm-ant .cm-chip{border-style:dashed}
.cm3 ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cm3 li{padding-left:11px;border-left:3px solid color-mix(in srgb,var(--b) 45%,transparent);font-family:var(--text);font-size:15.5px;line-height:1.45;color:var(--ink)}
.cm3 li b{font-weight:700}
.cm3 .cm-exp li b{font-style:italic}
.cm3 .cm-ref li b{color:var(--b)}
.cm3 .cm-root{font-weight:800;font-style:italic;color:var(--b);font-size:16px}
.cm3 .cm-p{display:block;margin-top:2px;font-size:14px;line-height:1.4;color:var(--muted)}
.cm3 .cm-syn{--b:var(--cm-syn)}.cm3 .cm-ant{--b:var(--cm-ant)}.cm3 .cm-der{--b:var(--cm-der)}.cm3 .cm-chp{--b:var(--cm-chp)}
.cm3 .cm-ety{--b:var(--cm-ety)}.cm3 .cm-exp{--b:var(--cm-exp)}.cm3 .cm-ref{--b:var(--cm-ref)}
@media (max-width:640px){
 .carte.cm3{padding:16px 12px 4px;border-radius:16px}
 .cm3 .cm-c{margin:0;padding:10px 22px 12px;align-items:flex-start;text-align:left;border-radius:22px}
 .cm3 .cm-k{justify-content:flex-start}
 .cm3 .cm-g{grid-template-columns:minmax(0,1fr);padding-top:18px}
 .cm3 .cm-g::before{left:16px;bottom:24px}
 .cm3 .cm-s{padding-left:34px}
 .cm3 .cm-l{padding-bottom:14px}
 .cm3 .cm-l .cm-b::after,.cm3 .cm-r .cm-b::after{left:-17.5px;right:auto;width:16px}
 .cm3 .cm-l .cm-b::before,.cm3 .cm-r .cm-b::before{left:-23px;right:auto}
 .cm3 .cm-b{padding:11px 12px 12px}
 .cm3 .cm-chip{font-size:14.5px;padding:3px 10px}
}
/* renvoi discret dans l'étape */
.cm-link{display:flex;align-items:center;gap:12px;margin:14px 0;padding:10px 16px 10px 12px;border-radius:16px;border:1.5px dashed color-mix(in srgb,var(--c,var(--encre)) 40%,var(--line));background:color-mix(in srgb,var(--c,var(--encre)) 5%,var(--sheet));color:var(--ink);text-decoration:none;font-family:var(--ui)}
.cm-link>svg{flex:none;width:34px;height:34px;padding:7px;border-radius:50%;background:var(--c,var(--encre));fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}
.cm-link span{display:flex;flex-direction:column;min-width:0}
.cm-link small{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--c,var(--encre))}
.cm-link b{font-family:var(--display);font-size:19px;font-weight:900;line-height:1.2}
.cm-link em{margin-left:auto;font-style:normal;font-size:14px;font-weight:800;color:var(--c,var(--encre));white-space:nowrap}
.cm-link:hover{border-style:solid}
@media (max-width:480px){.cm-link{flex-wrap:wrap}.cm-link em{margin-left:46px;white-space:normal}}
/* glossaire : la carte dans sa fenêtre */
.cm-dlg .carte.cm3{box-shadow:none;clear:both}
/* --- onglet Lexique --- */
.lexique-sec{--k:var(--c,var(--encre))}
.lexique-sec .lx-num{font-size:19px!important;letter-spacing:-.02em}
.lx-tools{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 0}
.lx-tools a,.lx-quiz{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--k) 35%,var(--line));background:var(--sheet);color:color-mix(in srgb,var(--k) 85%,var(--ink));font:800 14.5px/1.2 var(--ui);text-decoration:none;cursor:pointer}
.lx-tools small{display:inline-grid;place-items:center;min-width:22px;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--k) 14%,var(--sheet));font-size:12.5px}
.lx-quiz{background:var(--k);border-color:var(--k);color:#fff}
.lx-quiz svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}
.lx-quiz[aria-pressed="true"]{background:var(--sheet);color:var(--k)}
.lx-quizhelp{margin:6px 0 0;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--k) 9%,var(--sheet));font:600 14.5px/1.45 var(--ui);color:var(--ink)}
.lx-quizhelp[hidden]{display:none}
.lx-part{display:flex;flex-direction:column;gap:14px;margin-top:30px;scroll-margin-top:90px}
.lx-h{display:flex;align-items:center;gap:12px;margin:0;font-size:clamp(21px,3vw,26px);line-height:1.2;flex-wrap:wrap}
.lx-hi{display:inline-grid;place-items:center;flex:none;width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,var(--k) 14%,var(--sheet));color:var(--k);font:900 17px/1 var(--display)}
.lx-hi svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.lx-sub{margin:-4px 0 0;color:var(--muted);font-size:16px;line-height:1.5}
.lx-index{display:flex;flex-wrap:wrap;gap:7px}
.lx-index a{padding:5px 13px;border-radius:999px;background:color-mix(in srgb,var(--k) 10%,var(--sheet));color:color-mix(in srgb,var(--k) 80%,var(--ink));font:800 15px/1.25 var(--ui);text-decoration:none}
.lx-index a:hover{background:var(--k);color:#fff}
.lx-map{display:flex;flex-direction:column;gap:8px;margin-top:10px;scroll-margin-top:90px}
.lx-anchor{display:block;height:0;scroll-margin-top:90px}
.lx-from{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;font:700 14px/1.4 var(--ui);color:var(--muted)}
.lx-from a{color:var(--k);font-weight:800}
.lx-part>.tblock,.lx-part>p.para{margin:0}
/* fiches de mots */
.lexcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:12px;margin:0}
.lxc{--k:var(--c,var(--encre));display:flex;flex-direction:column;gap:7px;margin:0;padding:14px 16px 15px;border-radius:16px;background:var(--sheet);border:1.5px solid color-mix(in srgb,var(--k) 22%,var(--line));box-shadow:0 10px 22px -20px rgba(31,42,46,.5);min-width:0}
.lxc dt{display:flex;align-items:center;gap:11px;margin:0;min-width:0}
.lxc-l{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:var(--k);color:#fff;font:900 18px/1 var(--display)}
.lxc dt b{font:900 18.5px/1.2 var(--display);color:color-mix(in srgb,var(--k) 78%,var(--ink));overflow-wrap:anywhere;min-width:0}
.lxc dd{margin:0;font-family:var(--text);font-size:16px;line-height:1.55;color:var(--ink)}
.lxc dd.lxc-x{font-size:15px;color:var(--muted)}
.lxc-x span{display:block;font:800 11.5px/1.3 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--k)}
.lxc .lsf{margin-left:auto}
.tblock:has(>.lexcards),.box .lexcards{margin-top:4px}
/* mode « Je me teste » */
.lexique-sec.quiz .lxc,.lexique-sec.quiz .cm-b{cursor:pointer}
.lexique-sec.quiz .lxc dd,.lexique-sec.quiz .cm-b .cm-v{filter:blur(7px);opacity:.5;user-select:none;transition:filter .2s,opacity .2s}
.lexique-sec.quiz .lxc.seen dd,.lexique-sec.quiz .cm-b.seen .cm-v{filter:none;opacity:1}
.lexique-sec.quiz .lxc:focus-visible,.lexique-sec.quiz .cm-b:focus-visible{outline:3px solid var(--k);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.lexique-sec.quiz .lxc dd,.lexique-sec.quiz .cm-b .cm-v{transition:none}}
/* --- tableaux (encadrés à colonnes) --- */
.tw{--k:var(--c,var(--encre));border:1.5px solid color-mix(in srgb,var(--k) 22%,var(--line));border-radius:16px;background:var(--sheet);box-shadow:0 12px 26px -24px rgba(31,42,46,.5)}
table.data{border-collapse:separate;border-spacing:0;font-size:15.5px}
table.data th{padding:12px 16px;background:color-mix(in srgb,var(--k) 12%,var(--sheet));color:color-mix(in srgb,var(--k) 78%,var(--ink));font:900 12.5px/1.3 var(--ui);letter-spacing:.07em;text-transform:uppercase;border-bottom:2px solid color-mix(in srgb,var(--k) 38%,transparent);vertical-align:bottom}
table.data td{padding:13px 16px;font-family:var(--text);line-height:1.55;border-bottom:1px solid var(--line);min-width:96px}
table.data tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--k) 3.5%,var(--sheet))}
table.data tbody tr:hover td{background:color-mix(in srgb,var(--k) 7%,var(--sheet))}
table.data.rowhead td:first-child{font:800 15.5px/1.4 var(--display);color:color-mix(in srgb,var(--k) 82%,var(--ink));background:color-mix(in srgb,var(--k) 7%,var(--sheet));border-right:1px solid color-mix(in srgb,var(--k) 16%,var(--line));min-width:120px}
table.data.rowhead td:first-child i{font-weight:800}
table.data.compact td{padding:9px 13px}
table.data tr:last-child td{border-bottom:none}
@media (max-width:640px){
 .tw:has(>table.tcards){border:none;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
 table.data.tcards,table.data.tcards tbody,table.data.tcards tr,table.data.tcards td{display:block;width:auto}
 table.data.tcards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 table.data.tcards tr{margin:0 0 12px;border:1.5px solid color-mix(in srgb,var(--k) 22%,var(--line));border-radius:16px;background:var(--sheet);overflow:hidden;box-shadow:0 10px 22px -20px rgba(31,42,46,.5)}
 table.data.tcards td,table.data.tcards tbody tr:nth-child(even) td,table.data.tcards tbody tr:hover td{min-width:0;padding:10px 14px;border-bottom:1px solid var(--line);border-right:none;background:var(--sheet)}
 table.data.tcards td:last-child{border-bottom:none}
 table.data.tcards td:empty{display:none}
 table.data.tcards td[data-label]::before{content:attr(data-label);display:block;margin-bottom:3px;font:900 11.5px/1.3 var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--k)}
 table.data.tcards.rowhead td:first-child{background:color-mix(in srgb,var(--k) 11%,var(--sheet));font-size:17px;min-width:0}
}
/* Lexique : une carte à la fois (site.js), sources discrètes, fiches légèrement teintées */
.lexique-sec.lx-one .lx-map:not(.on){display:none}
.lx-index a.on{background:var(--k);color:#fff}
.lx-mapnav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.lx-mapnav button{padding:8px 14px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--k) 35%,var(--line));background:var(--sheet);color:color-mix(in srgb,var(--k) 85%,var(--ink));font:800 14px/1.2 var(--ui);cursor:pointer}
.lx-mapnav button:hover{background:var(--k);color:#fff}
.lx-pos{font:800 14px var(--ui);color:var(--muted)}
.lexique-sec .lx-part>p.para{font:500 13.5px/1.5 var(--ui);color:var(--muted)}
.lxc{background:linear-gradient(180deg,color-mix(in srgb,var(--k) 6%,var(--sheet)),var(--sheet) 58px)}
@media (max-width:480px){.lx-mapnav button{padding:8px 11px;font-size:13px}}
/* colonne de numéros étroite ; sur téléphone, le nom de la 1re colonne sur la même ligne que sa valeur */
table.data.short1 td:first-child{min-width:0;width:1%;white-space:nowrap;text-align:center}
@media (max-width:640px){
 table.data.tcards td:first-child[data-label]::before{display:inline;margin:0 8px 0 0}
 table.data.short1 td:first-child{width:auto;text-align:left;white-space:normal}
}

/* index des textes : portrait, biographie, frise des œuvres (18/10/2026) */
.ix-n{display:flex;align-items:center;gap:12px;margin:0 0 8px}
.ix-nm{display:flex;flex-direction:column;gap:5px;min-width:0}
.ix-nm p{margin:0}
.ix-nacts{display:flex;flex-wrap:wrap;gap:6px}
.ix-face{flex:none;padding:0;border:0;background:none;cursor:pointer;border-radius:12px}
.ix-face img,.ix-face .mono{display:grid;place-items:center;width:58px;height:72px;border-radius:12px;object-fit:cover;margin:0;font-size:20px;box-shadow:0 1px 4px rgba(0,0,0,.12);transition:transform .15s}
.ix-face:hover img,.ix-face:hover .mono{transform:scale(1.06)}
.ix-face:focus-visible{outline:2px solid var(--encre);outline-offset:3px}
.ix-pop .fr-p-head img,.ix-pop .fr-p-head .mono{width:64px;height:80px;border-radius:12px;object-fit:cover;display:grid;place-items:center;margin:0;font-size:22px}
.ix-pop .oe-open{margin-top:12px}
.ix-face .mono,.ix-pop .fr-p-head .mono{background:var(--encre-soft);color:var(--encre);font-family:var(--display);font-weight:600}

/* glossaire des cartes mentales (18/10/2026) */
.cmg-grp{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.cmg-grp[hidden],.cmg-l[hidden]{display:none}
.cmg-t{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:var(--sheet);overflow:hidden;min-width:0;transition:box-shadow .15s,transform .15s}
.cmg-t:hover{box-shadow:0 6px 18px rgba(0,0,0,.10);transform:translateY(-1px)}
.cmg-b{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:14px 14px 10px;position:relative}
.cmg-b:focus-visible{outline:2px solid var(--encre);outline-offset:-3px;border-radius:16px}
.cmg-b b{font-family:var(--display);font-size:21px;line-height:1.15;color:var(--ink);padding-right:38px;overflow-wrap:anywhere}
.cmg-ic{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:var(--encre-soft);color:var(--encre)}
.cmg-ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
.cmg-b:hover .cmg-ic{background:var(--encre);color:var(--sheet)}
.cmg-nat{font-family:var(--ui);font-size:12.5px;font-style:italic;color:var(--muted)}
.cmg-ety{font-size:13.5px;color:var(--ink);opacity:.85;line-height:1.35;margin-top:3px}
.cmg-f{display:flex;flex-direction:column;gap:5px;padding:8px 14px 12px;border-top:1px dashed var(--line);margin-top:auto}
.cmg-lvs{display:flex;gap:5px;flex-wrap:wrap}
.cmg-lv{font-family:var(--ui);font-size:11.5px;font-weight:800;color:#fff;padding:2px 8px;border-radius:999px;background:var(--encre)}
.cmg-lv[data-lv="6e"]{background:#0F7F82}.cmg-lv[data-lv="5e"]{background:#2F64B5}.cmg-lv[data-lv="4e"]{background:#6B4FCB}.cmg-lv[data-lv="3e"]{background:#2C7D4F}
.cmg-lv[data-lv="2nde"]{background:#B0640C}.cmg-lv[data-lv="1re"]{background:#8E4585}.cmg-lv[data-lv="Tle"]{background:#33507A}
.cmg-f .ix-o a{font-size:12px}
@media (max-width:480px){.cmg-grp{grid-template-columns:1fr 1fr;gap:8px}.cmg-b{padding:12px 10px 8px}.cmg-b b{font-size:17px;padding-right:30px}.cmg-ic{width:26px;height:26px;top:9px;right:8px}.cmg-ety{display:none}.cmg-f{padding:6px 10px 10px}}
.cmg-t[hidden]{display:none}
/* glossaire : trois rubriques sous un seul onglet (18/10/2026) */
.gl-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 14px}
.gl-tab{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--line);border-radius:16px;background:var(--sheet);color:var(--ink);text-decoration:none;min-width:0;transition:border-color .15s,box-shadow .15s}
.gl-tab:hover{border-color:var(--encre);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.gl-tab svg{flex:none;width:40px;height:40px;padding:8px;border-radius:12px;background:var(--encre-soft);color:var(--encre);stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;box-sizing:border-box}
.gl-tab span{display:flex;flex-direction:column;gap:2px;min-width:0}
.gl-tab b{font-family:var(--ui);font-size:15.5px;line-height:1.2}
.gl-tab small{font-family:var(--ui);font-size:12.5px;color:var(--muted);line-height:1.3}
.gl-tab[aria-current]{background:var(--encre);border-color:var(--encre);color:var(--sheet)}
.gl-tab[aria-current] small{color:var(--sheet);opacity:.85}
.gl-tab[aria-current] svg{background:rgba(255,255,255,.18);color:var(--sheet)}
@media (max-width:700px){.gl-tabs{grid-template-columns:1fr;gap:6px}.gl-tab{padding:9px 12px}.gl-tab svg{width:34px;height:34px;padding:6px}}

/* Activités avec l'IA (activites_ia.py, 18/10/2026) : cadre doré en pointillés, distinct des exercices */
:root{--ia:#9A6408;--ia-bg:#FFF8EA;--ia-line:#E2B656}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-b]){--ia:#E8B65A;--ia-bg:#2A2416;--ia-line:#8A6A2A}}
:root[data-theme="dark"]:not([data-b]){--ia:#E8B65A;--ia-bg:#2A2416;--ia-line:#8A6A2A}
.sec.ia{border:2px dashed var(--ia-line);border-radius:18px;padding:18px clamp(12px,3vw,26px) 22px;background:var(--ia-bg)}
.sec.ia .sechead .num{background:var(--ia);color:var(--ia-bg)}
.ia-badge{display:inline-flex;align-items:center;gap:4px;background:var(--ia);color:var(--ia-bg);border-radius:999px;padding:2px 9px 2px 6px;font-weight:800;font-size:.78rem;letter-spacing:.06em;margin-right:8px;vertical-align:middle}
.ia-badge svg{width:14px;height:14px;fill:currentColor}
.ia-intro{color:var(--muted);max-width:68ch}
.ia-charte{border-left:4px solid var(--ia);background:var(--sheet);border-radius:0 12px 12px 0;padding:10px 14px;margin:12px 0 18px}
.ia-charte b{color:var(--ia)}.ia-charte ul{margin:6px 0 0;padding-left:20px}.ia-charte li{margin:3px 0}
.ia-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.ia-act{background:var(--sheet);border:1px solid var(--ia-line);border-radius:14px;padding:14px 16px;min-width:0;display:flex;flex-direction:column;gap:8px}
.ia-act header{display:flex;gap:10px;align-items:flex-start}
.ia-act h3{margin:0;font-size:1.05rem;text-wrap:balance}
.ia-n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--ia-bg);color:var(--ia);border:2px solid var(--ia)}
.ia-meta{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:6px;font-size:.82rem}
.ia-ou,.ia-dur{border-radius:999px;padding:1px 9px;border:1px solid var(--line);color:var(--muted)}
.ia-ou.classe{border-color:var(--ia);color:var(--ia)}.ia-ou.maison{background:var(--ia);color:var(--ia-bg);border-color:var(--ia)}
.ia-obj,.ia-ver{margin:0}.ia-et{margin:0;padding-left:20px}.ia-et li{margin:2px 0}
.ia-prompt{border:1px solid var(--line);border-radius:10px;background:var(--ia-bg);overflow:hidden}
.ia-ph{display:flex;justify-content:space-between;align-items:center;padding:5px 8px 5px 12px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ia);border-bottom:1px dashed var(--ia-line)}
.ia-prompt p{margin:0;padding:9px 12px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.ia-copy{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--ia);background:transparent;color:var(--ia);border-radius:999px;padding:3px 10px;font:inherit;font-size:.78rem;cursor:pointer;text-transform:none;letter-spacing:0}
.ia-copy svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.ia-copy:hover,.ia-copy.ok{background:var(--ia);color:var(--ia-bg)}
.ia-ver{font-size:.92rem;border-top:1px dotted var(--line);padding-top:8px}.ia-ver b{color:var(--ia)}
@media (max-width:420px){.ia-grid{grid-template-columns:1fr}}

/* Espace parents « Comment accompagner votre enfant ? » (parents.py, 18/10/2026) */
:root{--pa:#2F6A8A;--pa-bg:#EAF2F7;--pa-soft:#F6FAFC}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-b]){--pa:#8CC3E2;--pa-bg:#18262F;--pa-soft:#14202A}}
:root[data-theme="dark"]:not([data-b]){--pa:#8CC3E2;--pa-bg:#18262F;--pa-soft:#14202A}
.pa{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.pa h1{text-wrap:balance}.pa h2{display:flex;align-items:center;gap:8px;font-size:1.2rem;margin:0 0 10px;color:var(--pa)}
.pa h2 svg,.pa-entry svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pa-hero,.pa-head{background:var(--pa-bg);border-radius:20px;padding:22px clamp(16px,4vw,32px)}
.pa-hero .eyebrow,.pa-head .eyebrow{color:var(--pa);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
.pa-hero h1,.pa-head h1{margin:6px 0 8px}
.pa-start{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.pa-start p{grid-column:1/-1;margin:0;font-weight:700}
.pa-start a{display:flex;flex-direction:column;gap:2px;background:var(--sheet);border-radius:14px;padding:10px 14px;text-decoration:none;color:inherit;border:1px solid var(--line)}
.pa-start a span{color:var(--muted);font-size:.9rem}.pa-start a b{color:var(--pa)}
.pa-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.pa-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 16px 14px 54px;background:var(--sheet);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit;min-width:0}
.pa-card:hover,.pa-entry:hover,.pa-link:hover{border-color:var(--pa);box-shadow:0 2px 10px rgba(0,0,0,.06)}
.pa-card b{color:var(--ink)}.pa-card span:not(.pa-n){color:var(--muted);font-size:.9rem}
.pa-n{position:absolute;left:14px;top:14px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--pa);color:var(--pa-soft);font-weight:800;font-size:.85rem}
.pa-entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.pa-entry{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:16px;background:var(--pa-bg);text-decoration:none;color:inherit;border:1px solid transparent}
.pa-entry svg{color:var(--pa);width:28px;height:28px}.pa-entry span{color:var(--muted);font-size:.9rem}
.pa-levels{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.pa-levels a{padding:6px 16px;border-radius:999px;border:2px solid var(--pa);color:var(--pa);font-weight:800;text-decoration:none}
.pa-levels a:hover{background:var(--pa);color:var(--pa-soft)}
.pa-small{font-size:.92rem;color:var(--muted)}
.pa-note{font-size:.85rem;color:var(--muted);border-top:1px dotted var(--line);padding-top:10px}
.pa-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0}.pa-meta span{background:var(--sheet);border-radius:999px;padding:2px 12px;font-size:.88rem;color:var(--pa);font-weight:700}
.pa-bref{font-size:1.15rem;line-height:1.5;border-left:5px solid var(--pa);padding:4px 0 4px 16px;margin:0}
.pa-steps{list-style:none;counter-reset:st;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.pa-steps li{counter-increment:st;position:relative;padding:10px 14px 10px 52px;background:var(--sheet);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:2px}
.pa-steps li::before{content:counter(st);position:absolute;left:12px;top:10px;width:28px;height:28px;border-radius:8px;background:var(--pa);color:var(--pa-soft);display:grid;place-items:center;font-weight:800}
.pa-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.pa-dire,.pa-eviter,.pa-express,.pa-signal,.pa-outil{border-radius:14px;padding:14px 18px;min-width:0}
.pa-dire{background:var(--pa-bg)}.pa-eviter{background:var(--sheet);border:1px dashed var(--line)}
.pa-dire ul,.pa-eviter ul{margin:0;padding-left:18px}.pa-dire li,.pa-eviter li{margin:5px 0}
.pa-eviter h2{color:var(--muted)}
.pa-express{background:var(--sheet);border:2px solid var(--pa)}
.pa-outil{background:var(--sheet);border:1px solid var(--line);box-shadow:0 1px 0 var(--line)}
.pa-tag{display:inline-block;background:var(--pa);color:var(--pa-soft);border-radius:999px;font-size:.72rem;padding:2px 10px;letter-spacing:.05em;text-transform:uppercase;margin-right:6px}
.pa-outil h2{flex-wrap:wrap}
.pa-check{margin:0;padding-left:0;list-style:none}.pa-check li{padding:6px 0 6px 30px;position:relative;border-bottom:1px dotted var(--line)}
.pa-check.liste li::before{content:"";position:absolute;left:4px;top:9px;width:14px;height:14px;border:2px solid var(--pa);border-radius:4px}
.pa-check.questions{counter-reset:q}.pa-check.questions li{counter-increment:q}.pa-check.questions li::before{content:counter(q) ".";position:absolute;left:4px;color:var(--pa);font-weight:800}
.pa-tbl{overflow-x:auto}.pa-tbl table{border-collapse:collapse;width:100%;min-width:420px;font-size:.92rem}
.pa-tbl th,.pa-tbl td{border:1px solid var(--line);padding:7px 9px;text-align:left;vertical-align:top}.pa-tbl th{background:var(--pa-bg);color:var(--pa)}
.pa-signal{background:var(--pa-soft);border-left:5px solid var(--muted)}
.pa-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.pa-link{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;background:var(--sheet)}
.pa-link b{color:var(--pa)}.pa-link span{color:var(--muted);font-size:.9rem}
.pa-pn{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.pa-pn a{color:var(--pa);font-weight:700;text-decoration:none}
.pa-qs{display:flex;flex-direction:column;gap:8px}
.pa-q{background:var(--sheet);border:1px solid var(--line);border-radius:12px;padding:0 16px}
.pa-q summary{cursor:pointer;font-weight:700;padding:12px 0;color:var(--ink)}.pa-q[open] summary{color:var(--pa)}.pa-q div{padding-bottom:10px}
.pa-mots{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:0}
.pa-mot{background:var(--sheet);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.pa-mot dt{font-weight:800;color:var(--pa)}.pa-mot dd{margin:4px 0 0}
.pa-chip{background:var(--pa);color:var(--pa-soft);border-radius:999px;padding:3px 14px}
.pa-books{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.pa-books li{background:var(--sheet);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px}
.pa-aut{color:var(--pa);font-size:.9rem;font-weight:700}.pa-site{align-self:flex-start;font-size:.78rem;border:1px solid var(--pa);color:var(--pa);border-radius:999px;padding:1px 9px}
.pa-year{list-style:none;margin:0;padding:0 0 0 22px;border-left:3px solid var(--pa-bg);display:flex;flex-direction:column;gap:14px}
.pa-year li{position:relative;background:var(--sheet);border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.pa-year li::before{content:"";position:absolute;left:-31px;top:16px;width:14px;height:14px;border-radius:50%;background:var(--pa);border:3px solid var(--bg)}
.pa-year li p{margin:4px 0 0}.pa-year b{color:var(--pa)}

/* Glossaire « Les mots et les notions » plus graphique : une fiche par mot (18/10/2026) */
:root{--vx-lit:#2F64B5;--vx-lng:#0F7F82;--vx-mot:#9A6408;--vx-cm:#D48F12}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-b]){--vx-lit:#8FB3EE;--vx-lng:#6DCBC4;--vx-mot:#E2B656;--vx-cm:#E8B65A}}
:root[data-theme="dark"]:not([data-b]){--vx-lit:#8FB3EE;--vx-lng:#6DCBC4;--vx-mot:#E2B656;--vx-cm:#E8B65A}
.vocab .vx-grp{columns:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;margin-bottom:8px}
.vocab .vx{--k:var(--vx-mot);margin:0;padding:12px 14px 12px 16px;border:1px solid var(--line);border-left:5px solid var(--k);border-radius:14px;background:var(--sheet,var(--bg));gap:6px;min-width:0;position:relative}
.vocab .vx.vxc-lit{--k:var(--vx-lit)}.vocab .vx.vxc-lng{--k:var(--vx-lng)}.vocab .vx.vxc-mot{--k:var(--vx-mot)}.vocab .vx.vxc-cm{--k:var(--vx-cm)}
.vocab .vx[hidden]{display:none}
.vocab .vx-t b{font-size:18px;color:var(--k)}
.vocab .vx-t{gap:2px 8px}
.vx-pills{display:flex;flex-wrap:wrap;gap:4px;margin:0}
.vocab .vx-cat.vx-lit{color:var(--vx-lit);border-color:var(--vx-lit)}.vocab .vx-cat.vx-lng{color:var(--vx-lng);border-color:var(--vx-lng)}
.vocab .vx-cat.vx-mot{color:var(--vx-mot);border-color:var(--vx-mot)}.vocab .vx-cat.vx-cm{color:var(--vx-cm);border-color:var(--vx-cm)}
.vx-ds{margin:0;padding:0;list-style:none;counter-reset:vd;display:flex;flex-direction:column;gap:6px}
.vx-ds li{counter-increment:vd;position:relative;padding-left:26px;font-size:15px;line-height:1.45}
.vx-ds li::before{content:counter(vd);position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:var(--k);color:var(--bg);font:700 11px/19px var(--ui);text-align:center}
.vx-src{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin:2px 0 0;border-top:1px dotted var(--line);padding-top:6px;font-size:12.5px}
.vx-src span{color:var(--muted);font-family:var(--ui);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}
.vx-src a{border:1px solid var(--line);border-radius:999px;padding:1px 8px;text-decoration:none}
.vocab .ix-l{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--encre);color:var(--on-encre);font-size:22px;margin:22px 0 10px}
.vocab .ix-bar a{min-width:30px;text-align:center;border-radius:8px}
.pa>*,.pa-two>*{min-width:0}.pa-outil{max-width:100%}
.pa{min-width:0;max-width:min(900px,100%)}.pa-tbl{max-width:100%}
/* fiches de travail à imprimer (espace parents, 18/10/2026) */
.pa-print{display:flex;align-items:center;gap:.8rem;margin:1.2rem 0;padding:.9rem 1.1rem;border-radius:12px;background:var(--pa);color:var(--sheet);text-decoration:none;max-width:100%;box-sizing:border-box}
.pa-print:hover{filter:brightness(1.08)}
.pa-print svg{flex:none;width:26px;height:26px}
.pa-print span{display:flex;flex-direction:column;min-width:0}
.pa-print b{font-size:1.02rem}.pa-print small{opacity:.88;font-size:.86rem}
.pa-pdfrow{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.7rem 0 0;font-size:.9rem;color:var(--pa)}
.pa-pdfrow svg{flex:none}.pa-pdfrow a{color:var(--pa)}
.pa-tws{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:.9rem}
.pa-tw{display:flex;gap:.8rem;padding:1rem;border:1px solid var(--pa-bg);border-radius:12px;background:var(--pa-soft);min-width:0}
.pa-tw>div{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.pa-tw b{font-size:1.02rem}.pa-tw small{color:var(--muted,#6b7280);font-size:.84rem}
.pa-tw p{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center;margin:.5rem 0 0;font-size:.9rem}
.pa-pdf{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:999px;background:var(--pa);color:var(--sheet)!important;text-decoration:none;font-weight:600}
.pa-pdf svg{width:16px;height:16px}
.pa-print{flex-direction:column;align-items:flex-start}
.pa-print p{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 0}
.pa-print .pa-pdf{background:var(--sheet);color:var(--pa)!important}
.pa-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:.8rem;margin:1.2rem 0}
.pa-time{display:flex;flex-direction:column;gap:.3rem;padding:1.1rem 1.2rem;border-radius:14px;background:var(--pa);color:var(--sheet);text-decoration:none;min-width:0}
.pa-time b{font-size:1.25rem}.pa-time span{font-size:.9rem;opacity:.92}
.pa-time:hover{filter:brightness(1.08)}
.pa-tsec{scroll-margin-top:90px}
.pa-tsec h2{display:flex;align-items:center;gap:.6rem}
.pa-clock{display:inline-flex;align-items:center;justify-content:center;min-width:3.2em;padding:.15em .6em;border-radius:999px;background:var(--pa-bg);color:var(--pa);font-size:.8em}
.pa-tsec h3{display:flex;align-items:center;gap:.4rem;margin:1.1rem 0 .5rem;font-size:1rem}
.pa-tsec h3 svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.pa-twl{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.pa-twl li{display:flex;gap:.8rem;align-items:flex-start;padding:.7rem .8rem;border-radius:10px;background:var(--pa-soft);min-width:0}
.pa-twl li>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.pa-twl span{font-size:.9rem;color:var(--muted)}.pa-meth{font-size:.85rem;color:var(--pa)}
.pa-twl .pa-pdf{flex:none}
.pa-banner{display:flex;align-items:center;gap:.9rem;margin:1.2rem 0;padding:1rem 1.2rem;border-radius:14px;border:2px solid var(--pa);background:var(--pa-bg);color:var(--ink);text-decoration:none;flex-wrap:wrap}
.pa-banner svg{flex:none;width:28px;height:28px;color:var(--pa)}
.pa-banner span{display:flex;flex-direction:column;flex:1;min-width:12rem}.pa-banner small{color:var(--muted)}
.pa-banner em{font-style:normal;font-weight:700;color:var(--pa)}
/* bibliothèque « Mon enfant n'aime pas lire » */
.pa-portes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:.7rem}
.pa-porte{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;border-radius:12px;background:var(--pa-bg);min-width:0}
.pa-porte span{font-size:.92rem;color:var(--muted)}
.pa-lv{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}
.pa-lv a{padding:.35rem .9rem;border-radius:999px;background:var(--pa);color:var(--sheet);text-decoration:none;font-weight:700}
.pa-bfilt{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0}
.pa-bfilt button{font:inherit;font-size:.86rem;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--pa);background:transparent;color:var(--pa);cursor:pointer}
.pa-bfilt button.on{background:var(--pa);color:var(--sheet)}
.pa-books{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:.8rem}
.pa-book{display:flex;flex-direction:column;gap:.3rem;padding:1rem;border-radius:12px;border:1px solid var(--line);border-top:4px solid var(--pa);background:var(--sheet);min-width:0}
.pa-book b{font-size:1.05rem;line-height:1.25}.pa-au{color:var(--muted);font-size:.9rem}
.pa-book p{margin:0;font-size:.93rem}.pa-why{color:var(--pa)}
.pa-tags{display:flex;flex-wrap:wrap;gap:.3rem}
.pa-tags i{font-style:normal;font-size:.76rem;padding:.1rem .5rem;border-radius:999px;background:var(--pa-bg);color:var(--pa)}
/* accueil : titre et trois publics mis en valeur (18/10/2026) */
:root{--pu-el:#0F7F82;--pu-pa:#2F6A8A;--pu-en:#9A5A0C;--pu-el-bg:#E3F3F2;--pu-pa-bg:#EAF2F7;--pu-en-bg:#F8EEDF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-b]){--pu-el:#5CC6C4;--pu-pa:#8CC3E2;--pu-en:#E7B067;--pu-el-bg:#13282A;--pu-pa-bg:#18262F;--pu-en-bg:#2A2116}}
:root[data-theme="dark"]:not([data-b]){--pu-el:#5CC6C4;--pu-pa:#8CC3E2;--pu-en:#E7B067;--pu-el-bg:#13282A;--pu-pa-bg:#18262F;--pu-en-bg:#2A2116}
[data-v] .hero h1{font-size:clamp(52px,10vw,112px);line-height:.98}
[data-v] .hero h1 em{display:inline}
.publics{font-family:var(--ui,inherit);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .6rem;margin:0;font-size:1.05rem}
.publics span{color:var(--muted);width:100%;text-align:center;font-size:.95rem}
.publics a{padding:.5rem 1.15rem;border-radius:999px;font-weight:800;text-decoration:none;font-size:1.05rem;border:2px solid currentColor}
.publics .pu-el{color:var(--pu-el);background:var(--pu-el-bg)}
.publics .pu-pa{color:var(--pu-pa);background:var(--pu-pa-bg)}
.publics .pu-en{color:var(--pu-en);background:var(--pu-en-bg)}
.publics a:hover{filter:brightness(1.1)}
.espaces .door{border-top:6px solid var(--dc)!important;background:linear-gradient(180deg,var(--db),var(--sheet) 60%)!important}
.espaces .door b{color:var(--dc);font-size:clamp(26px,3vw,32px)!important}
.espaces .door .go{color:var(--dc);font-weight:800}
.d-el{--dc:var(--pu-el);--db:var(--pu-el-bg)}.d-pa{--dc:var(--pu-pa);--db:var(--pu-pa-bg)}.d-en{--dc:var(--pu-en);--db:var(--pu-en-bg)}
.espaces>h2{font-size:clamp(28px,4vw,38px)}
.publics,.publics a,.publics span{font-family:"Nunito","Inter",system-ui,-apple-system,"Segoe UI",sans-serif!important}
