:root {
  --fb-ground: #f4f3ea;
  --fb-paper: #ffffff;
  --fb-ink: #312d26;
  --fb-ink-soft: #45463a;
  --fb-mute: #5c5e48;
  --fb-rule: #dcdcc8;
  --fb-rule-firm: #9a9c78;
  --fb-olive: #3f4814;
  --fb-band-ink: #f4f3ea;
  --fb-band-mute: #d8dcb6;
  --fb-tab: #d8dcb6;
  --fb-khaki: #b5ba81;
  --fb-khaki-deep: #7d8440;
  --fb-tint: #e8ead4;
  --fb-accent: #2b3c97;
  --fb-accent-deep: #1c2866;
  --fb-caution: #fff4b8;
  --fb-caution-edge: #b08c00;
  --fb-caution-ink: #7a2e00;
  --fb-focus: #b34700;
  --fb-focus-band: #ffd65a;
  --fb-font-head: 'DIN Alternate', Bahnschrift, 'DIN Condensed', 'Roboto Condensed', 'Arial Narrow', sans-serif;
  --fb-font-text: Verdana, Geneva, 'DejaVu Sans', 'Segoe UI', sans-serif;
  --fb-font-mono: 'Andale Mono', 'Lucida Console', 'DejaVu Sans Mono', monospace;
  --fb-step-0: 15px;
  --fb-step-1: 19.5px;
  --fb-step-2: 25.4px;
  --fb-step-3: 33px;
  --fb-step-4: 42.8px;
  --fb-page: 996px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--fb-ground);
  color: var(--fb-ink);
  font: 15px/1.65 var(--fb-font-text);
  overflow-wrap: break-word;
}
a { color: var(--fb-accent); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--fb-accent-deep); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--fb-focus); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--fb-font-head); font-weight: 700; line-height: 1.18; margin: 0; }
p, ul, ol, dl, dd, blockquote, figure, table { margin: 0; }

.fb-Skip {
  position: absolute; left: 12px; top: -80px; z-index: 20;
  padding: 10px 16px; background: var(--fb-paper); color: var(--fb-accent);
  border: 2px solid var(--fb-accent); font-weight: 700; text-decoration: none;
}
.fb-Skip:focus { top: 12px; }

.fb-Masthead { background: var(--fb-olive); color: var(--fb-band-ink); }
.fb-Masthead :focus-visible { outline-color: var(--fb-focus-band); }
.fb-Strip {
  background: var(--fb-accent); color: var(--fb-band-ink);
  font: 12px/1.5 var(--fb-font-mono);
  padding: 6px 12px; text-align: center;
}
.fb-Plate {
  max-width: var(--fb-page); margin: 0 auto; padding: 18px 16px 14px;
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 18px;
}
.fb-Wordmark {
  font: 700 30px/1.05 var(--fb-font-head); letter-spacing: .1em; text-transform: uppercase;
  margin: 0;
}
.fb-Wordmark a { color: var(--fb-band-ink); text-decoration: none; display: inline-block; padding: 2px 0; }
.fb-Wordmark a:hover { color: var(--fb-band-ink); text-decoration: underline; text-decoration-thickness: 2px; }
.fb-Tagline { margin: 0; font-size: 13px; color: var(--fb-band-mute); }

.fb-Thumbs {
  max-width: var(--fb-page); margin: 0 auto; padding: 0 16px 14px;
  display: flex; flex-wrap: wrap; gap: 6px;
}
.fb-Thumb {
  display: inline-flex; align-items: center; gap: 6px; min-height: 32px;
  padding: 4px 11px; border-radius: 3px;
  background: var(--fb-tab); color: var(--fb-ink); text-decoration: none;
  font: 700 14px/1.2 var(--fb-font-head);
}
.fb-Thumb:hover { color: var(--fb-ink); background: var(--fb-paper); }
.fb-Thumb-no { font: 400 12px/1 var(--fb-font-mono); color: var(--fb-ink-soft); }
.fb-Thumb-count { display: none; }
.fb-Thumb--here, .fb-Thumb--within { background: var(--fb-ground); box-shadow: inset 0 -3px 0 var(--fb-khaki-deep); }

