.home-category-head { gap: 20px; flex-wrap: wrap; }
.home-category-head__actions { display: flex; align-items: center; gap: 20px; margin-left: auto; }
.instructions-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 12px 22px; background: var(--brand); color: white; font-weight: 700; border-radius: 8px; text-align: center; }
.instructions-button:hover { background: var(--brand-dark); }
.instruction-book-icon { width: 24px; height: 24px; flex: 0 0 24px; }
.instructions-button .instruction-book-icon { filter: brightness(0) invert(1); }
.instruction-wrap { max-width: 1200px; }
.instruction-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 0; }
.instruction-heading h1 { font-size: 32px; line-height: 1.2; margin: 0; }
.instruction-eyebrow { margin: 0 0 8px; color: var(--brand-dark); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.instruction-total, .instruction-results-count, .instruction-subtitle { color: var(--muted); }
.instruction-subtitle { margin: 12px 0 0; }
.instruction-total { white-space: nowrap; }
.instruction-search { display: flex; align-items: stretch; gap: 12px; padding: 0 0 24px; }
.instruction-search input { flex: 1; min-width: 0; height: 52px; padding: 0 16px; background: white; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); }
.instruction-alphabet { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; border-block: 1px solid var(--line); padding: 16px 0; }
.instruction-alphabet > div { display: flex; flex-wrap: wrap; gap: 3px; }
.instruction-alphabet a, .instruction-alphabet span { min-width: 28px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; }
.instruction-alphabet > a { padding: 0 10px; }
.instruction-alphabet span { color: #a8a3ad; }
.instruction-alphabet a:hover, .instruction-alphabet a[aria-current] { background: var(--brand); color: white; }
.instruction-results-count { font-size: 14px; margin: 24px 0 0; }
.instruction-group { display: grid; grid-template-columns: 64px minmax(0, 1fr); border-bottom: 1px solid var(--line); padding: 16px 0; }
.instruction-group h2 { font-size: 24px; margin: 12px 0; color: var(--brand-dark); }
.instruction-group ul { margin: 0; padding: 0; list-style: none; }
.instruction-row { display: flex; align-items: center; gap: 18px; min-height: 84px; padding: 12px; border-radius: 6px; }
.instruction-row:hover { background: white; }
.instruction-row__text { display: grid; gap: 5px; flex: 1; min-width: 0; }
.instruction-row__text strong { font-size: 18px; overflow-wrap: anywhere; }
.instruction-row__text > span, .instruction-row__count { color: var(--muted); font-size: 14px; }
.instruction-row__arrow { font-size: 24px; color: var(--brand); }
.instruction-empty { padding: 48px 0; }
.instruction-empty--library { text-align: center; padding: 64px 16px; color: var(--muted); }
.instruction-empty--library .instruction-book-icon { width: 40px; height: 40px; margin: 0 auto 20px; opacity: .55; }
.instruction-empty--library h2 { font-size: 20px; font-weight: 400; }
.instruction-back { display: inline-block; color: var(--brand-dark); margin-top: 24px; }
.instruction-provenance { display: flex; flex-wrap: wrap; gap: 12px 32px; font-size: 14px; padding-bottom: 18px; border-bottom: 1px solid var(--line); color: var(--muted); }
.instruction-provenance > span { min-width: 0; overflow-wrap: anywhere; }
.instruction-notice { border-left: 3px solid var(--accent); padding: 4px 0 4px 16px; margin: 24px 0; font-size: 14px; color: var(--muted); }
.instruction-reader-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 32px; align-items: start; }
.instruction-contents { position: sticky; top: 140px; padding: 12px 0; max-height: calc(100dvh - 160px); overflow: auto; }
.instruction-contents h2 { font-size: 16px; margin: 0 0 16px; }
.instruction-contents nav { display: grid; gap: 12px; font-size: 14px; }
.instruction-contents a { color: var(--brand-dark); }
.instruction-contents a:hover { text-decoration: underline; }
.instruction-document { min-width: 0; }
.instruction-text { background: white; padding: 24px 32px; line-height: 1.75; }
.instruction-text section { scroll-margin-top: 160px; }
.instruction-text h2 { font-size: 22px; margin: 0 0 16px; }
.instruction-text section + section { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 32px; }
.instruction-text p { white-space: pre-line; overflow-wrap: anywhere; }
.instruction-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; font-size: 13px; color: var(--muted); }
.instruction-toolbar [role="group"] { display: flex; align-items: center; gap: 8px; }
.instruction-toolbar button { width: 36px; height: 36px; border: 1px solid var(--line); background: white; color: var(--brand-dark); border-radius: 4px; font-size: 22px; }
.instruction-toolbar button:disabled { opacity: .35; cursor: default; }
.instruction-toolbar output { display: block; width: 48px; text-align: center; font-variant-numeric: tabular-nums; }
.instruction-pages-scroll { overflow: auto; max-width: 100%; border: 1px solid var(--line); background: #edf1ef; }
.instruction-pages { width: 100%; }
.instruction-pages figure { margin: 0; padding: 16px; scroll-margin-top: 160px; }
.instruction-pages figcaption { font-size: 12px; color: var(--muted); margin-bottom: 10px; }
.instruction-pages img { width: 100%; height: auto; background: white; }
.instruction-source-note { font-size: 12px; color: var(--muted); margin: 24px 0; }
.instruction-human-group { margin-top: 32px; padding-top: 24px; border-top: 2px solid var(--accent); }
.instruction-human-group h2 { font-size: 18px; }
.instruction-human-group ul { list-style: none; margin: 0; padding: 0; }
.instruction-human-badge { color: #9c3c26 !important; font-weight: 700; }
.instruction-reference-badge { color: var(--brand-dark) !important; font-weight: 700; }
.instruction-sources { border-top: 1px solid var(--line); padding-top: 20px; font-size: 14px; }
.instruction-sources h2 { font-size: 18px; }
.instruction-sources li { margin-bottom: 10px; }
.instruction-sources a { color: var(--brand-dark); text-decoration: underline; overflow-wrap: anywhere; }
.instruction-warning { padding: 16px; border-left: 4px solid #b84632; background: #fff0ea; color: #8b3022; font-weight: 700; }
.instruction-table-scroll { overflow: auto; max-width: 100%; margin: 24px 0; border: 1px solid var(--line); }
.instruction-table-scroll table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.instruction-table-scroll table.instruction-table--wide { min-width: 480px; }
.instruction-table-scroll td { padding: 10px 12px; border: 1px solid var(--line); vertical-align: top; min-width: 70px; }
.instruction-table-scroll td p { margin: 0; }
.instruction-table-scroll tr:first-child { background: var(--surface-soft); }
.instruction-inline-image { margin: 24px 0; }
.instruction-inline-image img { max-width: 100%; height: auto; margin-inline: auto; }
.instruction-list-item { padding-left: 18px; text-indent: -18px; }
.instructions :focus-visible, .instructions-button:focus-visible { outline: 3px solid var(--brand); outline-offset: 4px; }
@media (max-width: 680px) {
  .home-category-head__actions { width: 100%; margin: 0; flex-wrap: wrap; gap: 12px; }
  .home-category-head__actions .instructions-button { width: 100%; order: -1; }
  .instruction-heading { align-items: flex-start; flex-direction: column; gap: 10px; padding: 20px 0; }
  .instruction-heading h1 { font-size: 26px; }
  .instruction-search { gap: 8px; }
  .instruction-search input { font-size: 16px; padding-inline: 12px; }
  .instruction-group { grid-template-columns: 32px minmax(0, 1fr); }
  .instruction-row { padding: 12px 0; gap: 10px; }
  .instruction-row__text strong { font-size: 16px; }
  .instruction-row__count { display: none; }
  .instruction-reader-layout { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .instruction-contents { position: static; border-bottom: 1px solid var(--line); padding-bottom: 20px; max-height: none; overflow: visible; }
  .instruction-contents nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .instruction-toolbar { flex-wrap: wrap; }
  .instruction-pages figure { padding: 6px; }
  .instruction-text { padding: 20px 16px; }
}
