.maths-pilot-sidebar.is-histoire {
  background: linear-gradient(180deg, #ba742a 0%, #d79b3b 58%, #9e6024 100%);
}

.maths-pilot-header[data-course-theme='histoire'] .maths-pilot-topbar > div > span {
  display: flex;
  width: max-content;
  min-height: 32px;
  box-sizing: border-box;
  align-items: center;
  padding: 0 14px 0 11px;
  border-left: 6px solid #d79b3b;
  border-radius: 9px 18px 15px 10px;
  background: #fff0d2;
  color: #29272d;
  font: 900 14px/1 var(--font-display);
}

.maths-pilot-header[data-course-theme='histoire'] .maths-pilot-topbar > div > span::before {
  content: none;
}

.maths-pilot-header[data-course-theme='histoire'] .maths-pilot-topbar > div > span i {
  display: block;
  padding: 0 9px;
  background: transparent;
  color: #d79b3b;
  font-style: normal;
}

.maths-pilot-course[data-course-theme='histoire'] .kid-lesson-welcome__hero {
  background-color: color-mix(in srgb, var(--subject-support) 58%, white) !important;
}

.maths-pilot-course[data-course-theme='histoire'] .kid-lesson-welcome__copy h1 strong {
  color: #29272d !important;
}

.maths-pilot-course[data-course-theme='histoire'] .kid-lesson-welcome__teacher > span {
  background: color-mix(in srgb, var(--subject-dominant) 52%, white) !important;
}

.maths-pilot-header[data-course-theme='histoire'] .maths-pilot-points > span b {
  background: linear-gradient(90deg, #d79b3b, #f6cc24);
}

.maths-pilot-course[data-course-theme='histoire'] > nav[aria-label='Architecture de la leçon'] button > i {
  background: var(--subject-dominant) !important;
  color: #fff !important;
}

.maths-pilot-course[data-course-theme='histoire'] > nav[aria-label='Architecture de la leçon'] button.is-current {
  background: var(--subject-support) !important;
  color: #29272d !important;
}

.maths-pilot-course[data-course-theme='histoire'] > nav[aria-label='Architecture de la leçon'] button.is-current > i {
  color: #29272d !important;
}

body:has(.maths-pilot-course[data-course-theme='histoire'].division-flashcards-page),
#app:has(.maths-pilot-course[data-course-theme='histoire'].division-flashcards-page),
.maths-pilot-header[data-course-theme='histoire'].is-flashcards {
  background-color: #fff0d2 !important;
  background-image: none !important;
}

.maths-pilot-course[data-course-theme='histoire'].division-flashcards-page {
  background-color: var(--subject-support) !important;
  background-image: none !important;
}

body:has([data-course-theme='histoire'].is-flashcards) .maths-pilot-course[data-course-theme='histoire'] > nav[aria-label='Architecture de la leçon'] button.is-current {
  background: var(--subject-support) !important;
}

body:has([data-course-theme='histoire'].is-flashcards) .maths-pilot-course[data-course-theme='histoire'] > nav[aria-label='Architecture de la leçon'] button.is-current > i {
  background: var(--subject-dominant) !important;
  color: #29272d !important;
}

.history-summary-example {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.history-summary-example > header {
  max-width: 980px;
}

.history-summary-example > header h2 {
  max-width: 980px;
  font-size: clamp(30px, 4vw, 58px) !important;
  line-height: .98 !important;
}

.history-summary-proof {
  display: block !important;
  width: 100%;
  min-width: 0;
}

.history-summary-proof .history-proof {
  width: 100% !important;
  max-width: none !important;
}

.history-summary-proof .history-proof svg {
  width: 100% !important;
  height: auto !important;
  min-height: 0;
}

.history-proof {
  width: min(100%, 960px);
  margin: 0 auto;
  color: #29272d;
}

.history-proof figcaption {
  display: grid;
  gap: 6px;
  margin-bottom: 16px;
  text-align: left;
}

.history-proof figcaption span,
.history-proof > p {
  color: #6d5a3a;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .06em;
}

.history-proof figcaption strong {
  font-size: clamp(20px, 2.2vw, 30px);
  line-height: 1.1;
}

.history-proof > p {
  max-width: 740px;
  margin: 12px auto 0;
  letter-spacing: 0;
  line-height: 1.45;
  text-align: center;
}

.history-proof svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.history-proof-mobile {
  display: none;
}

.history-proof svg text {
  fill: #29272d;
  font-family: var(--font-bricolage, sans-serif);
  font-weight: 850;
}

.history-proof svg :where(path, rect, circle) {
  vector-effect: non-scaling-stroke;
}

.history-reading-label {
  color: #8d641d;
  font: 950 11px/1 var(--font-display);
  letter-spacing: .12em;
}

.history-reading-steps {
  display: grid;
  width: min(100%, 920px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.history-reading-steps li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  gap: 13px;
  padding: 13px 0;
  border-top: 1px solid #eadbc2;
}

.history-reading-steps li > i {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 11px;
  background: #fff0d2;
  color: #8d641d;
  font: 950 13px/1 var(--font-display);
  font-style: normal;
}

.history-reading-steps li > p {
  padding-top: 3px;
}

.history-copy-highlight {
  padding: 0 .09em;
  border-radius: .25em;
  background: linear-gradient(transparent 48%, #fff0d2 48%);
  color: inherit;
  font: inherit;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.history-copy-highlight.is-date {
  background: linear-gradient(transparent 48%, #fff5c8 48%);
  color: #6f4d10;
}

.maths-pilot-course[data-course-theme='histoire'] .kid-step-copy h1:focus {
  outline: 3px solid #d79b3b;
  outline-offset: 8px;
  border-radius: 8px;
}

.history-desk-grain {
  fill: none;
  stroke: #eadbc2;
  stroke-dasharray: 8 14;
  stroke-width: 2;
}

.history-archive-folder > path:first-child,
.history-synthesis-source > path:first-child {
  fill: #d79b3b;
  stroke: #8d641d;
  stroke-width: 3;
}

.history-archive-folder > path:last-child,
.history-synthesis-source > path:nth-child(2) {
  fill: #fff0d2;
  stroke: #8d641d;
  stroke-width: 2;
}

.history-archive-print rect {
  fill: #fffaf1;
  stroke: #9267ea;
  stroke-width: 3;
}

.history-archive-print.is-selected rect,
.history-date-lens.is-selected circle,
.history-calculation-slip.is-selected path,
.history-diorama.is-selected .history-stage-floor,
.history-view-lens.is-selected circle,
.history-synthesis-source.is-selected path,
.history-synthesis-ribbon.is-selected path:first-child,
.history-synthesis-rail.is-selected path,
.history-synthesis-conclusion.is-selected path {
  stroke: #f35aa5;
  stroke-width: 7;
}

.history-archive-print path,
.history-view-flag {
  fill: #2f73d9;
  stroke: #29272d;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.history-archive-print .history-archive-label {
  fill: #fffaf1;
  stroke: #d79b3b;
  stroke-width: 2;
}

.history-date-lens circle,
.history-view-lens circle {
  fill: rgba(253, 200, 233, .48);
  stroke: #9267ea;
  stroke-width: 7;
}

.history-date-lens path,
.history-view-lens > path {
  fill: none;
  stroke: #9267ea;
  stroke-linecap: round;
  stroke-width: 13;
}

.history-date-lens text {
  font-size: 22px;
}

.history-catalog-slips path {
  fill: #fffaf1;
  stroke: #d79b3b;
  stroke-width: 2;
}

.history-catalog-slips g:nth-child(2) path { fill: #fdc8e9; stroke: #f35aa5; }
.history-catalog-slips g:nth-child(3) path { fill: #e5f8eb; stroke: #0fbc53; }
.history-catalog-slips text:not(.history-svg-kicker) { font-size: 14px; }

.history-celebration-sky,
.history-view-sky {
  fill: #f2ebff;
  stroke: #9267ea;
  stroke-width: 2;
}

.history-celebration-ground,
.history-view-ground {
  fill: #e5f8eb;
  stroke: #0fbc53;
  stroke-width: 2;
}

.history-celebration-building > path:first-child {
  fill: #fffaf1;
  stroke: #d79b3b;
  stroke-width: 3;
}

.history-celebration-building > path:nth-child(2) {
  fill: #fdc8e9;
  stroke: #f35aa5;
  stroke-width: 3;
}

.history-celebration-building > path:not(:first-child):not(:nth-child(2)) {
  fill: none;
  stroke: #d79b3b;
  stroke-width: 5;
}

.history-celebration-banner path {
  fill: #f6cc24;
  stroke: #a77d00;
  stroke-width: 3;
}

.history-celebration-banner text { font-size: 18px; }

.history-celebration-flags > path:first-child,
.history-view-flag {
  fill: none;
  stroke: #29272d;
  stroke-width: 4;
}

.history-celebration-flags > path:last-child {
  fill: #2f73d9;
  stroke: #29272d;
  stroke-width: 3;
}

.history-crowd circle {
  fill: #fdc8e9;
  stroke: #f35aa5;
  stroke-width: 2;
}

.history-crowd path {
  fill: #2f73d9;
  stroke: #29272d;
  stroke-width: 2;
}

.history-crowd circle:nth-of-type(3n),
.history-crowd path:nth-of-type(3n) { fill: #f6cc24; }
.history-crowd circle:nth-of-type(3n + 1),
.history-crowd path:nth-of-type(3n + 1) { fill: #0fbc53; }

.history-reconstruction-stamp rect {
  fill: #fffaf1;
  stroke: #d79b3b;
  stroke-dasharray: 6 4;
  stroke-width: 3;
}

.history-reconstruction-stamp text,
.history-reconstruction-label { font-size: 11px; letter-spacing: .05em; }

.history-ribbon-shadow { fill: #eadbc2; }
.history-century-ribbon { fill: #f6cc24; stroke: #a77d00; stroke-width: 3; }
.history-ribbon-tick { fill: none; stroke: #29272d; stroke-width: 2; }

.history-calendar > path:first-child {
  fill: #fffaf1;
  stroke: #29272d;
  stroke-width: 3;
}

.history-calendar > path:nth-child(2) { fill: #fd7666; stroke: #b84137; stroke-width: 3; }
.history-calendar.is-finish > path:nth-child(2) { fill: #0fbc53; stroke: #087b39; }
.history-calendar > text:first-of-type { font-size: 24px; }
.history-ribbon-labels text { font-size: 13px; }

.history-calculation-slip path {
  fill: #fdc8e9;
  stroke: #f35aa5;
  stroke-width: 3;
}

.history-calculation-slip text { font-size: 20px; }

.history-assembly-floor,
.history-transition-table,
.history-synthesis-table {
  fill: #fff0d2;
  stroke: #d79b3b;
  stroke-width: 3;
}

.history-assembly-benches path {
  fill: none;
  stroke: #9267ea;
  stroke-linecap: round;
  stroke-width: 18;
}

.history-decree-sheet path:first-child,
.history-transition-artifact.is-republic > path:first-child,
.history-press-sheet > path:first-child {
  fill: #fffaf1;
  stroke: #d79b3b;
  stroke-width: 3;
}

.history-decree-sheet > path:not(:first-child) { fill: none; stroke: #eadbc2; stroke-width: 3; }
.history-decree-sheet .history-svg-title { font-size: 19px; }

.history-crown-set-aside > path:first-child,
.history-crown,
.history-throne,
.history-transition-artifact.is-monarchy > path:first-child {
  fill: #f6cc24;
  stroke: #a77d00;
  stroke-width: 3;
}

.history-crown-set-aside > path:nth-child(2),
.history-transition-artifact.is-monarchy > path:nth-child(2) {
  fill: #fd7666;
  stroke: #b84137;
  stroke-width: 3;
}

.history-republic-seal circle {
  fill: #e5f8eb;
  stroke: #0fbc53;
  stroke-width: 3;
}

.history-republic-seal circle:nth-child(2) { fill: none; stroke-dasharray: 4 4; }
.history-republic-seal text { font-size: 13px; }

.history-workbench {
  fill: #d79b3b;
  stroke: #8d641d;
  stroke-width: 3;
}

.history-stage-floor { fill: #fffaf1; stroke: #d79b3b; stroke-width: 2; }
.history-throne { fill: #fd7666; stroke: #b84137; stroke-width: 3; }
.history-family-ribbon { fill: none; stroke: #f35aa5; stroke-width: 6; }
.history-imperial-chair { fill: #9267ea; stroke: #5b3baa; stroke-width: 3; }
.history-eagle { fill: #f6cc24; stroke: #a77d00; stroke-width: 3; }
.history-assembly-desk { fill: #2f73d9; stroke: #174b9b; stroke-width: 3; }
.history-diorama.is-republic circle { fill: #fdc8e9; stroke: #f35aa5; stroke-width: 2; }
.history-ballot { fill: #0fbc53; stroke: #087b39; stroke-width: 3; }
.history-diorama > text:not(.history-svg-small) { font-size: 16px; }

.history-transition-thread,
.history-press-line,
.history-press-brace {
  fill: none;
  stroke: #9267ea;
  stroke-linecap: round;
  stroke-width: 5;
}

.history-standard-pole { fill: none; stroke: #29272d; stroke-width: 5; }
.history-standard { fill: #9267ea; stroke: #5b3baa; stroke-width: 3; }
.history-transition-artifact text:not(.history-svg-small) { font-size: 20px; }
.history-transition-verdict path { fill: #fdc8e9; stroke: #f35aa5; stroke-width: 3; }
.history-transition-verdict text { font-size: 17px; }

.history-press-sheet.is-republic > path:first-child { fill: #e5f8eb; stroke: #0fbc53; }
.history-press-sheet.is-empire > path:first-child { fill: #f2ebff; stroke: #9267ea; }
.history-press-sheet circle { fill: #f6cc24; stroke: #a77d00; stroke-width: 3; }
.history-press-sheet > path:not(:first-child) { fill: none; stroke: #d79b3b; stroke-width: 2; }
.history-press-sheet > text:first-of-type { font-size: 24px; }
.history-press-sheet .history-svg-title { font-size: 20px; }
.history-press-brace + text { font-size: 15px; }

.history-rail-base {
  fill: none;
  stroke: #eadbc2;
  stroke-linecap: round;
  stroke-width: 94;
}

.history-regime-bands path,
.history-rail-legend path,
.history-synthesis-rail path {
  stroke: #fffaf1;
  stroke-width: 4;
}

.history-regime-bands .is-republic,
.history-rail-legend .is-republic,
.history-synthesis-rail .is-republic { fill: #0fbc53; }
.history-regime-bands .is-empire,
.history-rail-legend .is-empire,
.history-synthesis-rail .is-empire { fill: #9267ea; }
.history-regime-bands .is-monarchy,
.history-rail-legend .is-monarchy,
.history-synthesis-rail .is-monarchy { fill: #f6cc24; }
.history-regime-bands .is-selected { stroke: #f35aa5; stroke-width: 8; }
.history-rail-years path { fill: none; stroke: #29272d; stroke-width: 2; }
.history-rail-years text { font-size: 14px; }
.history-rail-labels text { fill: #fff; font-size: 11px; }
.history-rail-labels text:nth-child(3) { fill: #29272d; }
.history-rail-legend text { font-size: 13px; }
.history-centenary-flag > path:first-child { fill: none; stroke: #29272d; stroke-width: 4; }
.history-centenary-flag > path:nth-child(2) { fill: #fdc8e9; stroke: #f35aa5; stroke-width: 3; }

.history-view-print > path:first-child { fill: #fffaf1; stroke: #d79b3b; stroke-width: 3; }
.history-view-branch { fill: none; stroke: #0fbc53; stroke-linecap: round; stroke-width: 6; }
.history-view-train { fill: #f6cc24; stroke: #a77d00; stroke-width: 3; }
.history-view-print circle { fill: #fd7666; stroke: #b84137; stroke-width: 2; }
.history-view-lens text:not(.history-svg-small) { font-size: 18px; }

.history-archive-drawer > path:first-child { fill: #d79b3b; stroke: #8d641d; stroke-width: 3; }
.history-archive-drawer > path:nth-child(2),
.history-archive-drawer > path:nth-child(3) { fill: #fffaf1; stroke: #8d641d; stroke-width: 2; }
.history-archive-drawer > path:nth-child(4) { fill: none; stroke: #8d641d; stroke-width: 7; }
.history-archive-drawer text { font-size: 13px; }

.history-synthesis-ribbon > path:first-child { fill: #f6cc24; stroke: #a77d00; stroke-width: 3; }
.history-synthesis-ribbon > path:not(:first-child) { fill: none; stroke: #29272d; stroke-width: 2; }
.history-synthesis-ribbon text { font-size: 13px; }
.history-synthesis-rail text:not(.history-svg-small) { fill: #fff; font-size: 18px; }
.history-synthesis-rail text:nth-of-type(3) { fill: #29272d; }
.history-synthesis-conclusion path { fill: #fdc8e9; stroke: #f35aa5; stroke-width: 3; }
.history-synthesis-conclusion > text:first-of-type { font-size: 17px; }
.history-synthesis-key text { font-size: 11px; }

.history-svg-kicker {
  font-size: 16px;
  letter-spacing: .05em;
}

.history-svg-title {
  font-size: 28px;
  letter-spacing: -.03em;
}

.history-svg-copy {
  font-size: 17px;
}

.history-svg-small {
  font-size: 12px;
  letter-spacing: .035em;
}

/* Lesson 02 · L'école primaire au temps de Jules Ferry.
   These source-table compositions are lesson-owned and intentionally share no
   geometry or illustration signatures with the approved Lesson 01 proofs. */
.history-school-proof svg {
  filter: drop-shadow(0 14px 20px rgba(109, 90, 58, .08));
}

.history-school-table-grain,
.history-school-floorboards {
  fill: none;
  stroke: #eadbc2;
  stroke-dasharray: 8 14;
  stroke-width: 2;
}

.history-school-source-string,
.history-school-reform-thread,
.history-school-civic-path,
.history-school-path {
  fill: none;
  stroke: #f35aa5;
  stroke-linecap: round;
  stroke-width: 5;
}

.history-school-source-stack > path:first-child,
.history-school-law-ticket path,
.history-school-reform-ticket path,
.history-school-limit-card path {
  fill: #fffaf1;
  stroke: #d79b3b;
  stroke-width: 3;
}

.history-school-source-stack:nth-of-type(2) > path:first-child,
.history-school-reform-ticket.is-1882 path {
  fill: #f2ebff;
  stroke: #9267ea;
}

.history-school-source-stack:nth-of-type(3) > path:first-child,
.history-school-reform-ticket.is-1886 path {
  fill: #e5f8eb;
  stroke: #0fbc53;
}

.history-school-source-stack > circle {
  fill: #fdc8e9;
  stroke: #f35aa5;
  stroke-width: 3;
}

.history-school-year {
  font-size: 28px;
}

.history-school-source-stack > path:not(:first-child) {
  fill: none;
  stroke: #eadbc2;
  stroke-width: 2;
}

.history-school-coin circle {
  fill: #f6cc24;
  stroke: #a77d00;
  stroke-width: 3;
}

.history-school-coin path,
.history-school-ruler-mini {
  fill: none;
  stroke: #fd7666;
  stroke-width: 5;
}

.history-school-coat-mini {
  fill: #2f73d9;
  stroke: #174b9b;
  stroke-width: 3;
}

.history-school-ground,
.history-school-village-ground {
  fill: #e5f8eb;
  stroke: #0fbc53;
  stroke-width: 2;
}

.history-school-existing-class > path:first-child,
.history-schoolhouse-model > path:first-child {
  fill: #fff0d2;
  stroke: #d79b3b;
  stroke-linejoin: round;
  stroke-width: 4;
}

.history-school-existing-class > path:not(:first-child):not(.history-school-date-plaque),
.history-schoolhouse-model > path:not(:first-child):not(.history-school-board):not(.history-school-desks):not(.history-school-bell) {
  fill: #fffaf1;
  stroke: #8d641d;
  stroke-width: 3;
}

.history-school-date-plaque {
  fill: #fdc8e9;
  stroke: #f35aa5;
  stroke-width: 3;
}

.history-school-mini-desks path,
.history-school-desks {
  fill: #d79b3b;
  stroke: #8d641d;
  stroke-width: 3;
}

.history-school-mini-desks circle,
.history-school-absent-children circle,
.history-school-two-children circle,
.history-school-two-desks circle {
  fill: #fdc8e9;
  stroke: #f35aa5;
  stroke-width: 2;
}

.history-school-absent-children path,
.history-school-two-children path,
.history-school-two-desks > path:not(:nth-last-child(-n + 3)) {
  fill: none;
  stroke: #2f73d9;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 5;
}

.history-school-fee-scale > path {
  fill: none;
  stroke: #8d641d;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 7;
}

.history-school-fee-scale > path:nth-last-child(-n + 3) {
  fill: #fff0d2;
  stroke-width: 4;
}

.history-school-fee-scale.is-selected > path,
.history-school-age-rule.is-selected > path:first-child,
.history-school-weekbook.is-selected > path,
.history-school-staff-rack.is-selected > path,
.history-school-common-rule.is-selected,
.history-school-reform-ticket.is-selected path,
.history-school-reform-conclusion.is-selected path {
  stroke: #f35aa5;
  stroke-width: 7;
}

.history-school-public-mini path,
.history-school-townhall path {
  fill: #fffaf1;
  stroke: #2f73d9;
  stroke-width: 3;
}

.history-school-fee-purse > path:first-child {
  fill: #f6cc24;
  stroke: #a77d00;
  stroke-width: 3;
}

.history-school-zero-fee {
  fill: #ffe7e2;
  stroke: #fd7666;
  stroke-width: 4;
}

.history-school-zero-fee-label {
  fill: #8f2f26 !important;
  font-size: 14px;
}

.history-school-age-rule > path:first-child,
.history-school-common-rule {
  fill: #f6cc24;
  stroke: #a77d00;
  stroke-width: 3;
}

.history-school-age-rule > path:not(:first-child) {
  fill: none;
  stroke: #29272d;
  stroke-width: 2;
}

.history-school-age-rule text:not(:last-child) {
  font-size: 18px;
}

.history-school-three-doors path {
  fill: #fffaf1;
  stroke: #9267ea;
  stroke-width: 3;
}

.history-school-three-doors > path {
  fill: none;
  stroke: #0fbc53;
  stroke-width: 5;
}

.history-school-three-doors.is-selected g path {
  fill: #e5f8eb;
  stroke: #0fbc53;
}

.history-school-options-label path {
  fill: #e5f8eb;
  stroke: #0fbc53;
  stroke-width: 3;
}

.history-school-options-label text {
  font-size: 14px;
}

.history-school-weekbook > path {
  fill: #fffaf1;
  stroke: #d79b3b;
  stroke-width: 3;
}

.history-school-weekbook > path:nth-child(3),
.history-school-weekbook > path:nth-child(n + 6) {
  fill: none;
  stroke: #eadbc2;
  stroke-width: 2;
}

.history-school-week-grid path {
  fill: #e5f8eb;
  stroke: #0fbc53;
  stroke-width: 2;
}

.history-school-week-grid path.is-free {
  fill: #fdc8e9;
  stroke: #f35aa5;
  stroke-dasharray: 5 3;
}

.history-school-family-space path {
  fill: #f2ebff;
  stroke: #9267ea;
  stroke-width: 3;
}

.history-school-programme-book path,
.history-school-object-tray > path:first-child,
.history-school-civic-notebook path {
  fill: #fffaf1;
  stroke: #d79b3b;
  stroke-width: 3;
}

.history-school-programme-book path:not(:first-child),
.history-school-object-tray > path:not(:first-child),
.history-school-civic-notebook path:not(:first-child) {
  fill: none;
  stroke: #eadbc2;
  stroke-width: 2;
}

.history-school-transition-arrow {
  fill: none;
  stroke: #9267ea;
  stroke-width: 8;
}

.history-school-staff-rack > path {
  fill: none;
  stroke: #8d641d;
  stroke-linecap: round;
  stroke-width: 6;
}

.history-school-hanger > path:first-child {
  fill: none;
  stroke: #d79b3b;
  stroke-width: 3;
}

.history-school-hanger > path:nth-child(2) {
  fill: #2f73d9;
  stroke: #174b9b;
  stroke-width: 3;
}

.history-school-hanger.is-changed > path:nth-child(2) {
  fill: #e5f8eb;
  stroke: #0fbc53;
}

.history-school-hanger.is-waiting > path:nth-child(2) {
  fill: #f2ebff;
  stroke: #9267ea;
}

.history-school-board {
  fill: #2f73d9;
  stroke: #174b9b;
  stroke-width: 3;
}

.history-school-bell {
  fill: #f6cc24;
  stroke: #a77d00;
  stroke-width: 3;
}

.history-schoolhouse-model .history-school-nameplate {
  fill: #fff5c8;
  stroke: #d79b3b;
  stroke-width: 3;
}

.history-school-object-tray circle {
  fill: #fdc8e9;
  stroke: #f35aa5;
  stroke-width: 2;
}

.history-school-satchel > path:first-child {
  fill: #d79b3b;
  stroke: #8d641d;
  stroke-width: 4;
}

.history-school-satchel > path:not(:first-child) {
  fill: none;
  stroke: #8d641d;
  stroke-width: 5;
}

.history-school-learning-object path,
.history-school-civic-notebook path,
.history-school-citizen-rosette circle,
.history-school-citizen-rosette path {
  fill: #fffaf1;
  stroke: #d79b3b;
  stroke-width: 3;
}

.history-school-learning-object.is-book path { fill: #fdc8e9; stroke: #f35aa5; }
.history-school-learning-object.is-pen path { fill: #f6cc24; stroke: #a77d00; }
.history-school-learning-object.is-abacus > path:first-child { fill: #e5f8eb; stroke: #0fbc53; }
.history-school-learning-object.is-abacus > path:not(:first-child) { fill: none; stroke: #0fbc53; stroke-width: 2; }
.history-school-learning-object.is-abacus circle { fill: #fd7666; stroke: #b84137; stroke-width: 2; }
.history-school-learning-object.is-map path:first-child { fill: #f2ebff; stroke: #9267ea; }
.history-school-learning-object.is-map path:nth-child(2) { fill: #2f73d9; stroke: #174b9b; }
.history-school-citizen-rosette circle { fill: #e5f8eb; stroke: #0fbc53; }
.history-school-citizen-rosette path { fill: #fd7666; stroke: #b84137; }

.history-school-separation {
  fill: none;
  stroke: #eadbc2;
  stroke-dasharray: 9 9;
  stroke-width: 5;
}

.history-school-two-desks > path:nth-last-child(-n + 3) {
  fill: #d79b3b;
  stroke: #8d641d;
  stroke-width: 3;
}

.history-school-progress-token circle {
  fill: #e5f8eb;
  stroke: #0fbc53;
  stroke-width: 3;
}

.history-school-reform-table {
  fill: #fff0d2;
  stroke: #d79b3b;
  stroke-width: 3;
}

.history-school-reform-conclusion path {
  fill: #fdc8e9;
  stroke: #f35aa5;
  stroke-width: 3;
}

.history-school-reform-conclusion > text:first-of-type {
  font-size: 19px;
}

.history-school-limit-card:first-of-type path {
  fill: #f2ebff;
  stroke: #9267ea;
}

.history-school-limit-card:last-of-type path {
  fill: #e5f8eb;
  stroke: #0fbc53;
}

.history-vocabulary-check {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 22px;
}

.history-vocabulary-check > span {
  grid-column: 1 / -1;
  color: #8d641d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.history-vocabulary-check button,
.history-lab-choices button,
.history-workspace fieldset > button {
  border: 2px solid #eadbc2;
  border-radius: 17px;
  background: #fffaf1;
  color: #29272d;
}

.history-vocabulary-check button {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 10px;
  min-height: 76px;
  padding: 13px 15px;
  text-align: left;
}

.history-vocabulary-check button strong {
  font-size: 15px;
}

.history-vocabulary-check button small {
  grid-column: 1;
  line-height: 1.25;
}

.history-vocabulary-check button i {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 20px;
  font-style: normal;
}

.history-vocabulary-check button.is-seen {
  border-color: #0fbc53;
  background: #e5f8eb;
}

.history-evidence-trail {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -18px 0 28px;
  padding: 0;
}

.history-evidence-trail li {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border-radius: 14px;
  background: #e5f8eb;
  font-size: 13px;
  font-weight: 800;
}

.history-evidence-trail i {
  color: #087b39;
  font-style: normal;
}

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

.history-lab-choices button {
  display: flex;
  min-height: 72px;
  align-items: center;
  gap: 13px;
  padding: 13px 16px;
  font-weight: 800;
  line-height: 1.28;
  text-align: left;
}

.history-lab-choices button:first-child:last-child,
.history-lab-choices button:nth-child(3):last-child {
  grid-column: 1 / -1;
}

.history-lab-choices button > i {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  border-radius: 13px;
  background: #fff0d2;
  color: #8d641d;
  font-style: normal;
}

.history-lab-choices button.is-correct {
  border-color: #0fbc53;
  background: #e5f8eb;
}

.history-lab-choices button.is-wrong {
  border-color: #fd7666;
  background: #ffe7e2;
}

.history-workspace {
  display: grid;
  gap: 24px;
  padding-top: 30px;
  border-top: 1px solid #eadbc2;
}

.history-workspace fieldset {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}

.history-workspace legend,
.history-workspace > label > span {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 900;
}

.history-workspace legend > i,
.history-workspace > label > span > i {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  border-radius: 12px;
  background: #f6cc24;
  font-size: 14px;
  font-style: normal;
}

.history-workspace fieldset > button {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 17px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
}

.history-workspace fieldset > button i {
  font-size: 22px;
  font-style: normal;
}

.history-workspace fieldset > button.is-selected {
  border-color: #9267ea;
  background: #f2ebff;
}

.history-workspace textarea {
  width: 100%;
  min-height: 150px;
  resize: vertical;
  padding: 18px;
  border: 2px solid #d79b3b;
  border-radius: 20px;
  background: #fffaf1;
  line-height: 1.5;
}

.history-workspace > label > small {
  display: block;
  margin-top: 8px;
  color: #6d5a3a;
  font-weight: 750;
}

.history-workspace-checks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.history-workspace-checks > span {
  grid-column: 1 / -1;
  color: #8d641d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.history-workspace-checks p {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 13px;
  border-radius: 16px;
  background: #fff0d2;
  font-weight: 800;
}

.history-workspace-checks p.is-ready {
  background: #e5f8eb;
}

.history-workspace-checks p i {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 10px;
  background: #f6cc24;
  font-style: normal;
}

.history-workspace-checks p.is-ready i {
  background: #0fbc53;
  color: #fff;
}

.history-workspace-submit {
  width: max-content;
  min-height: 58px;
  padding: 13px 20px;
  border: 0;
  border-radius: 18px;
  background: #d79b3b;
  color: #29272d;
  font-weight: 900;
}

.history-summary-rule {
  display: grid;
  gap: 10px;
  margin: 28px 0;
  padding: 24px;
  border: 2px solid #d79b3b;
  border-radius: 24px;
  background: #fff0d2;
}

.history-summary-rule span {
  color: #8d641d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.history-summary-rule strong {
  max-width: 900px;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.3;
}

.history-summary-destinations {
  margin-top: 26px;
}

.history-guide-pdf {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 10px;
  width: max-content;
  margin-top: 18px;
  padding: 12px 16px;
  border: 2px solid #eadbc2;
  border-radius: 16px;
  background: #fffaf1;
  color: #6d5a3a;
  text-align: left;
}

.history-guide-pdf > i {
  grid-row: 1 / span 2;
  align-self: center;
  font-style: normal;
}

.history-guide-pdf small {
  grid-column: 2;
}

.history-guide-misconception {
  display: grid;
  gap: 7px;
  margin-top: 16px;
  padding: 16px 18px;
  border-left: 3px solid #fd7666;
  border-radius: 0 16px 16px 0;
  background: #ffe7e2;
}

.history-guide-misconception p {
  margin: 0;
}

.history-guide-sources {
  padding: clamp(30px, 5vw, 64px);
  background: #fff0d2;
}

.history-guide-sources header {
  margin-bottom: 24px;
}

.history-guide-sources header > span {
  color: #8d641d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.history-guide-sources h2 {
  margin: 8px 0 0;
  font-size: clamp(32px, 4vw, 54px);
}

.history-guide-sources ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
}

.history-guide-sources li {
  padding: 18px;
  border: 1px solid #e0c796;
  border-radius: 18px;
  background: #fffaf1;
}

.history-guide-sources li p {
  margin: 8px 0;
  line-height: 1.45;
}

.history-guide-sources li small {
  color: #6d5a3a;
  font-weight: 750;
}

.history-live {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

@media (max-width: 760px) {
  .history-proof figcaption {
    padding-inline: 4px;
  }

  .history-proof figcaption strong {
    font-size: 19px;
  }

  .history-proof {
    min-width: 0;
  }

  .history-proof > p {
    width: 100%;
    text-align: left;
  }

  .history-proof svg {
    display: none;
  }

  .history-proof-mobile {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .history-proof-mobile li {
    display: grid;
    grid-template-columns: minmax(90px, .75fr) minmax(0, 1.5fr);
    gap: 10px;
    align-items: center;
    padding: 11px 12px;
    border: 2px solid #d79b3b;
    border-radius: 14px;
    background: #fff8e8;
  }

  .history-proof-mobile strong,
  .history-proof-mobile span {
    font-size: 13px;
    line-height: 1.3;
  }

  .history-vocabulary-check,
  .history-lab-choices,
  .history-workspace-checks,
  .history-guide-sources ol {
    grid-template-columns: 1fr;
  }

  .history-lab-choices button,
  .history-lab-choices button:first-child:last-child,
  .history-lab-choices button:nth-child(3):last-child,
  .history-workspace-checks > span,
  .history-vocabulary-check > span {
    grid-column: auto;
  }

  .history-evidence-trail {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .history-evidence-trail li {
    flex: 0 0 auto;
  }

  .history-workspace-submit {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .history-proof *,
  .history-evidence-trail * {
    animation: none !important;
    transition: none !important;
  }
}
