/* Mme Iris · Français CM2 · lesson-specific proofs and work surfaces. */

/* French-local copy of the approved learner shell: product navigation stays
   at the left, while the chip, rail and welcome use Mme Iris's palette. */
.maths-pilot-sidebar.french-pilot-sidebar {
  background: #fd7666 !important;
}

.maths-pilot-sidebar.french-pilot-sidebar nav .is-active {
  border-color: #ffe7e2;
  background: #ffe7e2;
  color: #29272d;
}

.maths-pilot-sidebar.french-pilot-sidebar nav .is-active i {
  background: #fff;
  color: #fd7666;
}

.maths-pilot-sidebar.french-pilot-sidebar .maths-pilot-sidebar__buddy {
  filter: drop-shadow(0 12px 16px rgba(41, 39, 45, .18));
}

.french-pilot-header .french-course-chip {
  display: inline-flex;
  width: max-content;
  min-height: 32px;
  padding: 0 14px 0 11px;
  border-left: 6px solid #fd7666;
  border-radius: 9px 18px 15px 10px;
  align-items: center;
  background: #ffe7e2;
  color: #29272d !important;
  font: 900 14px/1 var(--font-display) !important;
}

.french-pilot-header .french-course-chip i {
  padding-inline: 9px;
  color: #fd7666 !important;
}

.french-pilot-sidebar .maths-pilot-language span.is-active {
  color: #29272d;
}

.french-pilot-header .maths-pilot-points > i {
  color: #fd7666;
}

.french-pilot-header .maths-pilot-points > span {
  background: #ffe7e2;
}

.french-pilot-header .maths-pilot-points > span b {
  background: #fd7666;
}

[data-french-course-root] > nav[aria-label="Architecture de la leçon"] button.is-current {
  background: #ffe7e2 !important;
  color: #29272d !important;
}

[data-french-course-root] > nav[aria-label="Architecture de la leçon"] button i,
[data-french-course-root] > nav[aria-label="Architecture de la leçon"] button.is-current i {
  background: #fd7666 !important;
  color: #fff !important;
}

