.maths-pilot-sidebar.is-espagnol,
.maths-pilot-header[data-course-theme="espagnol"] {
  --subject-dominant: #f6cc24;
  --subject-support: #fff5c8;
  --subject-dominant-text: #29272d;
}

.maths-pilot-sidebar.is-espagnol {
  background: var(--subject-dominant);
  color: var(--subject-dominant-text);
}

.maths-pilot-sidebar.is-espagnol::after {
  background: rgba(255, 255, 255, .24);
}

.maths-pilot-sidebar.is-espagnol nav :is(a, button) {
  color: var(--subject-dominant-text);
}

.maths-pilot-sidebar.is-espagnol nav i {
  background: var(--subject-support);
}

.maths-pilot-sidebar.is-espagnol nav .is-active {
  border-color: rgba(41, 39, 45, .28);
  background: var(--subject-support);
  color: var(--subject-dominant-text);
}

.maths-pilot-sidebar.is-espagnol .maths-pilot-language {
  border-color: rgba(41, 39, 45, .25);
  background: rgba(255, 255, 255, .32);
}

.maths-pilot-sidebar.is-espagnol .maths-pilot-language span.is-active {
  background: #fff;
  color: var(--subject-dominant-text);
}

.maths-pilot-header[data-course-theme="espagnol"] .maths-pilot-topbar > div > span {
  width: fit-content;
  padding: 8px 12px 8px 16px;
  border-left: 6px solid var(--subject-dominant);
  border-radius: 9px 16px 16px 9px;
  background: var(--subject-support);
  color: var(--subject-dominant-text);
}

[data-course-theme="espagnol"][data-course-structure="literal-maths-duplicate"].maths-pilot-course > nav[aria-label="Les cinq étapes de la leçon"] button i {
  background: var(--subject-dominant) !important;
  color: var(--subject-dominant-text) !important;
}

body:has(.maths-pilot-sidebar.is-espagnol) [data-course-theme="espagnol"][data-course-structure="literal-maths-duplicate"].maths-pilot-course > nav[aria-label="Les cinq étapes de la leçon"] button.is-current,
#app:has(.maths-pilot-sidebar.is-espagnol) [data-course-theme="espagnol"][data-course-structure="literal-maths-duplicate"].maths-pilot-course > nav[aria-label="Les cinq étapes de la leçon"] button.is-current,
[data-course-theme="espagnol"][data-course-structure="literal-maths-duplicate"].maths-pilot-course > nav[aria-label="Les cinq étapes de la leçon"] button.is-current {
  background: var(--subject-support) !important;
  color: var(--subject-dominant-text) !important;
}

[data-course-theme="espagnol"][data-course-structure="literal-maths-duplicate"].maths-pilot-course > nav[aria-label="Les cinq étapes de la leçon"] button.is-current i {
  background: var(--subject-dominant) !important;
  color: var(--subject-dominant-text) !important;
}

[data-course-theme="espagnol"][data-spanish-course-02-root] .kid-lesson-welcome__hero {
  background-color: var(--subject-support);
  background-image: radial-gradient(circle, rgba(255, 255, 255, .72) 0 5px, transparent 6px);
  background-size: 42px 42px;
}

[data-course-theme="espagnol"][data-spanish-course-02-root] .kid-lesson-welcome__teacher > span {
  background: var(--subject-dominant);
}

[data-course-theme="espagnol"][data-spanish-course-02-root] :is(
  .kid-lesson-welcome__copy > span,
  .kid-lesson-welcome__goals > span,
  .kid-lesson-welcome__progress header span,
  .kid-step-kicker,
  .kid-step-question span,
  .kid-step-takeaway span,
  .kid-step-lab-copy > span,
  .kid-lab-launch-copy > span,
  .kid-lab-heading > span,
  .kid-lab-answer > span,
  .kid-lab-finish-card > span,
  .kid-cards-heading > span,
  .kid-cards-finish > article > span,
  .family-guide-hero > div > span,
  .family-guide-ready > header > span,
  .family-guide-cheat > header > span,
  .family-guide-session > header > span,
  .family-guide-check > header > span,
  .family-guide-finish > span
) {
  width: fit-content;
  padding: 8px 11px 8px 15px;
  border-left: 5px solid var(--subject-dominant);
  border-radius: 8px 14px 14px 8px;
  background: var(--subject-support);
  color: var(--subject-dominant-text);
}

