:root {
  --manual-ink: #17191d;
  --manual-paper: #f2f0e9;
  --manual-milk: #fffdf6;
  --manual-red: #ad3131;
  --manual-teal: #297774;
  --manual-yellow: #d3a52f;
  --manual-line: #bdb8aa;
}

.manual-special-issue { background: var(--manual-paper); color: var(--manual-ink); }
.manual-special-issue .site-header { background: var(--manual-ink); color: #fff; border-color: #383b42; }
.manual-special-issue .masthead,
.manual-special-issue .section-nav a { color: #fff; }
.manual-special-issue .section-nav a.active { border-color: var(--manual-yellow); color: #f3c74e; }
.manual-special-issue .archive-button,
.manual-special-issue .icon-button { color: #fff; border-color: #666971; }
.manual-special-issue .submit-button { background: var(--manual-yellow); color: var(--manual-ink); border-color: var(--manual-yellow); }
.manual-special-issue .issue-row { border-color: #454850; }
.manual-special-issue .issue-row b { color: #f3c74e; }
.manual-special-issue main { overflow: hidden; }
.manual-special-issue .section-shell { max-width: 800px; }

.manual-hero { padding-top: 24px; }
.manual-hero-copy { padding: 28px 22px 24px; background: var(--manual-ink); color: #fff; border-top: 8px solid var(--manual-yellow); }
.manual-classification { display: inline-block; margin: 0 0 25px; padding: 7px 9px; border: 1px solid #df7373; color: #ffb4b4; font-size: 11px; font-weight: 800; line-height: 1.5; }
.manual-hero-copy .section-kicker { color: #7fc0bc; }
.manual-hero h1 { margin: 8px 0 18px; max-width: 650px; font-size: clamp(42px, 10vw, 76px); line-height: .96; letter-spacing: 0; }
.manual-deck { max-width: 620px; margin: 0; font-size: 17px; font-weight: 700; line-height: 1.8; }
.manual-warning { margin: 22px 0 0; padding-left: 13px; border-left: 4px solid var(--manual-red); color: #d8d8d6; font-size: 14px; line-height: 1.8; }
.manual-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--manual-ink); border-top: 0; }
.manual-facts div { padding: 15px 17px; min-width: 0; background: var(--manual-milk); border-right: 1px solid var(--manual-ink); border-bottom: 1px solid var(--manual-ink); }
.manual-facts div:nth-child(2n) { border-right: 0; }
.manual-facts div:nth-last-child(-n + 2) { border-bottom: 0; }
.manual-facts dt { margin-bottom: 5px; color: var(--manual-red); font-size: 10px; font-weight: 900; }
.manual-facts dd { margin: 0; font-size: 13px; font-weight: 750; line-height: 1.5; overflow-wrap: anywhere; }

.manual-index,
.manual-section,
.manual-closing { margin-top: 26px; padding-top: 28px; padding-bottom: 30px; background: var(--manual-milk); border: 1px solid var(--manual-line); border-top: 5px solid var(--manual-ink); }
.manual-section-heading { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
.manual-section-heading > span { flex: 0 0 44px; padding-top: 2px; color: var(--manual-red); font: 900 25px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.manual-section-heading h2,
.manual-closing h2 { margin: 3px 0 0; font-size: 30px; line-height: 1.15; letter-spacing: 0; }
.manual-section-heading .section-kicker,
.manual-closing .section-kicker { color: var(--manual-teal); }
.manual-index-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--manual-ink); border-left: 1px solid var(--manual-ink); }
.manual-index-grid a { display: flex; gap: 9px; min-width: 0; padding: 14px 11px; color: inherit; text-decoration: none; border-right: 1px solid var(--manual-ink); border-bottom: 1px solid var(--manual-ink); }
.manual-index-grid b { color: var(--manual-red); font-size: 11px; }
.manual-index-grid span { font-size: 13px; font-weight: 800; overflow-wrap: anywhere; }

.manual-rules { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--manual-line); }
.manual-rules li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 17px 0; border-bottom: 1px solid var(--manual-line); }
.manual-rules li > b { padding-top: 3px; color: var(--manual-red); font: 800 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.manual-rules p { margin: 0; font-size: 14px; line-height: 1.82; }
.manual-rules strong { color: var(--manual-ink); font-weight: 900; }
.manual-dark { background: var(--manual-ink); color: #e9e8e3; border-color: var(--manual-ink); }
.manual-dark .manual-section-heading h2,
.manual-dark .manual-rules strong { color: #fff; }
.manual-dark .manual-rules,
.manual-dark .manual-rules li { border-color: #51545b; }
.manual-dark .section-kicker { color: #7fc0bc; }
.manual-alert { border-top-color: var(--manual-red); }
.manual-alert .manual-rules li > b { color: var(--manual-red); }
.manual-evidence { width: 40.8%; margin: 24px auto 0; }
.manual-evidence .image-placeholder { aspect-ratio: 1.62; min-height: 0; background: #d7d6d2; border-color: #8c8c87; color: #4f5052; }
.manual-evidence figcaption { margin-top: 8px; color: #76746f; font-size: 11px; font-weight: 750; }
.manual-dark .manual-evidence figcaption { color: #a6a8ad; }

.manual-checklist { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--manual-line); }
.manual-checklist li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 13px; align-items: start; padding: 15px 0; border-bottom: 1px solid var(--manual-line); }
.manual-checklist span { width: 34px; height: 34px; display: grid; place-items: center; color: #fff; background: var(--manual-teal); font-size: 11px; font-weight: 900; }
.manual-checklist p { margin: 3px 0 0; font-size: 14px; line-height: 1.75; }
.manual-closing { color: #fff; background: var(--manual-red); border-color: var(--manual-red); }
.manual-closing .section-kicker { color: #ffe39b; }
.manual-closing > p:not(.section-kicker) { margin: 18px 0; font-size: 15px; line-height: 1.85; }
.manual-closing blockquote { margin: 22px 0; padding: 20px 0; color: #fff; border-top: 1px solid #e59191; border-bottom: 1px solid #e59191; font-size: 20px; font-weight: 800; line-height: 1.6; }
.manual-final-rule { margin: 20px 0 24px; padding: 18px; color: var(--manual-ink); background: var(--manual-yellow); }
.manual-final-rule span { display: block; margin-bottom: 9px; font-size: 10px; font-weight: 900; }
.manual-final-rule strong { display: block; font-size: 20px; }
.manual-final-rule p { margin: 8px 0 0; line-height: 1.7; }
.manual-closing .submit-button { background: var(--manual-ink); color: #fff; border-color: var(--manual-ink); }

.manual-special-issue .reader-reactions { margin: 12px 0 0 auto; color: #77746c; }
.manual-dark .reader-reactions { color: #a8aaa9; }
.manual-special-issue footer { background: var(--manual-ink); color: #d9d8d3; }

@media (max-width: 620px) {
  .manual-special-issue .section-shell { margin-right: 12px; margin-left: 12px; padding-right: 17px; padding-left: 17px; }
  .manual-hero { padding-right: 0 !important; padding-left: 0 !important; }
  .manual-hero h1 { font-size: 48px; }
  .manual-hero-copy { padding: 23px 18px 22px; }
  .manual-deck { font-size: 15px; }
  .manual-facts { grid-template-columns: 1fr; }
  .manual-facts div,
  .manual-facts div:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--manual-ink); }
  .manual-facts div:last-child { border-bottom: 0; }
  .manual-index-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manual-section-heading h2,
  .manual-closing h2 { font-size: 26px; }
  .manual-rules li { grid-template-columns: 34px minmax(0, 1fr); gap: 8px; }
  .manual-rules p { font-size: 13px; line-height: 1.8; }
  .manual-closing blockquote { font-size: 17px; }
}

@media print {
  .manual-index,
  .manual-section,
  .manual-closing { break-inside: auto; }
  .manual-rules li,
  .manual-evidence,
  .manual-final-rule { break-inside: avoid; }
}