.fb-Main { max-width: var(--fb-page); margin: 0 auto; padding: 22px 16px 48px; }
.fb-Head {
  font: 700 15px/1.3 var(--fb-font-head); letter-spacing: .14em; text-transform: uppercase;
  border-top: 4px solid var(--fb-ink); padding-top: 8px; margin: 0 0 14px;
}
.fb-Head small { font: 400 13px/1 var(--fb-font-mono); letter-spacing: 0; text-transform: none; color: var(--fb-mute); margin-left: 6px; }

.fb-Notice {
  background: var(--fb-paper); border: 2px solid var(--fb-ink);
  box-shadow: 6px 6px 0 var(--fb-khaki);
  padding: 0 18px 18px; margin: 4px 6px 34px 0;
}
.fb-Notice-label {
  display: inline-block; margin: 0 0 14px -18px;
  background: var(--fb-ink); color: var(--fb-paper);
  font: 700 13px/1 var(--fb-font-mono); letter-spacing: .12em; text-transform: uppercase;
  padding: 7px 12px;
}
.fb-Notice-title { font-size: var(--fb-step-2); margin: 0 0 10px; }
.fb-Notice-title a { color: var(--fb-ink); text-decoration-color: var(--fb-khaki-deep); text-decoration-thickness: 3px; }
.fb-Notice-title a:hover { color: var(--fb-accent); }
.fb-Notice-text p { margin: 0 0 .8em; }
.fb-Notice-meta { font: 13px/1.5 var(--fb-font-mono); color: var(--fb-mute); }
.fb-Notice-meta a { display: inline-block; padding: 4px 0; }

.fb-Added { margin: 0 0 34px; }

.fb-Contents { margin: 0 0 34px; }
.fb-Contents-grid { display: grid; grid-template-columns: 1fr; gap: 26px 40px; }
.fb-Chapter-title { font-size: var(--fb-step-1); display: flex; align-items: flex-start; gap: 10px; margin: 0 0 4px; }
.fb-Chapter-title a { color: var(--fb-ink); text-decoration: none; display: inline-flex; gap: 10px; align-items: baseline; padding: 2px 0; }
.fb-Chapter-title a:hover { color: var(--fb-accent); text-decoration: underline; }
.fb-Chapter-no {
  flex: none; display: inline-block; min-width: 28px; padding: 5px 6px; text-align: center;
  background: var(--fb-olive); color: var(--fb-band-ink);
  font: 700 14px/1 var(--fb-font-mono);
}
.fb-Chapter-tally { font: 13px/1.5 var(--fb-font-mono); color: var(--fb-mute); margin: 0 0 6px; }
.fb-Chapter-more { margin: 8px 0 0; font-weight: 700; font-size: 14px; }
.fb-Chapter-more a { display: inline-block; padding: 3px 0; }

.fb-Leaders { list-style: none; padding: 0; }
.fb-Leader {
  display: grid; grid-template-columns: auto minmax(20px, 1fr) auto; align-items: end;
  column-gap: 6px; padding: 3px 0; border-bottom: 1px solid var(--fb-rule);
}
.fb-Leader a, .fb-Leader-now { padding: 3px 0; min-width: 0; }
.fb-Leader-fill { border-bottom: 2px dotted var(--fb-rule-firm); margin-bottom: 9px; }
.fb-Leader-date { font: 13px/1.4 var(--fb-font-mono); color: var(--fb-mute); padding-bottom: 4px; white-space: nowrap; }
.fb-Leader-note { grid-column: 1 / -1; font-size: 13px; color: var(--fb-mute); margin: -2px 0 3px; }
.fb-Leader--here { font-weight: 700; }

.fb-Cited { margin: 0 0 12px; }
.fb-Cited-note { color: var(--fb-mute); font-size: 14px; margin: -6px 0 12px; }
.fb-Chart { width: 100%; border-collapse: collapse; background: var(--fb-paper); border: 1px solid var(--fb-rule-firm); }
.fb-Chart th {
  text-align: left; font: 400 12px/1.3 var(--fb-font-mono); letter-spacing: .08em;
  text-transform: uppercase; color: var(--fb-ink); background: var(--fb-tint);
  padding: 8px 10px; border-bottom: 2px solid var(--fb-ink);
}
.fb-Chart td { padding: 8px 10px; border-bottom: 1px solid var(--fb-rule); vertical-align: top; }
.fb-Chart tr:last-child td { border-bottom: 0; }
.fb-Chart-no { font: 700 14px/1.6 var(--fb-font-mono); color: var(--fb-olive); width: 3em; }
.fb-Chart-sec { font-size: 13px; color: var(--fb-mute); }
.fb-Chart td a { display: inline-block; padding: 2px 0; }