[data-french-course-root] > nav[aria-label="Architecture de la leçon"] button:hover {
  background: color-mix(in srgb, #ffe7e2 64%, white);
}

body:has(.french-pilot-sidebar) [data-french-course-root][data-french-active-module="flashcards"].maths-pilot-course.division-flashcards-page > nav[aria-label="Architecture de la leçon"] button.is-current {
  background: #fd7666 !important;
}

body:has(.french-pilot-sidebar) [data-french-course-root][data-french-active-module="flashcards"].maths-pilot-course.division-flashcards-page > nav[aria-label="Architecture de la leçon"] button.is-current i {
  background: #fff !important;
  color: #29272d !important;
}

body:has(.french-pilot-sidebar):has(.french-course.division-flashcards-page),
#app:has(.french-pilot-sidebar):has(.french-course.division-flashcards-page),
.maths-pilot-course.french-course.division-flashcards-page,
[data-french-active-module="flashcards"] [data-self-guided-cards] {
  background: #ffe7e2 !important;
}

.maths-pilot-header.french-pilot-header:has(+ .french-course.division-flashcards-page) {
  background: #ffe7e2 !important;
}

.french-course :where(.kid-lab-launch-copy > span, .kid-lab-launch-copy h1 em, .kid-lab-heading > span, .kid-lab-answer > span, .kid-lab-progress > p strong, .kid-cards-heading > span, .kid-cards-progress > p strong) {
  color: #fd7666 !important;
}

.french-course :where(.kid-lab-progress, .kid-cards-progress) ol::before {
  background: #ffe7e2;
}

.french-course :where(.kid-lab-progress, .kid-cards-progress) li i {
  border-color: color-mix(in srgb, #fd7666 34%, white);
}

.french-course :where(.kid-lab-progress, .kid-cards-progress) li.is-current i {
  border-color: #fd7666;
  background: #fd7666;
  color: #fff;
}

.french-course .kid-lab-launch-teacher {
  background: #ffe7e2;
}

.french-course .kid-lab-launch-teacher > span {
  background: #fd7666;
}

.french-course .kid-lab-visual {
  background: #fffaf8;
}

.french-course .kid-memory-card__back {
  border-color: #fd7666;
}

.french-course .kid-memory-card__back em,
.french-course .kid-cards-actions > p i {
  background: #ffe7e2;
}

.french-course .kid-memory-card small,
.french-course .kid-memory-card__back em span,
.french-course .kid-cards-actions > p i,
.french-course .kid-cards-stage > aside strong {
  color: #29272d;
}

/* Français Cartes stay short retrieval prompts; authored answers must never escape the card. */
.approved-course--french-atelier .kid-cards-card {
  padding-block: clamp(24px, 3.2vw, 44px);
}

.approved-course--french-atelier .kid-cards-progress {
  margin-bottom: clamp(20px, 2.4vw, 30px);
  padding-bottom: 16px;
}

.approved-course--french-atelier .kid-cards-heading h1 {
  margin-block: 10px 6px;
  font-size: clamp(34px, 3.6vw, 48px);
}

.approved-course--french-atelier .kid-cards-stage {
  margin-top: 24px;
}

.approved-course--french-atelier .kid-memory-card,
.approved-course--french-atelier .kid-memory-card__inner {
  min-height: 350px;
}

.approved-course--french-atelier .kid-memory-card__front,
.approved-course--french-atelier .kid-memory-card__back {
  padding: clamp(24px, 3.4vw, 40px);
  overflow: hidden;
}

.approved-course--french-atelier .kid-memory-card__back strong {
  margin-block: 16px;
  font-size: clamp(26px, 2.8vw, 38px);
}

.approved-course--french-atelier .kid-memory-card.is-long-answer .kid-memory-card__back strong {
  font-size: clamp(23px, 2.45vw, 33px);
}

.approved-course--french-atelier .kid-memory-card.is-very-long-answer .kid-memory-card__back strong {
  font-size: clamp(21px, 2.2vw, 30px);
}

.approved-course--french-atelier .kid-memory-card__back em {
  padding: 11px 14px;
  font-size: 14px;
}

.approved-course--french-atelier .kid-memory-card b {
  margin-top: 13px;
  padding-block: 10px;
}

.approved-course--french-atelier .kid-cards-actions {
  min-height: 70px;
  margin-top: 22px;
  padding-top: 18px;
}

@media (max-width: 820px) {
  .approved-course--french-atelier .kid-memory-card,
  .approved-course--french-atelier .kid-memory-card__inner {
    min-height: 380px;
  }

  .approved-course--french-atelier .kid-memory-card__front,
  .approved-course--french-atelier .kid-memory-card__back {
    padding: 28px 18px;
  }
}

.french-course .kid-lesson-welcome__hero {
  background-color: #ffe7e2 !important;
  background-image: radial-gradient(circle, rgba(255, 255, 255, .62) 0 4px, transparent 5px) !important;
}

.french-course .kid-lesson-welcome__copy > span:first-child,
.french-course .kid-lesson-welcome__copy h1 em {
  color: #29272d !important;
}

.french-course .kid-lesson-welcome__copy button {
  background: #fd7666 !important;
  color: #29272d !important;
}

.french-course .kid-lesson-welcome__copy button b {
  color: #29272d;
}

.french-iris-note {
  position: relative;
  z-index: 2;
  display: inline-flex;
  width: max-content;
  max-width: min(100%, 380px);
  padding: 9px 14px 11px;
  border-bottom: 3px solid #fd7666;
  align-items: baseline;
  gap: 8px;
  color: #29272d;
  font: italic 800 14px/1.28 var(--font-body);
  letter-spacing: .01em;
  transform: rotate(-1.25deg);
}

.french-iris-note b {
  font: 950 10px/1 var(--font-display);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.french-concept-chip {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  margin: 13px 0 2px;
  padding: 8px 13px;
  border-radius: 12px 18px 14px 10px;
  background: #ffe7e2;
  color: #29272d;
  font: 850 12px/1.2 var(--font-display);
}

.french-live-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Vocabulary is taught before each card question. */
.french-card-vocabulary {
  display: grid;
  max-width: 780px;
  margin: 24px 0;
  gap: 10px;
}

.french-card-vocabulary > span {
  color: #29272d;
  font: 950 11px/1 var(--font-display);
  letter-spacing: .12em;
}

.french-card-vocabulary article {
  display: grid;
  grid-template-columns: minmax(170px, .58fr) minmax(0, 1.42fr);
  padding: 16px 18px;
  align-items: start;
  gap: 8px 18px;
  border: 1px solid color-mix(in srgb, #29272d 14%, white);
  border-radius: 20px;
  background: #fff;
}

.french-card-vocabulary strong {
  color: #29272d;
  font: 900 16px/1.18 var(--font-display);
}

.french-card-vocabulary p,
.french-card-vocabulary small {
  margin: 0;
  color: #29272d;
  font-weight: 730;
  line-height: 1.4;
}

.french-card-vocabulary small {
  grid-column: 2;
  font-size: 13px;
}

/* From-scratch sentence proofs. */
.french-proof {
  display: grid;
  width: min(100%, 960px);
  min-height: 390px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 48px);
  align-content: center;
  gap: 22px;
  border: 1px solid color-mix(in srgb, #29272d 14%, white);
  border-radius: 42px;
  background: #fff;
  color: #29272d;
  font-style: normal;
}

.french-proof figcaption {
  grid-column: 1 / -1;
  margin: 0;
  color: #29272d;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.4;
  text-align: center;
}

.french-proof > .french-iris-note {
  grid-column: 1 / -1;
  justify-self: end;
}

.french-proof--reader {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  background:
    linear-gradient(90deg, transparent 31px, rgba(253, 118, 102, .25) 32px, transparent 33px),
    repeating-linear-gradient(#fff 0 37px, #dfeaff 38px 39px);
}

.french-reader-card {
  padding: 26px;
  border: 2px solid #29272d;
  border-radius: 8px 24px 10px 20px;
  background: #fffefa;
  transform: rotate(-1deg);
}

.french-reader-card > span,
.french-reader-answer article > span,
.french-proof--question-focus header span,
.french-proof--source-identity article > span,
.french-proof--exact-data > div > span,
.french-proof--geography header > span {
  color: #b63f35;
  font: 950 10px/1 var(--font-display);
  letter-spacing: .1em;
}

.french-reader-card strong {
  display: block;
  margin: 18px 0;
  font: 900 25px/1.15 var(--font-display);
}

.french-reader-card p {
  margin: 8px 0 0;
  padding-bottom: 6px;
  border-bottom: 2px solid #ffe7e2;
  font-weight: 760;
}

.french-reader-answer {
  display: grid;
  gap: 16px;
}

.french-reader-answer > i {
  color: #fd7666;
  font: 950 34px/1 var(--font-display);
  font-style: normal;
}

.french-reader-answer article {
  padding: 24px;
  border-left: 8px solid #fd7666;
  border-radius: 0 24px 24px 0;
  background: #ffe7e2;
}

.french-reader-answer article p {
  margin: 14px 0 0;
  font: 900 25px/1.28 var(--font-display);
}

.french-proof--question-focus header {
  display: flex;
  padding: 0 6px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.french-proof--question-focus header strong {
  font: 950 28px/1 var(--font-display);
}

.french-proof--question-focus > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.french-proof--question-focus article {
  display: grid;
  min-height: 175px;
  padding: 20px;
  border-bottom: 6px solid #d8d1df;
  border-radius: 22px 22px 8px 8px;
  align-content: start;
  gap: 12px;
  background: #f5f1f7;
  opacity: .72;
}

.french-proof--question-focus article.is-chosen {
  border-bottom-color: #fd7666;
  background: #ffe7e2;
  opacity: 1;
  transform: translateY(-7px) rotate(-.5deg);
}

.french-proof--question-focus article i {
  display: grid;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  color: #b63f35;
  font: 950 14px/1 var(--font-display);
  font-style: normal;
  place-items: center;
}

.french-proof--question-focus article p {
  margin: 0;
  font: 850 19px/1.25 var(--font-display);
}

.french-proof--question-focus article small {
  margin-top: auto;
  font-weight: 760;
}

.french-proof--source-identity {
  grid-template-columns: minmax(0, 1fr) 180px;
  align-items: center;
  background: #f8f1e5;
}

.french-proof--source-identity > article {
  padding: 28px;
  border: 1px solid rgba(41, 39, 45, .16);
  border-radius: 10px 28px 12px 24px;
  background: #fffefa;
  transform: rotate(-.6deg);
}

.french-proof--source-identity h3 {
  margin: 15px 0 22px;
  font: 900 clamp(22px, 2.4vw, 32px)/1.15 var(--font-display);
}

.french-proof--source-identity dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  gap: 12px;
}

.french-proof--source-identity dl > div {
  padding: 14px;
  border-radius: 16px;
  background: #ffe7e2;
}

.french-proof--source-identity dt {
  color: #b63f35;
  font: 950 11px/1 var(--font-display);
}

.french-proof--source-identity dd {
  margin: 10px 0 0;
  font-weight: 850;
}

.french-proof--source-identity article > p {
  margin: 22px 0 0;
  padding-top: 16px;
  border-top: 2px solid #29272d;
  font: 850 18px/1.3 var(--font-display);
}

.french-proof--source-identity > aside {
  display: grid;
  justify-items: center;
  gap: 12px;
}

.french-proof--source-identity > aside > span {
  color: #fd7666;
  font: 950 54px/1 var(--font-display);
}

.french-proof--source-identity .french-iris-note {
  width: auto;
}

.french-proof--exact-data {
  grid-template-columns: minmax(0, 1fr) 132px minmax(0, 1.15fr);
  align-items: center;
  background: #fffaf1;
}

.french-proof--exact-data > .french-data-source,
.french-proof--exact-data > .french-data-rewrite {
  min-height: 190px;
  padding: 24px;
  border-radius: 24px;
  background: #e2efff;
}

.french-proof--exact-data > .french-data-rewrite {
  background: #ffe7e2;
}

.french-proof--exact-data p {
  margin: 20px 0 0;
  font: 850 19px/1.35 var(--font-display);
}

.french-proof--exact-data p b {
  display: inline-block;
  padding: 3px 7px;
  border-radius: 8px;
  background: #fff;
}

.french-data-bridge {
  display: grid;
  gap: 8px;
}

.french-data-bridge span {
  padding: 9px 7px;
  border: 2px solid #fd7666;
  border-radius: 9px 14px 8px 12px;
  background: #fff;
  color: #b63f35;
  font: 900 13px/1 var(--font-display);
  text-align: center;
  transform: rotate(-2deg);
}

.french-data-bridge span:nth-child(2) { transform: rotate(2deg); }

.french-proof--geography header {
  display: grid;
  gap: 10px;
}

.french-proof--geography header strong {
  font: 950 clamp(25px, 3vw, 38px)/1 var(--font-display);
}

.french-proof--geography > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.french-proof--geography article {
  min-height: 145px;
  padding: 18px;
  border-bottom: 6px solid #2f73d9;
  border-radius: 20px 20px 8px 8px;
  background: #e2efff;
}

.french-proof--geography article i {
  display: block;
  margin-bottom: 18px;
  color: #2f73d9;
  font: 950 30px/1 var(--font-display);
  font-style: normal;
}

.french-proof--geography article span {
  font: 950 9px/1.1 var(--font-display);
  letter-spacing: .06em;
}

.french-proof--geography article p {
  margin: 10px 0 0;
  font: 850 16px/1.25 var(--font-display);
}

.french-proof--geography > aside {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  color: #b63f35;
  font-weight: 850;
}

.french-proof--revision-mark {
  grid-template-columns: minmax(0, 1fr) 80px minmax(0, 1fr);
  align-items: center;
  background:
    linear-gradient(90deg, transparent 31px, rgba(253, 118, 102, .22) 32px, transparent 33px),
    repeating-linear-gradient(#fff 0 37px, #dfeaff 38px 39px);
}

.french-proof--revision-mark article {
  min-height: 170px;
  padding: 24px;
  border-radius: 12px 25px 10px 22px;
  background: rgba(255, 254, 250, .94);
  transform: rotate(-.7deg);
}

.french-proof--revision-mark article:last-of-type {
  border-bottom: 6px solid #fd7666;
  transform: rotate(.6deg);
}

.french-proof--revision-mark article > span {
  color: #b63f35;
  font: 950 10px/1 var(--font-display);
  letter-spacing: .1em;
}

.french-proof--revision-mark article p {
  margin: 26px 0 0;
  font: 900 clamp(20px, 2.2vw, 29px)/1.3 var(--font-display);
}

.french-proof--revision-mark del {
  text-decoration-color: #fd7666;
  text-decoration-thickness: 4px;
}

.french-proof--revision-mark ins {
  text-decoration: underline 4px #fd7666;
  text-underline-offset: 6px;
}

.french-proof--revision-mark > div {
  color: #fd7666;
  font: 950 48px/1 var(--font-display);
  transform: rotate(-8deg);
}

.french-proof--sentences,
.french-proof--mission-sentences {
  background: #fff;
}

.french-proof mark {
  padding: 0 .12em;
  border-radius: .28em;
  background: #fff5c8;
  color: #29272d;
  text-decoration: underline 4px #f6cc24;
  text-underline-offset: 5px;
}

.french-proof-sentence {
  position: relative;
  padding: 24px clamp(18px, 3vw, 34px);
  border-left: 8px solid #9267ea;
  border-radius: 0 26px 26px 0;
  background: #f2ebff;
}

.french-proof-sentence.is-fact,
.french-proof-sentence.is-selected {
  border-left-color: #0fbc53;
  background: #e5f8eb;
}

.french-proof-sentence.is-opinion {
  border-left-color: #f35aa5;
  background: #ffe5f2;
}

.french-proof-sentence p {
  margin: 0;
  font: 900 clamp(22px, 3vw, 38px)/1.2 var(--font-display);
}

.french-proof-sentence span {
  display: block;
  margin-top: 14px;
  color: #29272d;
  font-size: 13px;
  font-weight: 800;
}

.french-proof--plan {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
}

.french-plan-line {
  min-height: 180px;
  padding: 24px;
  border-bottom: 7px solid #9267ea;
  border-radius: 24px 24px 8px 8px;
  background: #f2ebff;
}

.french-plan-line:nth-of-type(2) {
  border-bottom-color: #2f73d9;
  background: #e2efff;
}

.french-plan-line:nth-of-type(3) {
  border-bottom-color: #0fbc53;
  background: #e5f8eb;
}

.french-plan-line > span,
.french-proof--revision > div > span,
.french-proof--versions article > span {
  color: #29272d;
  font: 950 10px/1 var(--font-display);
  letter-spacing: .1em;
}

.french-plan-line p {
  margin: 22px 0 0;
  font: 880 20px/1.3 var(--font-display);
}

.french-plan-line small {
  display: block;
  margin-top: 12px;
  color: #29272d;
  font: 740 12px/1.3 var(--font-body);
}

.french-proof--plan > i {
  color: #2f73d9;
  font: 950 28px/1 var(--font-display);
  font-style: normal;
}

.french-proof--plan figcaption,
.french-proof--versions figcaption {
  grid-column: 1 / -1;
}

.french-proof--source blockquote,
.french-proof--classify blockquote {
  margin: 0;
  padding: 24px;
  border-left: 8px solid #fd7666;
  border-radius: 0 24px 24px 0;
  background: #ffe7e2;
  font: 900 clamp(22px, 3vw, 36px)/1.25 var(--font-display);
}

.french-proof--source dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  gap: 12px;
}

.french-proof--source dl > div {
  padding: 20px;
  border-radius: 22px;
  background: #e2efff;
}

.french-proof--source dl > div:nth-child(2),
.french-proof--source dl > div:nth-child(4) {
  background: #e5f8eb;
}

.french-proof--source dt {
  color: #2f73d9;
  font: 950 10px/1 var(--font-display);
  letter-spacing: .1em;
}

.french-proof--source dd {
  display: flex;
  margin: 12px 0 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 820;
}

.french-proof--source dd b {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border-radius: 50%;
  background: #0fbc53;
  color: #fff;
}

.french-proof--revision {
  grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1fr);
  align-items: center;
}

.french-proof--revision > div {
  min-height: 180px;
  padding: 26px;
  border-radius: 26px;
  background: #e2efff;
}

.french-proof--revision > div:last-of-type {
  background: #e5f8eb;
}

.french-proof--revision > div p {
  margin: 24px 0 0;
  font: 880 clamp(18px, 2.2vw, 28px)/1.3 var(--font-display);
}

.french-proof--revision svg {
  width: 100%;
  overflow: visible;
}

.french-proof--revision svg path {
  fill: none;
  stroke: #2f73d9;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 8;
}

.french-proof--revision figcaption {
  grid-column: 1 / -1;
}

.french-proof--classify > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.french-proof--classify article {
  min-height: 140px;
  padding: 20px;
  border-bottom: 7px solid #2f73d9;
  border-radius: 22px 22px 8px 8px;
  background: #e2efff;
}

.french-proof--classify article:nth-child(2) {
  border-bottom-color: #9267ea;
  background: #f2ebff;
}

.french-proof--classify article:nth-child(3) {
  border-bottom-color: #f35aa5;
  background: #ffe5f2;
}

.french-proof--classify article.is-selected,
.french-proof--classify article.is-target {
  outline: 4px solid #0fbc53;
  outline-offset: 3px;
}

.french-proof--classify article span {
  color: #29272d;
  font: 950 10px/1.2 var(--font-display);
  letter-spacing: .08em;
}

.french-proof--classify article p {
  margin: 22px 0 0;
  font: 900 22px/1.1 var(--font-display);
}

.french-proof--versions {
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr);
  align-items: center;
  background: #fffaf1;
}

.french-proof--versions article {
  min-height: 220px;
  padding: 28px;
  border-bottom: 7px solid #fd7666;
  border-radius: 12px 28px 10px 24px;
  background: #fff;
  transform: rotate(-.6deg);
}

.french-proof--versions article h3 {
  margin: 18px 0;
  font: 950 30px/1 var(--font-display);
}

.french-proof--versions article p {
  margin: 0;
  font: 850 20px/1.35 var(--font-display);
}

.french-proof--versions article small {
  display: block;
  margin-top: 22px;
  padding-top: 14px;
  border-top: 2px solid #ffe7e2;
  font-weight: 760;
}

.french-proof--versions ol {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 10px;
  list-style: none;
}

.french-proof--versions li {
  display: grid;
  grid-template-columns: 34px 1fr;
  min-height: 48px;
  padding: 8px 12px;
  border-radius: 16px;
  align-items: center;
  gap: 10px;
  background: #ffe7e2;
  font: 850 15px/1 var(--font-display);
}

.french-proof--versions li i {
  display: grid;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fd7666;
  color: #fff;
  font-style: normal;
  place-items: center;
}

/* Lab: one question and its visible consequence. */
.french-course .kid-lab-card.is-writing {
  width: min(calc(100% - 24px), 1540px);
}

.french-course .kid-lab-card.is-writing .kid-lab-answer {
  padding-inline: clamp(18px, 3vw, 44px);
}

.french-question-block {
  display: grid;
  margin-bottom: 20px;
  gap: 10px;
}

.french-question-block > span {
  color: #29272d;
  font: 950 10px/1 var(--font-display);
  letter-spacing: .1em;
}

.french-question-block > strong {
  max-width: 950px;
  font: 900 clamp(20px, 2.5vw, 31px)/1.3 var(--font-display);
}

.french-answer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.french-answer-grid button {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  min-height: 82px;
  padding: 14px 18px;
  align-items: center;
  gap: 14px;
  border: 2px solid color-mix(in srgb, #29272d 14%, white);
  border-radius: 22px;
  background: #fff;
  color: #29272d;
  text-align: left;
  cursor: pointer;
}

.french-answer-grid button:hover:not(:disabled) {
  border-color: #fd7666;
  background: #ffe7e2;
}

.french-answer-grid button i {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 15px;
  background: #ffe7e2;
  font: 950 14px/1 var(--font-display);
  font-style: normal;
}

.french-answer-grid button span {
  font-weight: 800;
  line-height: 1.35;
}

.french-answer-grid button.is-correct {
  border-color: #0fbc53;
  background: #e5f8eb;
}

.french-answer-grid button.is-wrong {
  border-color: #f35aa5;
  background: #ffe5f2;
}

.french-lab-cue {
  margin: 18px 0 0;
  color: #29272d;
  font-weight: 760;
}

.french-vocabulary-primer {
  display: grid;
  grid-column: 1 / -1;
  width: 100%;
  padding: clamp(28px, 4.5vw, 52px);
  gap: 28px;
  border: 1px solid color-mix(in srgb, #29272d 14%, white);
  border-radius: 38px;
  background: #fff;
}

.french-vocabulary-primer > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
}

.french-vocabulary-primer > header > span {
  grid-column: 1 / -1;
  color: #29272d;
  font: 950 11px/1 var(--font-display);
  letter-spacing: .13em;
}

.french-vocabulary-primer > header h2 {
  margin: 0;
  font: 950 clamp(32px, 3.5vw, 48px)/.98 var(--font-display);
  letter-spacing: -.04em;
}

.french-vocabulary-primer > header p {
  grid-column: 1;
  margin: 0;
  color: #29272d;
  font-weight: 740;
}

.french-vocabulary-primer > header > strong {
  grid-column: 2;
  grid-row: 2 / 4;
  color: #29272d;
  font: 950 42px/1 var(--font-display);
}

.french-vocabulary-primer > div {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: 22px;
}

.french-vocabulary-primer nav {
  display: grid;
  align-content: start;
  gap: 8px;
}

.french-vocabulary-primer nav button {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  min-height: 64px;
  padding: 9px 13px;
  align-items: center;
  gap: 12px;
  border: 1px solid color-mix(in srgb, #29272d 14%, white);
  border-radius: 18px;
  background: #fff;
  color: #29272d;
  text-align: left;
  cursor: pointer;
}

.french-vocabulary-primer nav button.is-current,
.french-vocabulary-primer nav button.is-seen {
  border-color: #fd7666;
  background: #ffe7e2;
}

.french-vocabulary-primer nav button i {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 14px;
  background: #f2ebff;
  color: #29272d;
  font: 950 12px/1 var(--font-display);
  font-style: normal;
}

.french-vocabulary-primer nav button strong {
  font: 880 15px/1.2 var(--font-display);
}

.french-vocabulary-primer nav button i,
.french-vocabulary-primer > header > strong,
.french-vocabulary-primer article > span,
.french-vocabulary-primer article aside strong {
  color: #29272d;
}

.french-vocabulary-primer nav button.is-seen i {
  background: #f6cc24;
  color: #29272d;
}

.french-vocabulary-primer > div > article {
  display: grid;
  min-height: 250px;
  padding: clamp(24px, 4vw, 42px);
  align-content: center;
  gap: 14px;
  border-radius: 28px;
  background: #ffe7e2;
}

.french-vocabulary-primer article > span {
  font: 950 11px/1 var(--font-display);
  letter-spacing: .11em;
}

.french-vocabulary-primer article h3 {
  margin: 0;
  font: 950 clamp(28px, 3.5vw, 44px)/1 var(--font-display);
}

.french-vocabulary-primer article > p {
  margin: 0;
  color: #29272d;
  font-weight: 760;
  line-height: 1.45;
}

.french-vocabulary-primer article aside {
  padding: 15px 17px;
  border-radius: 17px;
  background: #fff;
}

.french-vocabulary-primer article aside p {
  margin: 7px 0 0;
  color: #29272d;
  line-height: 1.4;
}

.french-proof--source-choice {
  min-height: 430px;
}

.french-proof--source-choice > article,
.french-source-cards article {
  padding: 22px;
  border-left: 7px solid #2f73d9;
  border-radius: 0 24px 24px 0;
  background: #e2efff;
}

.french-proof--source-choice > article:nth-child(2) {
  border-left-color: #f35aa5;
  background: #ffe5f2;
}

.french-proof--source-choice > article strong,
.french-source-cards article > strong {
  display: block;
  font: 900 20px/1.15 var(--font-display);
}

.french-proof--source-choice > article span {
  display: block;
  margin-top: 10px;
  color: #29272d;
  font-weight: 740;
}

.french-source-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.french-source-cards article:nth-child(2n) {
  border-left-color: #f35aa5;
  background: #ffe5f2;
}

.french-source-cards article.is-selected {
  outline: 4px solid #0fbc53;
  outline-offset: 3px;
}

.french-source-cards small {
  display: block;
  margin-bottom: 8px;
  color: #2f73d9;
  font-weight: 850;
}

.french-source-cards dl {
  display: grid;
  margin: 16px 0 0;
  gap: 7px;
}

.french-source-cards dl > div {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 8px;
}

.french-source-cards dt,
.french-source-cards dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
}

.french-source-cards dt {
  font-weight: 850;
}

/* The retained writing surface keeps all academic work in the app. */
.french-writing-lab {
  display: grid;
  gap: 26px;
}

.french-fact-bank-shell,
.french-writing-workspace {
  padding: clamp(22px, 3vw, 38px);
  border: 1px solid color-mix(in srgb, #29272d 14%, white);
  border-radius: 32px;
  background: #fff;
}

.french-fact-bank-shell > header > span,
.french-writing-title > span,
.french-writing-version > span,
.french-writing-review strong {
  color: #29272d;
  font: 950 10px/1 var(--font-display);
  letter-spacing: .1em;
}

.french-fact-bank-shell h2 {
  margin: 12px 0;
  font: 950 clamp(31px, 4vw, 48px)/1 var(--font-display);
}

.french-fact-bank-shell header p {
  max-width: 860px;
  color: #29272d;
  font-weight: 740;
  line-height: 1.45;
}

.french-fact-bank {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
  gap: 12px;
}

.french-fact-bank > article {
  padding: 20px;
  border-radius: 24px;
  background: #e2efff;
}

.french-fact-bank > article:nth-child(2) {
  background: #f2ebff;
}

.french-fact-bank > article:nth-child(3) {
  background: #ffe5f2;
}

.french-fact-bank > article > span {
  display: block;
  min-height: 36px;
  font: 900 15px/1.2 var(--font-display);
}

.french-fact-bank label {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  margin-top: 12px;
  align-items: start;
  gap: 8px;
  color: #29272d;
  font-size: 13px;
  font-weight: 730;
  line-height: 1.35;
}

.french-fact-bank input {
  width: 20px;
  height: 20px;
  accent-color: #0fbc53;
}

.french-writing-title {
  display: grid;
  max-width: 700px;
  gap: 10px;
}

.french-writing-title input,
.french-writing-field textarea,
.french-self-check select {
  width: 100%;
  border: 2px solid color-mix(in srgb, #29272d 24%, white);
  border-radius: 17px;
  background: #fff;
  color: #29272d;
}

.french-writing-title input {
  min-height: 56px;
  padding: 12px 16px;
  font-weight: 820;
}

.french-writing-workspace__versions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
  gap: 14px;
}

.french-writing-version {
  min-width: 0;
  padding: 22px;
  border-top: 8px solid #fd7666;
  border-radius: 10px 10px 24px 24px;
  background: #ffe7e2;
}

.french-writing-version:nth-child(2) {
  border-top-color: #9267ea;
  background: #f2ebff;
}

.french-writing-version:nth-child(3) {
  border-top-color: #0fbc53;
  background: #e5f8eb;
}

.french-writing-version.is-locked {
  min-height: 260px;
  opacity: .66;
}

.french-writing-version > p,
.french-writing-version > strong {
  display: block;
  margin: 16px 0;
  color: #29272d;
  font-size: 14px;
  font-weight: 740;
  line-height: 1.4;
}

.french-writing-field {
  display: grid;
  margin-top: 14px;
  gap: 7px;
}

.french-writing-field label {
  font-size: 12px;
  font-weight: 860;
}

.french-writing-field textarea {
  min-height: 120px;
  padding: 13px;
  resize: vertical;
  font-size: 14px;
  line-height: 1.45;
}

.french-writing-version > button {
  display: flex;
  width: 100%;
  min-height: 54px;
  margin-top: 18px;
  padding: 12px 15px;
  border: 0;
  border-radius: 18px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #9267ea;
  color: #fff;
  font-weight: 880;
  cursor: pointer;
}

.french-writing-version:nth-child(3) > button {
  background: #0fbc53;
}

.french-self-check {
  display: grid;
  margin-top: 18px;
  gap: 9px;
}

.french-self-check label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 740;
  line-height: 1.35;
}

.french-self-check select {
  min-height: 42px;
  padding: 8px;
}

.french-writing-review {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 20px;
  padding: 20px;
  align-items: center;
  gap: 18px;
  border-radius: 22px;
  background: #fff5c8;
}

.french-writing-review p {
  margin: 8px 0 0;
  color: #29272d;
  font-weight: 730;
  line-height: 1.4;
}

.french-writing-review > span {
  padding: 12px 16px;
  border-radius: 16px;
  background: #fff;
  font-weight: 840;
}

/* Summary keeps one example through the whole journey. */
.french-course .kid-summary-example-visual .french-proof {
  min-height: 330px;
  border: 0;
}

.french-course .kid-summary-example-visual .french-proof figcaption {
  display: none;
}

.french-summary-rule {
  display: grid;
  padding: clamp(26px, 4vw, 44px);
  gap: 14px;
  border-radius: 34px;
  background: #ffe7e2;
}

.french-summary-rule > span {
  color: #29272d;
  font: 950 11px/1 var(--font-display);
  letter-spacing: .11em;
}

.french-summary-rule > strong {
  font: 950 clamp(28px, 4vw, 48px)/1.05 var(--font-display);
}

.french-summary-rule > p {
  max-width: 950px;
  margin: 0;
  color: #29272d;
  font-weight: 740;
  line-height: 1.45;
}

/* Adult guide additions. */
.french-guide-pdf {
  display: grid;
  max-width: 360px;
  margin-top: 24px;
  padding: 16px 18px;
  gap: 5px;
  border: 1px solid color-mix(in srgb, #29272d 14%, white);
  border-radius: 18px;
  background: #fff;
  color: #29272d;
  text-align: left;
}

.french-guide-pdf:disabled {
  cursor: not-allowed;
  opacity: .72;
}

.french-guide-pdf strong {
  font: 900 16px/1.1 var(--font-display);
}

.french-guide-pdf small {
  color: #29272d;
  line-height: 1.35;
}

.french-course .family-guide-step > footer {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.french-course .family-guide-step__work ul {
  display: grid;
  margin: 13px 0 0;
  padding-left: 1.2em;
  gap: 7px;
}

.french-guide-reference {
  width: min(calc(100% - 32px), 1240px);
  margin: 28px auto 0;
  padding: clamp(30px, 5vw, 58px);
  border: 1px solid color-mix(in srgb, #29272d 14%, white);
  border-radius: 36px;
  background: #fff;
}

.french-guide-reference > header {
  display: grid;
  margin-bottom: 28px;
  gap: 10px;
}

.french-guide-reference > header > span {
  color: #29272d;
  font: 950 11px/1 var(--font-display);
  letter-spacing: .11em;
}

.french-guide-reference > header h2 {
  margin: 0;
  font: 950 clamp(34px, 4.5vw, 58px)/1 var(--font-display);
}

.french-guide-reference > h3 {
  margin: 34px 0 16px;
  font: 920 clamp(25px, 3vw, 36px)/1.05 var(--font-display);
}

.french-guide-reference > article,
.french-guide-true-false article {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  padding: 24px 0;
  gap: 18px;
  border-bottom: 1px solid color-mix(in srgb, #29272d 14%, white);
}

.french-guide-reference > article > i,
.french-guide-true-false article > i,
.french-guide-card-bank article > i,
.french-guide-assessment article > i {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 16px;
  background: #ffe7e2;
  color: #29272d;
  font: 950 11px/1 var(--font-display);
  font-style: normal;
}

.french-guide-reference article h3 {
  margin: 0 0 12px;
  font: 900 clamp(21px, 2.4vw, 30px)/1.15 var(--font-display);
}

.french-guide-reference article p,
.french-guide-reference article li {
  color: #29272d;
  font-weight: 710;
  line-height: 1.45;
}

.french-guide-feedback-bank {
  display: grid;
  margin-top: 16px;
  gap: 8px;
}

.french-guide-feedback-bank > div {
  padding: 14px 16px;
  border-radius: 18px;
  background: #f2ebff;
}

.french-guide-feedback-bank strong {
  color: #29272d;
}

.french-guide-feedback-bank p {
  margin: 7px 0 0;
}

.french-guide-reference article aside {
  margin-top: 16px;
  padding: 18px;
  border-radius: 20px;
  background: #fff5c8;
}

.french-guide-glossary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  gap: 10px;
}

.french-guide-glossary > div {
  padding: 18px;
  border-radius: 20px;
  background: #e2efff;
}

.french-guide-glossary dt {
  color: #2f73d9;
  font: 900 16px/1.15 var(--font-display);
}

.french-guide-glossary dd {
  margin: 9px 0 0;
  color: #29272d;
  line-height: 1.4;
}

.french-guide-card-bank {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.french-guide-card-bank article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  padding: 18px;
  gap: 14px;
  border-radius: 22px;
  background: #ffe7e2;
}

.french-guide-card-bank article p,
.french-guide-card-bank article small {
  grid-column: 2;
  margin: 0;
}

.french-guide-card-bank article strong {
  align-self: center;
  font: 900 17px/1.15 var(--font-display);
}

.french-guide-card-bank article small {
  color: #29272d;
  line-height: 1.4;
}

.french-guide-assessment article {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 54px;
  padding: 24px 0;
  gap: 18px;
  border-bottom: 1px solid color-mix(in srgb, #29272d 14%, white);
}

.french-guide-assessment article > b {
  align-self: start;
  padding: 12px;
  border-radius: 16px;
  background: #e5f8eb;
  color: #29272d;
  text-align: center;
}

.french-guide-assessment article aside ul {
  margin-bottom: 0;
}

@media (max-width: 1000px) {
  .french-proof--plan,
  .french-proof--revision,
  .french-proof--reader,
  .french-proof--source-identity,
  .french-proof--exact-data,
  .french-proof--revision-mark {
    grid-template-columns: 1fr;
  }

  .french-proof--plan > i {
    transform: rotate(90deg);
    text-align: center;
  }

  .french-proof--revision svg {
    width: 110px;
    margin: auto;
    transform: rotate(90deg);
  }

  .french-proof--revision figcaption {
    grid-column: 1;
  }

  .french-proof--revision-mark > div {
    text-align: center;
    transform: rotate(90deg);
  }

  .french-data-bridge {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .french-fact-bank,
  .french-writing-workspace__versions {
    grid-template-columns: 1fr;
  }

  .french-course .family-guide-step > footer {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .french-vocabulary-primer {
    padding: 24px 18px;
    border-radius: 28px;
  }

  .french-vocabulary-primer > header,
  .french-vocabulary-primer > div {
    grid-template-columns: 1fr;
  }

  .french-vocabulary-primer > header > strong {
    grid-column: 1;
    grid-row: auto;
    font-size: 30px;
  }

  .french-card-vocabulary article,
  .french-card-vocabulary small {
    grid-template-columns: 1fr;
    grid-column: 1;
  }

  .french-proof {
    min-height: 320px;
    padding: 22px 16px;
    border-radius: 28px;
  }

  .french-proof--source dl,
  .french-proof--classify > div,
  .french-proof--versions,
  .french-proof--question-focus > div,
  .french-proof--geography > div,
  .french-answer-grid,
  .french-source-cards,
  .french-guide-glossary,
  .french-guide-card-bank {
    grid-template-columns: 1fr;
  }

  .french-proof--source-identity dl {
    grid-template-columns: 1fr;
  }

  .french-data-bridge {
    grid-template-columns: 1fr;
  }

  .french-proof--plan figcaption,
  .french-proof--versions figcaption {
    grid-column: 1;
  }

  .french-proof-sentence p,
  .french-proof--source blockquote,
  .french-proof--classify blockquote {
    font-size: clamp(20px, 6vw, 27px);
  }

  .french-course .kid-lab-card.is-writing {
    width: 100%;
  }

  .french-fact-bank-shell,
  .french-writing-workspace {
    padding: 20px 14px;
    border-radius: 24px;
  }

  .french-writing-version {
    padding: 18px 14px;
  }

  .french-writing-review,
  .french-self-check label,
  .french-guide-assessment article,
  .french-guide-reference > article,
  .french-guide-true-false article {
    grid-template-columns: 1fr;
  }

  .french-guide-reference {
    width: 100%;
    padding: 30px 20px;
    border-radius: 28px;
  }

  .french-guide-card-bank article {
    grid-template-columns: 48px minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .french-course *,
  .french-course *::before,
  .french-course *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* 2026 reasoning proofs: Atelier de la phrase, rebuilt from a blank page. */
.french-evidence {
  --evidence-ink: #29272d;
  --evidence-coral: #fd7666;
  --evidence-coral-soft: #ffe7e2;
  --evidence-blue: #2f73d9;
  --evidence-blue-soft: #e2efff;
  --evidence-green: #0fbc53;
  --evidence-green-soft: #e5f8eb;
  --evidence-violet: #9267ea;
  --evidence-violet-soft: #f2ebff;
  --evidence-yellow: #f6cc24;
  --evidence-yellow-soft: #fff5c8;
  --evidence-pink: #f35aa5;
  --evidence-pink-soft: #ffe5f2;
  position: relative;
  display: grid;
  width: min(100%, 960px);
  min-height: 390px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 50px);
  align-content: center;
  gap: clamp(18px, 2.8vw, 30px);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--evidence-ink) 13%, white);
  border-radius: 46px 30px 54px 34px;
  background: #fff;
  color: var(--evidence-ink);
  font-family: var(--font-body);
  font-style: normal;
}

.french-evidence,
.french-evidence * {
  box-sizing: border-box;
  min-width: 0;
}

.french-evidence mark {
  padding: 0 .16em;
  border-radius: .38em .22em .4em .26em;
  background: var(--evidence-yellow-soft);
  color: var(--evidence-ink);
}

.french-evidence figcaption {
  padding-top: 13px;
  border-top: 1px dashed color-mix(in srgb, var(--evidence-ink) 28%, white);
  color: color-mix(in srgb, var(--evidence-ink) 76%, white);
  font: 780 14px/1.45 var(--font-body);
}

.french-evidence > .french-iris-note {
  justify-self: end;
}

.french-evidence--reader {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
}

.french-reader-thread {
  display: grid;
  padding-left: 24px;
  gap: 12px;
  border-left: 5px solid var(--evidence-blue);
}

.french-reader-thread > span,
.french-answer-strip small,
.french-sentence-thread > span,
.french-question-fan span,
.french-evidence--path li > span,
.french-source-sheet > span,
.french-rewrite-source > span,
.french-rewrite-result > span,
.french-invariant-note > span,
.french-invariant-sentence > span,
.french-draft-line > span,
.french-revision-line > span,
.french-evidence--final article > span {
  color: var(--evidence-ink);
  font: 950 11px/1 var(--font-display);
  letter-spacing: .12em;
}

.french-reader-thread p {
  margin: 0;
  padding: 10px 0 10px 16px;
  border-bottom: 1px solid color-mix(in srgb, var(--evidence-blue) 28%, white);
  font-weight: 780;
  line-height: 1.3;
}

.french-answer-strip {
  position: relative;
  align-self: center;
  padding: clamp(22px, 4vw, 38px);
  border-radius: 18px 42px 24px 36px;
  background: var(--evidence-yellow-soft);
}

.french-answer-strip::before {
  position: absolute;
  top: 50%;
  left: -40px;
  width: 44px;
  border-top: 3px solid var(--evidence-blue);
  content: '';
}

.french-answer-strip p {
  margin: 14px 0;
  font: 900 clamp(20px, 2.7vw, 30px)/1.25 var(--font-display);
}

.french-answer-strip b {
  color: var(--evidence-blue);
  font: 900 13px/1.2 var(--font-body);
}

.french-evidence--reader .french-iris-note,
.french-evidence--reader figcaption,
.french-evidence--rewrite .french-iris-note,
.french-evidence--rewrite figcaption,
.french-evidence--invariants .french-iris-note,
.french-evidence--invariants figcaption,
.french-evidence--revision .french-iris-note,
.french-evidence--revision figcaption {
  grid-column: 1 / -1;
}

.french-evidence--contrast {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.french-sentence-thread {
  display: grid;
  min-height: 180px;
  padding: 28px;
  align-content: center;
  gap: 13px;
  border-bottom: 5px solid var(--evidence-pink);
  border-radius: 26px 42px 18px 32px;
  background: var(--evidence-pink-soft);
}

.french-sentence-thread.is-fact {
  border-color: var(--evidence-green);
  background: var(--evidence-green-soft);
}

.french-sentence-thread p {
  margin: 0;
  font: 900 clamp(20px, 2.8vw, 29px)/1.25 var(--font-display);
}

.french-sentence-thread small {
  font-weight: 760;
  line-height: 1.35;
}

.french-evidence--contrast .french-iris-note,
.french-evidence--contrast figcaption,
.french-evidence--question .french-iris-note,
.french-evidence--question figcaption,
.french-evidence--path .french-iris-note,
.french-evidence--path figcaption,
.french-evidence--source-id .french-iris-note,
.french-evidence--source-id figcaption,
.french-evidence--source-check .french-iris-note,
.french-evidence--source-check figcaption,
.french-evidence--geography .french-iris-note,
.french-evidence--geography figcaption,
.french-evidence--sort .french-iris-note,
.french-evidence--sort figcaption,
.french-evidence--final .french-iris-note,
.french-evidence--final figcaption {
  grid-column: 1 / -1;
}

.french-evidence--question {
  grid-template-columns: minmax(0, 1fr) minmax(170px, .35fr);
}

.french-question-fan {
  display: grid;
  gap: 12px;
}

.french-question-fan p {
  margin: 0;
  padding: 14px 18px;
  border-left: 4px solid color-mix(in srgb, var(--evidence-ink) 22%, white);
  color: color-mix(in srgb, var(--evidence-ink) 70%, white);
  font-weight: 780;
}

.french-question-fan p.is-chosen {
  border-color: var(--evidence-violet);
  border-radius: 0 28px 28px 0;
  background: var(--evidence-violet-soft);
  color: var(--evidence-ink);
  font-size: 1.08em;
}

.french-question-fan span {
  display: block;
  margin-bottom: 6px;
  color: inherit;
}

.french-question-answer {
  display: grid;
  place-content: center;
  min-height: 180px;
  text-align: center;
}

.french-question-answer i {
  color: var(--evidence-violet);
  font: 900 34px/1 var(--font-display);
}

.french-question-answer strong {
  color: var(--evidence-blue);
  font: 950 clamp(28px, 4vw, 44px)/1 var(--font-display);
}

.french-question-answer small {
  margin-top: 8px;
  font-weight: 800;
}

.french-evidence--path ol {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  gap: 28px;
  list-style: none;
}

.french-evidence--path ol::before {
  position: absolute;
  top: 22px;
  right: 10%;
  left: 10%;
  border-top: 4px solid var(--evidence-blue);
  content: '';
}

.french-evidence--path li {
  position: relative;
  padding-top: 46px;
}

.french-evidence--path li::before {
  position: absolute;
  top: 11px;
  left: calc(50% - 12px);
  width: 24px;
  height: 24px;
  border: 6px solid #fff;
  border-radius: 50%;
  background: var(--evidence-blue);
  box-shadow: 0 0 0 2px var(--evidence-blue);
  content: '';
}

.french-evidence--path li:nth-child(2)::before {
  background: var(--evidence-green);
  box-shadow: 0 0 0 2px var(--evidence-green);
}

.french-evidence--path li:nth-child(3)::before {
  background: var(--evidence-violet);
  box-shadow: 0 0 0 2px var(--evidence-violet);
}

.french-evidence--path li > span {
  display: block;
  margin-bottom: 10px;
  text-align: center;
}

.french-evidence--path li p {
  margin: 0;
  padding: 18px;
  border-radius: 18px 28px 22px 30px;
  background: var(--evidence-blue-soft);
  font-weight: 820;
  line-height: 1.35;
}

.french-evidence--path li:nth-child(2) p {
  background: var(--evidence-green-soft);
}

.french-evidence--path li:nth-child(3) p {
  background: var(--evidence-violet-soft);
}

.french-evidence--path li small {
  display: block;
  margin-top: 8px;
  color: var(--evidence-blue);
  font-weight: 820;
}

.french-evidence--source-id {
  grid-template-columns: minmax(0, 1fr) minmax(220px, .6fr);
}

.french-source-sheet {
  padding: 28px;
  border-left: 6px solid var(--evidence-blue);
  border-radius: 12px 34px 24px 18px;
  background: var(--evidence-blue-soft);
}

.french-source-sheet h3 {
  margin: 12px 0 30px;
  font: 920 clamp(21px, 2.8vw, 30px)/1.15 var(--font-display);
}

.french-source-sheet p {
  margin: 0;
  font-weight: 850;
}

.french-evidence--source-id dl {
  display: grid;
  margin: 0;
  gap: 20px;
}

.french-evidence--source-id dl > div {
  position: relative;
  padding: 16px 0 16px 28px;
  border-bottom: 3px solid var(--evidence-green);
}

.french-evidence--source-id dl > div::before {
  position: absolute;
  top: 50%;
  left: -28px;
  width: 28px;
  border-top: 2px solid var(--evidence-green);
  content: '';
}

.french-evidence--source-id dt {
  color: var(--evidence-green);
  font: 950 12px/1 var(--font-display);
}

.french-evidence--source-id dd {
  margin: 7px 0 0;
  font-weight: 850;
}

.french-evidence--source-check blockquote {
  width: min(100%, 620px);
  margin: 0 auto;
  padding: 20px 26px;
  border-left: 6px solid var(--evidence-blue);
  border-radius: 10px 32px 22px 16px;
  background: var(--evidence-blue-soft);
  font: 920 clamp(20px, 2.8vw, 28px)/1.25 var(--font-display);
}

.french-evidence--source-check ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}

.french-evidence--source-check li {
  display: grid;
  padding: 18px 12px;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.french-evidence--source-check li i {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--evidence-green);
  color: #fff;
  font: 900 15px/1 var(--font-display);
}

.french-evidence--source-check li span {
  color: var(--evidence-green);
  font: 950 11px/1 var(--font-display);
  letter-spacing: .06em;
}

.french-evidence--source-check li strong {
  font-size: 13px;
  line-height: 1.3;
}

.french-evidence--rewrite,
.french-evidence--invariants,
.french-evidence--revision {
  grid-template-columns: minmax(0, 1fr) minmax(120px, .34fr) minmax(0, 1fr);
}

.french-rewrite-source,
.french-rewrite-result,
.french-invariant-note,
.french-invariant-sentence,
.french-draft-line,
.french-revision-line {
  display: grid;
  min-height: 150px;
  padding: 24px;
  align-content: center;
  gap: 15px;
  border-radius: 26px 40px 22px 34px;
}

.french-rewrite-source,
.french-invariant-note,
.french-draft-line {
  background: var(--evidence-blue-soft);
}

.french-rewrite-result,
.french-invariant-sentence,
.french-revision-line {
  background: var(--evidence-violet-soft);
}

.french-rewrite-source p,
.french-rewrite-result p,
.french-invariant-sentence p,
.french-draft-line p,
.french-revision-line p {
  margin: 0;
  font: 880 clamp(18px, 2.4vw, 25px)/1.3 var(--font-display);
}

.french-word-moves {
  display: grid;
  align-content: center;
  gap: 8px;
}

.french-word-moves i {
  padding: 8px 10px;
  border-bottom: 3px solid var(--evidence-violet);
  color: var(--evidence-violet);
  font: 850 13px/1 var(--font-body);
  text-align: center;
  transform: rotate(-2deg);
}

.french-word-moves i:nth-child(2) {
  border-color: var(--evidence-coral);
  color: var(--evidence-coral);
  transform: rotate(2deg);
}

.french-invariant-note p {
  margin: 0;
  padding: 6px 12px;
  border-bottom: 3px solid var(--evidence-blue);
  font: 900 18px/1.2 var(--font-display);
}

.french-invariant-lines {
  display: grid;
  align-content: center;
  gap: 28px;
}

.french-invariant-lines i {
  position: relative;
  display: block;
  border-top: 3px solid var(--evidence-green);
}

.french-invariant-lines i::after {
  position: absolute;
  top: -7px;
  right: -2px;
  width: 10px;
  height: 10px;
  border-top: 3px solid var(--evidence-green);
  border-right: 3px solid var(--evidence-green);
  content: '';
  transform: rotate(45deg);
}

.french-evidence--geography {
  grid-template-columns: minmax(160px, .36fr) minmax(0, 1fr);
}

.french-geo-question {
  display: grid;
  align-content: center;
  padding: 28px;
  border-radius: 48% 52% 43% 57% / 38% 44% 56% 62%;
  background: var(--evidence-blue-soft);
  text-align: center;
}

.french-geo-question strong {
  color: var(--evidence-blue);
  font: 950 clamp(30px, 4vw, 48px)/1 var(--font-display);
}

.french-geo-question span {
  margin-top: 10px;
  font-weight: 850;
}

.french-evidence--geography ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  gap: 10px 18px;
  list-style: none;
}

.french-evidence--geography li {
  display: grid;
  grid-template-columns: 36px 1fr;
  padding: 13px 0;
  align-items: center;
  gap: 2px 12px;
  border-bottom: 2px solid color-mix(in srgb, var(--evidence-blue) 28%, white);
}

.french-evidence--geography li i {
  grid-row: 1 / 3;
  color: var(--evidence-blue);
  font: 900 25px/1 var(--font-display);
}

.french-evidence--geography li span {
  font: 950 10px/1 var(--font-display);
  letter-spacing: .06em;
}

.french-evidence--geography li b {
  font-size: 14px;
}

.french-geo-non-example {
  grid-column: 2;
  margin: 0;
  color: var(--evidence-pink);
  font-weight: 850;
}

.french-geo-non-example del {
  margin-right: 10px;
}

.french-evidence--sort > .french-sort-fact {
  width: min(100%, 650px);
  margin: 0 auto;
  padding: 16px 22px;
  border-bottom: 5px solid var(--evidence-yellow);
  background: var(--evidence-yellow-soft);
  font: 900 clamp(19px, 2.6vw, 27px)/1.25 var(--font-display);
  text-align: center;
}

.french-evidence--sort ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  gap: 14px;
  list-style: none;
}

.french-evidence--sort li {
  display: grid;
  min-height: 120px;
  padding: 16px;
  align-content: space-between;
  gap: 18px;
  border-bottom: 4px solid var(--evidence-blue);
}

.french-evidence--sort li:nth-child(2) {
  border-color: var(--evidence-coral);
}

.french-evidence--sort li:nth-child(3) {
  border-color: var(--evidence-pink);
}

.french-evidence--sort li.is-target {
  border-radius: 24px 38px 20px 30px;
  background: var(--evidence-coral-soft);
}

.french-evidence--sort li span {
  font: 950 11px/1.2 var(--font-display);
}

.french-evidence--sort li strong {
  font: 900 21px/1 var(--font-display);
}

.french-evidence--revision {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.french-draft-line del {
  text-decoration-color: var(--evidence-pink);
  text-decoration-thickness: 4px;
}

.french-revision-line ins {
  border-bottom: 4px solid var(--evidence-green);
  text-decoration: none;
}

.french-revision-reason {
  grid-column: 1 / -1;
  margin: 0;
  padding: 14px 20px;
  border-left: 5px solid var(--evidence-green);
  font-weight: 800;
}

.french-revision-reason b {
  color: var(--evidence-green);
  font: 950 11px/1 var(--font-display);
  letter-spacing: .08em;
}

.french-evidence--final {
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr);
}

.french-evidence--final article {
  padding: 28px;
  border-left: 6px solid var(--evidence-coral);
  border-radius: 14px 38px 24px 20px;
  background: var(--evidence-coral-soft);
}

.french-evidence--final article h3 {
  margin: 12px 0;
  font: 950 clamp(26px, 3.6vw, 40px)/1 var(--font-display);
}

.french-evidence--final article p {
  margin: 0 0 22px;
  font: 850 clamp(18px, 2.5vw, 25px)/1.3 var(--font-display);
}

.french-evidence--final article small {
  font-weight: 780;
}

.french-evidence--final ol {
  display: grid;
  margin: 0;
  padding: 0;
  align-content: center;
  gap: 10px;
  list-style: none;
}

.french-evidence--final li {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 10px;
  font-weight: 850;
}

.french-evidence--final li i {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--evidence-green);
  color: #fff;
  font: 900 13px/1 var(--font-display);
}

.french-evidence--source-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.french-evidence--source-options > article {
  display: grid;
  min-height: 140px;
  padding: 24px;
  align-content: center;
  gap: 10px;
  border-left: 5px solid var(--evidence-green);
  background: var(--evidence-green-soft);
}

.french-evidence--source-options > article:nth-child(2) {
  border-color: var(--evidence-pink);
  background: var(--evidence-pink-soft);
}

.french-evidence--source-options > .french-source-cards {
  grid-column: 1 / -1;
}

.french-evidence--source-options figcaption {
  grid-column: 1 / -1;
}

.french-course .kid-summary-example-visual .french-evidence {
  min-height: 0;
  padding: 22px;
}

.french-course .kid-summary-example-visual .french-evidence .french-iris-note,
.french-course .kid-summary-example-visual .french-evidence figcaption {
  display: none;
}

@media (max-width: 780px) {
  .french-evidence {
    min-height: 0;
    padding: 22px 18px;
    border-radius: 28px 20px 34px 24px;
  }

  .french-evidence--reader,
  .french-evidence--contrast,
  .french-evidence--question,
  .french-evidence--source-id,
  .french-evidence--rewrite,
  .french-evidence--invariants,
  .french-evidence--revision,
  .french-evidence--geography,
  .french-evidence--final,
  .french-evidence--source-options {
    grid-template-columns: minmax(0, 1fr);
  }

  .french-answer-strip::before,
  .french-evidence--source-id dl > div::before {
    display: none;
  }

  .french-evidence--path ol,
  .french-evidence--source-check ol,
  .french-evidence--sort ol,
  .french-evidence--geography ul {
    grid-template-columns: minmax(0, 1fr);
  }

  .french-evidence--path ol::before {
    top: 10%;
    right: auto;
    bottom: 10%;
    left: 12px;
    border-top: 0;
    border-left: 4px solid var(--evidence-blue);
  }

  .french-evidence--path li {
    padding: 0 0 0 44px;
  }

  .french-evidence--path li::before {
    top: 14px;
    left: 0;
  }

  .french-evidence--path li > span {
    text-align: left;
  }

  .french-word-moves,
  .french-invariant-lines {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .french-invariant-lines i {
    border-top: 0;
    border-left: 3px solid var(--evidence-green);
    height: 24px;
    justify-self: center;
  }

  .french-invariant-lines i::after {
    top: 14px;
    right: -5px;
    transform: rotate(135deg);
  }

  .french-geo-non-example,
  .french-evidence--reader .french-iris-note,
  .french-evidence--reader figcaption,
  .french-evidence--rewrite .french-iris-note,
  .french-evidence--rewrite figcaption,
  .french-evidence--invariants .french-iris-note,
  .french-evidence--invariants figcaption,
  .french-evidence--revision .french-iris-note,
  .french-evidence--revision figcaption {
    grid-column: 1;
  }
}
/* Four French Guides use the inspected Maths family session. No Lab or other subject matches. */
:is([data-french-course-01-root], [data-french-course-02-root], [data-french-course-03-root], [data-french-course-04-root])[data-french-active-module="guide"] {
  /* Retired art is absent: keep the metadata, not its empty illustration stage. */
  & .family-guide-hero { grid-template-columns: minmax(0, 1fr) auto; }
  & .family-guide-hero > aside { min-height: 0; grid-template-columns: 1fr; }
  & .family-guide-hero > aside::before { content: none; }
  & .family-guide-hero > aside > div { grid-column: 1; }
  & .french-guide-pdf:disabled {
    background: #fff !important;
    border: 1px solid color-mix(in srgb, #29272d 14%, white) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
  }
  & .family-guide-step > footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* User-approved Guide ending: existing destination cards, stacked at every width. */
  & .family-guide-finish .kid-lesson-welcome__shortcuts {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 32px;
  }
  & .family-guide-finish .kid-lesson-welcome__shortcuts .is-lab > i { background: var(--subject-dominant); }
  & .family-guide-finish .kid-lesson-welcome__shortcuts .is-cards > i { color: var(--subject-dominant); }
  & .family-guide-hero h1 em,
  & .family-guide-finish h2 em { color: var(--subject-dominant); }
  & .french-guide-resources { width: min(100%, 1240px); margin: 28px auto 0; }
  & .french-guide-resources > summary { padding: 24px; color: var(--ink); cursor: pointer; font-weight: 850; }
  & .french-guide-resources .french-guide-reference { width: 100%; }
  @media (max-width: 980px) {
    & .family-guide-hero { grid-template-columns: 1fr; }
    & .family-guide-hero > aside { justify-self: start; }
  }
  @media (max-width: 700px) {
    & .family-guide-step > footer { grid-template-columns: 1fr; }
  }
}
/* Literal French 2 notebook presentation, confined to French 1 Lab. */
@scope ([data-french-course-01-root][data-french-active-module="lab"]) {
  .french-lab-options {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-left: 18px;
    border-left: 2px solid var(--subject-dominant);
    background: #fffdf7;
  }

  .french-lab-options button {
    display: flex;
    min-height: 64px;
    padding: 18px 8px;
    border: 0;
    border-bottom: 2px solid color-mix(in srgb, var(--ink) 18%, white);
    border-radius: 0;
    align-items: center;
    background: transparent;
    color: var(--ink);
    text-align: left;
    box-shadow: none;
    transform: none;
  }

  .french-lab-options button:hover:not(:disabled) { border-bottom-color: var(--subject-dominant); background: var(--subject-support); }
  .french-lab-options button.is-correct { border-bottom-color: #0fbc53; background: #e5f8eb; }
  .french-lab-options button.is-wrong { border-bottom-color: var(--subject-dominant); background: var(--subject-support); }
  .french-lab-options button:disabled:not(.is-correct):not(.is-wrong) { opacity: .68; }
  .french-lab-options span { font-size: 17px; font-weight: 780; line-height: 1.35; }
  .french-lab-options button.is-wrong span { text-decoration: line-through 3px var(--subject-dominant); text-decoration-skip-ink: none; }
  .french-lab-options button.is-correct span { text-decoration: underline 3px #0fbc53; text-underline-offset: 7px; }

.kid-lab-feedback.french-lab-feedback.french02-feedback-notebook[data-french02-feedback-notebook] {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  margin-top: 32px;
  scroll-margin-block: 90px 130px;
  padding: 0 30px 24px 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ink) 14%, white) !important;
  border-left: 0 !important;
  border-radius: 10px 18px 18px 10px !important;
  gap: 0 24px;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 31px,
    color-mix(in srgb, #2f73d9 15%, transparent) 32px,
    transparent 33px
  ), #fffdf7 !important;
  box-shadow: none !important;
}

.french02-feedback-notebook__margin {
  display: grid;
  grid-row: 1 / 3;
  min-height: 100%;
  border-right: 2px solid var(--subject-dominant);
  align-content: start;
  justify-items: center;
}

.french02-feedback-notebook__margin i {
  margin-top: 24px;
  color: var(--subject-dominant);
  font: 950 24px/1 var(--font-display);
  font-style: normal;
  transform: rotate(-7deg);
}

.french02-feedback-notebook__margin[data-french02-feedback-mark="tb"] i {
  color: var(--subject-dominant);
  font-size: 28px;
  font-style: italic;
  letter-spacing: -.08em;
  text-decoration-line: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 4px;
  transform: rotate(-9deg);
}

.french02-feedback-notebook__margin[data-french02-feedback-mark="support"] i {
  margin-top: 29px;
  font-size: 10px;
  letter-spacing: .06em;
  transform: rotate(-6deg);
}

.french02-feedback-notebook__margin[data-french02-feedback-mark="note"] i {
  font-size: 21px;
}


.french02-feedback-notebook__copy {
  min-width: 0;
  padding-top: 24px;
}

.french02-feedback-notebook__copy > span {
  color: var(--subject-dominant);
  font: 950 11px/1 var(--font-display);
  letter-spacing: .12em;
}

.french02-feedback-notebook__copy h2 {
  max-width: 28ch;
  margin: 11px 0 19px;
  color: var(--ink);
  font: 950 clamp(27px, 3vw, 38px)/1.05 var(--font-display);
  letter-spacing: -.025em;
}

.french02-feedback-notebook__copy p {
  display: grid;
  max-width: 850px;
  margin: 0 0 16px;
  gap: 5px;
  color: var(--ink);
  font: 760 clamp(17px, 1.55vw, 20px)/1.6 var(--font-body);
}

.french02-feedback-notebook__copy p strong {
  width: max-content;
  color: var(--subject-dominant);
  font: 950 10px/1 var(--font-display);
  letter-spacing: .11em;
  text-decoration: underline 3px var(--subject-support);
  text-underline-offset: 4px;
}

.french02-feedback-notebook__cue {
  padding-left: 18px;
  border-left: 4px solid #f6cc24;
}

.french02-feedback-notebook__footer {
  display: flex;
  grid-column: 2;
  min-width: 0;
  margin-top: 3px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.french02-feedback-notebook__footer small {
  margin: 0;
  color: #655f6a;
  font: 800 14px/1.35 var(--font-body);
}

.french02-feedback-notebook__footer button {
  display: inline-flex;
  width: max-content;
  min-height: 52px;
  padding: 11px 12px 11px 18px;
  border: 0;
  border-radius: 12px;
  align-items: center;
  gap: 12px;
  background: var(--subject-dominant);
  color: #fff;
  box-shadow: none;
  font: 920 16px/1.15 var(--font-display);
}

.french02-feedback-notebook__footer button b {
  display: inline-grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  place-items: center;
  background: #fff;
  color: var(--ink);
  font-size: 18px;
}
.french-lab-options button[data-french-atelier-choice]:disabled {
 border: 0 !important;
 border-bottom: 2px solid color-mix(in srgb, var(--ink) 18%, white) !important;
 background-color: transparent !important;
 box-shadow: none !important;
}
.french-lab-options button[data-french-atelier-choice].is-wrong:disabled { border-bottom-color: var(--subject-dominant) !important; }
.french-lab-options button[data-french-atelier-choice].is-correct:disabled { border-bottom-color: #0fbc53 !important; }

@media (max-width: 760px) {
.kid-lab-feedback.french-lab-feedback.french02-feedback-notebook[data-french02-feedback-notebook] {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 0 16px 20px 0;
    border-radius: 8px 14px 14px 8px !important;
    gap: 0 14px;
  }

  .french02-feedback-notebook__margin i {
    margin-top: 21px;
    font-size: 21px;
  }

  .french02-feedback-notebook__margin[data-french02-feedback-mark="tb"] i {
    font-size: 24px;
  }

  .french02-feedback-notebook__copy {
    padding-top: 21px;
  }

  .french02-feedback-notebook__copy h2 {
    margin: 9px 0 16px;
    font-size: clamp(24px, 7vw, 31px);
  }

  .french02-feedback-notebook__copy p {
    font-size: 17px;
    line-height: 1.55;
  }

  .french02-feedback-notebook__footer {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .french02-feedback-notebook__footer button {
    width: 100%;
    justify-content: space-between;
  }
}
}
/* Retained writing belongs to Guide 2/3, never to their choice-only Labs. */
:is([data-french-course-02-root], [data-french-course-03-root])[data-french-active-module="guide"] .french-guide-writing {
  padding: clamp(24px, 4vw, 40px);
  background: #fffdf7;
  border-left: 2px solid var(--subject-dominant);
}
:is([data-french-course-02-root], [data-french-course-03-root])[data-french-active-module="guide"] .french-guide-writing textarea {
  width: 100%;
  min-height: 120px;
  resize: vertical;
}

/* Approved retrofit: all original shared French rules above remain unchanged. */
/* Course 01 retrofit only. Approved French notebook/presentation rules copied in full for these states. */
/* User-approved title and reading hierarchy. Never change the shared shell. */
.french-fiche-course[data-french-active-module] .kid-step-question.fiche-question {
  padding: 22px 24px;
  gap: 10px;
  border-left: 5px solid var(--subject-dominant) !important;
  border-radius: 0 12px 12px 0;
  background: color-mix(in srgb, var(--subject-support) 45%, white) !important;
  color: var(--ink) !important;
}
.french-fiche-course[data-french-active-module] .kid-step-question.fiche-question > strong {
  color: var(--ink) !important;
}
@media (max-width: 760px) {
  .french-fiche-course[data-french-active-module] .kid-step-question.fiche-question { padding: 18px; }
}
.french-fiche-course[data-french-active-module].french-course :is(h1, .family-guide-finish h2) > em {
  color: var(--subject-dominant) !important;
}
.french-fiche-course[data-french-active-module] .kid-lesson-welcome__copy h1 {
  font-size: clamp(38px, 4.8vw, 70px);
  line-height: .98;
}
.french-fiche-course[data-french-active-module] .kid-step-explanation.fiche-reading {
  display: grid;
  gap: 14px;
  max-width: 52ch;
}
.french-fiche-course[data-french-active-module] .fiche-reading p {
  margin: 0;
  text-wrap: pretty;
}
.french-fiche-course[data-french-active-module] .fiche-reading .fiche-reading__bridge {
  color: #655f6a;
  font: 550 clamp(18px, 1.55vw, 21px)/1.5 var(--font-body);
}
.french-fiche-course[data-french-active-module] .fiche-reading .fiche-reading__focus {
  color: var(--ink);
  font: 650 clamp(22px, 2vw, 28px)/1.55 var(--font-body);
}
.french-fiche-course[data-french-active-module] .fiche-reading .fiche-reading__detail {
  color: var(--ink);
  font: 500 clamp(18px, 1.65vw, 22px)/1.6 var(--font-body);
}
.french-fiche-course[data-french-active-module] .fiche-reading__term {
  color: var(--ink);
  font-weight: 850;
  text-decoration: underline 4px var(--subject-dominant);
  text-underline-offset: .16em;
  text-decoration-skip-ink: none;
}
.french-fiche-course[data-french-active-module] .fiche-reading__cue {
  color: var(--ink);
  background: #fff5c8;
  font-weight: 750;
  padding: .04em .12em;
  border-radius: .12em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@media (max-width: 760px) {
  .french-fiche-course[data-french-active-module] .kid-lesson-welcome__copy h1 { font-size: clamp(32px, 9vw, 42px); }
  .french-fiche-course[data-french-active-module] .kid-step-explanation.fiche-reading { gap: 12px; }
}
.french-fiche-course[data-french-active-module] .fiche-proof { margin:0; padding:20px 0; color:var(--ink); min-width:0; }
/* One learning surface: visible evidence, an adjacent attempt, then inference. */
.french-fiche-course[data-french-active-module].fiche-lesson-page > .french-lab-live {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.french-fiche-course[data-french-active-module] .kid-step-visual.fiche-evidence-region {
  display: block;
  width: calc(100% - 2 * clamp(20px, 6vw, 88px));
  max-width: none;
  min-height: 0;
  padding: 0;
  margin: 30px auto 40px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.french-fiche-course[data-french-active-module] .fiche-proof.fiche-evidence-workspace {
  width: 100%;
  padding: clamp(20px, 3vw, 40px);
  border: 1px solid #e6ded2;
  border-radius: 20px;
  background: #fffefa !important;
  color: var(--ink) !important;
}
.french-fiche-course[data-french-active-module] .fiche-evidence-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(250px, 1fr);
  gap: clamp(24px, 3vw, 42px);
  align-items: start;
}
.french-fiche-course[data-french-active-module] :is(.fiche-evidence-model, .fiche-evidence-choice) { min-width: 0; }
.french-fiche-course[data-french-active-module] :is(.fiche-evidence-model, .fiche-evidence-choice) > h2 {
  margin: 0 0 24px;
  color: var(--subject-dominant);
  font: 850 12px/1.3 var(--font-body);
  letter-spacing: .1em;
}
.french-fiche-course[data-french-active-module] .fiche-evidence-choice {
  padding-left: 28px;
  border-left: 1px solid #e6ded2;
}
.french-fiche-course[data-french-active-module] .fiche-choice-instruction { margin: -10px 0 12px; font: 500 17px/1.5 var(--font-body); color: #655f6a; }
.french-fiche-course[data-french-active-module] .fiche-proof-choices { display: grid; }
.french-fiche-course[data-french-active-module] .fiche-proof-choices button {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  min-height: 64px;
  padding: 18px 8px;
  border: 0 !important;
  border-bottom: 1px solid #ddd6ce !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ink) !important;
  font: 700 19px/1.5 var(--font-body);
  text-align: left;
  cursor: pointer;
}
.french-fiche-course[data-french-active-module] .fiche-proof-choices button:hover:not(:disabled) { background: #f0f5fd !important; }
.french-fiche-course[data-french-active-module] .fiche-proof-choices button:focus-visible { outline: 3px solid #2f73d9; outline-offset: 3px; }
.french-fiche-course[data-french-active-module] .fiche-proof-choices button[aria-pressed="true"] { border-bottom: 2px solid #fd7666 !important; }
.french-fiche-course[data-french-active-module] .is-correct .fiche-proof-choices button[aria-pressed="true"] { border-bottom-color: #0fbc53 !important; }
.french-fiche-course[data-french-active-module] .fiche-choice-mark { display: grid; place-items: center; width: 22px; height: 22px; margin-top: 3px; border: 1.5px solid #a8a2aa; border-radius: 50%; font-size: 16px; line-height: 1; }
.french-fiche-course[data-french-active-module] [aria-pressed="true"] > .fiche-choice-mark { border-color: #fd7666; background: #ffe7e2; }
.french-fiche-course[data-french-active-module] .is-correct [aria-pressed="true"] > .fiche-choice-mark { border-color: #0fbc53; background: #e5f8eb; }
.french-fiche-course[data-french-active-module] .fiche-choice-copy { display: grid; gap: 4px; }
.french-fiche-course[data-french-active-module] .fiche-choice-copy small { font: 600 13px/1.4 var(--font-body); color: #655f6a; }
.french-fiche-course[data-french-active-module] .fiche-line-study { margin: 0; padding: 0; list-style: none; display: grid; gap: 28px; }
.french-fiche-course[data-french-active-module] .fiche-line-label { font: 600 11px/1.4 var(--font-body); color: #655f6a; letter-spacing: .08em; }
.french-fiche-course[data-french-active-module] .fiche-line-study p { margin: 10px 0 0; font: 700 clamp(23px, 2vw, 29px)/1.6 var(--font-body); text-wrap: pretty; }
.french-fiche-course[data-french-active-module] .fiche-line-study mark { color: var(--ink); padding: .07em .1em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.french-fiche-course[data-french-active-module] .fiche-line-study .is-whole { background: #fff5c8; text-decoration: underline 3px #f6cc24; text-underline-offset: .18em; }
.french-fiche-course[data-french-active-module] .fiche-line-study .is-fragment { background: #ffe7e2; text-decoration: underline 3px #fd7666; text-underline-offset: .18em; }
.french-fiche-course[data-french-active-module] .fiche-line-observation { display: block; margin-top: 12px; font: 500 16px/1.5 var(--font-body); color: #655f6a; }
.french-fiche-course[data-french-active-module] .fiche-evidence-workspace .fiche-evidence-response {
  margin: 30px 0 0;
  padding: 24px 0 0;
  border: 0;
  border-top: 1px solid #e6ded2;
}
.french-fiche-course[data-french-active-module] .fiche-response-waiting { margin: 0; color: #655f6a; font: 500 17px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-response-reason > span,
.french-fiche-course[data-french-active-module] .fiche-proof-conclusion h3 { display: block; margin: 0 0 10px; font: 850 12px/1.3 var(--font-body); letter-spacing: .09em; color: var(--subject-dominant); }
.french-fiche-course[data-french-active-module] .fiche-response-reason p { margin: 0; font: 550 19px/1.55 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-evidence-response.is-revision { border-top: 2px solid var(--subject-dominant); }
.french-fiche-course[data-french-active-module] .fiche-proof-conclusion { margin-top: 24px; padding-left: 20px; border-left: 4px solid #0fbc53; }
/* The approved TGO raised face/depth treatment, kept as a subsection heading. */
.french-fiche-course[data-french-active-module] .fiche-proof-conclusion h3 {
  display: inline-flex;
  max-width: 100%;
  min-height: 40px;
  margin-bottom: 20px;
  padding: 10px 20px;
  border: 0;
  border-radius: 999px;
  align-items: center;
  background: var(--subject-dominant);
  box-shadow: 0 5px 0 color-mix(in srgb, var(--subject-dominant) 45%, #29272d);
  color: #fff;
  font-weight: 900;
}
.french-fiche-course[data-french-active-module] .fiche-proof-conclusion p { margin: 0; font: 800 clamp(23px, 2vw, 29px)/1.4 var(--font-body); text-wrap: pretty; }
@media (max-width: 1000px) {
  .french-fiche-course[data-french-active-module] .fiche-evidence-columns { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .french-fiche-course[data-french-active-module] .fiche-evidence-choice { padding: 24px 0 0; border-left: 0; border-top: 1px solid #e6ded2; }
}
@media (max-width: 760px) {
  .french-fiche-course[data-french-active-module] .kid-step-visual.fiche-evidence-region { width: calc(100% - 28px); margin-bottom: 24px; }
  .french-fiche-course[data-french-active-module] .fiche-proof.fiche-evidence-workspace { padding: 22px 18px; border-radius: 14px; }
  .french-fiche-course[data-french-active-module] .fiche-proof-choices button { font-size: 18px; padding: 17px 2px; }
  .french-fiche-course[data-french-active-module] .fiche-proof-conclusion { padding-left: 14px; }
}
.french-fiche-course[data-french-active-module] .fiche-poem-wrap { display:flex; gap:12px; align-items:stretch; }
.french-fiche-course[data-french-active-module] .fiche-reading-direction { color:#2f73d9; font-size:56px; align-self:center; }
.french-fiche-course[data-french-active-module] .fiche-verses { list-style:none; display:grid; gap:18px; padding:0; margin:0; flex:1; min-width:0; }
.french-fiche-course[data-french-active-module] .fiche-verses li { display:grid; grid-template-columns:max-content minmax(0,1fr); column-gap:0; font-size:clamp(22px,2.1vw,30px); line-height:1.5; padding:5px 0; min-width:0; }
.french-fiche-course[data-french-active-module] .fiche-verses.has-initials .fiche-initial { color:#2f73d9; font-weight:900; border-bottom:3px solid #2f73d9; align-self:start; background:#e2efff; }
.french-fiche-course[data-french-active-module] .fiche-verses .is-pointed { background:#fff5c8; border-bottom:3px solid #f6cc24; }
.french-fiche-course[data-french-active-module] .fiche-evidence-note { margin:0 0 20px; font-size:clamp(18px,1.8vw,23px); line-height:1.6; }
.french-fiche-course[data-french-active-module] .fiche-proof-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.french-fiche-course[data-french-active-module] .fiche-proof-actions button { border:2px solid var(--subject-dominant) !important; background:var(--subject-support) !important; color:var(--ink) !important; box-shadow:none !important; border-radius:14px; padding:14px 18px; min-height:48px; max-width:100%; font:inherit; font-weight:800; text-align:left; }
.french-fiche-course[data-french-active-module] .fiche-proof-actions button[aria-pressed="true"] { border-color:#2f73d9 !important; background:#e2efff !important; }
.french-fiche-course[data-french-active-module] .fiche-proof-actions button:disabled { opacity:1; }
.french-fiche-course[data-french-active-module] .fiche-proof-actions button:focus-visible { outline:3px solid #2f73d9; outline-offset:3px; }
.french-fiche-course[data-french-active-module] .fiche-proof figcaption { margin-top:18px; font-size:18px; line-height:1.6; border-left:3px solid var(--subject-dominant); padding-left:14px; }
.french-fiche-course[data-french-active-module] .fiche-proof figcaption.is-correct { border-left-color:#0fbc53; }
.french-fiche-course[data-french-active-module] .fiche-revision { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:18px; align-items:center; margin:20px 0; }
.french-fiche-course[data-french-active-module] .fiche-revision p { margin:0; font-size:clamp(22px,2vw,30px); line-height:1.55; border-bottom:2px solid #9267ea; padding-bottom:10px; }
.french-fiche-course[data-french-active-module] .fiche-revision small { display:block; font-size:12px; letter-spacing:.08em; margin-bottom:8px; }
.french-fiche-course[data-french-active-module] .fiche-two-checks { display:flex; gap:24px; flex-wrap:wrap; margin-top:20px; }
.french-fiche-course[data-french-active-module] .fiche-two-checks p { display:grid; gap:8px; border-top:3px solid #2f73d9; padding-top:10px; flex:1; min-width:150px; }
.french-fiche-course[data-french-active-module] .fiche-two-checks p+p { border-color:#9267ea; }
.french-fiche-course[data-french-active-module] .fiche-wordbook { margin:0; display:grid; gap:20px; }
.french-fiche-course[data-french-active-module] .fiche-wordbook div { border-left:3px solid #9267ea; padding-left:16px; }
.french-fiche-course[data-french-active-module] .fiche-wordbook .is-pointed { background:#f2ebff; }
.french-fiche-course[data-french-active-module] .fiche-wordbook dt { font-size:28px; font-weight:900; }
.french-fiche-course[data-french-active-module] .fiche-wordbook dd { margin:6px 0 0; font-size:20px; line-height:1.6; }
.french-fiche-course[data-french-active-module] .fiche-endings { list-style:none; margin:0; padding:0; display:grid; gap:18px; font-size:clamp(24px,2.4vw,34px); }
.french-fiche-course[data-french-active-module] .fiche-endings b { background:#f2ebff; border-bottom:3px solid #9267ea; }
.french-fiche-course[data-french-active-module] .fiche-comparison p { font-size:clamp(22px,2.2vw,32px); line-height:1.8; }
.french-fiche-course[data-french-active-module] .fiche-comparison mark { background:#fff5c8; box-decoration-break:clone; }
.french-fiche-course[data-french-active-module] .fiche-comparison b { color:#9267ea; }
.french-fiche-course[data-french-active-module] .fiche-common-point { border-left:3px solid #9267ea; padding-left:18px; }
.french-fiche-course[data-french-active-module] .fiche-growing { list-style:none; margin:0; padding:0; display:grid; gap:22px; }
.french-fiche-course[data-french-active-module] .fiche-growing>li+li { border-top:1px solid #e2efff; padding-top:16px; }
.french-fiche-course[data-french-active-module] .fiche-retained { margin:22px 0 0; padding:0; list-style:none; display:grid; gap:14px; }
.french-fiche-course[data-french-active-module] .fiche-retained li { border-left:3px solid #0fbc53; padding-left:16px; }
.french-fiche-course[data-french-active-module] .fiche-retained p { margin:6px 0; font-size:19px; line-height:1.5; }
.french-fiche-course[data-french-active-module] .fiche-writing { display:grid; gap:20px; }
.french-fiche-course[data-french-active-module] .fiche-writing-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.french-fiche-course[data-french-active-module] .fiche-writing-fields label { display:grid; gap:10px; font-weight:850; min-width:0; }
.french-fiche-course[data-french-active-module] .fiche-writing-fields :is(.is-word,.is-facts,.is-reason) { grid-column:1/-1; }
.french-fiche-course[data-french-active-module] .fiche-writing textarea { width:100%; padding:14px 16px; border:1px solid var(--subject-dominant); border-left:4px solid var(--subject-dominant); border-radius:0; font:inherit; line-height:1.75; background:repeating-linear-gradient(#fffdf7 0 1.7em,#e2efff 1.7em 1.75em); color:var(--ink); resize:vertical; }
.french-fiche-course[data-french-active-module] .fiche-writing fieldset { border:0; border-top:2px solid #9267ea; margin:0; padding:18px 0; display:grid; gap:14px; }
.french-fiche-course[data-french-active-module] .fiche-writing legend { font-weight:850; padding:0 8px 0 0; }
.french-fiche-course[data-french-active-module] .fiche-writing fieldset label { display:flex; align-items:start; gap:12px; line-height:1.5; }
.french-fiche-course[data-french-active-module] .fiche-writing input { min-width:24px; min-height:24px; accent-color:#9267ea; }
.french-fiche-course[data-french-active-module] .fiche-review-status { border-left:3px solid #9267ea; padding-left:16px; }
.french-fiche-course[data-french-active-module] .kid-summary-say>div { grid-column:1/-1; }
.french-fiche-course[data-french-active-module] .kid-step-lab-copy { grid-column:1/-1; }
.french-fiche-course[data-french-active-module] .kid-step-lab-friend { display:none; }
@media (max-width:760px) {
  .french-fiche-course[data-french-active-module] .fiche-proof-actions { flex-direction:column; }
  .french-fiche-course[data-french-active-module] .fiche-proof-actions button { width:100%; }
  .french-fiche-course[data-french-active-module] .fiche-revision { grid-template-columns:1fr; }
  .french-fiche-course[data-french-active-module] .fiche-revision>span { transform:rotate(90deg); justify-self:start; }
  .french-fiche-course[data-french-active-module] .fiche-writing-fields { grid-template-columns:1fr; }
  .french-fiche-course[data-french-active-module] .fiche-verses li { font-size:22px; }
  .french-fiche-course[data-french-active-module] .fiche-reading-direction { font-size:42px; }
}
@scope (.french-fiche-course[data-french-active-module]) {
.kid-step-copy h1,
.kid-step-copy h1.is-long,
.kid-step-copy h1.is-very-long {
  max-width: 15ch;
  font-size: clamp(42px, 4.6vw, 68px);
  line-height: .96;
}

.kid-step-copy h1 span,
.kid-step-copy h1 em,
.kid-step-explanation p,
.kid-step-question strong,
.kid-lab-heading h1,
.kid-lab-heading > p {
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.kid-step-explanation {
  width: min(100%, 1020px);
  padding: 0;
  border: 0;
  background: transparent !important;
}

.kid-step-copy > h1 + .kid-step-explanation {
  margin: 0 0 22px;
}

.kid-step-question + .kid-step-explanation {
  margin-top: 24px;
}

.kid-step-question strong {
  display: block;
}

/* The mission wording is a sentence strip on Mme Iris's editing desk. It is
   intentionally one clear paper field, not a dashboard tile or status badge. */
.french-lab-stage > .kid-lab-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(100%, 960px);
  max-width: 960px;
  min-width: 0;
  gap: 0;
}

.french-lab-stage > .kid-lab-heading > * {
  grid-column: 1;
}

.kid-lab-heading > span {
  white-space: nowrap;
}

.kid-lab-heading h1 {
  max-width: 17ch;
  margin-bottom: 22px;
  font-size: clamp(38px, 4.4vw, 64px);
  line-height: .98;
  text-wrap: balance;
}

.kid-lab-heading > p {
  box-sizing: border-box;
  width: min(100%, 900px);
  max-width: 900px;
  margin: 0;
  padding: clamp(18px, 2.2vw, 26px) clamp(18px, 2.8vw, 32px);
  border-left: 8px solid var(--subject-dominant);
  border-radius: 0 18px 18px 0;
  background: var(--subject-support);
  color: var(--ink);
  font: 880 clamp(20px, 2.15vw, 29px)/1.28 var(--font-body);
}

.kid-lab-heading > small {
  position: static;
  width: 100%;
  margin-top: 13px;
}

/* Wrong work becomes a page in Mme Iris's revision notebook. The ruled paper,
   coral margin, and visible correction path replace the retired status card,
   icon tile, and full-width dashboard action. */
.kid-lab-feedback.french-lab-feedback.fiche-feedback-notebook[data-fiche-feedback-notebook] {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  margin-top: 32px;
  scroll-margin-block: 90px 130px;
  padding: 0 30px 24px 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ink) 14%, white) !important;
  border-left: 0 !important;
  border-radius: 10px 18px 18px 10px !important;
  gap: 0 24px;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 31px,
    color-mix(in srgb, #2f73d9 15%, transparent) 32px,
    transparent 33px
  ), #fffdf7 !important;
  box-shadow: none !important;
}

.fiche-feedback-notebook__margin {
  display: grid;
  grid-row: 1 / 3;
  min-height: 100%;
  border-right: 2px solid var(--subject-dominant);
  align-content: start;
  justify-items: center;
}

.fiche-feedback-notebook__margin i {
  margin-top: 24px;
  color: var(--subject-dominant);
  font: 950 24px/1 var(--font-display);
  font-style: normal;
  transform: rotate(-7deg);
}

.fiche-feedback-notebook__margin[data-fiche-feedback-mark="tb"] i {
  color: var(--subject-dominant);
  font-size: 28px;
  font-style: italic;
  letter-spacing: -.08em;
  text-decoration-line: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 4px;
  transform: rotate(-9deg);
}

.fiche-feedback-notebook__margin[data-fiche-feedback-mark="support"] i {
  margin-top: 29px;
  font-size: 10px;
  letter-spacing: .06em;
  transform: rotate(-6deg);
}

.fiche-feedback-notebook__margin[data-fiche-feedback-mark="note"] i {
  font-size: 21px;
}

/* The canonical Lab launch button inherits the Maths action colour.
   Preserve the component and bind only its skin to Français. */
.kid-lab-launch-card .kid-lab-launch-copy > button {
  background: var(--subject-dominant);
}

.fiche-feedback-notebook__copy {
  min-width: 0;
  padding-top: 24px;
}

.fiche-feedback-notebook__copy > span {
  color: var(--subject-dominant);
  font: 950 11px/1 var(--font-display);
  letter-spacing: .12em;
}

.fiche-feedback-notebook__copy h2 {
  max-width: 28ch;
  margin: 11px 0 19px;
  color: var(--ink);
  font: 950 clamp(27px, 3vw, 38px)/1.05 var(--font-display);
  letter-spacing: -.025em;
}

.fiche-feedback-notebook__copy p {
  display: grid;
  max-width: 850px;
  margin: 0 0 16px;
  gap: 5px;
  color: var(--ink);
  font: 760 clamp(17px, 1.55vw, 20px)/1.6 var(--font-body);
}

.fiche-feedback-notebook__copy p strong {
  width: max-content;
  color: var(--subject-dominant);
  font: 950 10px/1 var(--font-display);
  letter-spacing: .11em;
  text-decoration: underline 3px var(--subject-support);
  text-underline-offset: 4px;
}

.fiche-feedback-notebook__cue {
  padding-left: 18px;
  border-left: 4px solid #f6cc24;
}

.fiche-feedback-notebook__footer {
  display: flex;
  grid-column: 2;
  min-width: 0;
  margin-top: 3px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.fiche-feedback-notebook__footer small {
  margin: 0;
  color: #655f6a;
  font: 800 14px/1.35 var(--font-body);
}

.fiche-feedback-notebook__footer button {
  display: inline-flex;
  width: max-content;
  min-height: 52px;
  padding: 11px 12px 11px 18px;
  border: 0;
  border-radius: 12px;
  align-items: center;
  gap: 12px;
  background: var(--subject-dominant);
  color: #fff;
  box-shadow: none;
  font: 920 16px/1.15 var(--font-display);
}

.fiche-feedback-notebook__footer button b {
  display: inline-grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  place-items: center;
  background: #fff;
  color: var(--ink);
  font-size: 18px;
}

.french-lab-options {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding-left: 18px;
  border-left: 2px solid var(--subject-dominant);
  background: #fffdf7;
}
.french-lab-options button {
  display: flex;
  min-height: 64px;
  padding: 18px 8px;
  align-items: center;
  background: transparent;
  color: var(--ink);
  text-align: left;
  transform: none;
  border: 0;
  border-bottom: 2px solid color-mix(in srgb, var(--ink) 18%, white);
  border-radius: 0;
  box-shadow: none;
}
.french-lab-options button:hover:not(:disabled) { border-bottom-color: var(--subject-dominant); background: var(--subject-support); }
.french-lab-options button.is-correct { border-bottom-color: #0fbc53; background: #e5f8eb; }
.french-lab-options button.is-wrong { border-bottom-color: var(--subject-dominant); background: var(--subject-support); }
.french-lab-options button:disabled:not(.is-correct):not(.is-wrong) { opacity: .68; }
.french-lab-options span { font-size: 17px; font-weight: 780; line-height: 1.35; }
.french-lab-options button.is-wrong span { text-decoration: line-through 3px var(--subject-dominant); text-decoration-skip-ink: none; }
.french-lab-options button.is-correct span { text-decoration: underline 3px #0fbc53; text-underline-offset: 7px; }
.french-lab-options button[data-french-lab-choice]:disabled { border:0 !important; border-bottom:2px solid color-mix(in srgb, var(--ink) 18%, white) !important; background-color:transparent !important; box-shadow:none !important; }
.french-lab-options button[data-french-lab-choice].is-wrong:disabled { border-bottom-color:var(--subject-dominant) !important; }
.french-lab-options button[data-french-lab-choice].is-correct:disabled { border-bottom-color:#0fbc53 !important; }
.kid-summary-card :is(
  .kid-summary-heading > div > span,
  .kid-summary-heading h1 em,
  .kid-summary-example > div > span,
  .kid-summary-journey > header > span,
  .kid-summary-journey li > span,
  .kid-summary-say span
) {
  color: var(--subject-dominant);
}
@media (max-width: 760px) {
  .kid-lab-feedback.french-lab-feedback.fiche-feedback-notebook[data-fiche-feedback-notebook] {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 0 16px 20px 0;
    border-radius: 8px 14px 14px 8px !important;
    gap: 0 14px;
  }

  .fiche-feedback-notebook__margin i {
    margin-top: 21px;
    font-size: 21px;
  }

  .fiche-feedback-notebook__margin[data-fiche-feedback-mark="tb"] i {
    font-size: 24px;
  }

  .fiche-feedback-notebook__copy {
    padding-top: 21px;
  }

  .fiche-feedback-notebook__copy h2 {
    margin: 9px 0 16px;
    font-size: clamp(24px, 7vw, 31px);
  }

  .fiche-feedback-notebook__copy p {
    font-size: 17px;
    line-height: 1.55;
  }

  .fiche-feedback-notebook__footer {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .fiche-feedback-notebook__footer button {
    width: 100%;
    justify-content: space-between;
  }


.kid-step-copy h1, .kid-step-copy h1.is-long, .kid-step-copy h1.is-very-long { max-width:100%; font-size:clamp(34px,9.6vw,46px); line-height:.98; text-wrap:balance; }
}
}
.french-fiche-course[data-french-active-module][data-french-active-module="guide"] {
  /* Retired art is absent: keep the metadata, not its empty illustration stage. */
  & .family-guide-hero { grid-template-columns: minmax(0, 1fr) auto; }
  & .family-guide-hero > aside { min-height: 0; grid-template-columns: 1fr; }
  & .family-guide-hero > aside::before { content: none; }
  & .family-guide-hero > aside > div { grid-column: 1; }
  & .french-guide-pdf:disabled {
    background: #fff !important;
    border: 1px solid color-mix(in srgb, #29272d 14%, white) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
  }
  & .family-guide-step > footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* User-approved Guide ending: existing destination cards, stacked at every width. */
  & .family-guide-finish .kid-lesson-welcome__shortcuts {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 32px;
  }
  & .family-guide-finish .kid-lesson-welcome__shortcuts .is-lab > i { background: var(--subject-dominant); }
  & .family-guide-finish .kid-lesson-welcome__shortcuts .is-cards > i { color: var(--subject-dominant); }
  & .family-guide-hero h1 em,
  & .family-guide-finish h2 em { color: var(--subject-dominant); }
  & .french-guide-resources { width: min(100%, 1240px); margin: 28px auto 0; }
  & .french-guide-resources > summary { padding: 24px; color: var(--ink); cursor: pointer; font-weight: 850; }
  & .french-guide-resources .french-guide-reference { width: 100%; }
  @media (max-width: 980px) {
    & .family-guide-hero { grid-template-columns: 1fr; }
    & .family-guide-hero > aside { justify-self: start; }
  }
  @media (max-width: 700px) {
    & .family-guide-step > footer { grid-template-columns: 1fr; }
  }
}

/* Approved parent-first Guide presentation; actual acceptance of this adaptation is pending. All earlier Leçon/notebook rules remain locked. */
.french-fiche-course[data-french-active-module] .fiche-home-guide {
  padding: clamp(18px, 4vw, 56px);
  color: var(--ink);
  font: 500 18px/1.65 var(--font-body);
}
.french-fiche-course[data-french-active-module] .fiche-home-guide .family-guide-card {
  display: block;
  max-width: 1160px;
  overflow: hidden;
  border: 1px solid #e8e1db;
  border-radius: 28px;
  background: #fff;
}
.french-fiche-course[data-french-active-module] .fiche-home-guide .family-guide-card > :is(header, section) {
  padding: clamp(26px, 4.5vw, 60px);
  border: 0;
  border-bottom: 1px solid #e8e1db;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.french-fiche-course[data-french-active-module] .fiche-home-guide .family-guide-card > .home-guide-cover { background: #fff4f0; }
.french-fiche-course[data-french-active-module] .fiche-home-guide :is(h1, h2, h3, h4) { color: var(--ink); text-wrap: pretty; }
.french-fiche-course[data-french-active-module] .fiche-home-guide h1 { display: grid; margin: 20px 0 28px; font: 900 clamp(32px, 4.8vw, 66px)/1.02 var(--font-display); letter-spacing: -.04em; }
.french-fiche-course[data-french-active-module] .fiche-home-guide h1 :is(strong, em) { display: block; font: inherit; }
.french-fiche-course[data-french-active-module] .fiche-home-guide h2 { margin: 12px 0 20px; font: 850 clamp(28px, 3vw, 40px)/1.18 var(--font-display); letter-spacing: -.025em; }
.french-fiche-course[data-french-active-module] .fiche-home-guide h3 { margin: 10px 0; font: 800 clamp(23px, 2.4vw, 30px)/1.3 var(--font-display); }
.french-fiche-course[data-french-active-module] .fiche-home-guide p { margin: 12px 0; max-width: 66ch; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-eyebrow { color: var(--subject-dominant); font: 850 12px/1.5 var(--font-body); letter-spacing: .09em; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-lead { max-width: 45ch; font-size: clamp(21px, 2vw, 26px); line-height: 1.5; font-weight: 650; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-cover-bottom { display: flex; margin-top: 30px; padding-top: 22px; border-top: 1px solid #edd9d2; align-items: center; justify-content: space-between; gap: 24px; font-size: 15px; color: #625c65; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-toolbox-entry { display: flex; width: 100%; margin-top: 28px; padding: 22px 26px; gap: 24px; align-items: center; justify-content: space-between; border: 1px solid #f1b9ae; border-left: 4px solid var(--subject-dominant); border-radius: 16px; background: #fff; box-shadow: none; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-toolbox-entry strong { display: block; color: #a7463b; font: 850 26px/1.3 var(--font-display); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-toolbox-entry small { display: block; max-width: 56ch; margin-top: 8px; font: 500 16px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-toolbox-entry-label { display: block; margin-top: 12px; color: #a7463b; font: 750 15px/1.5 var(--font-body); text-decoration: underline; text-underline-offset: 4px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-toolbox-entry > b { flex-shrink: 0; color: #a7463b; font-size: 32px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-toolbox-entry:hover { background: #fffaf7; border-color: var(--subject-dominant); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .french-guide-pdf { display: grid; max-width: 250px; min-height: 0; margin: 0; padding: 12px 15px; gap: 4px; text-align: left; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .french-guide-pdf strong { font-size: 13px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .french-guide-pdf small { font: 500 12px/1.45 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-primer-example { display: grid; grid-template-columns: 1.1fr 1fr; margin-top: 28px; gap: 34px; align-items: start; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-example { min-width: 0; margin: 0; padding: 24px; border: 0; border-left: 3px solid #e5bdb3; border-radius: 0; background: #fffaf4; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-example > figcaption { margin: 0 0 24px; padding: 0; border: 0; color: #75686a; font: 800 11px/1.5 var(--font-body); letter-spacing: .08em; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-poem { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-poem li { margin: 0; padding: 0; font: 700 clamp(20px, 1.65vw, 24px)/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-poem.has-initials b { color: #2f73d9; background: #e2efff; text-decoration: underline 2px #2f73d9; text-underline-offset: .17em; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-wrap-note { display: none; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-readings { display: grid; gap: 26px; margin: 0; padding: 0; list-style: none; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-readings li { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 12px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-readings li > span { color: #2f73d9; font-size: 30px; line-height: 1.25; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-readings h3 { margin: 0; font: 800 19px/1.4 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-readings p { margin-bottom: 0; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-key { max-width: none; margin-top: 32px; padding-top: 24px; border-top: 1px solid #e8e1db; font-weight: 650; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-disclosure { margin-top: 14px; border-top: 1px solid #ded8d3; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-disclosure > summary { min-height: 50px; padding: 14px 0; color: var(--ink); font: 750 17px/1.5 var(--font-body); cursor: pointer; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-disclosure[open] > summary { color: #a7463b; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-disclosure > p { font-size: 17px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-disclosure :is(table, dl) { width: 100%; margin: 12px 0; border-collapse: collapse; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-disclosure :is(th, td) { padding: 8px 10px; border-bottom: 1px solid #e8e1db; font-size: 16px; text-align: left; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-prepare ul { display: grid; gap: 12px; max-width: 66ch; margin: 18px 0 28px; padding-left: 22px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-action { display: inline-flex; max-width: 100%; min-height: 50px; padding: 13px 20px; gap: 18px; align-items: center; justify-content: space-between; border: 0; border-radius: 999px; background: var(--subject-dominant); box-shadow: 0 4px 0 color-mix(in srgb, var(--subject-dominant) 45%, #29272d); color: #fff; font: 800 16px/1.4 var(--font-body); text-align: left; cursor: pointer; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-action > span { flex-shrink: 0; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-place,
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-carnet-note { margin-top: 20px; color: #655f69; font-size: 14px; line-height: 1.55; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-session + .home-guide-session { margin-top: 48px; padding-top: 34px; border-top: 1px solid #ded8d3; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-session > ol { margin: 26px 0; padding: 0; list-style: none; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step { margin: 0; border-top: 1px solid #ded8d3; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step h4 { margin: 0; font: inherit; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step h4 > button { display: grid; grid-template-columns: 28px minmax(0,1fr) 20px; width: 100%; min-height: 74px; padding: 20px 6px; gap: 16px; align-items: center; border: 0; border-radius: 0; background: #fff; box-shadow: none; color: var(--ink); font: 750 20px/1.4 var(--font-body); text-align: left; cursor: pointer; scroll-margin-top: 20px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step-number { color: #a7463b; font: 800 13px/1.4 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step.is-open h4 > button { color: #a7463b; }
.french-fiche-course[data-french-active-module] .fiche-home-guide [hidden] { display: none !important; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step-body { padding: 4px 0 28px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-setup { margin: 0 0 26px; color: #625c65; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-teaching { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 32px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-coaching { min-width: 0; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-coaching blockquote { margin: 0 0 22px; padding: 0 0 0 20px; border-left: 3px solid var(--subject-dominant); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-coaching blockquote > span { color: #a7463b; font: 850 11px/1.4 var(--font-body); letter-spacing: .07em; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-coaching blockquote p { margin: 12px 0 0; font: 750 clamp(21px, 1.9vw, 26px)/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-child { font-size: 17px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-child strong { display: block; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-evidence { max-width: none; margin-top: 26px; padding: 20px 0 0 18px; border-top: 1px solid #e8e1db; border-left: 3px solid #bddfc7; font-size: 17px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-evidence strong { display: block; margin-bottom: 6px; color: #316a45; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step-next { display: flex; margin-top: 26px; align-items: center; gap: 24px; justify-content: space-between; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step-next :is(button,a) { min-height: 46px; padding: 10px 0; border: 0; border-bottom: 2px solid var(--subject-dominant); border-radius: 0; background: transparent; box-shadow: none; color: var(--ink); font: 800 17px/1.5 var(--font-body); text-decoration: none; cursor: pointer; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step-next > span { max-width: 25ch; color: #655f69; font-size: 14px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-pause { margin-bottom: 0; padding: 16px 20px; background: #fff4f0; font-size: 16px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-pause strong { display: block; margin-bottom: 6px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-fact { margin: 0 0 22px; font-size: 17px; font-weight: 700; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-definitions { display: grid; margin: 0; gap: 24px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-definitions dt { font-size: 23px; font-weight: 800; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-definitions dd { margin: 5px 0 0; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-forms p,
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-revision dd { margin: 6px 0; font-size: 23px; font-weight: 750; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-forms > span { color: #9267ea; font-size: 28px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-revision { display: grid; margin: 0; gap: 28px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-revision dt { font-size: 14px; color: #625c65; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-repaired { font-weight: 750; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-review { display: grid; margin: 0; padding-left: 20px; gap: 18px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-review p { margin-bottom: 0; font-size: 17px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-example > ul { padding-left: 20px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-example > .home-guide-action { margin-top: 22px; border-radius: 18px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .family-guide-finish { border: 0; border-radius: 0; box-shadow: none; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-celebrate { margin: 24px auto; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-resources { margin: 24px auto 0; padding: 0 24px 20px; border: 1px solid #e8e1db; border-radius: 20px; background: #fff; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-resources > summary { padding: 22px 0; font-size: 17px; line-height: 1.5; }
.french-fiche-course[data-french-active-module] .fiche-home-guide #home-guide-toolbox-title { scroll-margin-top: 30px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-toolbox-return { display: inline-flex; margin-top: 30px; padding: 10px 0; gap: 20px; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #a7463b; font: 750 16px/1.5 var(--font-body); text-decoration: underline; text-underline-offset: 5px; cursor: pointer; }
.french-fiche-course[data-french-active-module] .fiche-home-guide :is(button, summary, a):focus-visible { outline: 3px solid #2f73d9; outline-offset: 4px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide #home-guide-toolbox-title:focus-visible { outline: 3px solid #2f73d9; outline-offset: 6px; }
/* User-requested redesign of “Les mots à retrouver” only. */
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-bank { margin-top: 40px; padding-top: 30px; border-top: 2px solid var(--subject-support); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-bank > header { margin-bottom: 24px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-bank > header > span { color: var(--subject-dominant); font: 850 11px/1.5 var(--font-body); letter-spacing: .09em; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-bank h3 { margin: 10px 0 14px; font: 850 clamp(28px, 3vw, 38px)/1.15 var(--font-display); text-transform: none; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-bank > header p { max-width: 58ch; margin: 0; font: 500 18px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-bank__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 20px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card { min-width: 0; margin: 0; border: 1px solid color-mix(in srgb, var(--subject-dominant) 45%, white); border-radius: 20px; background: #fff; box-shadow: 0 4px 0 var(--subject-support); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card > summary { display: flex; min-height: 164px; padding: 24px 20px 20px; flex-direction: column; justify-content: space-between; gap: 26px; border-radius: 19px; background: var(--subject-support); list-style: none; cursor: pointer; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card > summary::-webkit-details-marker { display: none; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card > summary::marker { content: ''; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card > summary > strong { color: var(--ink); font: 850 24px/1.3 var(--font-display); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card__action { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--ink); font: 700 14px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card__action i { display: grid; width: 28px; height: 28px; flex-shrink: 0; place-items: center; border: 1px solid var(--subject-dominant); border-radius: 50%; background: #fff; font: 650 23px/1 var(--font-body); font-style: normal; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card__action i::before { content: '+'; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card__opened { display: none; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card[open] > summary { border-radius: 19px 19px 0 0; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card[open] .fiche-word-card__action i::before { content: '−'; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card[open] .fiche-word-card__closed { display: none; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card[open] .fiche-word-card__opened { display: inline; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card__meaning { padding: 20px; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card__example { padding: 18px 20px 22px; border-radius: 0 0 19px 19px; background: #fff5c8; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card__answer h4 { margin: 0 0 9px; color: #2f73d9; font: 850 11px/1.4 var(--font-body); letter-spacing: .08em; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card__example h4 { color: var(--ink); }
.french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card__answer p { margin: 0; color: var(--ink); font: 550 17px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-home-guide #fiche-word-bank-title { scroll-margin-top: 28px; }
@media (max-width: 1000px) {
  .french-fiche-course[data-french-active-module] .fiche-home-guide :is(.home-guide-primer-example,.home-guide-teaching) { grid-template-columns: minmax(0,1fr); }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-bank__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .french-fiche-course[data-french-active-module] .fiche-home-guide { padding: 14px; font-size: 17px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .family-guide-card { border-radius: 20px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .family-guide-card > :is(header,section) { padding: 28px 20px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-cover-bottom { align-items: start; flex-direction: column; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-toolbox-entry { padding: 20px 16px; gap: 14px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-toolbox-entry strong { font-size: 24px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-toolbox-entry > b { font-size: 26px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-example { padding: 20px 15px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-wrap-note { display: block; margin-top: 22px; color: #655f69; font-size: 14px; line-height: 1.5; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-poem.has-initials li + li { padding-top: 14px; border-top: 1px solid #e8e1db; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step h4 > button { grid-template-columns: 22px minmax(0,1fr) 14px; gap: 10px; font-size: 18px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step-next { align-items: start; flex-direction: column; gap: 14px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-resources { padding-inline: 18px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-bank__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card > summary { min-height: 148px; padding: 22px 18px 18px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card__meaning { padding: 20px 18px; }
  .french-fiche-course[data-french-active-module] .fiche-home-guide .fiche-word-card__example { padding: 18px; }
}

/* Visible Résumé memory sheet only. Approved Guide and other stages are unchanged. */
.french-fiche-course[data-french-active-module] .fiche-recap { max-width:1200px; margin:0 auto; padding:28px 28px 56px; color:var(--ink); font:500 19px/1.55 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-recap :is(h1,h2,h3,p,figure,blockquote,dl,dd,ol,ul) { margin:0; }
.french-fiche-course[data-french-active-module] .fiche-recap :is(h1,h2,h3) { font-family:var(--font-display); text-transform:none; }
.french-fiche-course[data-french-active-module] .fiche-recap em { color:var(--subject-dominant); font-style:normal; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-sheet { overflow:hidden; border:1px solid #e7e3ec; border-radius:30px; background:#fff; box-shadow:0 6px 0 #eee8e2; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-cover { display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:26px 38px; gap:32px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-eyebrow { color:var(--subject-dominant); font:850 12px/1.5 var(--font-body); letter-spacing:.08em; }
.french-fiche-course[data-french-active-module] .fiche-recap h1 { display:grid; gap:5px; margin-top:15px; font:850 clamp(34px,3vw,43px)/1.04 var(--font-display); letter-spacing:-.035em; }
.french-fiche-course[data-french-active-module] .fiche-recap h1 :is(strong,em) { font-weight:inherit; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-essential { padding:24px 26px; border-left:5px solid var(--subject-dominant); border-radius:0 18px 18px 0; background:var(--subject-support); }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-essential > span { display:block; margin-bottom:12px; font-size:12px; font-weight:850; letter-spacing:.07em; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-essential p { font-size:20px; line-height:1.5; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-essential strong { font-weight:850; text-decoration:underline 3px var(--subject-dominant); text-underline-offset:4px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-sheet > section { padding:34px 38px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-section-heading > span { color:var(--subject-dominant); font:850 12px/1.5 var(--font-body); letter-spacing:.08em; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-section-heading h2 { margin:10px 0 24px; font:850 clamp(28px,3vw,38px)/1.16 var(--font-display); letter-spacing:-.02em; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-section-heading > p { margin-top:-10px; margin-bottom:24px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-overview { border-top:1px solid #eee8e2; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-figure { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:38px; align-items:start; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-directions { display:flex; flex-wrap:wrap; margin-bottom:16px; gap:12px 26px; font-size:18px; font-weight:850; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-directions > span:first-child { color:#a5463b; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-directions > span:last-child { color:#2f73d9; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem { display:grid; position:relative; padding:0; list-style:none; gap:18px; font-size:24px; line-height:1.5; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem::before { position:absolute; top:0; bottom:0; left:0; width:44px; background:var(--subject-support); border-radius:12px; content:''; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem li { display:grid; position:relative; grid-template-columns:44px minmax(0,1fr); padding:8px 0; gap:4px; font-weight:650; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem li:first-child { border-bottom:3px solid #2f73d9; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem b { color:#a5463b; font-weight:850; text-align:center; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-hidden-word { display:flex; flex-wrap:wrap; align-items:center; margin-top:20px; gap:8px 14px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-hidden-word :is(b,strong) { color:#a5463b; font-size:27px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-hidden-word span { font-size:16px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-wrap-note { margin-top:14px; color:#71666a; font-size:14px; line-height:1.5; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes { display:grid; gap:18px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes > div { padding:20px 22px; border-radius:16px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes .is-initial { background:var(--subject-support); }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes .is-verse { background:#e2efff; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes h3 { margin-bottom:8px; font:850 13px/1.5 var(--font-body); letter-spacing:.05em; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes .is-initial h3 { color:#a5463b; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes .is-verse h3 { color:#2f73d9; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes p { font-size:21px; line-height:1.45; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes small { display:block; margin-top:10px; font-size:16px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes .memo-portrait-note { padding:0 4px; font-size:18px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-transfer { margin-top:26px; padding:18px 22px; border-left:4px solid var(--subject-dominant); border-radius:0 14px 14px 0; background:var(--subject-support); font-size:17px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-transfer > strong { display:block; margin-bottom:6px; font-size:20px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-double { background:#fffefa; border-block:1px solid #eee8e2; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-fact { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px 20px; margin-bottom:18px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-fact > span { color:#2f73d9; font-size:12px; font-weight:850; letter-spacing:.05em; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-fact > strong { font-size:23px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison { width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid #e7e3ec; border-radius:18px; background:white; text-align:left; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison caption { padding:0 0 12px; color:#71666a; font-size:15px; text-align:left; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison th:first-child { width:56%; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison :is(th,td) { padding:17px 20px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison thead th { background:#fffefa; font-size:17px; font-weight:850; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison thead th:nth-child(2) { background:var(--subject-support); }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison thead th:nth-child(3) { background:#e2efff; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison tbody th { font-size:23px; font-weight:650; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison tbody tr + tr > * { border-top:1px solid #e7e3ec; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison td { font-size:20px; font-weight:750; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison .is-kept { background:#e5f8eb; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison .is-kept th { font-weight:850; }
.french-fiche-course[data-french-active-module] .fiche-recap .is-yes { color:#16753a; }
.french-fiche-course[data-french-active-module] .fiche-recap .is-no { color:#a5463b; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-understanding { margin-top:22px; max-width:65ch; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-understanding strong { text-decoration:underline 3px var(--subject-dominant); text-underline-offset:4px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-tools { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); padding:34px 38px; gap:24px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-tool { min-width:0; overflow:hidden; border:1px solid #c8ddf6; border-radius:22px; background:#fff; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-tool.is-agreement { border-color:#ded0f7; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-tool > header { padding:24px 26px; background:#e2efff; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-tool.is-agreement > header { background:#f2ebff; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-tool header > span { color:#2f73d9; font-size:12px; font-weight:850; letter-spacing:.06em; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-tool.is-agreement header > span { color:#7550b4; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-tool h2 { margin-top:10px; font:850 31px/1.15 var(--font-display); }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-tool-body { padding:24px 26px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-word-fact { font-size:24px; font-weight:750; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-word-arrow { display:block; margin:8px 0; color:#2f73d9; font-size:36px; line-height:1; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-dictionary { margin-bottom:22px; padding-left:16px; border-left:4px solid #2f73d9; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-dictionary dt { margin-bottom:4px; font:850 30px/1.2 var(--font-display); }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-word-form { margin-top:20px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-forms { display:grid; margin:24px 0; padding:0; list-style:none; gap:16px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-forms li { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:baseline; gap:12px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-forms li > span { font-size:15px; color:#7550b4; font-weight:750; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-forms li > div { font-size:23px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-forms b { color:#9267ea; font-weight:500; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-forms strong { text-decoration:underline 3px #d9c6f7; text-underline-offset:5px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-more-forms { padding-top:18px; border-top:1px solid #e7e3ec; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-more-forms h3 { margin-bottom:10px; color:#7550b4; font:850 12px/1.5 var(--font-body); letter-spacing:.06em; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-more-forms p { display:inline-block; margin-right:18px; font-size:16px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-enrich { background:#fff5c8; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-growing { display:grid; padding:0; list-style:none; gap:16px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-growing li { display:grid; grid-template-columns:170px minmax(0,1fr); align-items:baseline; gap:18px; padding:20px 24px; border-radius:16px; background:#fff; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-growing li > span { color:#725f27; font-size:16px; font-weight:750; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-growing p { font-size:26px; font-weight:650; line-height:1.5; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-initial { color:#a5463b; text-decoration:underline 3px var(--subject-dominant); text-underline-offset:5px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-growing mark { padding:1px 3px; background:#fff5c8; color:inherit; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-scene { text-decoration:underline 3px #9dc5f5; text-underline-offset:5px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-image-meaning { display:grid; grid-template-columns:170px minmax(0,1fr); margin-top:24px; gap:18px; padding-inline:24px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-image-meaning > strong { color:#725f27; font-size:12px; line-height:1.5; letter-spacing:.05em; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-enrich-rule { margin-top:20px; font-weight:750; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-revision-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-revision-pair > div { padding:24px; border-left:4px solid var(--subject-dominant); border-radius:0 16px 16px 0; background:var(--subject-support); }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-revision-pair > div:last-child { background:#e5f8eb; border-color:#0fbc53; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-revision-pair h3 { margin-bottom:12px; font:850 12px/1.5 var(--font-body); letter-spacing:.06em; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-revision-pair p { font:750 25px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-revision-pair small { display:block; margin-top:14px; font-size:16px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-verify { background:#e5f8eb; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-checklist { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-checklist > div { padding:22px 24px; border-radius:16px; background:#fff; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-checklist dt { display:flex; align-items:center; margin-bottom:8px; gap:14px; font-size:24px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-checklist dt > b { min-width:24px; color:#a5463b; font-size:25px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-checklist > div:nth-child(2) dt > b { color:#2f73d9; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-checklist > div:nth-child(3) dt > b { color:#7550b4; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-checklist > div:nth-child(4) dt > b { color:#725f27; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-verify-rule { margin-top:22px; font-weight:750; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-finish { padding:30px 38px 38px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-finish > h2 { margin-bottom:20px; color:var(--subject-dominant); font:850 13px/1.5 var(--font-body); letter-spacing:.06em; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-finish > ol { display:flex; flex-wrap:wrap; padding:0; list-style:none; gap:12px 24px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-finish li { display:flex; gap:8px; font-size:18px; font-weight:750; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-finish li > span { color:var(--subject-dominant); }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-retain { margin-top:30px; padding:24px 28px; border:2px solid var(--subject-support); border-radius:20px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-retain h3 { display:inline-block; margin-bottom:20px; padding:10px 20px; border-radius:40px; background:var(--subject-dominant); color:white; box-shadow:0 4px 0 #d55e50; font:850 13px/1.4 var(--font-body); letter-spacing:.06em; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-retain p { font:750 25px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-destinations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:30px; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-destinations button { display:grid; padding:24px; gap:10px; border:1px solid #ded0f7; border-radius:20px; background:#f2ebff; color:var(--ink); box-shadow:0 4px 0 #ded0f7; text-align:left; cursor:pointer; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-destinations button:nth-child(2) { border-color:#dbe8b3; background:#f0f8d3; box-shadow:0 4px 0 #dbe8b3; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-destinations button:nth-child(3) { border-color:#efd0df; background:#fcebf3; box-shadow:0 4px 0 #efd0df; }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-destinations strong { font:850 23px/1.3 var(--font-display); }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-destinations span { font:650 16px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-recap .memo-destinations b { justify-self:end; color:#a5463b; font-size:24px; }
.french-fiche-course[data-french-active-module] .fiche-recap button:focus-visible { outline:3px solid #2f73d9; outline-offset:4px; }
@media (max-width:1000px) {
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-cover { grid-template-columns:minmax(0,1fr); gap:24px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-figure { grid-template-columns:minmax(0,1fr); gap:24px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes { grid-template-columns:1fr 1fr; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-portrait-note { grid-column:1/-1; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-tools { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:600px) {
  .french-fiche-course[data-french-active-module] .fiche-recap { padding:18px 14px 44px; font-size:18px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-sheet { border-radius:22px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-cover { padding:26px 20px; }
  .french-fiche-course[data-french-active-module] .fiche-recap h1 { font-size:clamp(28px,7.6vw,40px); }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-essential { padding:20px 18px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-essential p { font-size:20px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-sheet > section { padding:28px 20px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-section-heading h2 { font-size:29px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-poem { font-size:22px; gap:18px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-poem li { grid-template-columns:34px minmax(0,1fr); gap:3px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-poem::before { width:34px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-directions { font-size:16px; gap:12px 18px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-poem-notes { grid-template-columns:minmax(0,1fr); gap:14px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-transfer { padding:18px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison th:first-child { width:48%; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison :is(th,td) { padding:14px 8px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison thead th { font-size:15px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison tbody th { font-size:18px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-comparison td { font-size:16px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-tools { padding:28px 20px; gap:22px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-tool > header { padding:22px 20px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-tool h2 { font-size:29px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-tool-body { padding:22px 20px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-forms li { grid-template-columns:minmax(0,1fr); gap:5px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-forms li > div { font-size:24px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-more-forms p { display:block; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-growing li { grid-template-columns:minmax(0,1fr); gap:8px; padding:18px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-growing p { font-size:23px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-image-meaning { grid-template-columns:minmax(0,1fr); padding-inline:0; gap:10px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-revision-pair { grid-template-columns:minmax(0,1fr); gap:18px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-revision-pair > div { padding:20px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-revision-pair p { font-size:23px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-checklist { grid-template-columns:minmax(0,1fr); gap:14px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-checklist > div { padding:20px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-finish { padding:28px 20px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-finish > ol { display:grid; gap:12px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-retain { padding:22px 18px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-retain p { font-size:22px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-destinations { grid-template-columns:minmax(0,1fr); }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-destinations button { grid-template-columns:minmax(0,1fr) 20px; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-destinations span { grid-column:1; }
  .french-fiche-course[data-french-active-module] .fiche-recap .memo-destinations b { grid-column:2; grid-row:1/span 2; align-self:center; }
}

/* Guide reading marks only: approved text, panels and other stages stay intact. */
.french-fiche-course[data-french-active-module] .fiche-home-guide strong.home-guide-emphasis--term,
.french-fiche-course[data-french-active-module] .fiche-home-guide strong.home-guide-emphasis--ink {
  display:inline;
  margin:0;
  color:var(--ink);
  font-family:inherit;
  font-size:inherit;
  font-weight:850;
  line-height:inherit;
}
.french-fiche-course[data-french-active-module] .fiche-home-guide strong.home-guide-emphasis--term {
  text-decoration:underline 2.5px var(--subject-dominant);
  text-decoration-skip-ink:none;
  text-underline-offset:.19em;
}
.french-fiche-course[data-french-active-module] .fiche-home-guide strong.home-guide-emphasis--ink { color:#2f73d9; }
.french-fiche-course[data-french-active-module] .fiche-home-guide mark.home-guide-emphasis--highlight {
  display:inline;
  padding:.04em .1em;
  border:0;
  border-radius:.16em .3em .18em .25em;
  background:#fff5c8;
  color:var(--ink);
  box-shadow:none;
  font:inherit;
  font-weight:750;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-key { font-weight:500; line-height:1.75; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-lead { font-weight:500; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-coaching blockquote p { font-weight:550; line-height:1.6; }
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-coaching blockquote > span {
  display:inline-block;
  position:relative;
  margin-bottom:5px;
  color:#2f73d9;
  font:italic 750 14px/1.5 var(--font-body);
  letter-spacing:.025em;
}
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-coaching blockquote > span::after {
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:5px;
  border-bottom:2px solid currentColor;
  border-radius:0 0 45% 35%;
  transform:rotate(-1deg);
  content:'';
}
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-pause > strong {
  color:#a7463b;
  font:italic 750 19px/1.5 var(--font-display);
}
.french-fiche-course[data-french-active-module] .fiche-home-guide .home-guide-step-next > span { font-style:italic; }

/* Country-specific proof compositions. No rule matches another course. */
.french-fiche-course[data-french-active-module] :is(.fiche-comparison-lines,.fiche-source-slip,.fiche-territory,.fiche-category-study) { display:grid; margin:0; padding:0; gap:24px; }
.french-fiche-course[data-french-active-module] :is(.fiche-comparison-lines,.fiche-source-slip,.fiche-territory,.fiche-category-study) > div { padding-left:16px; border-left:3px solid #2f73d9; }
.french-fiche-course[data-french-active-module] :is(.fiche-comparison-lines,.fiche-source-slip,.fiche-territory,.fiche-category-study) > div:nth-child(2) { border-color:#9267ea; }
.french-fiche-course[data-french-active-module] :is(.fiche-comparison-lines,.fiche-source-slip,.fiche-territory,.fiche-category-study) dt { margin:0 0 10px; color:#67527d; font:800 12px/1.5 var(--font-body); letter-spacing:.06em; }
.french-fiche-course[data-french-active-module] :is(.fiche-comparison-lines,.fiche-source-slip,.fiche-territory,.fiche-category-study) dd { margin:0; font:650 clamp(21px,2vw,28px)/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module] :is(.fiche-mark, .fiche-comparison-lines mark,.fiche-date-study mark) { background:#fff5c8; color:var(--ink); text-decoration:underline 3px #f6cc24; text-underline-offset:.15em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.french-fiche-course[data-french-active-module] .fiche-mark.is-blue { background:#e2efff; text-decoration-color:#2f73d9; }
.french-fiche-course[data-french-active-module] .fiche-comparison-lines mark.is-coral { background:var(--subject-support); text-decoration-color:var(--subject-dominant); }
.french-fiche-course[data-french-active-module] .fiche-sentence { font:750 clamp(23px,2.4vw,32px)/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-measure { margin:0; }
.french-fiche-course[data-french-active-module] .fiche-measure dt { color:#2f73d9; font-size:13px; font-weight:800; }
.french-fiche-course[data-french-active-module] .fiche-measure dd { margin:14px 0; }
.french-fiche-course[data-french-active-module] .fiche-measure dd:first-of-type { font:800 clamp(32px,4vw,50px)/1.3 var(--font-display); }
.french-fiche-course[data-french-active-module] .fiche-measure dd:first-of-type span { color:#7550b4; border-bottom:3px solid #9267ea; white-space:nowrap; }
.french-fiche-course[data-french-active-module] .fiche-shared-fact { display:flex; flex-wrap:wrap; gap:32px; margin:0; }
.french-fiche-course[data-french-active-module] .fiche-shared-fact dt { font-size:13px; font-weight:800; color:#2f73d9; }
.french-fiche-course[data-french-active-module] .fiche-shared-fact dd { margin:10px 0; padding-bottom:6px; font-size:34px; font-weight:800; border-bottom:3px solid #9267ea; }
.french-fiche-course[data-french-active-module] .fiche-research-path { padding-left:26px; display:grid; gap:18px; font-size:22px; line-height:1.6; }
.french-fiche-course[data-french-active-module] .fiche-date-study p { margin:16px 0; font-size:22px; line-height:1.6; }
.french-fiche-course[data-french-active-module] .fiche-date-study p span { color:#7550b4; font-size:17px; }
.french-fiche-course[data-french-active-module] .fiche-proof-caption { color:#655f6a; font:550 15px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-coast-diagram { display:grid; grid-template-columns:1fr; gap:0; max-width:380px; margin:24px auto; }
.french-fiche-course[data-french-active-module] .fiche-coast-diagram > span { padding:22px; background:#f0f8d3; text-align:center; font:750 23px/1.4 var(--font-body); }
.french-fiche-course[data-french-active-module] .fiche-coast-diagram .is-water { background:#e2efff; }
.french-fiche-course[data-french-active-module] .fiche-coast-diagram :is(.is-coast,.is-border) { padding:8px; border-block:2px dashed #2f73d9; background:white; color:#2f73d9; font-size:12px; }
.french-fiche-course[data-french-active-module] .fiche-coast-diagram .is-border { border:0; border-block:3px solid #9267ea; color:#7550b4; }
.french-fiche-course[data-french-active-module] .fiche-coast-diagram .is-selected { background:#fff5c8; font-size:15px; }
.french-fiche-course[data-french-active-module] .fiche-category-study .is-selected { background:#fff5c8; }
.french-fiche-course[data-french-active-module] .fiche-layout-study h3 { margin:0 0 24px; font:850 28px/1.3 var(--font-display); }
.french-fiche-course[data-french-active-module] .fiche-layout-study h4 { margin:20px 0 8px; color:#2f73d9; font-size:19px; }
.french-fiche-course[data-french-active-module] .fiche-layout-study p { margin:0; font-size:18px; }
.french-fiche-course[data-french-active-module] .fiche-layout-study small { display:block; margin-top:24px; line-height:1.6; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-section { padding-top:24px; border-top:2px solid #e2efff; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-section h2 { font:800 26px/1.3 var(--font-display); color:#2f73d9; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-section .fiche-writing-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing textarea { min-height:56px; max-width:100%; }
.french-fiche-course[data-french-active-module="lab"] .fiche-fact-bank > summary { min-height:48px; padding:14px 0; cursor:pointer; color:#a7463b; font-weight:800; }
.french-fiche-course[data-french-active-module="lab"] .fiche-fact-bank label { display:flex; align-items:start; gap:12px; padding:12px 0; line-height:1.6; }
.french-fiche-course[data-french-active-module="lab"] .fiche-fact-bank small { display:block; font-size:14px; color:#655f69; }
.french-fiche-course[data-french-active-module="lab"] .fiche-fact-bank a { color:#2f73d9; text-decoration:underline; }
.french-fiche-course[data-french-active-module="lab"] .fiche-preserved-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.french-fiche-course[data-french-active-module] .fiche-legacy-note { margin:16px clamp(20px,5vw,60px); padding-left:14px; border-left:3px solid #9267ea; color:#655f69; font:550 15px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module="guide"] :is(.fiche-guide-source,.fiche-guide-categories) { display:grid; margin:0; padding:0; list-style:none; gap:20px; }
.french-fiche-course[data-french-active-module="guide"] .fiche-guide-source li { padding-left:14px; border-left:3px solid #2f73d9; font-size:22px; }
.french-fiche-course[data-french-active-module="guide"] .fiche-guide-categories dt { color:#2f73d9; font-weight:800; }
.french-fiche-course[data-french-active-module="guide"] .fiche-guide-categories dd { margin:8px 0 0; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-chain { display:grid; gap:12px; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-chain > div { padding:20px 24px; border-left:4px solid #2f73d9; background:#e2efff; border-radius:0 16px 16px 0; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-chain > div:nth-of-type(2) { background:#fff5c8; border-color:#f6cc24; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-chain > div:nth-of-type(3) { background:#f2ebff; border-color:#9267ea; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-chain h3 { margin-bottom:12px; font:850 12px/1.5 var(--font-body); color:#2f73d9; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-chain p { font-size:25px; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-chain > span { color:#2f73d9; font-size:28px; padding-left:24px; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-chain mark { background:white; color:inherit; text-decoration:underline 3px #2f73d9; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-chain small { display:block; margin-top:12px; font-size:17px; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-source dt { margin-top:20px; color:#7550b4; font-weight:800; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-source dt:first-child { margin-top:0; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-source dd { margin-top:8px; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-categories { display:grid; gap:20px; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-categories > div { padding:22px; border-left:4px solid #2f73d9; background:#e2efff; border-radius:0 16px 16px 0; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-categories > div:nth-child(2) { border-color:#9267ea; background:#f2ebff; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-categories > div:nth-child(3) { border-color:#f6cc24; background:#fff5c8; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-categories dt { margin-bottom:12px; font:850 16px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-categories dd+dd { margin-top:12px; }
.french-fiche-course[data-french-active-module="summary"] .fiche-summary-boundary { display:grid; gap:12px; margin-top:24px; padding-left:20px; border-left:4px solid var(--subject-dominant); }
/* Preserve the two authored title lines without a shrinking character-width box. */
.french-fiche-course[data-french-active-module="lesson"] .kid-step-copy h1 { width:100%; max-width:100%; }
@media(max-width:1000px){
 .french-fiche-course[data-french-active-module="lab"] .fiche-writing-section .fiche-writing-fields { grid-template-columns:minmax(0,1fr); }
}

/* Fiche document proofs, 2026-08-30: user-requested expansion from the supplied
   previous designs. Only Leçon/Lab; no shared shell or other stage consumers. */
.french-fiche-course[data-french-active-module="lesson"] .fiche-evidence-columns { grid-template-columns:minmax(0,1fr); gap:30px; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-evidence-choice { padding:24px 0 0; border-left:0; border-top:1px solid #e6ded2; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-proof-choices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.french-fiche-course[data-french-active-module="lab"] .kid-lab-visual { width:100%; max-width:none; }
.french-fiche-course[data-french-active-module="lab"] .fiche-lab-document-study { width:100%; max-width:1120px; margin:0 auto; padding:12px 0; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-document-pair,.fiche-reader-link,.fiche-shared-currency,.fiche-visible-revision) { display:grid; grid-template-columns:minmax(0,1fr) clamp(66px,9vw,112px) minmax(0,1.1fr); align-items:center; gap:18px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-paper { min-width:0; padding:clamp(20px,2.6vw,34px); border-left:4px solid #2f73d9; border-radius:4px 30px 30px 4px; background:#e2efff; text-align:left; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-paper.is-writing { border-color:#9267ea; background:#f2ebff; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-paper.is-focus { border-color:#f6cc24; background:#fff5c8; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-paper.is-revision { border-color:#fd7666; background:#ffe7e2; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-paper-label { display:block; margin-bottom:20px; font:850 12px/1.5 var(--font-body); letter-spacing:.09em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-paper,.fiche-margin-reading) p { margin:0; max-width:none; font:750 clamp(23px,2.3vw,31px)/1.5 var(--font-body); overflow-wrap:break-word; text-wrap:pretty; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-paper p+p { margin-top:20px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-paper,.fiche-margin-reading) small { display:block; margin-top:20px; font:600 16px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-paper,.fiche-revision-sentence,.fiche-margin-reading) mark { padding:.02em .12em; background:#fff5c8; color:var(--ink); border-radius:4px; box-decoration-break:clone; -webkit-box-decoration-break:clone; text-decoration:none; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-paper.is-focus mark { background:transparent; text-decoration:underline 3px #2f73d9; text-underline-offset:.14em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-document-link { min-width:0; display:grid; gap:8px; justify-items:center; text-align:center; color:#0fbc53; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-document-link span { color:var(--ink); font:650 12px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-document-link i { font:750 44px/1 var(--font-body); font-style:normal; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-document-link.is-broken { color:#a7463b; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-pen-cue { width:fit-content; max-width:100%; margin:26px 0 0 auto; padding:0 0 10px; border-bottom:3px solid #fd7666; font:750 italic clamp(18px,1.8vw,23px)/1.6 var(--font-body); text-wrap:pretty; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-reader-questions { padding-left:22px; border-left:4px solid #2f73d9; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-reader-questions > span { display:block; margin-bottom:18px; color:#2f73d9; font:850 12px/1.5 var(--font-body); letter-spacing:.07em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-reader-questions p { margin:0; padding:16px 0; border-bottom:1px solid #2f73d9; font:650 clamp(20px,2vw,27px)/1.45 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-reader-questions .is-target { border-bottom:3px solid #2f73d9; font-weight:850; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-reader-questions strong { text-decoration:underline 3px #2f73d9; text-underline-offset:.15em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-measure-proof,.fiche-annotated-source,.fiche-dated-source,.fiche-annotated-layout,.fiche-final-inspection) { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:clamp(28px,4vw,52px); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-paper .fiche-large-measure { font:850 clamp(32px,4vw,54px)/1.3 var(--font-display); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-large-measure span { color:#7550b4; white-space:nowrap; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-measure-labels { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:16px; padding-top:14px; border-top:2px solid #2f73d9; font:750 11px/1.4 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-margin-reading { border-left:3px solid #f6cc24; padding-left:22px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-margin-reading > span { display:block; margin-bottom:16px; color:#7550b4; font:850 12px/1.6 var(--font-body); letter-spacing:.04em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-journey { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; list-style:none; padding:0; margin:14px 0 0; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-journey li { position:relative; min-width:0; border-top:3px solid #2f73d9; padding:24px 20px; background:#e2efff; border-radius:0 0 20px 20px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-journey li:nth-child(2) { border-color:#0fbc53; background:#e5f8eb; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-journey li:nth-child(3) { border-color:#9267ea; background:#f2ebff; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-journey li+li::before { content:'→'; position:absolute; left:-25px; top:20px; color:#0fbc53; font-size:24px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-journey span { display:block; margin-bottom:16px; font:850 12px/1.5 var(--font-body); letter-spacing:.08em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-journey p { margin:0; font:750 clamp(21px,2vw,27px)/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-journey small { display:block; margin-top:16px; font:550 15px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-paper .fiche-document-title { margin-bottom:20px; font:850 clamp(30px,3.5vw,45px)/1.3 var(--font-display); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-document-title span { font-size:.65em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-source-annotations,.fiche-date-comparison,.fiche-inspection-notes) { display:grid; gap:22px; margin:0; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-annotations > div { position:relative; padding:0 0 16px; border-bottom:2px solid #0fbc53; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-annotations > div::before { content:''; position:absolute; left:-30px; top:12px; width:22px; border-top:2px solid #0fbc53; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-source-annotations,.fiche-date-comparison,.fiche-inspection-notes) dt { margin-bottom:10px; color:#316a45; font:850 12px/1.5 var(--font-body); letter-spacing:.04em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-source-annotations,.fiche-date-comparison,.fiche-inspection-notes) dd { margin:0; font:750 clamp(22px,2.2vw,29px)/1.4 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-date-comparison > div { padding:8px 0 8px 20px; border-left:4px solid #0fbc53; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-date-comparison > div+div { border-color:#9267ea; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-date-comparison small { display:block; margin-top:8px; font:550 16px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-convergence { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-convergence-line { grid-column:1/-1; width:85%; justify-self:center; margin:0; padding-top:18px; border-top:3px solid #0fbc53; text-align:center; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-convergence-line span { display:block; font:550 17px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-convergence-line strong { display:block; margin-top:6px; font:800 27px/1.4 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-alignment { display:grid; gap:0; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-alignment-head { display:grid; grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr); gap:12px; margin-bottom:14px; font:850 12px/1.5 var(--font-body); color:#2f73d9; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-alignment-head span:last-child { grid-column:3; color:#7550b4; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-row { display:grid; grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr); align-items:center; gap:12px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-row > div { min-width:0; padding:20px 24px; background:#e2efff; border-bottom:2px solid #2f73d9; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-row > div:last-child { background:#f2ebff; border-color:#9267ea; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-row small { display:block; margin-bottom:8px; font:750 11px/1.4 var(--font-body); letter-spacing:.04em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-row strong { display:block; font:850 clamp(25px,3vw,39px)/1.3 var(--font-display); overflow-wrap:break-word; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-thread { color:#0fbc53; text-align:center; font:750 30px/1 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-row.is-different > div:last-child { background:#ffe7e2; border-color:#fd7666; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-row.is-different .fiche-data-thread { color:#a7463b; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-geography-specimens,.fiche-meaning-groups) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-geography-specimens,.fiche-meaning-groups) > div { min-width:0; padding:22px; background:#e2efff; border-top:4px solid #2f73d9; border-radius:0 0 18px 18px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-meaning-groups > div:nth-child(2) { background:#f2ebff; border-color:#9267ea; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-meaning-groups > div:nth-child(3) { background:#fff5c8; border-color:#f6cc24; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-geography-specimens,.fiche-meaning-groups) dt { margin-bottom:18px; font:850 12px/1.5 var(--font-body); letter-spacing:.03em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-geography-specimens,.fiche-meaning-groups) dd { margin:0; font:750 clamp(21px,2vw,27px)/1.45 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-geography-specimens,.fiche-meaning-groups) small { display:block; margin-top:16px; font:550 16px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-fact-to-place { margin:0 0 26px; padding-left:18px; border-left:4px solid #0fbc53; font:650 24px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-placed-fact { padding-top:16px; margin:18px 0 0; border-top:2px solid #9267ea; font-weight:850; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-coast-diagram { max-width:none; grid-template-columns:minmax(0,1fr) minmax(70px,.6fr) minmax(0,1fr) minmax(90px,.75fr) minmax(0,1fr); align-items:stretch; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-coast-diagram > span { display:grid; align-content:center; padding:28px 12px; font-size:clamp(18px,2vw,25px); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-coast-diagram :is(.is-coast,.is-border) { border-block:0; border-inline:2px dashed #2f73d9; font-size:11px; padding:16px 8px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-coast-diagram .is-border { border-inline:3px solid #9267ea; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-model-page { padding:28px; border-left:4px solid #fd7666; background:#ffe7e2; border-radius:4px 26px 26px 4px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-model-page h3 { margin:0 0 20px; font:850 30px/1.3 var(--font-display); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-model-page > div { padding:18px 0; border-top:1px solid #fd7666; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-model-page h4 { margin:0 0 8px; font:800 17px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-model-page p { margin:0; font:550 17px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-layout-annotations p { margin:0; padding:16px 0 16px 20px; border-left:3px solid #0fbc53; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-layout-annotations p+p { margin-top:20px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-layout-annotations strong { display:block; margin-bottom:8px; font:800 21px/1.45 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-layout-annotations span { display:block; font:550 17px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-paper,.fiche-revision-sentence) del { text-decoration-color:#fd7666; text-decoration-thickness:3px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-paper,.fiche-revision-sentence) ins { text-decoration-color:#0fbc53; text-decoration-thickness:3px; text-underline-offset:.16em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-inspection-notes > div { padding-bottom:18px; border-bottom:1px solid #dcd5cc; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-inspection-notes .is-open-question { border-bottom:3px solid #fd7666; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-inspection-notes .is-open-question dt { color:#a7463b; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-source-options,.fiche-revision-documents) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-research-aim { margin:0 0 26px; padding-left:20px; border-left:4px solid #f6cc24; font:750 24px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-inline-source { display:grid; gap:18px; margin:22px 0 0; padding-top:20px; border-top:2px solid #2f73d9; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-inline-source dt { margin-bottom:6px; font:750 12px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-inline-source dd { margin:0; font:650 18px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-revision-sentence { margin-top:26px; padding:24px; border-left:4px solid #9267ea; background:#f2ebff; border-radius:4px 22px 22px 4px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-revision-sentence span { display:block; margin-bottom:14px; font:850 12px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-revision-sentence p { margin:0; font:750 25px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-loose-facts { margin-bottom:26px; padding-left:20px; border-left:3px solid #2f73d9; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-loose-facts p { margin:0 0 12px; font:750 23px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-loose-facts small { display:block; font:550 18px/1.6 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-kept-reasoning { margin-top:30px; padding-top:24px; border-top:1px solid #dcd5cc; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-kept-reasoning h3 { margin:0 0 18px; color:#fd7666; font:850 12px/1.5 var(--font-body); letter-spacing:.08em; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-kept-reasoning .fiche-retained { margin:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-kept-reasoning .fiche-retained strong { font:800 17px/1.5 var(--font-body); }
.french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-kept-reasoning .fiche-retained p { font-size:17px; }
@media(max-width:760px){
 .french-fiche-course[data-french-active-module="lesson"] .fiche-proof-choices { grid-template-columns:minmax(0,1fr); gap:4px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-document-pair,.fiche-reader-link,.fiche-shared-currency,.fiche-visible-revision,.fiche-measure-proof,.fiche-annotated-source,.fiche-dated-source,.fiche-annotated-layout,.fiche-final-inspection,.fiche-source-options,.fiche-revision-documents,.fiche-source-convergence,.fiche-geography-specimens,.fiche-meaning-groups,.fiche-source-journey) { grid-template-columns:minmax(0,1fr); gap:24px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-paper { padding:22px 18px; border-radius:4px 22px 22px 4px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-document-link { grid-template-columns:minmax(0,1fr) auto; padding-inline:18px; text-align:left; justify-items:start; align-items:center; gap:12px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-document-link i { transform:rotate(90deg); font-size:30px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-document-link span { font-size:14px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-pen-cue { margin-top:22px; font-size:18px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-journey li+li::before { content:'↓'; left:auto; right:20px; top:-27px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-annotations > div { margin-left:22px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-source-annotations > div::before { left:-22px; width:14px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-convergence-line { grid-column:auto; width:100%; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) :is(.fiche-data-row,.fiche-alignment-head) { grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr); gap:6px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-row > div { padding:18px 10px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-row strong { font-size:24px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-row small { font-size:10px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-alignment-head { font-size:10px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-data-thread { font-size:24px; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-coast-diagram { grid-template-columns:minmax(0,1fr); }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-coast-diagram :is(.is-coast,.is-border) { border-inline:0; border-block:2px dashed #2f73d9; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-coast-diagram .is-border { border-block:3px solid #9267ea; }
 .french-fiche-course[data-french-active-module]:is([data-french-active-module="lesson"],[data-french-active-module="lab"]) .fiche-kept-reasoning .fiche-retained { grid-template-columns:minmax(0,1fr); }
}

/* The finished Fiche model is a readable document, visible before any choice. */
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-document { max-width: 1020px; margin: 12px auto 0; text-align: left; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-heading { padding: 12px 0 28px; border-bottom: 3px solid #fd7666; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-heading > span { color: #a7463b; font-size: 13px; font-weight: 850; letter-spacing: .1em; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-heading h3 { margin: 12px 0 6px; color: #fd7666; font-size: clamp(34px,4vw,56px); line-height: 1.05; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-heading p { margin: 0; font-size: 19px; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-section { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(0,2fr); gap: 28px; padding: 28px 0; border-bottom: 1px solid #dedbd8; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-section > header { align-self: start; padding: 20px 18px; border-left: 4px solid #2f73d9; background: #e2efff; border-radius: 0 24px 24px 0; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-section.is-population > header { background: #e2f6e9; border-color: #0cbd56; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-section.is-ways-of-life > header { background: #f2ebff; border-color: #9267ea; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-section > header > span { font-size: 12px; font-weight: 850; letter-spacing: .08em; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-section h4 { margin: 10px 0 0; color: #28262c; font-size: clamp(18px,1.7vw,23px); line-height: 1.3; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-facts { min-width: 0; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-facts p { margin: 0; padding: 0 0 20px; font-size: clamp(19px,1.9vw,25px); line-height: 1.5; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-facts p:last-child { padding-bottom: 0; }
.french-fiche-course[data-french-active-module="lesson"] [data-fiche-model-fact="pt-population-2025"] mark { white-space: nowrap; }
.french-fiche-course[data-french-active-module="lesson"] [data-fiche-model-fact="pt-area"] mark { white-space: nowrap; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-facts small { display: block; margin-top: 5px; font-size: 14px; line-height: 1.5; font-weight: 650; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-document a { color: #275dad; text-decoration: underline; text-underline-offset: 3px; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-document a:focus-visible { outline: 3px solid #fd7666; outline-offset: 4px; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-document .is-traced { padding: 12px; background: #fff5c8; border-left: 4px solid #0cbd56; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-sources { padding: 24px 0 0; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-sources h4 { color: #a7463b; font-size: 14px; letter-spacing: .06em; margin: 0 0 12px; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-sources ul { display: grid; gap: 14px; list-style: none; margin: 0; padding: 0; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-sources li { font-size: 15px; line-height: 1.5; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-finished-sources li > span { display: block; margin-top: 3px; color: #59545c; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-model-revision { max-width: 1020px; margin: 30px auto 0; padding: 24px; border-left: 4px solid #fd7666; background: #fff5f1; text-align: left; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-model-revision > span { color: #a7463b; font-size: 13px; font-weight: 850; letter-spacing: .05em; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-model-revision p { margin: 12px 0 0; font-size: 19px; line-height: 1.5; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-model-revision del { text-decoration-color: #fd7666; text-decoration-thickness: 2px; }
.french-fiche-course[data-french-active-module="lesson"] .fiche-model-revision ins { text-decoration-color: #0cbd56; text-decoration-thickness: 2px; text-underline-offset: 4px; }
@media (max-width: 700px) {
 .french-fiche-course[data-french-active-module="lesson"] .fiche-finished-section { grid-template-columns: 1fr; gap: 18px; padding: 24px 0; }
 .french-fiche-course[data-french-active-module="lesson"] .fiche-finished-section > header { padding: 15px; }
 .french-fiche-course[data-french-active-module="lesson"] .fiche-finished-facts small { font-size: 14px; }
 .french-fiche-course[data-french-active-module="lesson"] .fiche-model-revision { padding: 18px 14px; }
}

/* Mission 7: one writing action at a time, inside the retained ruled notebook. */
.french-fiche-course[data-french-active-module="lab"] .kid-lab-progress ol { grid-template-columns: repeat(auto-fit, minmax(38px, 1fr)); flex: 1; min-width: 0; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided { max-width: 1040px; margin-inline: auto; gap: 22px; text-align: left; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided :is(p,label,summary) { font-size: clamp(18px,1.65vw,23px); line-height: 1.5; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided p { margin: 0; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-phases { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid #dedbd8; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-phases button { flex: 1 1 140px; min-height: 48px; padding: 12px 16px; border: 1px solid #fd7666; border-radius: 14px; background: white; color: #28262c; font: 800 18px/1.3 var(--font-display); }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-phases button[aria-pressed="true"] { background: #ffe7e2; border-bottom: 4px solid #fd7666; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-parts { display: flex; flex-wrap: wrap; gap: 8px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-parts button { flex: 1 1 150px; min-height: 48px; padding: 10px 14px; border: 0; border-bottom: 3px solid #dedbd8; background: white; color: #28262c; font: 750 18px/1.3 var(--font-display); }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-parts button[aria-pressed="true"] { color: #275dad; border-color: #2f73d9; background: #e2efff; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-invitation { display: grid; gap: 12px; padding: 20px 22px; border-left: 4px solid #fd7666; background: #fff5f1; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-invitation > span { color: #a7463b; font-size: 15px; font-weight: 800; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-invitation h2 { margin: 0; font-size: clamp(24px,2.5vw,32px); line-height: 1.2; color: #28262c; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided > label { display: grid; gap: 10px; min-width: 0; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided textarea { font-size: 20px; line-height: 1.75; margin: 0; min-width: 0; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-notes { padding: 22px; display: grid; gap: 16px; background: #e2efff; border-left: 4px solid #2f73d9; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided h3 { margin: 0; color: #275dad; font-size: 23px; line-height: 1.3; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-notes > label { display: flex; align-items: start; gap: 12px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-notes input { flex: 0 0 24px; margin-top: 5px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-notes small { display: block; font-size: 14px; line-height: 1.5; margin-top: 4px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-notes a { color: #275dad; text-decoration: underline; text-underline-offset: 3px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-before { padding: 20px; border-left: 4px solid #9267ea; background: #f2ebff; display: grid; gap: 12px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-before h3 { color: #7550b4; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided .fiche-preserved-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-copy { justify-self: start; min-height: 48px; padding: 12px 18px; border: 2px solid #9267ea; border-radius: 16px; background: #f2ebff; color: #28262c; font: 800 18px/1.35 var(--font-display); }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-next { justify-self: start; min-height: 52px; padding: 14px 22px; border: 1px solid #fd7666; border-bottom: 4px solid #cf584e; border-radius: 22px; background: #fd7666; color: white; font: 850 20px/1.3 var(--font-display); text-align: center; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided button:focus-visible { outline: 3px solid #2f73d9; outline-offset: 4px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided .fiche-writing-help { color: #59545c; font-size: 17px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-finish { display: grid; gap: 18px; border-top: 2px solid #fd7666; padding-top: 24px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-finish > label { display: grid; gap: 10px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided details { border-top: 1px solid #dedbd8; padding-top: 14px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided summary { cursor: pointer; font-weight: 750; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided details[open] { display: grid; gap: 16px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-archive section { display: grid; gap: 10px; padding: 14px 0; border-bottom: 1px solid #dedbd8; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-archive h4 { margin: 0; font-size: 16px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided .fiche-writing-pause { border-left: 3px solid #fd7666; padding-left: 14px; font-size: 17px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-writing-guided :is(.fiche-storage-note,.fiche-review-status) { font-size: 16px; color: #59545c; }
@media (max-width: 600px) {
 .french-fiche-course[data-french-active-module="lab"] .fiche-writing-phases button { flex-basis: 125px; }
 .french-fiche-course[data-french-active-module="lab"] .fiche-writing-parts button { flex-basis: 100%; }
 .french-fiche-course[data-french-active-module="lab"] .fiche-writing-notes { padding: 16px; }
 .french-fiche-course[data-french-active-module="lab"] .fiche-writing-invitation { padding: 18px 16px; }
 .french-fiche-course[data-french-active-module="lab"] .fiche-writing-next { justify-self: stretch; }
}

/* Mission 8: a question, one source note, an oral rehearsal, then the notebook. */
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-coach { display: grid; gap: 24px; min-width: 0; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-country { color: #59545c; font-size: 18px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-topics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-topics button { min-height: 50px; padding: 12px 10px; border: 1px solid #e2d7d3; border-bottom: 3px solid #e2d7d3; border-radius: 16px; background: white; color: #28262c; font: 800 18px/1.3 var(--font-display); white-space: normal; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-topics button[aria-pressed="true"] { border-color: #fd7666; background: #ffe7e2; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-question { padding: 22px; border-left: 4px solid #fd7666; background: #fff5f1; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-question > span { color: #a7463b; font: 800 14px/1.5 var(--font-display); letter-spacing: .06em; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-question h2 { margin: 10px 0 0; color: #28262c; font: 850 clamp(25px,2.8vw,36px)/1.2 var(--font-display); }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-rehearsal { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 26px; align-items: start; }
.french-fiche-course[data-french-active-module="lab"] :is(.fiche-geo-source,.fiche-geo-say) { display: grid; gap: 18px; min-width: 0; padding: 22px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-source { background: #e2efff; border-left: 4px solid #2f73d9; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-rehearsal h3 { font: 850 17px/1.4 var(--font-display); letter-spacing: .05em; color: #a7463b; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-source .fiche-geo-fact { font: 800 clamp(24px,2.4vw,32px)/1.4 var(--font-display); }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-fact mark { background: #fff3b0; color: inherit; text-decoration: underline; text-decoration-color: #e1b72c; text-underline-offset: 5px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-source > a { color: #275dad; font-size: 15px; line-height: 1.5; text-underline-offset: 3px; overflow-wrap: anywhere; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-source details :is(summary,p) { font-size: 15px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-reveal { justify-self: start; min-height: 48px; padding: 12px 16px; border: 2px solid #2f73d9; border-radius: 16px; background: white; color: #275dad; font: 800 18px/1.35 var(--font-display); white-space: normal; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-say { padding-inline: 0; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-say .fiche-geo-starter { font: 750 italic clamp(23px,2.2vw,30px)/1.5 var(--font-body); color: #7550b4; text-decoration: underline; text-decoration-color: #c4a8ef; text-underline-offset: 6px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-check { border-left: 3px solid #9267ea; padding-left: 14px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-coach .fiche-writing-editor { display: grid; gap: 12px; min-width: 0; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-coach .fiche-writing-editor > strong { color: #a7463b; font-size: 19px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-coach .fiche-writing-editor > span { font-size: 18px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-next-question { padding-left: 16px; border-left: 3px solid #fd7666; }
@media (max-width: 600px) {
 .french-fiche-course[data-french-active-module="lab"] .fiche-geo-topics { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .french-fiche-course[data-french-active-module="lab"] .fiche-geo-topics button { font-size: 17px; }
 .french-fiche-course[data-french-active-module="lab"] .fiche-geo-rehearsal { grid-template-columns: minmax(0,1fr); gap: 10px; }
 .french-fiche-course[data-french-active-module="lab"] :is(.fiche-geo-question,.fiche-geo-source) { padding: 18px 16px; }
 .french-fiche-course[data-french-active-module="lab"] .fiche-geo-reveal { justify-self: stretch; }
}

/* Missions 9–11: the same source-to-notebook method, then one review action. */
.french-fiche-course[data-french-active-module="lab"] .fiche-geo-topics--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-guide { display: grid; gap: 24px; min-width: 0; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-steps button { min-height: 50px; min-width: 0; padding: 12px 8px; border: 1px solid #e2d7d3; border-bottom: 3px solid #e2d7d3; border-radius: 16px; background: white; color: #28262c; font: 800 18px/1.3 var(--font-display); white-space: normal; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-steps button[aria-pressed="true"] { background: #ffe7e2; border-color: #fd7666; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-guide .fiche-writing-parts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); min-width: 0; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-guide .fiche-writing-parts button { min-width: 0; white-space: normal; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-compare { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.french-fiche-course[data-french-active-module="lab"] :is(.fiche-review-before,.fiche-review-after) { display: grid; gap: 18px; min-width: 0; padding: 22px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-before { background: #e2efff; border-left: 4px solid #2f73d9; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-after { border-top: 4px solid #9267ea; }
.french-fiche-course[data-french-active-module="lab"] :is(.fiche-review-before,.fiche-review-after) h3 { color: #a7463b; font: 850 17px/1.4 var(--font-display); letter-spacing: .05em; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-guide .fiche-writing-editor { display: grid; gap: 12px; min-width: 0; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-guide .fiche-writing-editor > strong { color: #a7463b; font-size: 19px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-guide .fiche-writing-copy { max-width: 100%; white-space: normal; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-starter { font: italic 750 24px/1.5 var(--font-body); color: #7550b4; text-decoration: underline; text-decoration-color: #c4a8ef; text-underline-offset: 6px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-document { min-width: 0; border: 1px solid #ded8d5; border-top: 5px solid #fd7666; background: white; padding: clamp(18px,3vw,36px); }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-document > h3 { margin-bottom: 30px; color: #a7463b; font: 850 clamp(28px,3vw,40px)/1.25 var(--font-display); white-space: pre-wrap; overflow-wrap: anywhere; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-document > section { border-left: 4px solid #2f73d9; padding: 4px 0 4px 18px; margin-top: 28px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-document > section:nth-of-type(2) { border-color: #0bb958; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-document > section:nth-of-type(3) { border-color: #9267ea; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-document h4 { font: 850 clamp(22px,2.3vw,28px)/1.3 var(--font-display); margin-bottom: 16px; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-edit { display: block; min-height: 44px; margin-top: 14px; padding: 6px 0; border: 0; background: transparent; color: #a7463b; text-decoration: underline; text-underline-offset: 4px; text-align: left; white-space: normal; font: 750 16px/1.45 var(--font-body); }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-declaration { display: flex; align-items: flex-start; gap: 14px; padding: 20px; background: #fff5f1; border-left: 4px solid #fd7666; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-declaration input { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 4px; accent-color: #fd7666; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-help a { overflow-wrap: anywhere; }
.french-fiche-course[data-french-active-module="lab"] .fiche-review-help small { display: block; margin-top: 8px; }
@media (max-width:600px) {
 .french-fiche-course[data-french-active-module="lab"] :is(.fiche-geo-topics--three,.fiche-review-steps) { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .french-fiche-course[data-french-active-module="lab"] .fiche-review-guide .fiche-writing-parts { grid-template-columns: minmax(0,1fr); }
 .french-fiche-course[data-french-active-module="lab"] .fiche-review-compare { grid-template-columns: minmax(0,1fr); gap: 16px; }
 .french-fiche-course[data-french-active-module="lab"] :is(.fiche-review-before,.fiche-review-after) { padding: 18px 16px; }
 .french-fiche-course[data-french-active-module="lab"] .fiche-review-document > section { padding-left: 12px; }
}

/* Authored semantic emphasis: this lesson board only. */
.french-fiche-course[data-french-active-module="lesson"][data-french-course-01-root] .french-lesson-board.fiche-reading .fiche-reading__term {
  background: none;
}
.french-fiche-course[data-french-active-module="lesson"][data-french-course-01-root] .french-lesson-board.fiche-reading .fiche-reading__spotlight {
  color: var(--ink);
  background: #eee6ff;
  font-weight: 750;
  padding: .04em .12em;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.french-fiche-course[data-french-active-module="lesson"][data-french-course-01-root] .french-lesson-board.fiche-reading .fiche-reading__observe {
  display: inline;
  color: var(--ink);
  background: transparent;
  border: 2px solid #2f73d9;
  border-radius: 50%;
  padding: 0 .12em;
  font-weight: 750;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.french-fiche-course[data-french-active-module="lesson"][data-french-course-01-root] .french-lesson-board.fiche-reading .fiche-reading__apply {
  color: var(--ink);
  background: #dff8f2;
  font-weight: 750;
  padding: .04em .12em;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* This lesson's own evidence becomes its initial teaching focus; other stages are unchanged. */
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero { width:100%; max-width:100%; margin:28px 0 34px; padding:clamp(18px,3vw,32px); border:2px solid #ffe7e2; border-radius:28px; background:#fffefa; box-shadow:none; text-align:left; }
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero:focus-visible { outline:3px solid #fd7666; outline-offset:5px; }
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero > .fiche-evidence-model { display:block; width:100%; min-width:0; max-width:none; padding:0; border:0; background:transparent; box-shadow:none; }
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero > .fiche-evidence-model > h2 { margin:0 0 22px; color:#fd7666; font:850 15px/1.4 var(--font-body); letter-spacing:.08em; }
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero .fiche-study-arrow { color:#fd7666; }
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero > .fiche-response-reason { margin:24px 0 0; padding:18px 0 0; border:0; border-top:1px solid #ffe7e2; background:transparent; }
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero > .fiche-response-reason p { margin:0; font-size:clamp(22px,2.3vw,30px); line-height:1.5; }
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-evidence-columns:has(> .fiche-evidence-choice:only-child) { display:block; }
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero .fiche-sentence,
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero .fiche-manuscript-line { font-size:clamp(24px,2.8vw,36px); line-height:1.5; overflow-wrap:normal; word-break:normal; }
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero mark:not([class]),
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero .fiche-word:not(:has(> *)),
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-reading__cue { color:#66510e; background:#fff5c8; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
@media(min-width:1025px) {
 .french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .kid-step-copy > h1 { display:flex; align-items:baseline; gap:.22em; font-size:clamp(34px,3.4vw,50px); white-space:nowrap; }
 .french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .kid-step-copy > h1 > :is(span,em) { display:block; flex:0 0 auto; width:auto; white-space:nowrap; }
}
@media(max-width:1024px) {
 .french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .kid-step-copy > h1 > :is(span,em) { white-space:normal; }
}
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero .fiche-document-link i,
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-study-hero .fiche-data-thread { color:#fd7666; }

/* Source card: show the exact notes named by the unchanged question. */
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] :is([data-fiche-study="fiche26-source"],[data-fiche-study="fiche26-lecteur"],[data-fiche-study="fiche26-mise-en-page"],[data-fiche-study="fiche26-revision"],[data-fiche-study="fiche26-fiabilite"]) .fiche-source-notes {
 display:grid; gap:18px; margin:0 0 30px; text-align:left;
}
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] :is([data-fiche-study="fiche26-source"],[data-fiche-study="fiche26-lecteur"],[data-fiche-study="fiche26-mise-en-page"],[data-fiche-study="fiche26-revision"],[data-fiche-study="fiche26-fiabilite"]) .fiche-source-notes > p {
 margin:0; font:750 clamp(24px,2.8vw,36px)/1.5 var(--font-body); overflow-wrap:break-word;
}

.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-evidence-workspace .fiche-study-arrow { color:#fd7666; }
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-evidence-workspace .fiche-evidence-model mark:not([class]),
.french-fiche-course[data-french-course-01-root][data-french-active-module="lesson"] .fiche-evidence-workspace .fiche-evidence-model .fiche-word:not(:has(> *)) { color:#66510e; background:#fff5c8; box-decoration-break:clone; -webkit-box-decoration-break:clone; }

/* Card-specific teaching roles. All selectors stay inside this course's Leçon. */
.french-course[data-french-course-01-root][data-french-active-module="lesson"] {
 [data-french-teaching-card] .french-teaching-relations { display:flex; flex-wrap:wrap; gap:28px; justify-content:flex-start; margin:28px 0 6px; }
 [data-french-teaching-card] .french-teaching-relations > div { display:flex; flex-direction:column; align-items:center; max-width:100%; font:750 clamp(22px,2.3vw,30px)/1.5 var(--font-body); text-align:center; }
 [data-french-teaching-card] .french-teaching-relations > div > span { padding:.12em .4em; border-radius:10px; }
 [data-french-teaching-card] .french-teaching-connector { width:48px; height:42px; display:block; color:#fd7666; flex:none; }
 .fiche-reading :is(.fiche-reading__cue,.fiche-reading__term,.fiche-reading__spotlight,.fiche-reading__observe,.fiche-reading__apply) { color:#66510e; background:#fff5c8; border:0; border-radius:0; text-decoration:none; }
 :is([data-french-teaching-card],.fiche-reading) [data-teaching-tone] { font-weight:750; padding:.03em .08em; border:0; border-radius:0; text-decoration:none; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
 :is([data-french-teaching-card],.fiche-reading) [data-teaching-tone="yellow"] { color:#66510e; background:#fff5c8; }
 :is([data-french-teaching-card],.fiche-reading) [data-teaching-tone="blue"] { color:#245fb3; background:#e2efff; }
 :is([data-french-teaching-card],.fiche-reading) [data-teaching-tone="green"] { color:#26735f; background:#dff8f2; }
 :is([data-french-teaching-card],.fiche-reading) [data-teaching-tone="orange"] { color:#8a4d12; background:#fff0dc; }
 :is([data-french-teaching-card],.fiche-reading) [data-teaching-tone="purple"] { color:#6842a6; background:#eee6ff; }
}

/* Preserve the lesson-specific representation and its exact structural roles. */
.french-course[data-french-course-01-root][data-french-active-module="lesson"] {
 [data-french-teaching-card] .fiche-source-notes { display:grid; gap:20px; padding:0 0 24px; }
 [data-french-teaching-card] .fiche-source-notes > p { margin:0; padding:12px 18px; border-left:3px solid #fd7666; font:650 clamp(22px,2.2vw,29px)/1.55 var(--font-body); }
 [data-french-teaching-card="fiche26-source"] .fiche-source-notes > p:first-child,
 [data-french-teaching-card="fiche26-mise-en-page"] .fiche-source-notes > p:first-child { border-color:#245fb3; }
 [data-french-teaching-card="fiche26-source"] .fiche-source-notes > p:last-child,
 [data-french-teaching-card="fiche26-mise-en-page"] .fiche-source-notes > p:last-child { border-color:#26735f; }
 [data-french-teaching-card] .fiche-document-link i,
 [data-french-teaching-card] .fiche-data-thread { color:#fd7666; }
 [data-french-teaching-card="fiche26-frontiere"] .is-border { color:#245fb3; background:#e2efff; }
 [data-french-teaching-card="fiche26-frontiere"] .is-coast { color:#26735f; background:#dff8f2; }
}

/* French Teacher V2 Lab: after success, only the selected correct answer is marked.
   Unselected distractors stay neutral; the active wrong attempt keeps its own correction. */
.french-course[data-course-theme="francais"][data-french-active-module="lab"] .adjectifs-library-lab__options.is-reviewed button.is-incorrect-option:disabled > span {
 color:var(--graphite) !important;
 text-decoration:none !important;
 text-decoration-skip-ink:auto !important;
}
.french-course[data-course-theme="francais"][data-french-active-module="lab"] .adjectifs-library-lab__options.is-reviewed button.is-incorrect-option:disabled > span .adjectifs-lab-mark {
 border-bottom-color:transparent !important;
 color:inherit !important;
 background:transparent !important;
 text-decoration:none !important;
}