[data-course-theme="espagnol"][data-spanish-course-02-root] :is(
  .kid-lesson-welcome__copy h1 em,
  .kid-step-copy h1 em,
  .kid-step-lab-copy h1 em,
  .kid-lab-launch-copy h1 em,
  .kid-lab-finish-card h1 em,
  .kid-cards-finish h1 em,
  .kid-summary-heading h1 em,
  .family-guide-hero h1 em,
  .family-guide-finish h2 em
) {
  width: fit-content;
  padding: .04em .11em .1em;
  border-radius: 12px 20px 18px 13px;
  background: var(--subject-dominant);
  color: var(--subject-dominant-text);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

[data-course-theme="espagnol"][data-spanish-course-02-root] :is(
  .kid-lesson-welcome__copy button,
  .kid-step-actions,
  .kid-step-lab-copy button.is-next,
  .kid-lab-launch-copy > button,
  .kid-lab-answer .maths-batch-lab__validate,
  .kid-lab-feedback button,
  .kid-lab-finish-card button.is-next,
  .kid-cards-finish-actions button.is-next,
  .family-guide-actions button:nth-child(2)
) {
  border-color: var(--subject-dominant);
  background: var(--subject-dominant);
  color: var(--subject-dominant-text);
}

[data-course-theme="espagnol"][data-spanish-course-02-root].kid-summary-shell-page :is(
  .kid-summary-heading > div > span,
  .kid-summary-example > div > span,
  .kid-summary-journey > header > span,
  .kid-summary-say span
) {
  width: fit-content;
  padding: 8px 11px 8px 15px;
  border-left: 5px solid var(--subject-dominant);
  border-radius: 8px 14px 14px 8px;
  background: var(--subject-support);
  color: var(--subject-dominant-text);
}

[data-course-theme="espagnol"][data-spanish-course-02-root].kid-summary-shell-page .kid-summary-heading h1 em {
  width: fit-content;
  padding: .04em .11em .1em;
  border-radius: 12px 20px 18px 13px;
  background: var(--subject-dominant);
  color: var(--subject-dominant-text);
}

[data-course-theme="espagnol"][data-spanish-course-02-root].kid-summary-shell-page .kid-summary-journey li > span {
  color: var(--subject-dominant-text);
  text-decoration: underline 5px var(--subject-dominant);
  text-underline-offset: 4px;
}

.spanish2-proof {
  --spanish2-ink: #29272d;
  --spanish2-blue: #2f73d9;
  --spanish2-blue-soft: #e2efff;
  --spanish2-pink: #f35aa5;
  --spanish2-pink-soft: #ffe5f2;
  --spanish2-coral: #fd7666;
  --spanish2-coral-soft: #ffe7e2;
  --spanish2-green: #0fbc53;
  --spanish2-green-soft: #e5f8eb;
  --spanish2-yellow: #f6cc24;
  --spanish2-yellow-soft: #fff5c8;
  box-sizing: border-box;
  display: grid;
  width: min(100%, 900px);
  gap: clamp(20px, 3vw, 34px);
  margin: 0 auto;
  padding: clamp(18px, 3.5vw, 38px);
  border: 2px solid rgba(41, 39, 45, .16);
  border-radius: 38px 48px 34px 44px;
  background: #fff;
  color: var(--spanish2-ink);
}

.kid-summary-example-visual > .spanish2-proof--exchange {
  width: 100%;
  grid-column: 1 / -1;
}

.spanish2-proof *,
.spanish2-build *,
.spanish2-speak-check * {
  box-sizing: border-box;
}

.spanish2-proof figcaption {
  display: grid;
  gap: 7px;
  text-align: center;
}

.spanish2-proof figcaption span {
  color: var(--spanish2-blue);
  font: 900 12px/1 var(--font-display);
  letter-spacing: .12em;
}

.spanish2-proof figcaption strong {
  font: 900 clamp(20px, 2.4vw, 30px)/1.08 var(--font-display);
}

.spanish2-question-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
}