.fb-Procedure { margin: 0 auto; max-width: 46rem; }
.fb-Procedure-head { margin: 0 0 22px; }
.fb-Procedure-section { margin: 0 0 10px; font: 13px/1.4 var(--fb-font-mono); text-transform: uppercase; letter-spacing: .08em; }
.fb-Procedure-section a { color: var(--fb-ink); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; padding: 2px 0; }
.fb-Procedure-section a:hover { color: var(--fb-accent); text-decoration: underline; }
.fb-Procedure-title { font-size: var(--fb-step-2); margin: 0 0 12px; }
.fb-Standfirst { font-size: 17px; line-height: 1.55; color: var(--fb-ink-soft); margin: 0 0 16px; }
.fb-Facts {
  display: flex; flex-wrap: wrap; gap: 6px 26px;
  border-top: 2px solid var(--fb-ink); border-bottom: 1px solid var(--fb-rule-firm);
  padding: 9px 0; margin: 0 0 16px;
}
.fb-Facts dt { font: 12px/1.4 var(--fb-font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--fb-mute); }
.fb-Facts dd { font-size: 14px; }
.fb-Onpage { background: var(--fb-tint); padding: 10px 14px 8px; border-left: 5px solid var(--fb-khaki-deep); }
.fb-Onpage-title { font: 700 12px/1.4 var(--fb-font-mono); letter-spacing: .1em; text-transform: uppercase; margin: 0 0 4px; }
.fb-Onpage a { display: flex; gap: 8px; padding: 3px 0; font-size: 14px; }
.fb-Onpage-no { font-family: var(--fb-font-mono); color: var(--fb-mute); min-width: 1.5em; }

.fb-Prose { font-size: 15px; }
.fb-Prose > * + * { margin-top: 1.05em; }
.fb-Prose h2 {
  font-size: 21px; margin-top: 1.9em; padding: 7px 12px;
  background: var(--fb-tint); border-left: 6px solid var(--fb-olive);
  scroll-margin-top: 12px;
}
.fb-Prose h3 { font-size: 18px; margin-top: 1.6em; padding-bottom: 3px; border-bottom: 2px solid var(--fb-ink); }
.fb-Prose h4 { font-size: 16px; margin-top: 1.4em; text-transform: uppercase; letter-spacing: .05em; }
.fb-Prose h2 + *, .fb-Prose h3 + *, .fb-Prose h4 + * { margin-top: .75em; }
.fb-Prose ul { padding-left: 1.3em; }
.fb-Prose li + li { margin-top: .4em; }
.fb-Prose li > ul, .fb-Prose li > ol { margin-top: .4em; }

.fb-Prose ol {
  list-style: none; counter-reset: step; padding: 4px 16px;
  background: var(--fb-paper); border: 1px solid var(--fb-rule-firm);
}
.fb-Prose ol > li { counter-increment: step; position: relative; padding: 11px 0 11px 44px; min-height: 52px; }
.fb-Prose ol > li + li { margin-top: 0; border-top: 1px dashed var(--fb-rule-firm); }
.fb-Prose ol > li::before {
  content: counter(step); position: absolute; left: 0; top: 10px;
  width: 30px; height: 30px; line-height: 30px; text-align: center;
  background: var(--fb-olive); color: var(--fb-band-ink);
  font: 700 15px/30px var(--fb-font-head);
}

.fb-Prose ul.fb-Kit {
  list-style: none; padding: 14px 16px; background: var(--fb-paper);
  border: 2px dashed var(--fb-rule-firm);
}
.fb-Prose ul.fb-Kit > li { position: relative; padding-left: 28px; break-inside: avoid; }
.fb-Prose ul.fb-Kit > li::before {
  content: ""; position: absolute; left: 2px; top: .3em;
  width: 14px; height: 14px; border: 2px solid var(--fb-ink); background: var(--fb-paper);
}

