:root{--upgrade-soft:#f6f5f1;--upgrade-line:#deded9}
.domain-hero-art{position:absolute;z-index:0;right:-3.5rem;bottom:-4.5rem;width:clamp(230px,24vw,390px);height:clamp(230px,24vw,390px);margin:0;opacity:.2;filter:grayscale(1);pointer-events:none}
.domain-hero-art img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.reference-upgrade{margin:1rem 0 5rem;border:1px solid var(--upgrade-line);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 24px 70px rgba(10,10,12,.06)}
.reference-upgrade>header{display:grid;grid-template-columns:.78fr 1.22fr;gap:1rem 4rem;padding:clamp(2rem,4vw,3.5rem);border-bottom:1px solid var(--upgrade-line);background:linear-gradient(135deg,#fff 0 88%,#fff0eb 88%)}
.reference-upgrade>header>span{grid-column:1/-1;color:var(--orange-dark);font-size:.6rem;font-weight:950;letter-spacing:.13em}
.reference-upgrade>header h2{margin:0;font-size:clamp(2.5rem,4vw,4.8rem);line-height:.94;letter-spacing:-.06em}
.reference-upgrade>header p{align-self:end;margin:0;color:#5f5f64;line-height:1.72}
.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.upgrade-grid article{display:flex;flex-direction:column;min-height:300px;padding:2rem;border-right:1px solid var(--upgrade-line)}
.upgrade-grid article:last-child{border-right:0}
.upgrade-grid article>b{color:#d7d6d1;font-size:2.8rem;line-height:1}
.upgrade-grid h3{margin:2.4rem 0 .8rem;font-size:1.4rem;line-height:1.05;letter-spacing:-.04em}
.upgrade-grid p{margin:0;color:#55555b;font-size:.82rem;line-height:1.72}
.upgrade-grid small{display:block;margin-top:auto;padding-top:1.3rem;color:var(--orange-dark);font-size:.66rem;font-weight:850;line-height:1.55}
.evidence-table{border-top:1px solid var(--upgrade-line)}
.evidence-row{display:grid;grid-template-columns:180px 1fr 1fr;gap:1rem;align-items:start;padding:1.35rem 2rem;border-bottom:1px solid var(--upgrade-line)}
.evidence-row:last-child{border-bottom:0}
.evidence-row>b{color:var(--orange-dark);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}
.evidence-row p{margin:0;color:#55555b;font-size:.79rem;line-height:1.65}
.evidence-row p strong{display:block;margin-bottom:.25rem;color:#111}
.reference-upgrade.dark{border-color:#252529;background:#0b0b0d;color:#fff}
.reference-upgrade.dark>header{border-color:#303034;background:linear-gradient(135deg,#0b0b0d 0 88%,#2b160f 88%)}
.reference-upgrade.dark>header p,.reference-upgrade.dark .upgrade-grid p,.reference-upgrade.dark .evidence-row p{color:#c9c9cd}
.reference-upgrade.dark .upgrade-grid article,.reference-upgrade.dark .evidence-table,.reference-upgrade.dark .evidence-row{border-color:#303034}
.reference-upgrade.dark .upgrade-grid article>b{color:#39393e}
.reference-upgrade.dark .evidence-row p strong{color:#fff}
.method-field-guide{margin:1rem 0 4rem;border:1px solid var(--upgrade-line);border-radius:22px;background:var(--upgrade-soft);overflow:hidden}
.method-field-guide>header{display:grid;grid-template-columns:.65fr 1.35fr;gap:1rem 3rem;padding:2.5rem;border-bottom:1px solid var(--upgrade-line);background:#fff}
.method-field-guide>header span{grid-column:1/-1;color:var(--orange-dark);font-size:.58rem;font-weight:950;letter-spacing:.13em}
.method-field-guide h2{margin:0;font-size:clamp(2.2rem,3.5vw,4rem);line-height:.96;letter-spacing:-.055em}
.method-field-guide>header p{align-self:end;margin:0;color:#5e5e63;line-height:1.7}
.method-field-guide ol{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none}
.method-field-guide li{min-height:255px;padding:1.6rem;border-right:1px solid var(--upgrade-line);background:#fff}
.method-field-guide li:last-child{border-right:0}
.method-field-guide li>b{color:var(--orange-dark);font-size:1.6rem}
.method-field-guide li>span{display:block;margin:.3rem 0 2rem;color:#77777c;font-size:.58rem;font-weight:900;letter-spacing:.08em}
.method-field-guide h3{margin:0 0 .75rem;font-size:1.15rem;letter-spacing:-.03em}
.method-field-guide li p{margin:0;color:#55555b;font-size:.77rem;line-height:1.65}
.method-field-guide>aside{display:grid;grid-template-columns:.3fr 1fr;gap:2rem;padding:1.5rem 2rem;background:var(--orange);color:#fff}
.method-field-guide>aside b{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.method-field-guide>aside p{margin:0;color:#fff5f1;font-size:.8rem;line-height:1.65}
.discipline-case{margin:1rem 0 5rem;border:1px solid var(--upgrade-line);border-radius:22px;background:#fff;overflow:hidden}
.discipline-case>header{display:grid;grid-template-columns:.7fr 1.3fr;gap:1rem 3rem;padding:2.7rem;border-bottom:1px solid var(--upgrade-line)}
.discipline-case>header span{grid-column:1/-1;color:var(--orange-dark);font-size:.58rem;font-weight:950;letter-spacing:.13em}
.discipline-case h2{margin:0;font-size:clamp(2.3rem,3.8vw,4.3rem);line-height:.95;letter-spacing:-.06em}
.discipline-case>header p{align-self:end;margin:0;color:#5c5c61;line-height:1.7}
.discipline-case>div{display:grid;grid-template-columns:1fr 1fr}
.discipline-case article{min-height:270px;padding:2rem;border-right:1px solid var(--upgrade-line)}
.discipline-case article:last-child{border-right:0}
.discipline-case article>b{color:var(--orange-dark);font-size:.62rem;letter-spacing:.08em}
.discipline-case h3{margin:2rem 0 1rem;font-size:1.45rem;line-height:1.08;letter-spacing:-.04em}
.discipline-case article p,.discipline-case article li{color:#55555b;font-size:.8rem;line-height:1.72}
.discipline-case article ul{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}
.discipline-case article li{padding-left:1rem;border-left:2px solid var(--orange)}
.discipline-case>aside{padding:1.4rem 2rem;background:#0b0b0d;color:#d6d6da;font-size:.77rem;line-height:1.7}
.discipline-case>aside strong{color:#ff7a52}
@media (max-width:980px){.reference-upgrade>header,.method-field-guide>header,.discipline-case>header{grid-template-columns:1fr;gap:1rem}.reference-upgrade>header>span,.method-field-guide>header span,.discipline-case>header span{grid-column:auto}.upgrade-grid{grid-template-columns:1fr}.upgrade-grid article{min-height:0;border-right:0;border-bottom:1px solid var(--upgrade-line)}.upgrade-grid article:last-child{border-bottom:0}.method-field-guide ol{grid-template-columns:1fr 1fr}.method-field-guide li:nth-child(2){border-right:0}.method-field-guide li:nth-child(-n+2){border-bottom:1px solid var(--upgrade-line)}.discipline-case>div{grid-template-columns:1fr}.discipline-case article{min-height:0;border-right:0;border-bottom:1px solid var(--upgrade-line)}.discipline-case article:last-child{border-bottom:0}}
@media (max-width:680px){.domain-hero-art{right:-5rem;bottom:-4rem;width:250px;height:250px;opacity:.13}.reference-upgrade>header,.method-field-guide>header,.discipline-case>header{padding:2rem 1.2rem}.upgrade-grid article,.discipline-case article{padding:1.5rem 1.2rem}.evidence-row{grid-template-columns:1fr;padding:1.2rem}.method-field-guide ol{grid-template-columns:1fr}.method-field-guide li{min-height:0;border-right:0;border-bottom:1px solid var(--upgrade-line)}.method-field-guide li:last-child{border-bottom:0}.method-field-guide>aside{grid-template-columns:1fr;gap:.6rem;padding:1.4rem 1.2rem}.discipline-case>aside{padding:1.3rem 1.2rem}}
@media print{.reference-upgrade,.method-field-guide,.discipline-case{break-inside:avoid;box-shadow:none}.domain-hero-art{display:none}}

/* V37 — lisibilité, accessibilité et extraction pédagogique */
:root{--orange-solid:#d93400;--orange-solid-dark:#b92c00;--label-ink:#6b6b70}
.button,.reference-main-button,.reference-cta,.validate-button,.series-validate,.series-next,.correction-report a,.topic-directory-v10>a.topic-directory-all,.level-entry-guide>aside,.audience-playbook>aside,.method-field-guide>aside,.subject-1,.answer-preview.active span,.skill-node.current>span,.feedback-box.retry>div span{background-color:var(--orange-solid);color:#fff}
.button:hover,.reference-main-button:hover,.reference-cta:hover,.series-validate:hover,.series-next:hover{background-color:var(--orange-solid-dark)}
.start-panel label span,.resource-status dt,.topic-hero-meta,.lesson-meta,.floating-meta,.demo-kicker{color:var(--label-ink)}
.reference-hero-topic{display:block;margin:0 0 1.35rem;color:#5c5c62;font-size:clamp(.68rem,.85vw,.82rem);font-weight:900;line-height:1.2;letter-spacing:.13em;text-transform:uppercase}

.topic-reference-table{margin:1rem 0 4rem;border:1px solid var(--upgrade-line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 22px 65px rgba(10,10,12,.05)}
.topic-reference-table>header{display:grid;grid-template-columns:.75fr 1.25fr;gap:.8rem 4rem;padding:2.5rem 3rem;border-bottom:1px solid var(--upgrade-line);background:linear-gradient(135deg,#fff 0 88%,#fff1ec 88%)}
.topic-reference-table>header>span{grid-column:1/-1;color:var(--orange-dark);font-size:.59rem;font-weight:950;letter-spacing:.13em}
.topic-reference-table h2{margin:0;font-size:clamp(2.2rem,3.5vw,4.3rem);line-height:.96;letter-spacing:-.055em}
.topic-reference-table header p{align-self:end;margin:0;color:#5b5b61;line-height:1.7}
.topic-reference-table>div{overflow-x:auto}
.topic-reference-table table{width:100%;min-width:620px;border-collapse:collapse}
.topic-reference-table caption{padding:1rem 1.6rem;text-align:left;color:#6b6b70;background:#f6f5f1;font-size:.68rem;font-weight:850}
.topic-reference-table th,.topic-reference-table td{padding:1.25rem 1.6rem;border-top:1px solid var(--upgrade-line);text-align:left;vertical-align:top;line-height:1.65}
.topic-reference-table th{width:180px;color:var(--orange-dark);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.topic-reference-table td{color:#444449;font-size:.82rem}

.concept-map{margin:1rem 0 4rem;border:1px solid #2c2c31;border-radius:22px;background:#0b0b0d;color:#fff;overflow:hidden}
.concept-map figcaption{display:grid;gap:.5rem;padding:2rem 2.4rem;border-bottom:1px solid #303035}
.concept-map figcaption span{color:#ff7a52;font-size:.59rem;font-weight:950;letter-spacing:.13em}
.concept-map figcaption strong{font-size:clamp(1.7rem,3vw,3rem);line-height:1;letter-spacing:-.045em}
.concept-map>div{display:grid;grid-template-columns:1fr 1fr}
.concept-map ol{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none}
.concept-map ol+ol{border-left:1px solid #303035}
.concept-map li{position:relative;min-height:145px;padding:1.4rem;border-right:1px solid #303035}
.concept-map li:last-child{border-right:0}
.concept-map li:not(:last-child):after{content:"→";position:absolute;top:50%;right:-.45rem;z-index:1;color:#ff7a52;font-weight:900}
.concept-map li span{display:block;margin-bottom:2.3rem;color:#8b8b91;font-size:.58rem;font-weight:900}
.concept-map li b{font-size:.8rem;line-height:1.55}
.concept-map>p{margin:0;padding:1rem 1.4rem;border-top:1px solid #303035;color:#c6c6ca;font-size:.72rem;line-height:1.6}

.language-policy{display:grid;grid-template-columns:220px 1fr;gap:2rem;margin:1rem 0 2rem;padding:1.25rem 1.5rem;border:1px solid #d7d7d2;border-left:5px solid var(--orange-solid);border-radius:14px;background:#f8f7f3}
.language-policy b{color:var(--orange-dark);font-size:.62rem;letter-spacing:.1em}
.language-policy p{margin:0;color:#4f4f55;font-size:.8rem;line-height:1.65}

.series-reference-corrections{margin:1rem 0 4rem;border:1px solid var(--upgrade-line);border-radius:22px;background:#fff;overflow:hidden}
.series-reference-corrections>header{padding:2.5rem 3rem;border-bottom:1px solid var(--upgrade-line);background:linear-gradient(135deg,#fff 0 88%,#fff1ec 88%)}
.series-reference-corrections>header>span{color:var(--orange-dark);font-size:.59rem;font-weight:950;letter-spacing:.13em}
.series-reference-corrections h2{margin:.8rem 0;font-size:clamp(2.2rem,3.8vw,4.5rem);line-height:.95;letter-spacing:-.055em}
.series-reference-corrections header p{max-width:850px;margin:0;color:#5b5b61;line-height:1.7}
.series-reference-corrections details{border-bottom:1px solid var(--upgrade-line)}
.series-reference-corrections details:last-child{border-bottom:0}
.series-reference-corrections summary{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:1rem;min-height:92px;padding:1rem 1.6rem;cursor:pointer;list-style:none}
.series-reference-corrections summary::-webkit-details-marker{display:none}
.series-reference-corrections summary>b{color:#c4c4c0;font-size:1.4rem}
.series-reference-corrections summary h3{margin:0;font-size:1rem;line-height:1.45}
.series-reference-corrections summary span{color:var(--orange-dark);font-size:.63rem;font-weight:900}
.series-reference-answer{display:grid;grid-template-columns:repeat(2,1fr);background:#f6f5f1;border-top:1px solid var(--upgrade-line)}
.series-reference-answer p{margin:0;padding:1.4rem;border-right:1px solid var(--upgrade-line);border-bottom:1px solid var(--upgrade-line);color:#4d4d52;font-size:.8rem;line-height:1.65}
.series-reference-answer p:nth-child(2n){border-right:0}
.series-reference-answer p:nth-last-child(-n+2){border-bottom:0}
.series-reference-answer small{display:block;margin-bottom:.55rem;color:#6b6b70;font-size:.56rem;font-weight:900;letter-spacing:.08em}
.series-reference-answer strong{color:#111;font-size:1rem}

[id^="exercice-"],[id^="correction-"]{scroll-margin-top:6rem}
.topic-corrected-grid summary,.series-reference-corrections summary{min-height:48px}

@media (max-width:980px){.topic-reference-table>header{grid-template-columns:1fr;gap:1rem}.topic-reference-table>header>span{grid-column:auto}.concept-map>div{grid-template-columns:1fr}.concept-map ol+ol{border-top:1px solid #303035;border-left:0}}
@media (max-width:680px){.reference-hero-topic{margin-bottom:1rem}.topic-reference-table>header,.series-reference-corrections>header{padding:2rem 1.2rem}.topic-reference-table th,.topic-reference-table td{padding:1rem 1.2rem}.concept-map figcaption{padding:1.6rem 1.2rem}.concept-map ol{grid-template-columns:1fr}.concept-map li{min-height:0;border-right:0;border-bottom:1px solid #303035}.concept-map li:last-child{border-bottom:0}.concept-map li:not(:last-child):after{content:"↓";top:auto;right:1rem;bottom:-.6rem}.concept-map li span{margin-bottom:.7rem}.language-policy{grid-template-columns:1fr;gap:.5rem;padding:1.2rem}.series-reference-corrections summary{grid-template-columns:42px 1fr;padding:1rem 1.2rem}.series-reference-corrections summary span{grid-column:2}.series-reference-answer{grid-template-columns:1fr}.series-reference-answer p,.series-reference-answer p:nth-child(2n),.series-reference-answer p:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--upgrade-line)}.series-reference-answer p:last-child{border-bottom:0}}
@media print{.language-policy,.topic-reference-table,.concept-map,.series-reference-corrections{break-inside:avoid}.series-reference-corrections details{display:block}.series-reference-corrections details>div{display:grid}}


/* V37 — choix éditorial propre à chaque notion */
.topic-lesson-synthesis{margin:1rem 0 4rem;border:1px solid var(--upgrade-line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 22px 65px rgba(10,10,12,.05)}
.topic-lesson-synthesis>header{display:grid;grid-template-columns:.72fr 1.28fr;gap:1rem 3rem;padding:2.6rem 3rem;border-bottom:1px solid var(--upgrade-line);background:linear-gradient(135deg,#fff 0 88%,#fff1ec 88%)}
.topic-lesson-synthesis>header span{grid-column:1/-1;color:var(--orange-dark);font-size:.59rem;font-weight:950;letter-spacing:.13em}
.topic-lesson-synthesis h2{margin:0;font-size:clamp(2.2rem,3.6vw,4.2rem);line-height:.96;letter-spacing:-.055em}
.topic-lesson-synthesis>header p{align-self:end;margin:0;color:#55555b;line-height:1.7}
.topic-lesson-synthesis>div{display:grid;grid-template-columns:repeat(3,1fr)}
.topic-lesson-synthesis article{min-height:260px;padding:2rem;border-right:1px solid var(--upgrade-line)}
.topic-lesson-synthesis article:last-child{border-right:0}
.topic-lesson-synthesis article>b{color:var(--orange-dark);font-size:.62rem;letter-spacing:.08em}
.topic-lesson-synthesis h3{margin:2rem 0 1rem;font-size:1.3rem;line-height:1.1;letter-spacing:-.035em}
.topic-lesson-synthesis article p{margin:0;color:#535359;font-size:.8rem;line-height:1.72}
.topic-lesson-synthesis>aside{display:grid;grid-template-columns:190px 1fr;gap:2rem;padding:1.5rem 2rem;background:#0b0b0d;color:#d6d6da}
.topic-lesson-synthesis>aside b{color:#ff7a52;font-size:.62rem;letter-spacing:.09em;text-transform:uppercase}
.topic-lesson-synthesis>aside p{margin:0;font-size:.78rem;line-height:1.7}
@media (max-width:980px){.topic-lesson-synthesis>header{grid-template-columns:1fr;gap:1rem}.topic-lesson-synthesis>header span{grid-column:auto}.topic-lesson-synthesis>div{grid-template-columns:1fr}.topic-lesson-synthesis article{min-height:0;border-right:0;border-bottom:1px solid var(--upgrade-line)}.topic-lesson-synthesis article:last-child{border-bottom:0}}
@media (max-width:680px){.topic-lesson-synthesis>header{padding:2rem 1.2rem}.topic-lesson-synthesis article{padding:1.5rem 1.2rem}.topic-lesson-synthesis>aside{grid-template-columns:1fr;gap:.6rem;padding:1.4rem 1.2rem}}
@media print{.topic-lesson-synthesis{break-inside:avoid;box-shadow:none}}

/* V37 — vérification distincte dans les corrections courtes */
.topic-correction .topic-verification{margin-top:.85rem;padding:.8rem 1rem;border-left:3px solid var(--orange-solid);background:#fff7f3;color:#45454a;font-weight:650;line-height:1.65}
@media print{.topic-correction .topic-verification{border:1px solid #bbb;background:#fff}}


/* V38 — exercice voisin des guides à faible profondeur initiale */
.topic-nearby-practice{margin:clamp(2rem,5vw,4.5rem) 0;padding:clamp(1.25rem,3vw,2.25rem);border:1px solid #dedee5;border-radius:24px;background:linear-gradient(145deg,#fff 0%,#f7f7fa 100%)}
.topic-nearby-practice>header{max-width:850px;margin-bottom:1.2rem}
.topic-nearby-practice>header>span{font-size:.74rem;font-weight:900;letter-spacing:.12em;color:var(--orange-solid)}
.topic-nearby-practice>header h2{margin:.45rem 0 .55rem;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.08}
.topic-nearby-practice>header p{margin:0;color:#555861;line-height:1.7}
.topic-nearby-card{border:1px solid #cfcfd8;border-radius:18px;background:#fff;overflow:hidden}
.topic-nearby-card summary{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem 1rem;align-items:center;padding:1.15rem 1.25rem;cursor:pointer}
.topic-nearby-card summary::marker{content:""}
.topic-nearby-card summary b{font-size:.72rem;letter-spacing:.09em;color:var(--orange-solid)}
.topic-nearby-card summary h3{grid-column:1/-1;margin:0;font-size:1.13rem;line-height:1.5}
.topic-nearby-card summary span{font-size:.78rem;font-weight:850;color:#4b4d55}
.topic-nearby-correction{padding:1.25rem;border-top:1px solid #dedee5;background:#fbfbfc}
.topic-nearby-correction small{display:block;margin-top:1rem;font-size:.7rem;font-weight:900;letter-spacing:.1em;color:#696b74}
.topic-nearby-correction small:first-child{margin-top:0}
.topic-nearby-correction strong{display:block;margin:.35rem 0 .7rem;font-size:1.12rem;line-height:1.55;color:#17181c}
.topic-nearby-correction p{margin:.35rem 0 0;line-height:1.7;color:#3f4148}
.topic-nearby-check{padding:.8rem 1rem;border-left:3px solid var(--orange-solid);background:#fff7f3}
@media(max-width:640px){.topic-nearby-practice{border-radius:18px}.topic-nearby-card summary{grid-template-columns:1fr}.topic-nearby-card summary span{justify-self:start}}
@media print{.topic-nearby-practice{break-inside:avoid;background:#fff}.topic-nearby-card:not([open])>.topic-nearby-correction{display:block}.topic-nearby-card summary span{display:none}}


/* V40 — repères visuels pédagogiques et progression stockée uniquement dans le navigateur */
.topic-visual-explainer{border:1px solid var(--upgrade-line);background:linear-gradient(145deg,#fff 0 72%,#f7f6f2 72%);border-radius:24px;margin:1.2rem 0 2rem;overflow:hidden;box-shadow:0 18px 55px #0a0a0c0a}
.topic-visual-explainer figcaption{border-bottom:1px solid var(--upgrade-line);grid-template-columns:.32fr 1fr;gap:2rem;padding:1.5rem 2rem;display:grid}
.topic-visual-explainer figcaption span{color:var(--orange-ink);letter-spacing:.12em;font-size:.58rem;font-weight:950}
.topic-visual-explainer figcaption strong{letter-spacing:-.035em;font-size:1.15rem}
.topic-visual-explainer svg{width:100%;height:auto;padding:.3rem 1rem;display:block}
.topic-visual-arrow{fill:none;stroke-width:4;stroke-linecap:round}
.topic-visual-number{fill:#fff;font-size:10px;font-weight:900}
.topic-visual-stage{fill:#6b6b70;letter-spacing:1.5px;font-size:11px;font-weight:900}
.topic-visual-keyword{fill:#111;font-size:21px;font-weight:850}
.topic-visual-mobile{display:none}
.topic-visual-explainer>p{border-top:1px solid var(--upgrade-line);color:#5f5f64;margin:0;padding:1.2rem 2rem;font-size:.76rem;line-height:1.7}
.local-progress-note{border:1px solid #d9d8d3;background:#f7f6f2;border-radius:14px;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:.9rem 1rem;display:flex}
.local-progress-note div{display:grid;gap:.15rem}.local-progress-note b{font-size:.72rem}.local-progress-note span{color:#68686e;font-size:.68rem}.local-progress-note button{border:1px solid #c9c8c3;background:#fff;border-radius:999px;padding:.45rem .7rem;font-size:.62rem;font-weight:850}
@media(max-width:680px){.topic-visual-explainer figcaption{grid-template-columns:1fr;gap:.45rem;padding:1.2rem}.topic-visual-explainer svg{display:none}.topic-visual-mobile{counter-reset:none;list-style:none;margin:0;padding:1rem;display:grid;gap:.65rem}.topic-visual-mobile li{border:1px solid var(--upgrade-line);background:#fff;border-radius:14px;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:center;padding:.8rem;display:grid}.topic-visual-mobile b{background:var(--orange-ink);color:#fff;border-radius:999px;grid-row:1/3;align-items:center;justify-content:center;width:2rem;height:2rem;font-size:.65rem;display:flex}.topic-visual-mobile span{color:#6b6b70;letter-spacing:.09em;font-size:.55rem;font-weight:900}.topic-visual-mobile strong{font-size:.9rem}.topic-visual-explainer>p{padding:1rem 1.2rem}.local-progress-note{align-items:flex-start;flex-direction:column}}
@media print{.topic-visual-explainer{break-inside:avoid;box-shadow:none}.local-progress-note{display:none}}


/* Prochaine action, registre des séries et journal de correction */
.topic-next-exercise{border-top:1px solid var(--upgrade-line);color:var(--orange-ink);margin-top:1rem;padding-top:.85rem;font-size:.68rem;font-weight:900;text-decoration:none;display:block}
.topic-next-exercise:hover{text-decoration:underline;text-underline-offset:3px}
.series-integrity-record{border:1px solid #c9c8c3;background:linear-gradient(140deg,#fff 0 72%,#f4f3ee 72%);border-radius:20px;margin:1.2rem 0 1.5rem;padding:1.4rem 1.5rem}
.series-integrity-record>span,.quality-release-journal header>span{color:var(--orange-ink);letter-spacing:.12em;font-size:.58rem;font-weight:950}
.series-integrity-record h2{margin:.4rem 0 .65rem;font-size:1.2rem}.series-integrity-record p{color:#5f5f64;max-width:76ch;font-size:.76rem;line-height:1.65}
.series-integrity-record ul{list-style:none;gap:.45rem;margin:.9rem 0;padding:0;display:flex;flex-wrap:wrap}.series-integrity-record li{border:1px solid #d8d7d2;background:#fff;border-radius:999px;padding:.4rem .65rem;font-family:monospace;font-size:.58rem}
.series-integrity-record small{color:#6a6a70;font-size:.62rem}.series-load-error{border:2px solid #b73418;background:#fff5f2;border-radius:16px;padding:1.2rem}.series-load-error p{margin:.4rem 0 0}
.quality-release-journal{border:1px solid var(--upgrade-line);background:#111;color:#fff;border-radius:28px;margin:2rem 0;padding:2rem}.quality-release-journal header h2{margin:.55rem 0;font-size:clamp(1.5rem,3vw,2.5rem)}.quality-release-journal header p{color:#c8c8cc;max-width:70ch}
.quality-release-journal>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem;display:grid}.quality-release-journal article{border:1px solid #ffffff24;background:#ffffff0a;border-radius:18px;padding:1.2rem}.quality-release-journal article span{color:#ff7c53;font-size:.58rem;font-weight:900}.quality-release-journal article h3{margin:.45rem 0;font-size:1rem}.quality-release-journal article p{color:#d0d0d4;font-size:.72rem;line-height:1.65}.quality-release-journal footer{border-top:1px solid #ffffff24;color:#b8b8bd;margin-top:1.2rem;padding-top:1rem;font-size:.66rem}
@media(max-width:760px){.quality-release-journal{border-radius:20px;padding:1.3rem}.quality-release-journal>div{grid-template-columns:1fr}.series-integrity-record ul{align-items:flex-start;flex-direction:column}.series-integrity-record li{max-width:100%;overflow-wrap:anywhere}}
@media print{.topic-next-exercise,.series-integrity-record{display:none}.quality-release-journal{background:#fff;color:#111;box-shadow:none}.quality-release-journal article p,.quality-release-journal header p,.quality-release-journal footer{color:#333}}

/* V42_WEAK_PAGE_UPGRADES */
.policy-practical{margin:2.2rem 0;border:1px solid var(--upgrade-line,#deded9);border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 18px 60px rgba(11,11,13,.06)}
.policy-practical>header{display:grid;grid-template-columns:minmax(170px,.55fr) 1.5fr;gap:1rem 2rem;padding:2.4rem;background:#101014;color:#fff}
.policy-practical>header>span{grid-row:1/3;color:#ff6b3b;letter-spacing:.13em;font-size:.68rem;font-weight:900}
.policy-practical>header h2{letter-spacing:-.035em;font-size:clamp(1.65rem,3vw,2.5rem);font-weight:900;line-height:1.02}
.policy-practical>header p{color:#c8c8ce;max-width:780px;line-height:1.7}
.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.policy-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.policy-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.policy-grid article{min-height:180px;padding:2rem;border-right:1px solid var(--upgrade-line,#deded9)}
.policy-grid article:last-child{border-right:0}
.policy-grid article>b{display:block;color:var(--orange-ink,#d93400);letter-spacing:.1em;margin-bottom:1rem;font-size:.72rem}
.policy-grid p,.policy-grid li{color:#4f4f55;line-height:1.65}
.policy-grid ul{display:grid;gap:.7rem;padding:0;list-style:none}
.policy-grid li{position:relative;padding-left:1.2rem}.policy-grid li:before{content:"✓";position:absolute;left:0;color:var(--orange-ink,#d93400);font-weight:900}
.policy-checklist{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.policy-checklist p{min-height:125px;margin:0;padding:1.5rem;border-right:1px solid var(--upgrade-line,#deded9);line-height:1.5}
.policy-checklist p:last-child{border-right:0}.policy-checklist b{display:block;color:var(--orange-ink,#d93400);margin-bottom:.8rem;font-size:.75rem}
@media(max-width:980px){.policy-grid-four,.policy-grid-three,.policy-checklist{grid-template-columns:1fr 1fr}.policy-grid article,.policy-checklist p{border-bottom:1px solid var(--upgrade-line,#deded9)}}
@media(max-width:680px){.policy-practical{border-radius:18px}.policy-practical>header{grid-template-columns:1fr;padding:1.7rem 1.2rem}.policy-practical>header>span{grid-row:auto}.policy-grid,.policy-grid-three,.policy-grid-four,.policy-checklist{grid-template-columns:1fr}.policy-grid article,.policy-checklist p{min-height:0;border-right:0;border-bottom:1px solid var(--upgrade-line,#deded9);padding:1.35rem 1.2rem}.policy-grid article:last-child,.policy-checklist p:last-child{border-bottom:0}}
@media print{.policy-practical{break-inside:avoid;box-shadow:none}.policy-practical>header{background:#fff;color:#111}.policy-practical>header p{color:#333}}

/* Figures disciplinaires rattachées à un cas concret */
.topic-concept-figure{margin:1.2rem 0 2.4rem;border:1px solid var(--upgrade-line);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 18px 55px rgba(10,10,12,.05)}
.topic-concept-figure figcaption{display:grid;grid-template-columns:.32fr 1fr;gap:2rem;padding:1.45rem 2rem;border-bottom:1px solid var(--upgrade-line)}
.topic-concept-figure figcaption span{color:var(--orange-ink);font-size:.58rem;font-weight:950;letter-spacing:.12em}
.topic-concept-figure figcaption strong{font-size:1.15rem;letter-spacing:-.035em}
.topic-concept-figure img{display:block;width:100%;height:auto;aspect-ratio:24/13;background:#fffdfb}
.topic-concept-figure>p{margin:0;padding:1.15rem 2rem;border-top:1px solid var(--upgrade-line);color:#55555b;font-size:.78rem;line-height:1.7}
@media(max-width:680px){.topic-concept-figure{border-radius:18px}.topic-concept-figure figcaption{grid-template-columns:1fr;gap:.45rem;padding:1.2rem}.topic-concept-figure>p{padding:1rem 1.2rem}}
@media print{.topic-concept-figure{break-inside:avoid;box-shadow:none}.topic-concept-figure img{max-height:12cm;object-fit:contain}}
.method-figure-proof{display:grid;grid-template-columns:minmax(180px,.35fr) 1fr;gap:1.5rem;margin:1.2rem 0 0;padding:1.4rem 1.6rem;border:1px solid var(--upgrade-line);border-radius:18px;background:#fff7f3}
.method-figure-proof b{color:var(--orange-ink);font-size:1rem}.method-figure-proof p{margin:0;color:#4e4e54;line-height:1.7}
@media(max-width:680px){.method-figure-proof{grid-template-columns:1fr}}


/* V53 — parcours série et citabilité */
.topic-series-path{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:1rem 0 2rem;padding:1.15rem 1.35rem;border:1px solid var(--upgrade-line);border-left:5px solid var(--orange);border-radius:18px;background:#fff}
.topic-series-path div{display:grid;gap:.2rem}.topic-series-path span,.topic-citation-compact span{color:var(--orange-ink);font-size:.58rem;font-weight:950;letter-spacing:.12em}.topic-series-path b{font-size:1rem}.topic-series-path p{margin:0;color:#55555b;font-size:.76rem;line-height:1.55}.topic-series-path>a{flex:0 0 auto;color:#fff;background:#161618;border-radius:999px;padding:.78rem 1rem;font-size:.72rem;font-weight:850;text-decoration:none}
.topic-citation-compact{display:grid;grid-template-columns:1.15fr .85fr;gap:1.4rem;margin-bottom:1rem;padding:1.2rem 1.35rem;border:1px solid var(--upgrade-line);border-radius:18px;background:#fffdfb}.topic-citation-compact div{display:grid;gap:.5rem}.topic-citation-compact cite{font-size:.76rem;font-style:normal;line-height:1.65;overflow-wrap:anywhere}.topic-citation-compact p{margin:0;color:#55555b;font-size:.72rem;line-height:1.7}
@media(max-width:720px){.topic-series-path{align-items:stretch;flex-direction:column}.topic-series-path>a{text-align:center}.topic-citation-compact{grid-template-columns:1fr}}
@media print{.topic-series-path>a{color:#161618;background:none;border:1px solid #aaa}.topic-citation-compact{break-inside:avoid}}


/* V53 — composition pédagogique explicite */
.topic-activity-breakdown{margin:.9rem 0 0;padding:.85rem 1rem;border:1px solid var(--upgrade-line);border-radius:14px;background:#fff;color:#55555b;font-size:.72rem;line-height:1.65}
.topic-activity-breakdown b{color:#202024}
@media print{.topic-activity-breakdown{break-inside:avoid;background:#fff}}
.page-strength-v53{margin:clamp(2rem,5vw,4.5rem) 0;padding:clamp(1.4rem,3vw,2.4rem);border:1px solid #d9d8d3;border-radius:28px;background:#fff}.page-strength-v53>header{max-width:850px}.page-strength-v53>header>span{display:block;margin-bottom:.65rem;color:var(--subject-accent,#ff4b14);font-size:.76rem;font-weight:900;letter-spacing:.12em}.page-strength-v53>header h2{margin:0 0 .8rem;font-size:clamp(1.7rem,3.2vw,2.75rem);line-height:1.04;letter-spacing:-.035em}.page-strength-v53>header p,.page-strength-v53 article p,.page-strength-v53 aside p{line-height:1.65}.page-strength-v53>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.page-strength-v53 article{display:flex;min-width:0;flex-direction:column;padding:1.25rem;border-radius:20px;background:#f5f4f1}.page-strength-v53 article h3{margin:0 0 .65rem;font-size:1.08rem;line-height:1.25}.page-strength-v53 article p{margin:0 0 1rem}.page-strength-v53 article a{margin-top:auto;color:inherit;font-weight:800;text-decoration-thickness:2px;text-underline-offset:3px}.page-strength-v53 aside{display:grid;grid-template-columns:minmax(120px,.28fr) 1fr;gap:1rem;align-items:start;margin-top:1rem;padding:1rem 1.2rem;border-left:4px solid var(--subject-accent,#ff4b14);background:#242424;color:#fff;border-radius:8px 16px 16px 8px}.page-strength-v53 aside b{color:var(--subject-accent,#ff7a48);text-transform:uppercase;letter-spacing:.08em}.page-strength-v53 aside p{margin:0}
@media(max-width:820px){.page-strength-v53>div{grid-template-columns:1fr}.page-strength-v53 aside{grid-template-columns:1fr}}
@media print{.page-strength-v53{break-inside:avoid;border-color:#777}.page-strength-v53>div{grid-template-columns:1fr 1fr}.page-strength-v53 article{break-inside:avoid;background:#fff;border:1px solid #bbb}.page-strength-v53 aside{color:#000;background:#fff;border:1px solid #777;border-left:4px solid #000}}
.domain-case-v53{margin:clamp(2rem,5vw,4.5rem) 0;padding:clamp(1.35rem,3vw,2.35rem);border:1px solid #cfcec9;border-radius:28px;background:#242424;color:#fff}.domain-case-v53>header{max-width:830px}.domain-case-v53>header>span,.domain-case-v53 article>b,.domain-case-v53 footer b{display:block;color:var(--subject-accent,#ff7a48);font-size:.74rem;font-weight:900;letter-spacing:.12em}.domain-case-v53>header h2{margin:.55rem 0 .75rem;font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.06;letter-spacing:-.03em}.domain-case-v53>header p{max-width:720px;color:#d9d8d3;line-height:1.6}.domain-case-v53-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;margin-top:1.4rem}.domain-case-v53 article{padding:1.2rem;border-radius:19px;background:#fff;color:#242424}.domain-case-v53 article>b{margin-bottom:.65rem}.domain-case-question{margin:0;font-size:1.08rem;font-weight:750;line-height:1.55}.domain-case-answer{display:block;margin:.05rem 0 .8rem;font-size:1.18rem;line-height:1.4}.domain-case-reasoning,.domain-case-check{margin:0;line-height:1.65}.domain-case-v53>footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #555}.domain-case-v53>footer b{margin-bottom:.4rem}.domain-case-v53>footer a{padding:.75rem 1rem;border-radius:999px;background:var(--subject-accent,#ff4b14);color:#fff;font-weight:850;text-decoration:none;white-space:nowrap}
@media(max-width:820px){.domain-case-v53-grid,.domain-case-v53>footer{grid-template-columns:1fr}.domain-case-v53>footer a{justify-self:start;white-space:normal}}
@media print{.domain-case-v53{break-inside:avoid;background:#fff;color:#000;border-color:#777}.domain-case-v53-grid{grid-template-columns:1fr 1fr}.domain-case-v53 article{break-inside:avoid;border:1px solid #999}.domain-case-v53>header p{color:#000}.domain-case-v53>footer a{border:1px solid #000;background:#fff;color:#000}}