.spanish2-question-compare > span {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border-radius: 22px;
  background: #f2eef4;
  text-align: center;
}

.spanish2-question-compare > span.is-current {
  border: 2px solid var(--spanish2-yellow);
  background: var(--spanish2-yellow-soft);
}

.spanish2-question-compare small {
  color: #625c6b;
  font: 900 10px/1.2 var(--font-display);
  letter-spacing: .08em;
}

.spanish2-question-compare :is(s, strong) {
  min-width: 0;
  font: 900 clamp(17px, 2.4vw, 25px)/1.1 var(--font-display);
  overflow-wrap: anywhere;
}

.spanish2-question-compare > i {
  align-self: center;
  color: var(--spanish2-coral);
  font: 950 28px/1 var(--font-display);
  font-style: normal;
}

.spanish2-question-target {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 52px 12px 18px;
  border-radius: 28px;
  background: var(--spanish2-blue-soft);
  color: var(--spanish2-ink);
}

.spanish2-question-target > b {
  color: var(--spanish2-coral);
  font: 950 clamp(46px, 8vw, 78px)/.8 var(--font-display);
}

.spanish2-question-target > span {
  text-align: center;
  font: 950 clamp(24px, 4vw, 42px)/1 var(--font-display);
}

.spanish2-question-target > span strong {
  text-decoration: underline 8px var(--spanish2-yellow);
  text-underline-offset: -4px;
}

.spanish2-question-target > i {
  position: absolute;
  right: 18px;
  display: grid;
  width: 34px;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: var(--spanish2-pink);
  color: #fff;
  font-style: normal;
}

.spanish2-sentence-frame {
  display: grid;
  grid-template-columns: minmax(130px, .7fr) auto minmax(0, 1.3fr);
  align-items: center;
  gap: clamp(12px, 2vw, 22px);
}

.spanish2-sentence-frame > strong {
  display: grid;
  min-height: 138px;
  place-items: center;
  border: 3px solid var(--spanish2-blue);
  border-radius: 42px 28px 38px 24px;
  background: var(--spanish2-blue-soft);
  font: 950 clamp(28px, 4vw, 44px)/1 var(--font-display);
}

.spanish2-sentence-frame > i {
  color: var(--spanish2-green);
  font: 950 38px/1 var(--font-display);
  font-style: normal;
}

.spanish2-sentence-frame > span {
  display: grid;
  gap: 8px;
}

.spanish2-sentence-frame > span b {
  padding: 10px 14px;
  border-radius: 16px;
  font: 900 clamp(17px, 2.3vw, 24px)/1.1 var(--font-display);
  text-align: center;
}

.spanish2-sentence-frame > span b:nth-child(1) { background: var(--spanish2-green-soft); }
.spanish2-sentence-frame > span b:nth-child(2) { background: var(--spanish2-yellow-soft); }
.spanish2-sentence-frame > span b:nth-child(3) { background: var(--spanish2-coral-soft); }

.spanish2-proof--frame > p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  font: 900 15px/1.2 var(--font-display);
}

.spanish2-proof--frame > p :is(span, strong) {
  padding: 10px 14px;
  border-radius: 15px;
  background: #f2eef4;
}

.spanish2-proof--frame > p strong { background: var(--spanish2-yellow-soft); }
.spanish2-proof--frame > p i { color: var(--spanish2-pink); font-size: 26px; font-style: normal; }

.spanish2-feeling-trio {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(10px, 2vw, 18px);
}

.spanish2-feeling {
  display: grid;
  min-width: 0;
  place-items: center;
  align-content: center;
  gap: 9px;
  padding: 18px 10px;
  border: 2px solid rgba(41, 39, 45, .12);
  border-radius: 42px 34px 40px 30px;
  text-align: center;
}

.spanish2-feeling.is-good { background: var(--spanish2-green-soft); }
.spanish2-feeling.is-okay { background: var(--spanish2-yellow-soft); }
.spanish2-feeling.is-bad { background: var(--spanish2-coral-soft); }