.fb-Prose blockquote {
  padding: 12px 16px; background: var(--fb-tint); border-left: 5px solid var(--fb-khaki-deep);
  color: var(--fb-ink-soft);
}
.fb-Prose blockquote > * + * { margin-top: .8em; }
.fb-Prose blockquote.fb-Caution {
  background: var(--fb-caution); color: var(--fb-ink);
  border: 2px solid var(--fb-caution-edge); border-left-width: 8px;
}
.fb-Prose blockquote.fb-Caution strong:first-child { color: var(--fb-caution-ink); text-transform: uppercase; letter-spacing: .06em; font-family: var(--fb-font-head); }
.fb-Prose .fb-Caution-sec {
  background: var(--fb-caution); border: 2px solid var(--fb-caution-edge);
  padding: 2px 16px 16px; margin-top: 1.9em;
}
.fb-Prose .fb-Caution-sec > * + * { margin-top: 1em; }
.fb-Prose .fb-Caution-sec h2 {
  background: none; border-left: 0; padding: 10px 0 6px; margin-top: 0;
  color: var(--fb-caution-ink); border-bottom: 2px solid var(--fb-caution-edge);
}
.fb-Prose hr { border: 0; border-top: 2px dashed var(--fb-rule-firm); }
.fb-Prose code { font: .92em var(--fb-font-mono); background: var(--fb-tint); padding: 1px 4px; white-space: pre-wrap; }
.fb-Prose pre { overflow-x: auto; background: var(--fb-tint); padding: 12px; }
.fb-Prose pre code { background: none; padding: 0; }
.fb-Table-wrap { overflow-x: auto; }
.fb-Prose table { border-collapse: collapse; width: 100%; font-size: 13px; background: var(--fb-paper); }
.fb-Prose th, .fb-Prose td { text-align: left; vertical-align: top; padding: 6px 7px; border: 1px solid var(--fb-rule-firm); }
.fb-Prose th { background: var(--fb-tint); font-family: var(--fb-font-head); }
.fb-Intro { max-width: 46rem; margin: 0 0 30px; }

.fb-Xrefs { display: grid; grid-template-columns: 1fr; align-items: start; gap: 18px; max-width: 46rem; margin: 36px auto 0; }
.fb-Xref { background: var(--fb-paper); border: 1px solid var(--fb-rule-firm); border-top: 5px solid var(--fb-olive); padding: 12px 16px 14px; }
.fb-Xref-title { font: 700 14px/1.3 var(--fb-font-head); letter-spacing: .12em; text-transform: uppercase; margin: 0 0 8px; }
.fb-Xref-list { list-style: none; padding: 0; }
.fb-Xref-list li { padding: 2px 0; }
.fb-Xref-list li + li { border-top: 1px solid var(--fb-rule); }
.fb-Xref-list a { display: inline-block; padding: 4px 0; }
.fb-Budget { background: var(--fb-paper); border: 2px solid var(--fb-ink); box-shadow: 5px 5px 0 var(--fb-khaki); padding: 0 16px 14px; }
.fb-Budget-label {
  display: inline-block; margin: 0 0 10px -16px; padding: 6px 10px;
  background: var(--fb-ink); color: var(--fb-paper);
  font: 700 12px/1 var(--fb-font-mono); letter-spacing: .12em; text-transform: uppercase;
}
.fb-Budget-title { font: 700 18px/1.3 var(--fb-font-head); margin: 0 0 6px; }
.fb-Budget-title a { display: inline-block; padding: 2px 0; }
.fb-Budget-note { font-size: 14px; color: var(--fb-ink-soft); }

.fb-Divider {
  background: var(--fb-olive); color: var(--fb-band-ink);
  padding: 18px 18px 20px; margin: 0 0 26px; border-radius: 0 14px 0 0;
}
.fb-Divider-no { font: 13px/1.4 var(--fb-font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--fb-band-mute); margin: 0 0 6px; }
.fb-Divider-title { font-size: var(--fb-step-2); margin: 0 0 8px; }
.fb-Divider-stand { font-size: 16px; margin: 0 0 8px; max-width: 44rem; }
.fb-Divider-tally { font: 13px/1.4 var(--fb-font-mono); color: var(--fb-band-mute); }
.fb-Divider-tally strong { color: var(--fb-band-ink); }
.fb-Year { margin: 0 0 28px; max-width: 46rem; }
.fb-Year .fb-Head { font-size: 17px; }

