/* Public pilot shares the proof workspace's paper, type and green palette. */
.course {
  --paper: #f7f5ee;
  --surface: #fffefa;
  --ink: #203d35;
  --muted: #46594f;
  --line: #c7cebf;
  --text: #203d35;
  background: var(--paper);
  color: var(--ink);
  font: 1rem/1.65 Arial, Helvetica, sans-serif;
  margin: 0;
  overflow-wrap: anywhere;
}
.course *, .course *::before, .course *::after { box-sizing: border-box; }
.course [hidden] { display: none !important; }
.course a { color: #23513e; text-underline-offset: .19em; }
.course a:hover { text-decoration-thickness: .16em; }
.course :focus-visible { outline: 3px solid #9a4628; outline-offset: 4px; }
.course h1, .course h2, .course h3 {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--ink);
  line-height: 1.14;
  letter-spacing: -.03em;
  margin: .65em 0 .4em;
}
.course h1 { font-size: clamp(2.4rem, 5.5vw, 4.4rem); max-width: 20ch; }
.course h2 { font-size: clamp(1.8rem, 3.7vw, 2.6rem); }
.course h3 { font-size: 1.55rem; }
.course h4 { font: bold 1.08rem/1.35 Arial, sans-serif; margin: 1.4em 0 .6em; }
.course p { max-width: 75ch; margin: .7em 0; }
.course section, .course article, .course h2, .course div[id] { scroll-margin-top: 1rem; }
.mast, .end {
  width: min(80rem, 92%); margin: auto; padding: 1.25rem 0;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 2rem;
}
.mast { border-bottom: 1px solid var(--line); }
.course .wordmark { font: bold 1.65rem/1 Arial, sans-serif; letter-spacing: -.08em; text-decoration: none; }
.course .wordmark { display: inline-flex; align-items: center; gap: .4rem; }
.course .course-intro h1 { margin: .12em 0; }
.course .end { font-size: .9rem; }
.mast nav, .course .local { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; }
.mast nav a, .local a, .end a { padding: .4rem 0; }
.mast nav a[aria-current] { font-weight: bold; }
.course-main { width: min(69rem, 91%); margin: 2.25rem auto 4rem; }
.course-main > section { margin: 2.5rem 0; }
.welcome, .study-links, .strands { display: grid; gap: 1.6rem; align-items: start; }
.welcome { grid-template-columns: 1.25fr 1fr; padding: 1.25rem 0 2rem; }
.strands { grid-template-columns: repeat(3, minmax(0,1fr)); }
.study-links { grid-template-columns: repeat(2, minmax(0,1fr)); }
.starter, .lesson, .group, .course fieldset, #single-card, #study-controls {
  background: var(--surface); padding: clamp(1rem, 2.5vw, 2rem);
  border: 1px solid var(--line); border-radius: .65rem; min-width: 0;
}
.starter { background: #eaf0df; align-self: center; }
.course .lead { font-size: 1.2rem; max-width: 60ch; }
.course .kicker { color: #496241; font-size: .85rem; font-weight: bold; }
.course .display-math { font: 1.5rem/1.6 Georgia, serif; padding: .6em 0; }
.course .primary, .course button {
  display: inline-block; min-height: 2.75rem; padding: .7rem 1rem;
  font: bold .94rem/1.4 Arial, sans-serif; text-decoration: none; cursor: pointer;
  background: #24483e; color: white; border-radius: .4rem; border: 1px solid #24483e;
}
.course button:disabled { opacity: .6; cursor: default; }
.strands section, .study-links > div, .end, .access-note { border-top: 1px solid var(--line); padding-top: 1rem; }
.strands ul { padding-left: 1.35rem; }
.strands li { padding: .25rem 0; }
.course .jump-main { position: absolute; transform: translateY(-140%); padding: .7rem 1rem; background: white; z-index: 2; }
.course .jump-main:focus { transform: translateY(0); }
.course .local { margin: 1.5rem 0; padding: .7rem 0; border-block: 1px solid var(--line); }
.course .lesson, .course .group, .course fieldset, #single-card, #study-controls { margin: 1.15rem 0; }
.course .lesson, .course .group, .course fieldset, .course .prose, #card-list > section { max-width: 57rem; }
.course .reason, .course .context { border-left: .2rem solid #819369; padding-left: 1rem; white-space: pre-line; }
.course details summary { color: #24483e; cursor: pointer; font-weight: 700; padding: .65rem 0; }
.course .flash { border-bottom: 1px solid var(--line); }
.course .flash summary { padding-block: .9rem; }
.course dt { font-weight: 700; }
.course dd { margin: 0 0 1rem; }
.course fieldset { white-space: normal; }
.course legend { padding: 0 .4rem; color: var(--ink); font-weight: bold; }
.course fieldset label, .course .lesson label { display: block; padding: .4rem 0; }
.course textarea, .course input[type=text], .course select {
  max-width: 100%; background: white; color: var(--ink); border: 1px solid #747f70;
  padding: .5rem; border-radius: .3rem; font: inherit;
}
.course textarea { display: block; width: min(100%, 45rem); }
.course input[type=radio] { accent-color: #24483e; }
.course .mark, #scores { font-weight: bold; }
.course #scores a, #single-card button { display: inline-block; margin: .3rem .4rem .3rem 0; }
.course .question + .question { border-top: 1px solid var(--line); margin-top: 1.2rem; }
.course .prose { line-height: 1.65; }
.course .prose svg { max-width: 100%; height: auto; }
.course table { max-width: 100%; }
.course .prose .glance { display: block; overflow-x: auto; }
.course .prose .part-num { display: none; }
.course .prose .part-head { display: block; }
@media (max-width: 48rem) {
  .welcome, .study-links, .strands { grid-template-columns: 1fr; }
  .course-main { margin-top: 1.5rem; }
  .mast nav { gap: 1rem; }
}
@media print {
  .mast, .end, .local, .jump-main, #study-controls, .course button { display: none !important; }
  .course, .course .lesson, .course fieldset { background: white; color: black; }
  .course-main { width: 100%; }
}

.course .lesson details p { white-space: pre-line; }
.course .prose svg.viz { min-width: 0; max-width: 100%; }
.course .prose table.glance { width: 100%; min-width: 0; }
.course .function-pair { display: block; width: min(100%, 20rem); height: auto; }
