/* French CM2 evaluation paper: purposeful colour and interaction layer.
   Loaded after every French lesson stylesheet, so one design serves all ten evaluations.

   What each colour means:
   - Ink and paper: the questions themselves. Reading stays calm and neutral.
   - One hue per exercise (blue, violet, amber, cyan, rose): wayfinding. The number,
     the tracker step, the row ticks and the child's chosen answers share it.
   - Green / red: used only on the corrected copy (right / to correct), always with ✓ / ✗.
   - Amber: "check before handing in" and "à revoir" notes, never an error.
   - Coral (the French subject colour): the single main action, « Rendre ma copie ».
   Grammar colour codes that already carry meaning (épithète / attribut, repair fields)
   keep their own, more specific rules. */

.french-course.french-adjectifs-course .adjectifs-evaluation--paper {
  --eval-ink:#25212b;
  --eval-muted:#6b6475;
  --eval-rule:#ebe5dc;
  --eval-paper:#fffdf9;
  --eval-chip:#ffffff;
  --eval-chip-line:#dcd5ca;
  --eval-right:#1d9257;
  --eval-right-deep:#0b6a3b;
  --eval-right-tint:#eaf8f0;
  --eval-wrong:#d8463d;
  --eval-wrong-deep:#a5302a;
  --eval-wrong-tint:#fff1ef;
  --eval-check:#d99400;
  --eval-check-deep:#835600;
  --eval-check-tint:#fff6de;
  --ex:#2f6fdb;
  --ex-deep:#1d4ea3;
  --ex-tint:#edf3ff;
  --ex-on:#ffffff;
}
:root:has(.adjectifs-evaluation--paper) { scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce) { :root:has(.adjectifs-evaluation--paper) { scroll-behavior:auto; } }