.spanish2-feeling__face {
  position: relative;
  display: block;
  width: clamp(70px, 10vw, 104px);
  aspect-ratio: 1;
  border: 3px solid var(--spanish2-ink);
  border-radius: 48% 52% 46% 54%;
  background: #fff;
}

.spanish2-feeling__face > i {
  position: absolute;
  top: 34%;
  width: 10%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--spanish2-ink);
}

.spanish2-feeling__face > i:first-child { left: 27%; }
.spanish2-feeling__face > i:nth-child(2) { right: 27%; }

.spanish2-feeling__face > b {
  position: absolute;
  left: 31%;
  bottom: 22%;
  width: 38%;
  height: 19%;
  border: 4px solid var(--spanish2-ink);
}

.spanish2-feeling__face > b.is-smile { border-top: 0; border-radius: 0 0 28px 28px; }
.spanish2-feeling__face > b.is-flat { height: 0; border-width: 0 0 4px; }
.spanish2-feeling__face > b.is-sad { bottom: 14%; border-bottom: 0; border-radius: 28px 28px 0 0; }

.spanish2-feeling > strong {
  font: 950 clamp(20px, 3vw, 30px)/1 var(--font-display);
}

.spanish2-feeling > small {
  color: #625c6b;
  font: 800 12px/1.2 var(--font-body);
}

.spanish2-match-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.spanish2-match-person,
.spanish2-match-answer {
  display: grid;
  min-width: 0;
  min-height: 190px;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 18px;
  border-radius: 40px 34px 42px 30px;
}

.spanish2-match-person { background: var(--spanish2-pink-soft); }
.spanish2-match-answer { background: var(--spanish2-green-soft); }

.spanish2-match-person > span {
  position: relative;
  display: block;
  width: 86px;
  aspect-ratio: 1;
  border: 3px solid var(--spanish2-ink);
  border-radius: 50%;
  background: #fff;
}

.spanish2-match-person > span i {
  position: absolute;
  top: 30px;
  width: 8px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--spanish2-ink);
}

.spanish2-match-person > span i:first-child { left: 22px; }
.spanish2-match-person > span i:nth-child(2) { right: 22px; }

.spanish2-match-person > span b {
  position: absolute;
  bottom: 19px;
  left: 27px;
  width: 30px;
  height: 16px;
  border: 4px solid var(--spanish2-ink);
  border-top: 0;
  border-radius: 0 0 28px 28px;
}

.spanish2-match-person > strong,
.spanish2-match-answer > strong {
  font: 950 clamp(24px, 3vw, 34px)/1 var(--font-display);
}

.spanish2-match-person > small,
.spanish2-match-answer > small {
  color: #625c6b;
  font: 800 12px/1.3 var(--font-body);
  text-align: center;
}

.spanish2-match-answer > span {
  font: 900 16px/1 var(--font-display);
}

.spanish2-match-board > i {
  color: var(--spanish2-blue);
  font: 950 40px/1 var(--font-display);
  font-style: normal;
}

.spanish2-turn-path {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.spanish2-turn-path article {
  display: grid;
  min-width: 0;
  min-height: 160px;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 18px;
  border-radius: 46px 34px 40px 30px;
  text-align: center;
}

.spanish2-turn-path article.is-maya { background: var(--spanish2-pink-soft); }
.spanish2-turn-path article.is-leo { background: var(--spanish2-blue-soft); }

.spanish2-turn-path article > i,
.spanish2-exchange-people span > i {
  display: grid;
  width: 48px;
  aspect-ratio: 1;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--spanish2-pink);
  color: #fff;
  font: 950 17px/1 var(--font-display);
  font-style: normal;
}

.spanish2-turn-path article.is-leo > i,
.spanish2-exchange-people span.is-leo > i { background: var(--spanish2-blue); }

.spanish2-turn-path article > span {
  display: grid;
  min-width: 0;
  gap: 8px;
}

.spanish2-turn-path article small {
  font: 900 10px/1 var(--font-display);
  letter-spacing: .08em;
}

.spanish2-turn-path article strong {
  min-width: 0;
  font: 950 clamp(18px, 2.5vw, 28px)/1.1 var(--font-display);
  overflow-wrap: anywhere;
}

