.answer-library { width: min(100%, 1360px); margin-inline: auto; padding: 18px 0 74px; }
.answer-library *, .answer-library *::before, .answer-library *::after { box-sizing: border-box; }
.answer-library__crumb { margin: 0 0 16px; color: var(--edu-system-muted); font-size: 13px; }
.answer-library__crumb ol { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.answer-library__crumb li + li::before { content: '/'; margin-right: 7px; color: #93afc0; }
.answer-library__crumb a { text-underline-offset: 3px; }
.answer-library__intro { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: clamp(32px, 6vw, 88px); padding: clamp(42px, 7vw, 88px) clamp(4px, 2vw, 28px); border-bottom: 1px solid var(--edu-system-rule); }
.answer-library__intro h2, .answer-library__heading h2, .answer-shelf__body h2 { margin: 0; color: var(--edu-system-heading); font-family: var(--edu-system-display); font-size: clamp(38px, 4.3vw, 60px); font-weight: 400; line-height: 1; letter-spacing: -.025em; text-wrap: balance; }
.answer-library__intro p { max-width: 58ch; margin: 18px 0 0; color: var(--edu-system-muted); font-size: 17px; line-height: 1.75; }
.answer-library__evidence { display: grid; align-content: start; margin: 0; border-top: 2px solid var(--edu-system-blue); }
.answer-library__evidence div { display: grid; grid-template-columns: 120px 1fr; gap: 18px; padding: 19px 0; border-bottom: 1px solid var(--edu-system-rule); }
.answer-library__evidence dt { color: var(--edu-system-heading); font-weight: 800; }
.answer-library__evidence dd { margin: 0; color: var(--edu-system-muted); line-height: 1.55; }
.answer-library__section { padding: clamp(48px, 7vw, 92px) clamp(4px, 2vw, 28px); border-bottom: 1px solid var(--edu-system-rule); scroll-margin-top: 130px; }
.answer-directory__intro { max-width: 68ch; margin: -10px 0 26px; color: var(--edu-system-muted); line-height: 1.65; }
.answer-library__heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.answer-library__heading > :is(a, p) { max-width: 330px; margin: 0 0 5px; color: var(--edu-system-blue); font-size: 14px; font-weight: 760; line-height: 1.45; text-underline-offset: 4px; }
.answer-library__kicker { margin: 0 0 10px; color: var(--edu-system-coral); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.answer-shelf-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--edu-system-rule); border-left: 1px solid var(--edu-system-rule); }
.answer-shelf-card { min-height: 176px; padding: 23px; border-right: 1px solid var(--edu-system-rule); border-bottom: 1px solid var(--edu-system-rule); background: var(--edu-system-surface); }
.answer-shelf-card--published { background: linear-gradient(145deg, var(--edu-system-surface) 0%, var(--edu-system-panel) 100%); }
.answer-shelf-card__state { margin: 0 0 20px; color: var(--edu-system-coral); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.answer-shelf-card--published .answer-shelf-card__state { color: var(--edu-system-blue); }
.answer-shelf-card__title { margin: 0; color: var(--edu-system-heading); font-family: var(--edu-system-display); font-size: clamp(25px, 2.2vw, 34px); font-weight: 400; line-height: 1.06; }
.answer-shelf-card__title a { color: inherit; text-decoration-thickness: 1px; text-decoration-color: transparent; text-underline-offset: 4px; }
.answer-shelf-card__title a:hover { text-decoration-color: currentColor; }
.answer-shelf-card > p:last-child { margin: 16px 0 0; color: var(--edu-system-muted); font-size: 13px; line-height: 1.55; }
.answer-library__section--subjects { background: var(--edu-system-panel); }
.answer-subject-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid #a8d1e5; border-left: 1px solid #a8d1e5; }
.answer-subject-card { display: flex; min-height: 174px; flex-direction: column; padding: 21px; border-right: 1px solid #a8d1e5; border-bottom: 1px solid #a8d1e5; color: var(--edu-system-heading); text-decoration: none; }
.answer-subject-card > span { color: var(--edu-system-blue); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.answer-subject-card strong { margin-top: auto; font-family: var(--edu-system-display); font-size: 26px; font-weight: 400; line-height: 1.05; }
.answer-subject-card small { margin-top: 9px; color: var(--edu-system-muted); }
.answer-subject-card--remainder { grid-column: 1 / -1; min-height: 96px; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 16px; }
.answer-subject-card--remainder :is(strong, small) { margin-top: 0; }
.answer-subject-card:hover { color: #fff; background: var(--edu-system-blue); }
.answer-subject-card:hover :is(span, small) { color: #dff2fb; }
.answer-published-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
.answer-published-group { border-top: 2px solid var(--edu-system-blue); }
.answer-published-group > header { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--edu-system-rule); }
.answer-published-group h3 { margin: 0; font-family: var(--edu-system-display); font-size: 30px; font-weight: 400; line-height: 1.08; }
.answer-published-group header span { flex: 0 0 auto; color: var(--edu-system-muted); font-size: 12px; font-weight: 700; }
.answer-published-group ul { margin: 0; padding: 0; list-style: none; }
.answer-published-group li { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--edu-system-rule); }
.answer-published-group li a { color: var(--edu-system-ink); font-weight: 650; line-height: 1.45; text-underline-offset: 3px; }
.answer-published-group time { color: var(--edu-system-muted); font-size: 11px; white-space: nowrap; }

.answer-directory .record-hero { margin-bottom: 0; }
.answer-course-filter { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .7fr) auto; gap: 12px; align-items: end; margin-bottom: 20px; padding: 22px; border-top: 2px solid var(--edu-system-blue); background: var(--edu-system-panel); }
.answer-course-filter label { display: grid; gap: 8px; color: var(--edu-system-heading); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.answer-course-filter :is(input, select, button) { min-height: 48px; border: 1px solid #8bbbd3; border-radius: 0; font: inherit; }
.answer-course-filter :is(input, select) { width: 100%; padding: 10px 13px; color: var(--edu-system-ink); background: var(--edu-system-surface); }
.answer-course-filter button, .answer-course-more { min-height: 48px; padding: 11px 19px; border: 1px solid var(--edu-system-blue); border-radius: 0; color: #fff; background: var(--edu-system-blue); font-weight: 780; cursor: pointer; }
.answer-course-status { margin: 0 0 14px; color: var(--edu-system-muted); font-size: 13px; }
.answer-course-list { border-top: 1px solid var(--edu-system-rule); }
.answer-course-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px; align-items: center; padding: 18px 4px; border-bottom: 1px solid var(--edu-system-rule); }
.answer-course-row.is-filtered-out, .answer-course-row.is-beyond-page { display: none; }
.answer-course-row p { margin: 0 0 4px; color: var(--edu-system-muted); font-size: 12px; }
.answer-course-row__title { margin: 0; font-family: var(--edu-system-display); font-size: clamp(23px, 2.3vw, 31px); line-height: 1.05; }
.answer-course-row__open { display: inline-block; margin-top: 8px; color: var(--edu-system-blue); font-size: 12px; font-weight: 780; letter-spacing: .04em; text-underline-offset: 3px; }
.answer-course-row > span { color: var(--edu-system-coral); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.answer-course-more { display: block; margin: 24px auto 0; }
.answer-course-noscript { padding: 16px; border-left: 4px solid var(--edu-system-coral); background: color-mix(in srgb, var(--edu-system-coral) 14%, var(--edu-system-surface)); }

.answer-shelf__body { max-width: 920px; margin-inline: auto; }
.answer-shelf__status { display: inline-block; margin: 0 0 22px; padding-bottom: 6px; border-bottom: 2px solid var(--edu-system-coral); color: var(--edu-system-coral); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.answer-shelf__status--published { border-color: var(--edu-system-blue); color: var(--edu-system-blue); }
.answer-shelf__body > p:not(.answer-shelf__status) { max-width: 72ch; color: var(--edu-system-muted); font-size: 17px; line-height: 1.75; }
.answer-shelf__answers { margin: 28px 0; padding: 0; border-top: 1px solid var(--edu-system-rule); list-style: none; }
.answer-shelf__answers li { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--edu-system-rule); }
.answer-shelf__answers a { color: var(--edu-system-heading); font-weight: 700; text-underline-offset: 4px; }
.answer-shelf__answers time { color: var(--edu-system-muted); font-size: 12px; }
.answer-shelf__next { display: inline-flex; min-height: 46px; align-items: center; padding: 11px 16px; color: #fff; background: var(--edu-system-blue); font-weight: 780; text-decoration: none; }
.answer-shelf__related { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 920px; margin: 0 auto; border: 1px solid var(--edu-system-rule); border-right: 0; }
.answer-shelf__related a { padding: 18px; border-right: 1px solid var(--edu-system-rule); color: var(--edu-system-heading); font-weight: 700; text-align: center; text-underline-offset: 4px; }

html[data-theme="dark"] .answer-library :is(
  .answer-library__heading > a,
  .answer-library__heading > p,
  .answer-shelf-card--published .answer-shelf-card__state,
  .answer-subject-card > span,
  .answer-course-row__open,
  .answer-shelf__status--published
) { color: #72d1f5; }
html[data-theme="dark"] .answer-library :is(
  .answer-library__kicker,
  .answer-shelf-card__state,
  .answer-course-row > span,
  .answer-shelf__status:not(.answer-shelf__status--published)
) { color: #ff8f79; }

@media (max-width: 960px) {
  .answer-shelf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .answer-subject-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .answer-library__intro { grid-template-columns: 1fr; }
  .answer-course-filter { grid-template-columns: 1fr 1fr; }
  .answer-course-filter button { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
  .answer-library { padding-top: 12px; }
  .answer-library__heading { align-items: start; flex-direction: column; }
  .answer-shelf-grid, .answer-published-groups { grid-template-columns: 1fr; }
  .answer-subject-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .answer-subject-card--remainder { grid-template-columns: 32px minmax(0, 1fr); }
  .answer-subject-card--remainder small { grid-column: 2; }
  .answer-course-filter { grid-template-columns: 1fr; padding: 16px; }
  .answer-course-filter button { grid-column: auto; }
  .answer-course-row { grid-template-columns: 1fr; gap: 10px; }
  .answer-course-row > span { white-space: normal; }
  .answer-shelf__related { grid-template-columns: 1fr; border-bottom: 0; }
  .answer-shelf__related a { border-bottom: 1px solid var(--edu-system-rule); }
}