/* One hue per exercise, in the paper and in the tracker. */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper :is(.adjectifs-evaluation-paper__exercise, .french-eval-tracker li):nth-child(5n+1) { --ex:#2f6fdb; --ex-deep:#1d4ea3; --ex-tint:#edf3ff; --ex-on:#ffffff; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper :is(.adjectifs-evaluation-paper__exercise, .french-eval-tracker li):nth-child(5n+2) { --ex:#7c4ddb; --ex-deep:#5a33ab; --ex-tint:#f3eeff; --ex-on:#ffffff; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper :is(.adjectifs-evaluation-paper__exercise, .french-eval-tracker li):nth-child(5n+3) { --ex:#f0a500; --ex-deep:#8a5b00; --ex-tint:#fff6dc; --ex-on:#3a2800; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper :is(.adjectifs-evaluation-paper__exercise, .french-eval-tracker li):nth-child(5n+4) { --ex:#0b93b8; --ex-deep:#066580; --ex-tint:#e4f6fb; --ex-on:#ffffff; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper :is(.adjectifs-evaluation-paper__exercise, .french-eval-tracker li):nth-child(5n+5) { --ex:#d0437f; --ex-deep:#9a2a5b; --ex-tint:#fdebf3; --ex-on:#ffffff; }

/* Paper: neutral, so the colours that follow stand out. */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper { background:var(--eval-paper); color:var(--eval-ink); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__header { border-bottom:1px solid var(--eval-rule); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__title > span { color:var(--eval-muted); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__exercise { position:relative; border-top:1px solid var(--eval-rule); scroll-margin-top:120px; }

/* Grade stamp: neutral and dashed while the copy is open; coloured by the grade once corrected. */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__grade { border:4px dashed #cfc7bb; color:#9a92a1; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-paper__grade { border-style:solid; --grade:#2f6fdb; border-color:var(--grade); color:var(--grade); background:#fff; box-shadow:0 0 0 6px color-mix(in srgb, var(--grade) 12%, transparent); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-paper__grade:is([data-grade="A+"],[data-grade="A"]) { --grade:var(--eval-right); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-paper__grade:is([data-grade="B+"],[data-grade="B"]) { --grade:#2f6fdb; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-paper__grade:is([data-grade="C+"],[data-grade="C"]) { --grade:#c98400; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-paper__grade[data-grade="D"] { --grade:var(--eval-wrong); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-paper__grade::after { color:var(--grade); }

/* Tracker: one step per exercise, in its colour; sticky while the child works. */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker {
  position:sticky;
  top:10px;
  z-index:6;
  display:grid;
  margin:0 42px 6px;
  padding:12px 16px 14px;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px 18px;
  overflow:hidden;
  border:1px solid var(--eval-rule);
  border-radius:18px;
  background:rgba(255,253,249,.94);
  box-shadow:0 10px 26px rgba(37,33,43,.08);
  backdrop-filter:blur(8px);
}
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker > p { display:grid; margin:0; gap:2px; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker > p strong { font:850 22px/1 var(--font-display); color:var(--eval-ink); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker > p span { color:var(--eval-muted); font:800 10px/1.2 var(--font-body); letter-spacing:.08em; text-transform:uppercase; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker ol { display:grid; margin:0; padding:0; grid-template-columns:repeat(auto-fit,minmax(64px,1fr)); gap:8px; list-style:none; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker li::before,
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker li::marker { content:none; display:none; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker a {
  display:grid;
  min-height:48px;
  padding:6px 8px;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:7px;
  border:2px solid color-mix(in srgb, var(--ex) 35%, white);
  border-radius:14px;
  background:#fff;
  color:var(--ex-deep);
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;
}
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker a:hover { transform:translateY(-2px); border-color:var(--ex); box-shadow:0 6px 14px color-mix(in srgb, var(--ex) 25%, transparent); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker a:focus-visible { outline:3px solid var(--ex); outline-offset:2px; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker a b { display:grid; width:28px; height:28px; place-items:center; border:2px solid var(--ex); border-radius:50%; color:var(--ex-deep); font:850 13px/1 var(--font-display); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker a small { font:800 11px/1.2 var(--font-body); letter-spacing:.02em; white-space:nowrap; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker li.is-ready a { border-color:var(--ex); background:var(--ex-tint); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker li.is-ready a b { background:var(--ex); color:var(--ex-on); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker a b { position:relative; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker li.is-ready a b::after { position:absolute; right:-5px; bottom:-5px; display:grid; width:15px; height:15px; place-items:center; border:2px solid #fff; border-radius:50%; background:var(--ex-deep); color:#fff; content:'✓'; font:900 8px/1 var(--font-body); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker > i { position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg, #2f6fdb, #7c4ddb, #f0a500, #0b93b8, #d0437f); clip-path:inset(0 calc(100% - var(--french-eval-progress, 0%)) 0 0); transition:clip-path .4s ease; }
/* Corrected copy: the tracker turns into a score board (green full, amber partial, red low). */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker li:is(.is-score-full,.is-score-partial,.is-score-low) a { border-color:var(--band); background:var(--band-tint); color:var(--band-deep); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker li:is(.is-score-full,.is-score-partial,.is-score-low) a b { border-color:var(--band); background:var(--band); color:#fff; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper :is(.french-eval-tracker li, .adjectifs-evaluation-paper__exercise).is-score-full { --band:var(--eval-right); --band-deep:var(--eval-right-deep); --band-tint:var(--eval-right-tint); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper :is(.french-eval-tracker li, .adjectifs-evaluation-paper__exercise).is-score-partial { --band:var(--eval-check); --band-deep:var(--eval-check-deep); --band-tint:var(--eval-check-tint); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper :is(.french-eval-tracker li, .adjectifs-evaluation-paper__exercise).is-score-low { --band:var(--eval-wrong); --band-deep:var(--eval-wrong-deep); --band-tint:var(--eval-wrong-tint); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker.is-complete > i { display:none; }

/* Exercise header: number in the exercise colour, a side rail that lights up when the exercise is ready. */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__exercise::before { position:absolute; top:36px; bottom:44px; left:-20px; width:4px; border-radius:4px; background:var(--ex); content:''; opacity:.22; transition:opacity .25s ease; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__exercise.is-ready::before { opacity:1; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__exercise:is(.is-score-full,.is-score-partial,.is-score-low)::before { background:var(--band); opacity:1; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__exercise > header > i { position:relative; border:0; background:var(--ex); color:var(--ex-on); box-shadow:0 4px 0 var(--ex-deep); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__exercise.is-ready > header > i::after { position:absolute; right:-6px; bottom:-6px; display:grid; width:20px; height:20px; place-items:center; border:2px solid #fff; border-radius:50%; background:var(--ex-deep); color:#fff; content:'✓'; font:900 10px/1 var(--font-body); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__exercise > header div > span { color:var(--ex-deep); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__exercise > header p { color:var(--eval-ink); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__exercise > header > b { padding:5px 10px; border-radius:999px; background:#f3efe8; color:var(--eval-muted); font-size:15px; transform:none; white-space:nowrap; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__exercise:is(.is-score-full,.is-score-partial,.is-score-low) > header > b { background:var(--band); color:#fff; }

/* Rows: the number ticks in the exercise colour as soon as the row has an answer. */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-task__step { border:2px solid var(--eval-chip-line); background:#fff; color:var(--eval-muted); transition:background-color .2s ease, border-color .2s ease, color .2s ease; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper:not(.is-submitted) article:has(.is-selected) > .adjectifs-evaluation-task__step { border-color:var(--ex); background:var(--ex); color:var(--ex-on); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-options > span { color:var(--eval-muted); }

/* Answer chips: calm until touched; the chosen one is filled with the exercise colour and ticked. */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-choice {
  border:2px solid var(--eval-chip-line);
  background:var(--eval-chip);
  color:var(--eval-ink);
  box-shadow:0 3px 0 #e4ddd2;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background-color .15s ease, border-color .15s ease, color .15s ease;
}
.french-course.french-adjectifs-course .adjectifs-evaluation--paper:not(.is-submitted) .adjectifs-evaluation-choice:not(.is-selected):hover { transform:translateY(-2px); border-color:var(--ex); background:var(--ex-tint); color:var(--ex-deep); box-shadow:0 5px 0 color-mix(in srgb, var(--ex) 55%, white); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper:not(.is-submitted) .adjectifs-evaluation-choice:active { transform:translateY(2px); box-shadow:0 1px 0 var(--ex-deep); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-choice:focus-visible { outline:3px solid var(--ex); outline-offset:3px; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-choice.is-selected { border-color:var(--ex-deep); background:var(--ex); color:var(--ex-on); box-shadow:0 3px 0 var(--ex-deep); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-choice.is-selected::before { margin-right:6px; content:'✓'; font-weight:900; }

/* Words to underline: the same exercise colour. */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper:not(.is-submitted) .adjectifs-evaluation-word:hover,
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-word:focus-visible { border-bottom-color:color-mix(in srgb, var(--ex) 55%, white); background:var(--ex-tint); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-word.is-selected { border-bottom-color:var(--ex); background:var(--ex-tint); color:var(--ex-deep); }

/* Corrected copy: green right, red to correct, always with a symbol. */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-choice.is-correct { border-color:var(--eval-right); background:var(--eval-right-tint); color:var(--eval-right-deep); box-shadow:0 3px 0 var(--eval-right); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-choice.is-correct::before { margin-right:6px; content:'✓'; font-weight:900; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-choice.is-wrong { border-color:var(--eval-wrong); background:var(--eval-wrong-tint); color:var(--eval-wrong-deep); box-shadow:0 3px 0 var(--eval-wrong); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-choice.is-wrong::before { margin-right:6px; content:'✗'; font-weight:900; text-decoration:none; display:inline-block; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-choice.is-missed { border:2px dashed var(--eval-right); background:#fff; color:var(--eval-right-deep); box-shadow:none; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-clean-answer { border-left:4px solid var(--eval-right); border-radius:4px 12px 12px 4px; background:var(--eval-right-tint); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-clean-answer > span { color:var(--eval-right-deep); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .is-correction-row.is-correction-correct { color:var(--eval-ink); }

/* Mme Iris's notes: green when perfect, amber « à revoir » (a step to take, not an error). */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-teacher-note { border-left:5px solid var(--eval-check); background:var(--eval-check-tint); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-teacher-note > strong { background:var(--eval-check); color:#3a2800; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-teacher-note > p b { color:var(--eval-check-deep); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-teacher-note.is-perfect { border-left-color:var(--eval-right); background:var(--eval-right-tint); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-teacher-note.is-perfect > strong { background:var(--eval-right); color:#fff; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-teacher-note.is-perfect > p b { color:var(--eval-right-deep); }

/* The corrected copy (the lessons' red-pen layer uses !important, so these do too).
   The child's copy reads in ink; green is the right answer, red only marks what to correct;
   the correct-answer box is green, never red. */
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted :is(.adjectifs-evaluation-task, .adjectifs-evaluation-task__direction, .adjectifs-evaluation-sentence, .adjectifs-evaluation-task.is-functions article > p, .adjectifs-evaluation-task.is-agreement article > p, .adjectifs-evaluation-original, .adjectifs-evaluation-repaired, .adjectifs-evaluation-builder__sentence, .adjectifs-evaluation-builder__sentence > span, .adjectifs-evaluation-copy-word, .adjectifs-evaluation-copy-answer, .adjectifs-evaluation-copy-reason) { color:var(--eval-ink) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted :is(.adjectifs-evaluation-options > span, .adjectifs-evaluation-task.is-repair section > span, .adjectifs-evaluation-copy-reason > span) { color:var(--eval-muted) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-task__step { border-color:var(--eval-chip-line) !important; color:var(--eval-muted) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted :is(.adjectifs-evaluation-options, .adjectifs-evaluation-task.is-repair section, .adjectifs-evaluation-builder__fields > .adjectifs-evaluation-options) { border-bottom-color:var(--eval-rule) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted :is(.adjectifs-evaluation-copy-word, .adjectifs-evaluation-copy-answer, .adjectifs-evaluation-copy-reason > strong, button, .adjectifs-evaluation-word, .adjectifs-evaluation-governing-noun, .adjectifs-evaluation-repaired > strong).is-correct { color:var(--eval-right-deep) !important; border-bottom-color:var(--eval-right) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted :is(.adjectifs-evaluation-copy-word, .adjectifs-evaluation-copy-answer, .adjectifs-evaluation-copy-reason > strong, button, .adjectifs-evaluation-word, .adjectifs-evaluation-governing-noun, .adjectifs-evaluation-repaired > strong).is-wrong { color:var(--eval-wrong-deep) !important; border-bottom-color:var(--eval-wrong) !important; text-decoration-color:var(--eval-wrong) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted .is-correction-row.is-correction-correct::before { color:var(--eval-right); }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted .is-correction-row.is-correction-wrong::before { color:var(--eval-wrong); content:'✗'; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-clean-answer { border-left:4px solid var(--eval-right) !important; border-radius:4px 12px 12px 4px !important; background:var(--eval-right-tint) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-clean-answer > span:first-child { color:var(--eval-right-deep) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted :is(.adjectifs-evaluation-clean-answer .is-correct, .adjectifs-evaluation-clean-sentence .is-correct) { color:var(--eval-right-deep) !important; border-bottom-color:var(--eval-right) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-teacher-note { background:var(--eval-check-tint) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-teacher-note.is-perfect { background:var(--eval-right-tint) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-teacher-note > p b { color:var(--eval-check-deep) !important; }
.french-course.french-course.french-adjectifs-course[data-french-active-module="evaluation"] .adjectifs-evaluation--paper.is-submitted .adjectifs-evaluation-teacher-note.is-perfect > p b { color:var(--eval-right-deep) !important; }

/* Footer: amber check list (pause and check), coral for the one main action. */
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer { border-top:1px solid var(--eval-rule); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer > div { padding:18px 20px; border:2px solid color-mix(in srgb, var(--eval-check) 45%, white); border-radius:16px; background:var(--eval-check-tint); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer > div > span { color:var(--eval-check-deep); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer > aside > span { color:var(--eval-muted); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer li input { accent-color:var(--eval-right); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer li input:checked + span { color:var(--eval-right-deep); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer button { box-shadow:0 4px 0 #d9584a; transition:transform .12s ease, box-shadow .12s ease, filter .15s ease; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer button:hover { transform:translateY(-2px); box-shadow:0 6px 0 #d9584a; filter:saturate(1.08); }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer button:active { transform:translateY(2px); box-shadow:0 1px 0 #d9584a; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer button:focus-visible { outline:3px solid var(--eval-ink); outline-offset:3px; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer aside > div button:last-child { border:2px solid var(--eval-chip-line); background:#fff; color:var(--eval-ink); box-shadow:0 3px 0 #e4ddd2; }
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__footer aside > div button:last-child:hover { box-shadow:0 5px 0 #e4ddd2; }

@media (max-width:760px) {
  .french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker { top:6px; margin:0 12px 6px; padding:10px 12px 12px; grid-template-columns:minmax(0,1fr); }
  .french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker > p { grid-auto-flow:column; justify-content:start; align-items:baseline; gap:8px; }
  .french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker ol { grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; }
  .french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker a { min-height:40px; padding:4px; grid-template-columns:minmax(0,1fr); justify-items:center; gap:2px; }
  .french-course.french-adjectifs-course .adjectifs-evaluation--paper .french-eval-tracker a small { font-size:9px; }
  .french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper__exercise::before { left:-8px; }
}
@media (prefers-reduced-motion:reduce) {
  .french-course.french-adjectifs-course .adjectifs-evaluation--paper :is(.adjectifs-evaluation-choice, .french-eval-tracker a, .adjectifs-evaluation-paper__footer button) { transition:none; }
}

/* Let the tracker stick: the page and the paper clip their overflow without becoming scroll boxes. */
.french-course.french-adjectifs-course:has(.adjectifs-evaluation--paper),
.french-course.french-adjectifs-course .adjectifs-evaluation--paper .adjectifs-evaluation-paper { overflow:clip; }
body:has(.french-course .adjectifs-evaluation--paper) { overflow-x:clip; overflow-y:visible; }