.spanish2-turn-path > b {
  padding: 12px 10px;
  border-radius: 16px;
  background: var(--spanish2-yellow);
  font: 950 clamp(15px, 2vw, 21px)/1 var(--font-display);
  text-align: center;
}

.spanish2-exchange-people {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.spanish2-exchange-people > span {
  display: flex;
  align-items: center;
  gap: 9px;
  font: 900 13px/1 var(--font-display);
}

.spanish2-exchange-people > b {
  color: var(--spanish2-green);
  font: 950 34px/1 var(--font-display);
}

.spanish2-exchange-loop {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.spanish2-exchange-loop::after {
  position: absolute;
  inset: 20px;
  z-index: 0;
  border: 3px dashed rgba(15, 188, 83, .45);
  border-radius: 44px;
  content: '';
  pointer-events: none;
}

.spanish2-exchange-loop li {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "step role" "step phrase";
  align-items: center;
  column-gap: 10px;
  row-gap: 5px;
  min-height: 100px;
  padding: 16px;
  border: 3px solid #fff;
  border-radius: 28px 34px 24px 32px;
  background: var(--spanish2-pink-soft);
}

.spanish2-exchange-loop li.is-leo { background: var(--spanish2-blue-soft); }

.spanish2-exchange-loop li > i {
  grid-area: step;
  display: grid;
  width: 40px;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: var(--spanish2-pink);
  color: #fff;
  font: 950 13px/1 var(--font-display);
  font-style: normal;
}

.spanish2-exchange-loop li.is-leo > i { background: var(--spanish2-blue); }

.spanish2-exchange-loop li > span {
  grid-area: role;
  font: 900 10px/1.2 var(--font-display);
  letter-spacing: .07em;
}

.spanish2-exchange-loop li > strong {
  grid-area: phrase;
  min-width: 0;
  font: 950 clamp(17px, 2.1vw, 25px)/1.1 var(--font-display);
  overflow-wrap: anywhere;
}

.spanish2-proof__attempt {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 14px 18px;
  border-left: 6px solid var(--spanish2-coral);
  border-radius: 8px 20px 20px 8px;
  background: var(--spanish2-coral-soft);
}

.spanish2-proof__attempt.is-correct {
  border-left-color: var(--spanish2-green);
  background: var(--spanish2-green-soft);
}

.spanish2-proof__attempt span {
  font: 900 10px/1 var(--font-display);
  letter-spacing: .12em;
}

.spanish2-proof__attempt strong {
  font: 900 19px/1.2 var(--font-display);
}

.spanish2-build ol {
  border-color: var(--spanish2-blue, #2f73d9);
  background: var(--spanish2-blue-soft, #e2efff);
}

.spanish2-speak-check button {
  border-color: #0fbc53;
  background: #e5f8eb;
  color: #29272d;
}

@media (max-width: 760px) {
  .spanish2-proof {
    padding: 18px;
    border-radius: 28px;
  }

  .spanish2-question-compare,
  .spanish2-match-board,
  .spanish2-turn-path {
    grid-template-columns: 1fr;
  }

  .spanish2-question-compare > i,
  .spanish2-match-board > i {
    transform: rotate(90deg);
    justify-self: center;
  }

  .spanish2-turn-path > b {
    transform: rotate(90deg);
    justify-self: center;
  }

  .spanish2-sentence-frame {
    grid-template-columns: 1fr;
  }

  .spanish2-sentence-frame > i {
    justify-self: center;
  }

  .spanish2-feeling-trio,
  .spanish2-exchange-loop {
    grid-template-columns: 1fr;
  }

  .spanish2-feeling {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "face word" "face meaning";
    justify-items: start;
    text-align: left;
  }

  .spanish2-feeling__face { grid-area: face; }
  .spanish2-feeling > strong { grid-area: word; align-self: end; }
  .spanish2-feeling > small { grid-area: meaning; align-self: start; }

  .spanish2-question-target {
    padding-right: 18px;
  }

  .spanish2-question-target > i {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-spanish-course-02-root] *,
  [data-spanish-course-02-root] *::before,
  [data-spanish-course-02-root] *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
