:root{font-family:Arial,Helvetica,sans-serif;color:#19454f;background:#eaf4ee;font-size:clamp(15px,1.35vw,23px);--ink:#1d5964;--paper:#fffbf1;--line:#bbd3cc}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100dvh;display:flex;flex-direction:column}button,select,a{font:inherit}button,a{touch-action:manipulation}button,.toolbar a{border:1px solid var(--line);border-radius:.55rem;padding:.6rem .9rem;background:#f9fbf7;color:var(--ink);cursor:pointer;text-decoration:none}button:hover,a:hover{background:#dbece5}button:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #dc9a30;outline-offset:3px}.primary{color:white;background:#176575;border-color:#176575;font-weight:700}.primary:hover{background:#124d59}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem 1rem;background:var(--paper);border-bottom:1px solid var(--line)}.toolbar strong{font-size:.95rem;text-align:center}.toolbar>div{display:flex;align-items:center;gap:.35rem}.toolbar a[aria-current]{background:var(--ink);color:white}.toolbar>div a{padding:.4rem}.toolbar button{padding:.4rem .6rem}main{width:min(96vw,1600px);margin:auto;flex:1;display:flex;flex-direction:column;justify-content:center;padding:1rem 0}section{min-width:0}#welcome,#final{width:min(100%,1050px);margin:auto;padding:clamp(1rem,2vw,2.4rem);background:var(--paper);border:1px solid var(--line);border-radius:1rem}h1{font-size:clamp(1.55rem,2.7vw,2.7rem);margin:.3rem 0 .65rem;line-height:1.13}h2{font-size:1.35rem}h3{font-size:1.6rem;margin:.4rem 0}p{line-height:1.45;margin:.65rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700}.lead{font-size:1.1rem}.fine,.scientific{font-size:.8rem}.scientific{font-style:italic}fieldset{display:flex;gap:1rem;border:0;padding:.6rem 0;margin:.7rem 0}.level{flex:1;padding:.8rem;border:1px solid var(--line);border-radius:.7rem;display:grid;grid-template-columns:auto 1fr;gap:.4rem}.level span{grid-column:2;font-size:.85rem}.level:has(:checked){background:#dcefe8;border-color:var(--ink)}select{display:block;width:100%;padding:.65rem;margin-top:.5rem;color:var(--ink);background:white;border:1px solid var(--line);border-radius:.4rem}input[type=radio]{width:1.15rem;height:1.15rem;accent-color:var(--ink)}.section-heading h1{font-size:clamp(1.4rem,2.5vw,2.4rem)}.section-heading p{margin:.3rem 0}.intro-grid,.lesson-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem;align-items:center}.silhouette{background:var(--paper);border-radius:1rem;border:1px solid var(--line)}.silhouette svg{display:block;width:100%;max-height:57dvh}.body-shape{fill:#245c62;stroke:#245c62;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.body-shape .line{fill:none;stroke-width:8}.body-shape .cut{fill:#fffbf1;stroke:#fffbf1;stroke-width:4}.body-shape .cut.line{fill:none}.number-marker circle{fill:#fffbf1;stroke:#b47920;stroke-width:3}.number-marker text{fill:#19454f;stroke:none;font-size:22px;font-weight:bold;text-anchor:middle}#group-clues,#example-clues{padding-left:1.6rem}#group-clues li,#example-clues li{margin:.8rem 0;line-height:1.4}.illustration{position:relative;aspect-ratio:16/9;min-width:0;background:#edf4ef;border-radius:.6rem;overflow:hidden;border:1px solid var(--line)}.illustration>img{display:block;width:100%;height:100%;object-fit:contain}.illustration>svg{position:absolute;inset:0;width:100%;height:100%;stroke:#174b59;stroke-width:4;fill:#fffbf1;pointer-events:none}#callouts{position:absolute;inset:0;padding:0;margin:0;list-style:none;pointer-events:none}.callout{position:absolute;font-size:clamp(10px,1.05vw,18px);background:#fffdf3ed;border:1px solid var(--line);border-radius:.25rem;padding:.25rem;font-weight:bold}#lesson-video{position:absolute;inset:0}.clip-stage{position:relative;width:100%;height:100%;aspect-ratio:16/9;overflow:hidden;background:#101e23}.clip-stage iframe{width:100%;height:100%;border:0;pointer-events:none}.clip-cover{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;border-radius:0}.video-status{position:absolute;bottom:.4rem;left:.4rem;right:.4rem;padding:.35rem;background:#fffdf1e8;z-index:1;font-size:.75rem;pointer-events:none}.actions{display:flex;gap:.7rem;justify-content:flex-end;align-items:center;margin-top:1rem}.actions button{min-height:2.6rem}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:.8rem 0}.choice{position:relative;min-width:0;background:var(--paper);border-radius:.7rem;border:2px solid var(--line);overflow:hidden}.choice:has([aria-pressed=true]){border-color:#176575;box-shadow:0 0 0 3px #176575;background:#dcefe8}.choice-art{position:relative;aspect-ratio:16/9;background:#edf4ef}.choice-art .clip-stage{position:absolute;inset:0}.image-choice{border:0;border-radius:0;padding:0;width:100%;height:100%;display:block;background:transparent}.image-choice img{display:block;width:100%;height:100%;object-fit:contain}.choice-select{display:block;width:100%;border:0;border-radius:0;font-size:1.45rem;font-weight:bold;background:transparent}.choice-select[aria-pressed=true]{background:#176575;color:white}#status:empty{display:none}#status{padding:.6rem;background:#fff0df;border-radius:.4rem}dialog{width:min(96vw,1500px);max-height:94dvh;border:1px solid var(--line);border-radius:.8rem;padding:1.3rem;background:var(--paper);color:#19454f}dialog::backdrop{background:#12333ccc}dialog header{display:flex;justify-content:space-between;gap:1rem;align-items:center}dialog header h2{margin:.2rem 0 1rem}.correction-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.5rem;align-items:center}.verdict{font-weight:bold;color:#1a6875;font-size:1.2rem}#help{max-width:1000px}#help li{margin:.7rem 0;line-height:1.4}footer{font-size:.62rem;text-align:center;padding:.4rem .8rem;color:#4b6d70}@media(max-height:760px) and (min-width:850px){:root{font-size:16px}main{padding:.4rem 0}#welcome{padding:1rem}h1{font-size:1.9rem}.silhouette svg{max-height:52dvh}.section-heading h1{font-size:1.7rem}.section-heading p{font-size:.85rem}.illustration{max-height:54dvh}.choices{max-width:1400px;width:100%;margin:.5rem auto}.actions{margin-top:.5rem}.correction-grid .illustration{max-height:55dvh}dialog{padding:.8rem}}@media(max-width:850px){.toolbar{flex-wrap:wrap;padding:.5rem}.toolbar strong{order:3;width:100%}.toolbar>div{margin-left:auto}main{width:94vw}.intro-grid,.lesson-grid,.correction-grid{grid-template-columns:1fr}.silhouette svg{max-height:40dvh}.choices{gap:.4rem}.choice-select{font-size:1.1rem}.callout{font-size:10px}fieldset{gap:.5rem}.level{padding:.5rem}.section-heading h1{font-size:1.45rem}.actions{flex-wrap:wrap}dialog{padding:.8rem}#lesson{padding-bottom:1rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Projection and television: same large teal teaching surfaces as Repère-MOI. */
:root{font-size:clamp(22px,2vw,38px);background:linear-gradient(#edf5f2,#e3f0ed)}.toolbar{font-size:clamp(18px,1.25vw,25px);padding:.45rem .7rem}.toolbar strong{font-size:1em}.toolbar button,.toolbar a{min-height:44px}.toolbar>div{gap:.3rem}main{width:min(97vw,2400px);padding:.6rem 0}h1{font-size:clamp(36px,3.2vw,72px)}.section-heading h1{font-size:clamp(32px,2.8vw,64px)}button{min-height:56px;font-size:1rem;font-weight:700}.primary{background:#176575}.eyebrow{font-size:.78rem}.lead{font-size:1.1rem}.fine,.scientific{font-size:.84rem}#welcome{display:grid;grid-template-columns:1.12fr 1fr;gap:1.1rem;align-items:center;width:100%;max-width:2200px;padding:0;background:transparent;border:0}.welcome-copy{background:#36a4b4;color:white;padding:clamp(22px,2vw,48px);border-radius:.5rem}.welcome-copy h1{font-size:clamp(38px,3.4vw,78px)}.welcome-copy p{margin:.45rem 0}.welcome-copy fieldset{margin:.5rem 0;padding:.2rem 0}.welcome-copy select{font-size:1rem;padding:.4rem;min-height:50px}.welcome-copy .level{color:#19454f;background:#eef6f1;padding:.5rem;gap:.25rem}.welcome-copy .level:has(:checked){background:#fffdf4;border:3px solid #175d6c}.welcome-copy .level span{font-size:.85rem}.welcome-art{margin:0;background:#f9fbf5;border:1px solid var(--line);border-radius:.6rem;overflow:hidden}.welcome-art img{width:100%;display:block;aspect-ratio:16/9;object-fit:contain}.welcome-art figcaption{font-size:.8rem;text-align:center;padding:.5rem}.intro-grid{grid-template-columns:1.1fr 1fr;gap:1.1rem}#group-clues li,#example-clues li{font-size:1.06rem;margin:.6rem 0;line-height:1.3}.lesson-grid{grid-template-columns:1.6fr 1fr;gap:1rem}.lesson-side .actions{flex-wrap:wrap}.callout{font-size:clamp(18px,1.5vw,34px);line-height:1.18;padding:.3rem;box-shadow:0 2px 5px #12333322}.choice-select{font-size:1.65rem;min-height:60px}.choices{gap:.7rem}.section-heading p{font-size:.92rem}.section-heading{margin-bottom:.65rem}.correction-grid{grid-template-columns:1.35fr 1fr;gap:1rem}.correction-grid p{line-height:1.3;font-size:1rem}.correction-grid h3{font-size:1.5rem}dialog{width:97vw;max-width:2300px;padding:.8rem}dialog header h2{font-size:1.15rem}footer{font-size:clamp(11px,.7vw,16px)}#help{max-width:1500px}#help li{font-size:1rem}#final{max-width:1500px}@media(max-height:800px) and (min-width:850px){:root{font-size:clamp(20px,1.9vw,28px)}.toolbar{font-size:18px}main{padding:.35rem 0}.welcome-art{display:none}#welcome{display:block;max-width:1150px}.welcome-copy{padding:20px}.welcome-copy h1{font-size:42px;line-height:1.08}.welcome-copy .lead{font-size:24px}.welcome-copy .fine{font-size:18px}.welcome-copy fieldset{margin:.35rem 0}.welcome-copy label.level{padding:.4rem}.welcome-copy button{min-height:50px}.section-heading h1{font-size:32px}.section-heading p{font-size:22px}.section-heading{margin-bottom:.4rem}.section-heading .eyebrow{font-size:18px}.section-heading .scientific{font-size:20px}.intro-grid{grid-template-columns:1fr 1fr}.silhouette svg{max-height:54dvh}#group-clues li,#example-clues li{font-size:24px;line-height:1.23;margin:.55rem 0}.intro-grid h2{font-size:28px}.intro-grid .fine{font-size:19px}.lesson-grid{grid-template-columns:1.55fr 1fr}.illustration{max-height:58dvh}.choices{margin:.4rem 0}.choice-select{font-size:32px;min-height:50px}.actions{margin-top:.5rem;gap:.5rem}button{font-size:23px;min-height:52px}.callout{font-size:20px}.correction-grid p{font-size:24px}.correction-grid h3{font-size:34px}.correction-grid .scientific{font-size:22px}.correction-grid .illustration{max-height:55dvh}dialog{padding:18px}#help li{font-size:22px}#help h2{font-size:30px}}@media(min-width:1900px) and (min-height:1000px){.silhouette svg{max-height:63dvh}.lesson-grid{grid-template-columns:1.65fr 1fr}.toolbar{padding:.6rem 1rem}.toolbar a,.toolbar button{min-height:58px}.illustration{max-height:64dvh}}@media(max-width:850px){:root{font-size:21px}.toolbar{font-size:17px}.toolbar>div{gap:.2rem}.toolbar strong{font-size:19px}.toolbar button{font-size:17px;padding:.35rem}.toolbar>div a{padding:.35rem}.welcome-art{display:none}#welcome{display:block}.welcome-copy{padding:20px}.welcome-copy h1{font-size:38px}.welcome-copy fieldset{flex-direction:column}.intro-grid,.lesson-grid,.correction-grid{grid-template-columns:1fr}.section-heading h1{font-size:30px}.choices{gap:.35rem}.choice-select{font-size:27px}.callout{font-size:16px}.actions button{font-size:21px}.fine{font-size:18px}#group-clues li,#example-clues li{font-size:23px}}
/* One slide = one idea. Remove duplicate prose around annotated illustrations. */
.level{align-items:center}.welcome-copy .lead{font-weight:500}.welcome-copy .fine{display:none}.intro-grid h2{font-size:1.1rem}#group-clues li{font-size:1.2rem;font-weight:700;line-height:1.3;margin:.9rem 0}.annotated #example-clues{display:none}.annotated .lesson-grid{display:block;max-width:min(100%,calc((100dvh - 335px)*16/9));margin:0 auto}.annotated .lesson-side .actions{justify-content:flex-end}.annotated .illustration{max-height:none}.annotated .lesson-side{margin-top:.3rem}.annotated .callout{font-size:clamp(20px,1.55vw,36px)}#correction-text{font-size:1.08rem}#question{font-size:clamp(36px,3.3vw,72px)}#example-clues li{font-size:1.2rem;font-weight:700}.section-heading .eyebrow{font-size:.75rem}.welcome-copy form legend{font-size:.85rem}.welcome-copy .level strong{font-size:1rem}.toolbar strong{white-space:nowrap}@media(max-height:800px) and (min-width:850px){#group-clues li,#example-clues li{font-size:30px}.annotated .lesson-grid{max-width:min(100%,calc((100dvh - 335px)*16/9))}.annotated .callout{font-size:23px}.welcome-copy h1{font-size:48px}.welcome-copy .lead{font-size:28px}.welcome-copy fieldset{margin:.7rem 0}.intro-grid h2{font-size:30px}#question{font-size:40px}.section-heading p{font-size:24px}}@media(max-width:850px){.toolbar strong{white-space:normal}.annotated .lesson-grid{max-width:none}.annotated .callout{font-size:16px}#group-clues li,#example-clues li{font-size:27px}}

/* Explicit verdicts remain readable without relying on colour alone. */
.verdict.keep,.correct{color:#176b39}.verdict.exclude,.incorrect{color:#a12b25}.choice-select.keep,.choice-select.keep[aria-pressed=true]{background:#dcefdc;color:#175d31}.choice-select.exclude,.choice-select.exclude[aria-pressed=true]{background:#f9dfda;color:#962b24}.choice-select:disabled{opacity:1}

.timer-setting{display:flex;align-items:center;gap:1rem;margin:.5rem 0}.timer-setting select{width:auto;flex:1;margin:0}.challenge-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem}#countdown{font-size:1.2rem;color:#9d2b25}.challenge-meta p{margin:0}.welcome-copy .timer-setting{font-size:.9rem}

/* Two concise slides side by side for the comparison game. */
.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.comparison-side{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:.6rem;padding:.65rem}.comparison-side h2{font-size:1.15rem;margin:0 0 .35rem}.comparison-side .silhouette{border:0}.comparison-side .silhouette svg{max-height:30dvh}.comparison-side ol{padding-left:1.4rem;margin:.3rem 0 0}.comparison-side li{font-size:1rem;font-weight:700;line-height:1.2;margin:.3rem 0}.comparison-note{font-size:.8rem;font-weight:700;margin:.3rem 0 0}body[data-mode=comparison] #introduction .section-heading{margin-bottom:.35rem}body[data-mode=comparison] #welcome .welcome-art{display:none}body[data-mode=comparison] #welcome{display:block;max-width:1500px}@media(max-height:800px) and (min-width:850px){.comparison-side{padding:12px}.comparison-side h2{font-size:30px}.comparison-side .silhouette svg{max-height:24dvh}.comparison-side li{font-size:25px}.comparison-side ol{margin:0}.comparison-note{font-size:20px}#comparison-actions{margin-top:.35rem}}@media(max-width:650px){.comparison-grid{gap:.4rem}.comparison-side{padding:.4rem}.comparison-side h2{font-size:23px}.comparison-side li{font-size:20px}.comparison-side ol{padding-left:1.1rem}.comparison-side .silhouette svg{max-height:23dvh}}
/* Reserve the actual viewport: the image yields space to the header and controls. */
@media(min-width:851px){
 body{height:100dvh;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
 main{height:100%;min-height:0;margin:0 auto;overflow:hidden;justify-content:center;padding:.35rem 0}
 main>section:not([hidden]){max-height:100%;min-height:0}
 #lesson:not([hidden]),#challenge:not([hidden]),#introduction:not([hidden]){display:flex;flex-direction:column;min-height:0;width:100%}
 .section-heading{flex:none}.section-heading h1{margin:.1rem 0}.section-heading .scientific{margin:.15rem 0}.section-heading .eyebrow{margin:0 0 .15rem}
 .lesson-grid{flex:1;min-height:0;max-height:100%;align-items:center}
 .lesson-grid>.illustration{width:100%;max-height:100%;min-height:0;aspect-ratio:16/9}
 .annotated .lesson-grid{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;max-width:100%;width:100%;margin:0;gap:.2rem}
 .annotated .lesson-grid>.illustration{width:auto;max-width:100%;height:100%;max-height:100%;min-height:0;aspect-ratio:16/9;margin:0 auto}
 .annotated .lesson-side{margin:0}.annotated .lesson-side .actions{margin:.2rem 0 0}
 .intro-grid{min-height:0;flex:1}.silhouette{min-height:0}.comparison-grid{min-height:0;flex:1}.comparison-side{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.comparison-side .silhouette svg{height:100%;max-height:100%;width:100%}
 .choices{flex:0 1 auto;min-height:0;max-height:100%}.choice-art{min-height:0}.actions{flex:none}
}
@media(min-width:851px) and (max-height:650px){.toolbar{font-size:16px}.toolbar a,.toolbar button{min-height:38px;padding:.3rem .5rem}.section-heading h1{font-size:30px}.section-heading .eyebrow,.scientific{font-size:18px}.actions button{font-size:21px;min-height:44px;padding:.35rem .6rem}.comparison-side h2{font-size:26px}.comparison-side li{font-size:23px}.comparison-note{font-size:18px}.welcome-copy{padding:12px}.welcome-copy h1{font-size:36px}.welcome-copy .eyebrow{display:none}.welcome-copy .lead{font-size:24px}.welcome-copy select{min-height:42px}.welcome-copy fieldset{margin:.25rem 0}.welcome-copy .timer-setting{margin:.3rem 0}}
@media(min-width:851px){.comparison-grid{grid-template-rows:minmax(0,1fr)}.comparison-side{min-height:0;overflow:hidden}.comparison-side .silhouette{height:100%;min-height:0;position:relative}.comparison-side .silhouette svg{position:absolute;inset:0;display:block}}
@media(min-width:851px){#lesson:not([hidden]),#challenge:not([hidden]),#introduction:not([hidden]){height:100%}}
@media(min-width:851px){.lesson-grid:not(.unused){grid-template-rows:minmax(0,1fr)}.lesson-grid>.illustration{height:100%;aspect-ratio:auto}.annotated .lesson-grid{grid-template-rows:minmax(0,1fr) auto}.annotated .lesson-grid>.illustration{aspect-ratio:16/9}}

.callout .method-label{display:block;font-size:.68em;text-transform:uppercase;letter-spacing:.04em;color:#416b70;margin-bottom:.16em}.callout>span{display:block}

@media(min-width:851px){.annotated .lesson-grid{grid-template-columns:minmax(0,1fr);align-items:stretch}.annotated .lesson-grid>.illustration{justify-self:center}}
/* Compact windows and portrait displays retain the complete slide and its controls. */
@media(min-width:651px) and (max-width:850px){
 body{height:100dvh;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
 main{height:100%;min-height:0;overflow:hidden;margin:0 auto;padding:.3rem 0}
 #lesson:not([hidden]),#introduction:not([hidden]),#challenge:not([hidden]){display:flex;flex-direction:column;height:100%;min-height:0}
 .intro-grid{grid-template-columns:1fr 1fr;min-height:0;flex:1}.silhouette{min-height:0}.silhouette svg{height:100%;max-height:100%}
 .annotated .lesson-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;flex:1;min-height:0;width:100%;max-width:100%}
 .annotated .lesson-grid>.illustration{height:100%;width:auto;max-width:100%;max-height:100%;aspect-ratio:16/9;justify-self:center}
 .annotated .lesson-side .actions{justify-content:flex-end;margin:.15rem 0}.section-heading{flex:none}.section-heading .eyebrow{margin:0}.section-heading h1{font-size:28px}.section-heading .scientific{margin:.15rem 0}
 .comparison-grid{grid-template-rows:minmax(0,1fr);flex:1;min-height:0}.comparison-side{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0}.comparison-side .silhouette{position:relative;min-height:0}.comparison-side svg{position:absolute;inset:0;height:100%;max-height:100%}
}
@media(max-width:650px){
 body{height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
 main{height:100%;min-height:0;margin:0 auto;padding:.2rem 0}
 #lesson:not([hidden]),#introduction:not([hidden]),#challenge:not([hidden]){height:100%;min-height:0;display:flex;flex-direction:column}
 .section-heading{flex:none}.section-heading h1{font-size:26px}.section-heading .eyebrow{font-size:15px;margin:0}.section-heading .scientific{font-size:17px;margin:.2rem 0}
 .annotated .lesson-grid{display:flex;flex:1;min-height:0;flex-direction:column;justify-content:center;gap:.4rem;margin:0;width:100%;max-width:100%}
 .annotated .illustration{flex:none;width:100%;height:auto;aspect-ratio:16/9;max-height:100%;min-height:0}.annotated .lesson-side{flex:none}.annotated .callout{font-size:clamp(12px,3.4vw,20px)}
 .lesson-side .actions{justify-content:center}.actions button{min-height:44px;padding:.4rem;font-size:18px}
 .intro-grid{flex:1;min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:.3rem}.intro-grid .silhouette{min-height:0}.intro-grid .silhouette svg{height:100%;max-height:100%}#group-clues li{font-size:21px;margin:.4rem 0}.intro-grid h2{font-size:22px;margin:.2rem 0}
 .comparison-grid{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}.comparison-side{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.comparison-side h2{font-size:21px}.comparison-side li{font-size:17px}.comparison-side .silhouette{position:relative;min-height:0}.comparison-side svg{position:absolute;inset:0;height:100%;max-height:100%}
 .comparison-note{font-size:16px}.choices{flex:1;min-height:0;align-items:center}.choice-art{min-height:0}.choice-select{font-size:22px;min-height:44px}.toolbar strong{font-size:16px}footer{font-size:10px;padding:.2rem}
 #welcome{max-height:100%;align-self:center}.welcome-copy{padding:14px}.welcome-copy h1{font-size:32px}.welcome-copy .lead{font-size:22px}.welcome-copy fieldset{gap:.3rem;margin:.3rem 0}.welcome-copy .level{padding:.35rem}.welcome-copy select{min-height:42px;font-size:19px}.welcome-copy .timer-setting{font-size:18px;gap:.4rem}.welcome-copy .eyebrow{font-size:14px}.welcome-copy button{font-size:20px}
}
@media(max-height:550px) and (min-width:651px){
 .toolbar{flex-wrap:nowrap;font-size:15px}.toolbar strong{width:auto;order:0}.toolbar>div{margin:0}.toolbar button,.toolbar a{min-height:34px;font-size:16px;padding:.25rem .4rem}
 #welcome{max-width:1100px}.welcome-copy{padding:12px}.welcome-copy h1{font-size:30px}.welcome-copy .eyebrow{display:none}.welcome-copy .lead{font-size:21px;margin:.2rem 0}.welcome-copy form{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .8rem;align-items:center}.welcome-copy form>label:first-child{grid-column:1}.welcome-copy #group{grid-column:1;margin:0}.welcome-copy fieldset{grid-column:2;grid-row:1/3;flex-direction:row;margin:0}.welcome-copy fieldset legend{font-size:16px}.welcome-copy .level{font-size:17px;padding:.35rem}.welcome-copy select{min-height:36px;padding:.2rem;font-size:18px}.welcome-copy .timer-setting{font-size:18px;margin:0}.welcome-copy button{min-height:40px;font-size:19px}
 #group-clues li{font-size:23px}.comparison-side h2{font-size:23px}.comparison-side li{font-size:20px}.section-heading h1{font-size:26px}.actions button{min-height:40px;font-size:19px}.comparison-note{font-size:16px}
}

.annotated .lesson-grid>.illustration{align-self:center}
@media(min-width:651px) and (max-width:850px){.annotated .callout{font-size:clamp(16px,2.4vw,25px)}}

.annotated .callout{font-size:var(--callout-size,23px)}
/* The animal/plant activity has a fixed subject: no redundant group selector. */
body[data-activity=living] .welcome-copy form{display:block}body[data-activity=living] .comparison-note{font-size:clamp(20px,1.7vw,32px)}

.choice-art,.image-choice{overflow:hidden}.image-choice{position:relative}

.artwork-copyright{position:absolute;inset:0;width:100%;height:100%;stroke:none!important;pointer-events:none}
#lesson .illustration:has(#lesson-video:not([hidden]))>.artwork-copyright{display:none}
/* Presentation and species use the same linked callouts, with no detached list. */
.comparison-side.criteria-panel{grid-template-rows:auto minmax(0,1fr)}.silhouette-criteria{position:relative;width:100%;height:100%;min-height:0}.silhouette-criteria>svg{position:absolute;inset:0;width:100%;height:100%;max-height:none!important}.criteria-leaders{stroke:#175867;stroke-width:3;fill:none;pointer-events:none}.criterion-bubble{position:absolute;width:29%;padding:.3rem;background:#fffdf3ed;border:1px solid #bbd3cc;border-radius:.3rem;font-size:clamp(18px,1.8vw,34px);font-weight:700;line-height:1.15;box-shadow:0 2px 5px #12333322}.criterion-bubble strong{display:block;font-size:.68em;text-transform:uppercase;margin-bottom:.15em;color:#416b70}.criterion-bubble span{display:block}.criterion-0{left:2%;top:3%}.criterion-1{right:2%;top:3%}.criterion-2{left:2%;bottom:3%;width:35%}
@media(max-width:850px){.criterion-bubble{font-size:clamp(15px,2.4vw,22px);width:31%;padding:.3rem}.criterion-2{width:38%}}

.silhouette-animaux .criterion-0{top:auto;bottom:3%}.silhouette-animaux .criterion-2{top:3%;bottom:auto}

@media(max-width:850px) and (orientation:portrait){body[data-activity=living] .comparison-grid{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:.6rem}body[data-activity=living] .criterion-bubble{font-size:clamp(18px,2.6vw,24px)}}

/* A deliberate empty selection is as visible as selecting an image. */
#none[aria-pressed="true"],#none[aria-pressed="true"]:hover,#none[aria-pressed="true"]:disabled{background:#175c6b;color:#fff;border:3px solid #175c6b;outline:3px solid #d5a24e;outline-offset:3px;box-shadow:0 0 0 2px #fff;opacity:1;font-weight:750}
#none[aria-pressed="true"]::before{content:"✓ ";font-weight:900}

/* The learner's result stays on the three cards; explanations are optional. */
.answered .choice[data-response]{box-shadow:none;border-width:4px}.answered .choice[data-response=right]{border-color:#24734e;background:#edf6ef}.answered .choice[data-response=wrong]{border-color:#ae352e;background:#fff0ed}.answered .choice[data-response] .choice-select{color:white;font-size:clamp(20px,1.7vw,38px);min-height:2.3rem;padding:.3rem .15rem;line-height:1.18}.answered .choice[data-response=right] .choice-select{background:#24734e}.answered .choice[data-response=wrong] .choice-select{background:#ae352e}.answer-detail{font-size:clamp(18px,1.35vw,30px);font-weight:700;text-align:center;line-height:1.15;margin:.25rem;min-height:1.15em;color:#942b25}.answer-why{display:block;margin:.2rem auto .35rem;padding:.2rem .65rem;min-height:38px;font-size:clamp(18px,1.25vw,28px)}.answered .choices{align-items:center}.answered .image-choice{cursor:default}#challenge.answered .section-heading>p{font-weight:700}
@media(min-width:851px) and (max-height:700px){.answered .choices{width:min(100%,calc((100dvh - 285px)*5.33));margin:auto}.answered .choice-select{min-height:36px}.answer-detail{font-size:18px;margin:.15rem}.answer-why{font-size:18px;min-height:32px;margin:.15rem auto}}

.answered .image-choice:disabled{opacity:1}

/* Leaders stop outside numbered markers; the attachment label clears the roots. */
.criteria-leaders{stroke-linecap:round}.silhouette-vegetaux-observation .criterion-2{width:32%;left:1%;bottom:1%}
@media(max-width:850px){.silhouette-vegetaux-observation .criterion-2{width:35%;left:1%;bottom:1%}}

.answered .choice[data-response=neutral]{border-color:#bbd3cc;background:var(--paper)}.answered .choice[data-response=neutral] .choice-select{background:transparent;color:var(--ink)}

/* Orange leaders stay distinct from the teal silhouettes, including at crossings. */
.criteria-leaders{stroke:#ad5108;stroke-width:4;filter:drop-shadow(0 0 1px #fffdf3) drop-shadow(0 0 1px #fffdf3)}

#challenge .section-heading>p:empty{display:none}

/* A correct rejection concerns the organism, not a selection mistake. */
.answered .choice[data-excluded=true]{border-color:#9daaa6}.choice[data-excluded=true] .image-choice img,.choice[data-excluded=true] .clip-stage{filter:grayscale(.85);opacity:.62}.excluded-badge{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);max-width:95%;width:max-content;padding:.35em .6em;background:#f7f7f3f2;border:2px solid #7c8985;border-radius:.35rem;color:#43514d;font-size:clamp(20px,1.7vw,38px);font-weight:750;text-align:center;line-height:1.2;pointer-events:none}

/* The explicit None answer has its own verdict; excluded species stay neutral. */
#none[data-response=right]:disabled{background:#24734e;border-color:#24734e;color:#fff;outline:none;box-shadow:none;opacity:1}
#none[data-response=wrong]:disabled{background:#ae352e;border-color:#ae352e;color:#fff;outline:none;box-shadow:none;opacity:1}
#none[data-response=right]::before,#none[data-response=wrong]::before{content:none}

.points-score{font-size:clamp(20px,1.7vw,36px);font-weight:750;color:#19454f;white-space:nowrap}.challenge-meta{gap:.8rem;flex-wrap:wrap}