.fb-Sheet { max-width: 46rem; margin: 0 auto; }
.fb-Lost { max-width: 46rem; margin: 34px auto 0; }

.fb-Colophon { background: var(--fb-olive); color: var(--fb-band-ink); font-size: 14px; }
.fb-Colophon :focus-visible { outline-color: var(--fb-focus-band); }
.fb-Colophon a { color: var(--fb-band-ink); display: inline-block; padding: 3px 0; margin-right: 14px; }
.fb-Colophon a:hover { color: var(--fb-band-ink); text-decoration-thickness: 2px; }
.fb-Colophon { padding: 22px 16px 28px; }
.fb-Colophon-card { width: 100%; max-width: calc(var(--fb-page) - 32px); margin: 0 auto; border-collapse: collapse; }
.fb-Colophon-card th {
  text-align: left; vertical-align: top; width: 6.5em; padding: 10px 14px 10px 0;
  font: 400 12px/1.8 var(--fb-font-mono); letter-spacing: .1em; text-transform: uppercase;
  color: var(--fb-band-mute);
}
.fb-Colophon-card td { padding: 10px 0; line-height: 1.6; max-width: 44rem; }
.fb-Colophon-card tr + tr th, .fb-Colophon-card tr + tr td { border-top: 1px solid var(--fb-khaki-deep); }

@media (min-width: 600px) {
  .fb-Contents-grid { grid-template-columns: 1fr 1fr; }
  .fb-Xrefs { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
  .fb-Prose ul.fb-Kit { columns: 2; column-gap: 28px; }
  .fb-Prose ul.fb-Kit > li + li { margin-top: 0; }
  .fb-Prose ul.fb-Kit > li { padding-top: 2px; padding-bottom: 4px; }
}

@media (min-width: 840px) {
  body { font-size: 15px; }
  .fb-Strip { padding: 6px 24px; font-size: 13px; letter-spacing: .04em; }
  .fb-Plate { padding: 26px 24px 18px; }
  .fb-Wordmark { font-size: 36px; }
  .fb-Body--home .fb-Wordmark { font-size: var(--fb-step-4); }
  .fb-Tagline { font-size: 14px; }
  .fb-Thumbs {
    display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px;
    padding: 0 24px; align-items: stretch;
  }
  .fb-Thumb {
    flex-direction: column; align-items: flex-start; gap: 3px;
    padding: 9px 11px 10px; border-radius: 6px 6px 0 0; min-height: 0;
  }
  .fb-Thumb-count { display: block; font: 12px/1.3 var(--fb-font-text); font-weight: 400; color: var(--fb-ink-soft); }
  .fb-Thumb--here, .fb-Thumb--within { box-shadow: inset 0 4px 0 var(--fb-khaki-deep); }
  .fb-Main { padding: 30px 24px 60px; }
  .fb-Notice { display: grid; grid-template-columns: 5fr 7fr; gap: 0 32px; padding: 0 26px 22px; }
  .fb-Notice-label { grid-column: 1 / -1; justify-self: start; margin-left: -26px; }
  .fb-Notice-title { grid-column: 1; }
  .fb-Notice-text { grid-column: 2; grid-row: 2 / span 2; }
  .fb-Notice-meta { grid-column: 1; }
  .fb-Prose table { font-size: 14px; }
  .fb-Prose th, .fb-Prose td { padding: 7px 10px; }
  .fb-Procedure { background: var(--fb-paper); border: 1px solid var(--fb-rule-firm); padding: 30px 40px 36px; }
  .fb-Procedure-title { font-size: var(--fb-step-3); }
  .fb-Sheet { background: var(--fb-paper); border: 1px solid var(--fb-rule-firm); padding: 30px 40px 36px; }
  .fb-Divider { padding: 24px 28px 26px; }
  .fb-Divider-title { font-size: var(--fb-step-3); }
  .fb-Colophon { padding: 30px 24px 38px; }
  .fb-Colophon-card { max-width: calc(var(--fb-page) - 48px); }
  .fb-Colophon-card th { width: 9em; }
}
