/* Rebuilt lesson card, laid out like the French cards (Saadia, 2026-10-03):
   1. the concept, full width, keywords marked;  2. the drawing (left) and the question on the
   subject's paper (right);  3. the character section: JE N'AI PAS COMPRIS with JE RETIENS.
   Each subject has its own paper for questions and the Lab (French: the lined notebook). */

main.rb-course .rb-concept { container-type: inline-size; display: grid; gap: 22px; padding-bottom: 0; }
main.rb-course .rb-concept > :not(.kid-step-actions):not(.kid-step-watermark) { margin-inline: clamp(18px, 4cqi, 48px); }
main.rb-course .rb-concept__head { padding-top: clamp(22px, 3cqi, 40px); position: relative; z-index: 1; }
main.rb-course .rb-concept__head .kid-step-kicker { display: block; font-size: 12px; font-weight: 900; letter-spacing: .14em; color: var(--rb-dominant); }
main.rb-course .rb-concept__head h1 { margin: 10px 0 0; font-size: clamp(30px, 5cqi, 54px); line-height: 1; letter-spacing: -.035em; text-transform: uppercase; color: #23202a; text-wrap: balance; }
main.rb-course .rb-concept__head h1 em { font-style: normal; color: var(--rb-dominant); }

main.rb-course .rb-stage-head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
main.rb-course .rb-stage-head svg { width: 24px; height: 24px; fill: none; stroke: var(--rb-dominant); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
main.rb-course .rb-stage-head span { font-size: 12px; font-weight: 900; letter-spacing: .14em; color: var(--rb-dominant); }

/* 1 · the concept */
main.rb-course .rb-discover { padding: clamp(20px, 3.4cqi, 36px); border-radius: 26px; background: #fffdf8; border: 1px solid #f3e7da; box-shadow: 0 10px 30px rgba(60, 40, 20, .05); }
main.rb-course .rb-discover__definition { margin: 0; font-size: clamp(22px, 2.9cqi, 30px); line-height: 1.4; font-weight: 800; color: #23202a; text-wrap: pretty; }
main.rb-course .rb-discover__precision { margin: 14px 0 0; font-size: clamp(18px, 2.2cqi, 22px); line-height: 1.5; font-weight: 600; color: #3b3742; }
main.rb-course .rb-discover mark.rb-key { padding: 0 .18em; border-radius: 6px; background: var(--rb-support); color: var(--rb-deep); box-decoration-break: clone; -webkit-box-decoration-break: clone; }
main.rb-course .rb-discover strong.rb-key { color: var(--rb-deep); font-weight: 850; }

/* 2 · the drawing and the question */
main.rb-course .rb-concept__pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; align-items: stretch; }
@container (max-width: 760px) { main.rb-course .rb-concept__pair { grid-template-columns: 1fr; } }
main.rb-course .rb-observe { padding: clamp(18px, 3cqi, 30px); border-radius: 26px; background: #ffffff; border: 1px solid #eee8f6; box-shadow: 0 10px 30px rgba(60, 40, 90, .05); min-width: 0; display: grid; align-content: start; }
main.rb-course .rb-observe .rbv { padding-top: 6px; }
main.rb-course .rb-think { padding: clamp(18px, 3cqi, 30px); border-radius: 26px; min-width: 0; display: grid; align-content: start; gap: 6px; }
main.rb-course .rb-think h2 { margin: 0 0 10px; font-size: clamp(22px, 2.8cqi, 28px); line-height: 1.25; font-weight: 900; letter-spacing: -.015em; color: #23202a; } /* never uppercase: units (mm, cL) must keep their case */
main.rb-course .rb-think__options { display: grid; gap: 0; }
main.rb-course .rb-think__option { display: flex; align-items: center; gap: 14px; min-height: 58px; padding: 10px 6px; border: 0; border-bottom: 1px solid rgba(35, 32, 42, .14); background: transparent; font: inherit; font-size: clamp(18px, 2.2cqi, 21px); font-weight: 750; color: #23202a; text-align: left; cursor: pointer; border-radius: 0; box-shadow: none; }
main.rb-course .rb-think__option i { flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 2px solid #8f889c; background: #ffffff; color: #ffffff; font-style: normal; font-size: 15px; font-weight: 900; transition: transform .15s ease; }
main.rb-course .rb-think__option:hover:not(:disabled) i { border-color: var(--rb-dominant); transform: scale(1.1); }
main.rb-course .rb-think__option:hover:not(:disabled) span { color: var(--rb-deep); }
main.rb-course .rb-think__option.is-right i { border-color: #18a058; background: #18a058; }
main.rb-course .rb-think__option.is-right span { color: #12784a; }
main.rb-course .rb-think__option.is-wrong i { border-color: #e0483d; background: #e0483d; animation: rbv-shake .4s ease; }
main.rb-course .rb-think__option.is-wrong span { color: #b53a31; text-decoration: line-through; text-decoration-thickness: 2px; }
main.rb-course .rb-think__option.is-off span { color: #8f889c; }
/* answered options: no fill, no outline, only the mark and the text colour */
main.rb-course .rb-think__option:disabled, main.rb-course .rb-think__option:disabled:is(.is-right, .is-wrong, .is-off) { background: transparent !important; border-color: rgba(35, 32, 42, .14) !important; box-shadow: none !important; color: inherit !important; cursor: default; }
main.rb-course .rb-think__feedback { margin: 14px 0 0; padding-left: 14px; border-left: 3px solid #5b5663; font-size: 17px; font-weight: 650; line-height: 1.45; color: #3b3742; }
main.rb-course .rb-think.is-right .rb-think__feedback { border-left-color: #18a058; }
main.rb-course .rb-think.is-right .rb-think__feedback strong { color: #12784a; }
main.rb-course .rb-think.is-wrong .rb-think__feedback { border-left-color: #e0483d; }
main.rb-course .rb-think.is-wrong .rb-think__feedback strong { color: #b53a31; }

/* 3 · the character section: JE N'AI PAS COMPRIS + JE RETIENS */
main.rb-course .rb-help { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; gap: 18px; align-items: center; padding: 18px; border-radius: 28px; background: radial-gradient(circle, rgba(140, 120, 200, .18) 1px, transparent 1.5px) 0 0 / 18px 18px, var(--rb-support); border: 1px solid #e7defa; }
@container (max-width: 620px) { main.rb-course .rb-help { grid-template-columns: 1fr; } }
main.rb-course .rb-help__guide { display: grid; justify-items: center; gap: 10px; text-align: center; }
main.rb-course .rb-help__guide img { width: 110px; height: 120px; object-fit: contain; animation: rbv-bob 3.2s ease-in-out infinite; }
main.rb-course .rb-help__guide span { font-size: 14px; font-weight: 900; letter-spacing: .08em; color: var(--rb-deep); }
main.rb-course .rb-help__note { position: relative; padding: clamp(18px, 3cqi, 28px); border-radius: 22px; background: #ffffff; box-shadow: 0 8px 24px rgba(60, 40, 90, .07); }
main.rb-course .rb-help__note::before { content: ''; position: absolute; left: -10px; top: 50%; width: 20px; height: 20px; background: #ffffff; transform: translateY(-50%) rotate(45deg); border-radius: 3px; }
@container (max-width: 620px) { main.rb-course .rb-help__note::before { display: none; } }
main.rb-course .rb-help__note strong { display: block; font-size: 12px; font-weight: 900; letter-spacing: .14em; color: var(--rb-dominant); }
main.rb-course .rb-help__note p { margin: 6px 0 16px; font-size: clamp(17px, 2.1cqi, 20px); line-height: 1.5; font-weight: 650; color: #3b3742; }
main.rb-course .rb-help__note p:last-child { margin-bottom: 0; }
main.rb-course .rb-help__note .rb-help__retain { font-size: clamp(19px, 2.4cqi, 23px); font-weight: 850; color: var(--rb-deep); }
@keyframes rbv-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

/* ---------- subject papers (the question on each card, and the whole Lab) ---------- */
/* maths, option A · cahier à petits carreaux: 5 mm squares, red margin */
main.rb-course[data-rb-paper="carreaux"] :is(.rb-paper, .adjectifs-library-lab__panels) {
  background:
    linear-gradient(90deg, transparent 38px, #f08a8a 38px, #f08a8a 40px, transparent 40px),
    linear-gradient(rgba(70, 120, 200, .22) 1px, transparent 1px) 0 0 / 18px 18px,
    linear-gradient(90deg, rgba(70, 120, 200, .22) 1px, transparent 1px) 0 0 / 18px 18px,
    #ffffff;
  border: 1px solid #dfe8f5;
}
main.rb-course[data-rb-paper="carreaux"] .rb-paper { padding-left: 58px; }
/* maths, option B · papier millimétré: fine orange millimetres, bold centimetres */
main.rb-course[data-rb-paper="millimetre"] :is(.rb-paper, .adjectifs-library-lab__panels) {
  background:
    linear-gradient(rgba(232, 120, 40, .45) 1.5px, transparent 1.5px) 0 0 / 40px 40px,
    linear-gradient(90deg, rgba(232, 120, 40, .45) 1.5px, transparent 1.5px) 0 0 / 40px 40px,
    linear-gradient(rgba(232, 120, 40, .16) 1px, transparent 1px) 0 0 / 8px 8px,
    linear-gradient(90deg, rgba(232, 120, 40, .16) 1px, transparent 1px) 0 0 / 8px 8px,
    #fffaf3;
  border: 1px solid #f6d9bd;
}
/* maths, option C · tableau noir: chalk on a green board, wooden frame */
main.rb-course[data-rb-paper="ardoise"] :is(.rb-paper, .adjectifs-library-lab__panels) {
  background: radial-gradient(ellipse at 30% 20%, rgba(255, 255, 255, .07), transparent 60%), #24493d;
  border: 10px solid #b5794a;
  box-shadow: inset 0 0 40px rgba(0, 0, 0, .35);
  color: #f4f1e8;
}
main.rb-course[data-rb-paper="ardoise"] .rb-paper :is(h2, .rb-think__option, .rb-think__option span, .rb-think__feedback) { color: #f4f1e8; }
main.rb-course[data-rb-paper="ardoise"] .rb-paper .rb-stage-head :is(span, svg) { color: #ffe27a; stroke: #ffe27a; }
main.rb-course[data-rb-paper="ardoise"] .rb-paper .rb-think__option { border-bottom-color: rgba(255, 255, 255, .22); }
main.rb-course[data-rb-paper="ardoise"] .rb-paper .rb-think__option i { background: transparent; border-color: #f4f1e8; }
main.rb-course[data-rb-paper="ardoise"] .rb-paper .rb-think__feedback { border-left-color: #ffe27a; color: #f4f1e8; }
main.rb-course[data-rb-paper="ardoise"] .rb-paper .rb-think__option.is-right span { color: #9ff0bf; }
main.rb-course[data-rb-paper="ardoise"] .rb-paper .rb-think__option.is-wrong span { color: #ffb3ab; }
/* history · archive: aged paper, sepia edges */
main.rb-course[data-rb-paper="archive"] :is(.rb-paper, .adjectifs-library-lab__panels) {
  background: radial-gradient(ellipse at 50% 40%, #fffaf0 0%, #fbf2de 75%, #f4e6c8 100%);
  border: 1px solid #ecd9b0;
  box-shadow: inset 0 0 24px rgba(160, 110, 40, .10);
}
/* geography · topographic map: contour lines on pale blue */
main.rb-course[data-rb-paper="carte"] :is(.rb-paper, .adjectifs-library-lab__panels) {
  background: repeating-radial-gradient(circle at 80% 20%, transparent 0 22px, rgba(47, 115, 217, .14) 22px 23.5px), #f3f8ff;
  border: 1px solid #cfe0f7;
}
/* science · cahier de labo: green engineering grid */
main.rb-course[data-rb-paper="labo"] :is(.rb-paper, .adjectifs-library-lab__panels) {
  background:
    linear-gradient(rgba(15, 188, 83, .18) 1px, transparent 1px) 0 0 / 24px 24px,
    linear-gradient(90deg, rgba(15, 188, 83, .18) 1px, transparent 1px) 0 0 / 24px 24px,
    #f6fdf8;
  border: 1px solid #cdeedb;
}
/* the Lab pages take the subject paper; the chalkboard needs chalk-coloured text */
main.rb-course[data-rb-paper="ardoise"] .adjectifs-library-lab__panels :is(h1, h2, p, span, strong, button, small, b) { color: #f4f1e8 !important; }
main.rb-course[data-rb-paper="ardoise"] .adjectifs-library-lab__panels :is(header > span, .adjectifs-library-lab__question-focus span) { color: #ffe27a !important; }
main.rb-course[data-rb-paper="ardoise"] .adjectifs-library-lab__panels :is(.adjectifs-library-lab__help, .adjectifs-library-lab__feedback) { background: rgba(255, 255, 255, .08) !important; }
main.rb-course[data-rb-paper="ardoise"] .adjectifs-library-lab__panels mark, main.rb-course[data-rb-paper="ardoise"] .adjectifs-library-lab__panels .rb-key { background: rgba(255, 226, 122, .25) !important; color: #ffe27a !important; }
main.rb-course[data-rb-paper="ardoise"] .adjectifs-library-lab__panels::before { background: linear-gradient(90deg, transparent 49.4%, rgba(0, 0, 0, .3) 50%, transparent 50.6%) !important; }
main.rb-course[data-rb-paper="ardoise"] .adjectifs-library-lab__panels :is(.adjectifs-library-lab__options button, .adjectifs-library-lab__help) { background-color: transparent !important; border-color: rgba(255, 255, 255, .22) !important; box-shadow: none !important; }
main.rb-course[data-rb-paper="ardoise"] .adjectifs-library-lab__panels .adjectifs-library-lab__options button i { background: transparent !important; border-color: #f4f1e8 !important; color: #f4f1e8 !important; }

/* ---------- the summary sheet (like the French "Fiche de la leçon") ---------- */
main.rb-course .rb-fiche { container-type: inline-size; overflow: hidden; border-radius: 34px; background: #ffffff; border: 1px solid #eee8f6; box-shadow: 0 16px 40px rgba(60, 40, 90, .06); }
main.rb-course .rb-fiche__head { position: relative; padding: clamp(28px, 5cqi, 56px) clamp(22px, 6cqi, 64px) clamp(22px, 3.5cqi, 36px); border-bottom: 4px solid var(--rb-dominant); background: linear-gradient(180deg, #ffffff, var(--rb-support)); }
main.rb-course .rb-fiche__head span { font-size: 12px; font-weight: 900; letter-spacing: .14em; color: var(--rb-deep); }
main.rb-course .rb-fiche__head h1 { position: relative; z-index: 1; margin: 12px 0 0; font-size: clamp(34px, 6.5cqi, 66px); line-height: .98; letter-spacing: -.04em; text-transform: uppercase; color: #23202a; }
main.rb-course .rb-fiche__head h1 em { display: block; font-style: normal; color: var(--rb-dominant); }
main.rb-course .rb-fiche__head > b { position: absolute; right: clamp(18px, 5cqi, 56px); top: 50%; transform: translateY(-50%); font-size: clamp(90px, 18cqi, 170px); font-weight: 900; color: var(--rb-dominant); opacity: .12; letter-spacing: -.06em; }
main.rb-course .rb-fiche__block { padding: clamp(22px, 4cqi, 40px) clamp(22px, 6cqi, 64px); }
main.rb-course .rb-fiche__block + .rb-fiche__block { border-top: 1px solid #eee8f6; }
main.rb-course .rb-fiche__block > header { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
main.rb-course .rb-fiche__block > header i { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: var(--rb-dominant); color: #ffffff; font-style: normal; font-weight: 900; }
main.rb-course .rb-fiche__block > header small { display: block; font-size: 11px; font-weight: 900; letter-spacing: .14em; color: var(--rb-deep); }
main.rb-course .rb-fiche__block > header h2 { margin: 2px 0 0; font-size: clamp(26px, 4cqi, 38px); letter-spacing: -.03em; text-transform: uppercase; color: #23202a; }
main.rb-course .rb-fiche__rules { list-style: none; margin: 0; padding: 0; display: grid; }
main.rb-course .rb-fiche__rules li { display: grid; grid-template-columns: 40px minmax(0, 1fr) minmax(0, .9fr); gap: 18px; align-items: center; padding: 18px 0; border-top: 1px solid #eee8f6; animation: rbv-rise .5s ease both; animation-delay: calc(var(--i) * 120ms); }
@container (max-width: 680px) { main.rb-course .rb-fiche__rules li { grid-template-columns: 34px minmax(0, 1fr); } main.rb-course .rb-fiche__rules aside { grid-column: 2; } }
main.rb-course .rb-fiche__n { font-size: 14px; font-weight: 900; color: var(--rb-dominant); }
main.rb-course .rb-fiche__rules p { margin: 0; font-size: clamp(18px, 2.4cqi, 22px); line-height: 1.5; font-weight: 650; color: #23202a; }
main.rb-course .rb-fiche__rules mark.rb-key { padding: 0 .16em; border-radius: 5px; background: var(--rb-support); color: #23202a; font-weight: 850; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
main.rb-course .rb-fiche__rules aside { padding: 14px 16px; border-left: 4px solid var(--rb-dominant); border-radius: 0 16px 16px 0; background: #fcfaff; }
main.rb-course .rb-fiche__rules aside small { display: block; font-size: 11px; font-weight: 900; letter-spacing: .12em; color: var(--rb-deep); margin-bottom: 8px; }
main.rb-course .rb-fiche__rules aside div { display: flex; flex-wrap: wrap; gap: 10px 16px; }
main.rb-course .rb-fiche__rules aside span { display: grid; gap: 2px; }
main.rb-course .rb-fiche__rules aside b { padding: 2px 8px; border-radius: 6px; background: #fff3c4; font-size: 19px; font-weight: 900; font-variant-numeric: tabular-nums; color: #23202a; }
main.rb-course .rb-fiche__rules aside em { font-style: normal; font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: var(--rb-deep); text-align: center; }
main.rb-course .rb-fiche__block.is-trap > header i { background: #e0483d; }
main.rb-course .rb-fiche__trap { display: grid; grid-template-columns: 52px 1fr; gap: 18px; padding: 22px 24px; border-left: 5px solid #e0483d; border-radius: 0 22px 22px 0; background: #fff6f4; }
main.rb-course .rb-fiche__trap > b { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 3px solid #e0483d; color: #e0483d; font-size: 24px; font-weight: 900; }
main.rb-course .rb-fiche__trap p { margin: 0; font-size: clamp(18px, 2.4cqi, 22px); line-height: 1.55; font-weight: 650; color: #23202a; }
main.rb-course .rb-fiche__trap s { color: #c0392b; text-decoration-thickness: 2px; background: #ffe3de; border-radius: 4px; padding: 0 .12em; }
main.rb-course .rb-fiche__right { margin-top: 12px !important; padding-top: 12px; border-top: 1px dashed #f3b9b0; font-weight: 750 !important; }
main.rb-course .rb-fiche__right strong { display: block; font-size: 11px; letter-spacing: .14em; color: #18a058; margin-bottom: 4px; }
main.rb-course .rb-fiche__words { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 0; }
main.rb-course .rb-fiche__words div { padding: 14px 16px; border-radius: 18px; background: #fcfaff; border: 1px solid #eee8f6; }
main.rb-course .rb-fiche__words dt { font-size: 18px; font-weight: 900; color: var(--rb-deep); }
main.rb-course .rb-fiche__words dd { margin: 4px 0 0; font-size: 15px; font-weight: 600; line-height: 1.45; color: #3b3742; }
main.rb-course .rb-fiche > .rb-card__nav { padding: 0 clamp(22px, 6cqi, 64px) clamp(22px, 4cqi, 40px); display: flex; justify-content: space-between; gap: 12px; }
main.rb-course .rb-concept .rb-think h2 { text-transform: none !important; }
/* rail and card footer take the subject colour (not the default violet) */
main.rb-course .kid-cards-progress li.is-current button, main.rb-course .kid-lab-progress li.is-current button { border-color: var(--rb-deep) !important; box-shadow: 0 0 0 2px var(--rb-dominant) !important; }
main.rb-course .kid-step-actions button:not(.is-next) span, main.rb-course .kid-step-actions button:not(.is-next) b { color: var(--rb-deep) !important; }

/* "Carte suivante" is a real button: white pill, subject-coloured arrow (Saadia, 2026-10-03) */
main.rb-course .kid-step-actions button.is-next { display: inline-flex !important; align-items: center; gap: 12px; min-height: 52px; padding: 8px 10px 8px 22px !important; border-radius: 18px !important; background: #ffffff !important; border: 0 !important; box-shadow: 0 4px 0 rgba(0, 0, 0, .14), 0 10px 24px rgba(0, 0, 0, .12) !important; color: var(--rb-deep) !important; font-weight: 900 !important; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
main.rb-course .kid-step-actions button.is-next span { color: var(--rb-deep) !important; font-size: 17px; }
main.rb-course .kid-step-actions button.is-next b { display: grid !important; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--rb-dominant) !important; color: #ffffff !important; }
main.rb-course .kid-step-actions button.is-next:hover { transform: translateY(-2px); box-shadow: 0 6px 0 rgba(0, 0, 0, .14), 0 14px 28px rgba(0, 0, 0, .16) !important; }
/* answered options stay clickable: the child can try the other answer */
main.rb-course .rb-think__option.is-off span { color: #6b6475; }
main.rb-course .adjectifs-library-lab__options button { cursor: pointer; }

/* evaluation answer chips always readable (were white on white in History) */
main.rb-course .rbv-eval-order__pool button, main.rb-course .rb-eval-order__pool button, main.rb-course .rb-eval-options .adjectifs-evaluation-choice, main.rb-course .rb-eval-match .adjectifs-evaluation-choice { color: #23202a !important; }
main.rb-course .rb-eval-order__picked li span { color: #23202a; }

/* ---------- the adult guide (like the French guide) ---------- */
main.rb-course .rb-guide2 { container-type: inline-size; overflow: hidden; border-radius: 34px; background: #ffffff; border: 1px solid #eee8f6; box-shadow: 0 16px 40px rgba(60, 40, 90, .06); }
main.rb-course .rb-guide2 small { display: block; font-size: 11px; font-weight: 900; letter-spacing: .14em; color: var(--rb-deep); }
main.rb-course .rb-guide2__head { padding: clamp(28px, 5cqi, 56px) clamp(22px, 6cqi, 64px) clamp(22px, 3.5cqi, 34px); border-bottom: 4px solid var(--rb-dominant); background: linear-gradient(180deg, #ffffff, var(--rb-support)); }
main.rb-course .rb-guide2__head span { font-size: 12px; font-weight: 900; letter-spacing: .14em; color: var(--rb-deep); }
main.rb-course .rb-guide2__head h1 { margin: 12px 0 8px; font-size: clamp(32px, 6cqi, 60px); line-height: 1; letter-spacing: -.04em; text-transform: uppercase; color: #23202a; }
main.rb-course .rb-guide2__head h1 em { display: block; font-style: normal; color: var(--rb-dominant); }
main.rb-course .rb-guide2__head p { margin: 0; font-size: 18px; font-weight: 650; color: #3b3742; }
main.rb-course .rb-guide2__block { display: grid; gap: 18px; padding: clamp(24px, 4.5cqi, 48px) clamp(22px, 6cqi, 64px); border-bottom: 1px solid #eee8f6; }
main.rb-course .rb-guide2__block h2 { margin: 0; font-size: clamp(26px, 4.4cqi, 40px); line-height: 1.05; letter-spacing: -.03em; text-transform: uppercase; color: #23202a; }
main.rb-course .rb-guide2__block h2 em { display: block; font-style: normal; color: var(--rb-dominant); }
main.rb-course .rb-guide2__block > p { margin: 0; font-size: 18px; line-height: 1.55; font-weight: 600; color: #3b3742; }
main.rb-course .rb-guide2__kicker { color: #b4462f !important; }
main.rb-course .rb-guide2__reperes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
main.rb-course .rb-guide2__reperes article { display: grid; gap: 10px; align-content: start; padding: 22px; border-radius: 0 0 22px 22px; border-top: 5px solid var(--rb-dominant); background: #fcfaff; }
main.rb-course .rb-guide2__reperes article.is-tone-1 { border-top-color: #2f73d9; background: #f4f8ff; }
main.rb-course .rb-guide2__reperes article > div { display: flex; flex-wrap: wrap; gap: 12px 18px; }
main.rb-course .rb-guide2__reperes span { display: grid; gap: 2px; }
main.rb-course .rb-guide2__reperes span b { font-size: 24px; font-weight: 900; color: #23202a; border-bottom: 3px solid #23202a; font-variant-numeric: tabular-nums; }
main.rb-course .rb-guide2__reperes span em { font-style: normal; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
main.rb-course .rb-guide2__reperes h3 { margin: 6px 0 0; font-size: 20px; color: #23202a; }
main.rb-course .rb-guide2__reperes p { margin: 0; font-size: 16px; line-height: 1.55; font-weight: 600; color: #3b3742; }
main.rb-course .rb-guide2__reperes mark.rb-key { background: transparent; color: var(--rb-deep); font-weight: 850; padding: 0; }
main.rb-course .rb-guide2__rule, main.rb-course .rb-guide2__confuse { padding: 22px 26px; border-left: 5px solid #ff6a55; background: #fff5f2; }
main.rb-course .rb-guide2__confuse { border-left-color: var(--rb-dominant); background: var(--rb-support); }
main.rb-course .rb-guide2__rule small, main.rb-course .rb-guide2__confuse small { color: #b4462f; margin-bottom: 8px; }
main.rb-course .rb-guide2__rule p, main.rb-course .rb-guide2__confuse p { margin: 0; font-size: clamp(17px, 2.3cqi, 20px); line-height: 1.55; font-weight: 650; color: #23202a; }
main.rb-course .rb-guide2__confuse p + p { margin-top: 10px; }
main.rb-course .rb-guide2__muted { margin-top: 8px !important; font-size: 15px !important; color: #6b6475 !important; }
main.rb-course .rb-guide2 details > summary { cursor: pointer; font-size: 17px; font-weight: 850; color: #23202a; padding: 14px 0; list-style-position: inside; }
main.rb-course .rb-guide2 details[open] > p { margin: 0 0 12px; font-size: 17px; line-height: 1.55; color: #3b3742; }
main.rb-course .rb-guide2__check { border-top: 1px solid #eee8f6; }
main.rb-course .rb-guide2__jalons { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
main.rb-course .rb-guide2__jalons button { width: 100%; display: grid; grid-template-columns: 40px 1fr 20px; gap: 14px; align-items: center; padding: 14px 18px; border-radius: 18px; border: 1px solid #ece4f6; background: #ffffff; text-align: left; font: inherit; cursor: pointer; transition: transform .15s ease, border-color .15s ease; }
main.rb-course .rb-guide2__jalons button:hover { transform: translateY(-2px); border-color: var(--rb-dominant); }
main.rb-course .rb-guide2__jalons button.is-current { border-color: var(--rb-dominant); background: var(--rb-support); }
main.rb-course .rb-guide2__jalons i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; border: 1px solid var(--rb-dominant); color: var(--rb-deep); font-style: normal; font-weight: 900; font-size: 13px; }
main.rb-course .rb-guide2__jalons button.is-current i { background: var(--rb-dominant); color: #ffffff; }
main.rb-course .rb-guide2__jalons span small { font-size: 10px; letter-spacing: .04em; color: #6b6475; }
main.rb-course .rb-guide2__jalons span strong { display: block; margin-top: 3px; font-size: 16px; line-height: 1.3; font-weight: 850; color: #23202a; }
main.rb-course .rb-guide2__jalons b { color: var(--rb-dominant); font-size: 18px; }
main.rb-course .rb-guide2__jalon { padding: clamp(24px, 4.5cqi, 48px) clamp(22px, 6cqi, 64px); background: var(--rb-support); border-bottom: 1px solid #eee8f6; }
main.rb-course .rb-guide2__jalon > header h2 { margin: 10px 0 18px; font-size: clamp(30px, 5.4cqi, 52px); line-height: 1.02; letter-spacing: -.035em; text-transform: uppercase; color: #23202a; }
main.rb-course .rb-guide2__jalon > header aside { padding: 18px 22px; border-left: 5px solid var(--rb-dominant); background: #ffffff; }
main.rb-course .rb-guide2__jalon > header aside p { margin: 6px 0 0; font-size: 19px; font-weight: 700; color: #23202a; }
main.rb-course .rb-guide2__steps { list-style: none; margin: 22px 0 0; padding: 0; display: grid; border-radius: 22px; overflow: hidden; background: #ffffff; }
main.rb-course .rb-guide2__steps > li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 22px 24px; border-bottom: 1px solid #eee8f6; }
main.rb-course .rb-guide2__steps > li.is-help { background: #f6f3ff; }
main.rb-course .rb-guide2__steps > li > i { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 2px solid #ffc9bd; color: #b4462f; font-style: normal; font-weight: 900; }
main.rb-course .rb-guide2__steps small { color: #b4462f; margin-bottom: 8px; }
main.rb-course .rb-guide2__steps p { margin: 0 0 8px; font-size: 17px; line-height: 1.55; font-weight: 600; color: #23202a; }
main.rb-course .rb-guide2__steps aside { margin-top: 10px; padding: 16px 20px; border-left: 4px solid #ff6a55; border-radius: 0 16px 16px 0; background: #fff8ec; }
main.rb-course .rb-guide2__steps aside p { margin: 6px 0 0; font-size: 18px; font-weight: 800; }
main.rb-course .rb-guide2__steps blockquote { margin: 6px 0 10px; padding: 16px 20px; border-left: 4px solid #ff6a55; background: #fff5f2; font-size: clamp(18px, 2.4cqi, 22px); font-weight: 800; line-height: 1.45; color: #23202a; }
main.rb-course .rb-guide2__steps ul { margin: 0; padding-left: 20px; font-size: 17px; font-weight: 650; line-height: 1.8; color: #23202a; }
main.rb-course .rb-guide2__pass { display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: center; margin-top: 16px; padding: 18px 22px; border-radius: 18px; border: 1px solid #bfe6cf; background: #f0fbf4; }
main.rb-course .rb-guide2__pass > b { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 2px solid #18a058; color: #18a058; }
main.rb-course .rb-guide2__pass small { color: #12784a; }
main.rb-course .rb-guide2__pass p { margin: 6px 0 0; font-size: 17px; font-weight: 700; color: #23202a; }
main.rb-course .rb-guide2__jalon > footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; }
main.rb-course .rb-guide2__final { display: grid; gap: 10px; }
main.rb-course .rb-guide2__final details { padding: 0 20px; border-radius: 16px; border: 1px solid #ece4f6; }
main.rb-course .rb-guide2__final summary { display: flex; gap: 14px; align-items: center; list-style: none; }
main.rb-course .rb-guide2__final summary i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #ffe3de; color: #b4462f; font-style: normal; font-size: 12px; font-weight: 900; flex: none; }
main.rb-course .rb-guide2__toolbox { margin: 0; padding: 4px clamp(22px, 6cqi, 64px) 18px; background: #fcfbfe; }
main.rb-course .rb-guide2__toolbox section { margin: 8px 0 18px; }
main.rb-course .rb-guide2__toolbox h3 { margin: 0 0 8px; font-size: 18px; color: var(--rb-deep); }
main.rb-course .rb-guide2__toolbox ol, main.rb-course .rb-guide2__toolbox ul { margin: 0; padding-left: 22px; display: grid; gap: 8px; font-size: 15px; line-height: 1.5; color: #3b3742; }
main.rb-course .rb-guide2__toolbox p { margin: 0; font-size: 15px; line-height: 1.5; color: #3b3742; }

/* geography paper options (2026-10-03): calm backgrounds that keep attention on the question */
/* option A · ciel: a plain soft sky */
main.rb-course[data-rb-paper="ciel"] :is(.rb-paper, .adjectifs-library-lab__panels) { background: linear-gradient(180deg, #f6fbff 0%, #eaf3ff 100%); border: 1px solid #d6e6fb; }
/* option B · quadrillage de carte: a faint latitude and longitude grid */
main.rb-course[data-rb-paper="graticule"] :is(.rb-paper, .adjectifs-library-lab__panels) { background: linear-gradient(rgba(47, 115, 217, .09) 1px, transparent 1px) 0 0 / 56px 56px, linear-gradient(90deg, rgba(47, 115, 217, .09) 1px, transparent 1px) 0 0 / 56px 56px, #f8fbff; border: 1px solid #d6e6fb; }
/* option C · carnet à points: a white dot-grid notebook */
main.rb-course[data-rb-paper="points"] :is(.rb-paper, .adjectifs-library-lab__panels) { background: radial-gradient(circle, rgba(47, 115, 217, .28) 1.2px, transparent 1.6px) 0 0 / 22px 22px, #ffffff; border: 1px solid #dfe8f5; }
