:root { color-scheme: light; --bg: #f2f1ec; --paper: #faf9f5; --line: #d5d7ce; --text: #252822; --muted: #62665d; --accent: #97442d; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 14px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: var(--accent); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: #652d1e; }
button, input, select { font: inherit; }
button, select, input { border: 1px solid #bfc3b8; border-radius: 2px; color: var(--text); background: var(--paper); }
button { padding: 7px 12px; cursor: pointer; }
button:hover { background: #e9e8e1; }
button:disabled { opacity: .4; cursor: default; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
input[type=radio] { accent-color: var(--accent); }
.topbar { display: flex; justify-content: space-between; align-items: center; padding: 19px max(24px, calc((100vw - 1280px) / 2)); border-bottom: 1px solid var(--line); gap: 20px; }
.brand { font: 25px Georgia, "Times New Roman", serif; letter-spacing: -.5px; color: var(--text); text-decoration: none; white-space: nowrap; }
.topbar nav { display: flex; gap: 26px; font-size: 12px; }
main { max-width: 1328px; margin: 0 auto; padding: 44px 24px 60px; }
.introduction { max-width: 830px; }
.section-number { margin: 0 0 9px; color: var(--muted); font: 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
h1 { margin: 0 0 16px; font: 39px/1.14 Georgia, "Times New Roman", serif; letter-spacing: -.7px; }
.lede { max-width: 760px; margin: 0 0 16px; font-size: 17px; line-height: 1.55; }
.coverage-note { margin: 0; color: var(--muted); font-size: 12px; max-width: 790px; }
.coverage { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 30px 0; padding: 18px 0; gap: 20px; }
.coverage p { display: flex; flex-direction: column; margin: 0; }
.coverage strong { font: 29px/1.2 Georgia, "Times New Roman", serif; font-variant-numeric: tabular-nums; }
.coverage span { margin-top: 5px; font-size: 11px; color: var(--muted); }
.evidence-coverage { margin: -16px 0 26px; font-size: 11px; color: var(--muted); }
#catalog-controls { border-bottom: 1px solid var(--line); padding-bottom: 24px; }
.search-line { display: flex; align-items: flex-end; gap: 30px; }
.search-field { flex: 1; max-width: 690px; font-size: 12px; }
.search-field input { width: 100%; display: block; margin-top: 7px; padding: 11px 12px; background: #fffefa; font-size: 14px; }
.view-choice { display: flex; flex-wrap: wrap; border: 0; padding: 0 0 10px; margin: 0; gap: 14px; font-size: 12px; }
.view-choice legend { padding: 0; margin: 0 0 9px; color: var(--muted); font-size: 11px; }
.view-choice label { white-space: nowrap; }
.view-choice input { margin: 0 4px 0 0; vertical-align: middle; }
.filter-line { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(140px, 1fr) minmax(140px, 1fr) minmax(125px, .8fr) auto; align-items: end; gap: 16px; margin-top: 18px; }
.filter-line label { font-size: 11px; color: var(--muted); }
.filter-line select { width: 100%; display: block; margin-top: 5px; padding: 8px 30px 8px 9px; font-size: 12px; text-overflow: ellipsis; }
#clear-filters { font-size: 12px; padding: 8px 12px; }
.results-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin: 26px 0 12px; }
h2 { font: 21px/1.3 Georgia, "Times New Roman", serif; margin: 0; }
#result-count { margin: 0; color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.parts-note { margin: 0 0 16px; color: var(--muted); font-size: 12px; }
.table-wrap { width: 100%; }
table { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: left; }
th { padding: 10px 13px; border-top: 1px solid #909789; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; font-weight: 500; letter-spacing: .4px; text-transform: uppercase; }
th:first-child { width: 46%; padding-left: 0; }
th:nth-child(2) { width: 17%; }
th:nth-child(3) { width: 22%; }
th:last-child { width: 15%; }
td { border-bottom: 1px solid var(--line); padding: 17px 13px 18px; vertical-align: top; overflow-wrap: anywhere; }
td:first-child { padding-left: 0; }
.record-title { color: var(--text); text-decoration-color: #a5aa9f; font-size: 15px; font-weight: 550; line-height: 1.4; }
.record-title:hover { color: var(--accent); }
.record-summary { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; max-width: 640px; }
.record-kind { margin: 5px 0 0; font-size: 10px; color: var(--muted); }
.cell-primary { margin: 0; font-size: 12px; }
.cell-secondary { display: block; margin: 5px 0 0; font-size: 11px; color: var(--muted); }
.evidence-label { display: block; font-size: 11px; }
.evidence-label.annotated_map { color: #4d614c; }
.evidence-label.source_image { color: #5c633e; }
.evidence-label.reference_only { color: var(--muted); }
.evidence-source { display: inline-block; margin-top: 7px; font-size: 11px; }
.parts-detail { margin-top: 10px; font-size: 11px; color: var(--muted); }
.parts-detail summary { width: fit-content; cursor: pointer; color: var(--accent); text-underline-offset: 3px; }
.parts-detail ul { margin: 8px 0 0; padding: 0 0 0 17px; }
.parts-detail li { padding: 3px 0; }
.part-number { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.part-extra { color: var(--muted); margin-left: 7px; }
.part-coverage { margin: 8px 0 0; color: var(--muted); font-size: 10px; }
.parts-link { display: block; margin-top: 7px; font-size: 11px; }
.pagination { display: flex; align-items: center; justify-content: flex-end; gap: 20px; margin-top: 20px; font-size: 12px; }
.pagination button { font-size: 12px; }
.empty-state { border-bottom: 1px solid var(--line); padding: 32px 0; }
.empty-state h3 { font: 21px Georgia, serif; margin: 0 0 8px; }
.empty-state p { margin: 0; color: var(--muted); font-size: 13px; }
.load-error { padding: 18px; border: 1px solid var(--accent); color: var(--accent); }
.reading-notes { margin-top: 48px; border-top: 1px solid #909789; padding-top: 20px; }
.reading-notes dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin: 18px 0; }
.reading-notes dt { font-size: 12px; }
.reading-notes dd { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.reading-notes > p { max-width: 840px; color: var(--muted); font-size: 11px; }
footer { display: flex; flex-wrap: wrap; gap: 24px; max-width: 1328px; margin: 0 auto; padding: 20px 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
footer span { margin-right: auto; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 16px; top: -80px; z-index: 5; padding: 10px; background: var(--paper); }
.skip-link:focus { top: 8px; }
.noscript { max-width: 1280px; margin: 20px auto; padding: 15px; }
[hidden] { display: none !important; }
@media (max-width: 900px) {
  .search-line { flex-wrap: wrap; gap: 17px; }
  .search-field { flex-basis: 100%; max-width: none; }
  .view-choice { padding-bottom: 0; }
  .view-choice legend { float: left; margin: 0 14px 0 0; }
  .filter-line { grid-template-columns: 1fr 1fr; gap: 14px; }
  #clear-filters { grid-column: 1/-1; justify-self: start; }
  th:first-child { width: 41%; }
  th:nth-child(2) { width: 18%; }
  th:nth-child(3) { width: 23%; }
  th:last-child { width: 18%; }
  td, th { padding-left: 9px; padding-right: 9px; }
  .reading-notes dl { gap: 20px; }
}
@media (max-width: 600px) {
  .topbar { padding: 16px 18px; flex-wrap: wrap; gap: 14px; }
  .topbar nav { gap: 20px; font-size: 11px; }
  main { padding: 30px 18px 40px; }
  h1 { font-size: 32px; }
  .lede { font-size: 15px; }
  .coverage { grid-template-columns: 1fr 1fr; gap: 20px 15px; padding: 18px 0; margin: 25px 0; }
  .coverage strong { font-size: 26px; }
  .coverage span { font-size: 10px; }
  .results-heading { display: block; }
  #result-count { margin-top: 8px; }
  table, tbody, tr, td { display: block; width: 100%; }
  thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  tr { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; border-top: 1px solid var(--line); padding: 20px 0; }
  tr:last-child { border-bottom: 1px solid var(--line); }
  td { border: 0; padding: 0; }
  td:first-child { grid-column: 1/-1; }
  td:not(:first-child)::before { display: block; content: attr(data-label); font-size: 9px; letter-spacing: .4px; color: var(--muted); text-transform: uppercase; margin-bottom: 4px; }
  td:last-child { grid-column: 1/-1; }
  td:last-child .evidence-label, td:last-child .evidence-source { display: inline; }
  td:last-child .evidence-source { margin: 0 0 0 12px; }
  .record-title { font-size: 16px; }
  .record-summary { font-size: 12px; }
  .pagination { justify-content: space-between; gap: 8px; }
  .pagination button { padding: 7px 9px; font-size: 11px; }
  .reading-notes { margin-top: 36px; }
  .reading-notes dl { grid-template-columns: 1fr; gap: 17px; }
  footer { padding: 18px; gap: 16px; }
  footer span { flex-basis: 100%; }
}

.annotation-scope { margin: -14px 0 26px; max-width: 78ch; color: var(--muted); font-size: 12px; line-height: 1.55; }
