/* Generated by book-publisher/tools/sync_book_design.py. Edit the canonical
   template in book-publisher/design/, then sync. Design revision: 2026-09-17. */
:root {
  --book-accent: #806132;
  --book-tint: #F0E7D5;
  --book-dark-accent: #E3C893;
  --book-ink: #252825;
  --book-muted: #535B56;
  --book-page: #FFFFFF;
  --book-rule: #D9DEDA;
  --book-heading-font: "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
  --book-body-font: Charter, "Bitstream Charter", "XCharter", Georgia, serif;
  --book-code-font: "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
}
body.quarto-dark {
  --book-accent: var(--book-dark-accent);
  --book-tint: #29322F;
  --book-ink: #E8ECE9;
  --book-muted: #BEC8C1;
  --book-page: #191E1B;
  --book-rule: #47544C;
}
body {
  font-family: var(--book-body-font);
  color: var(--book-ink);
  background-color: var(--book-page);
  font-size: 1.125rem;
  line-height: 1.65;
}
main.content { min-width: 0; }
main.content h1, main.content h2, main.content h3,
main.content h4, main.content h5, main.content h6 {
  font-family: var(--book-heading-font);
  color: var(--book-accent);
  font-weight: 700;
  line-height: 1.25;
  border-bottom: 0;
  padding-bottom: 0;
  margin-top: 1.8em;
  margin-bottom: .65em;
  overflow-wrap: break-word;
}
main.content h1.title {
  color: var(--book-ink);
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1.15;
  letter-spacing: -.025em;
  margin-top: .4em;
}
main.content h2 { font-size: 1.65em; }
main.content h3 { font-size: 1.3em; }
#title-block-header {
  border-top: 5px solid var(--book-accent);
  padding-top: 1rem;
  margin-bottom: 2rem;
}
#title-block-header .subtitle {
  font-family: var(--book-heading-font);
  font-weight: 500;
  color: var(--book-accent);
}
.sidebar, .navbar, .quarto-title-meta, #TOC, .quarto-secondary-nav,
.nav-tabs, .pagination, .page-navigation, .quarto-navigation-tool,
button, input, select, .callout-title-container, figcaption, .panel-caption {
  font-family: var(--book-heading-font);
}
.sidebar, #TOC { line-height: 1.45; }
body.quarto-dark #quarto-sidebar, body.quarto-dark #quarto-margin-sidebar {
  background-color: var(--book-page);
  color: var(--book-ink);
}
body.quarto-dark #TOC a, body.quarto-dark .sidebar-item-text,
body.quarto-dark .sidebar-title, body.quarto-dark #TOC .header-section-number {
  color: var(--book-muted);
}
body.quarto-dark #TOC a.active, body.quarto-dark .sidebar-item-text.active {
  color: var(--book-accent);
}
main.content p { margin-bottom: 1em; }
main.content a:not(.btn):not(.nav-link):not(.anchorjs-link) {
  color: var(--book-accent);
  text-underline-offset: .16em;
}
main.content blockquote {
  font-family: var(--book-body-font);
  font-size: 1em;
  line-height: 1.6;
  color: var(--book-ink);
  border-left: 3px solid var(--book-accent);
  padding-left: 1em;
}
main.content .callout { margin-block: 1.5rem; border-radius: 3px; }
main.content .callout-body { font-family: var(--book-body-font); font-size: 1rem; line-height: 1.6; }
main.content .callout-title-container { font-weight: 600; }
main.content .callout.callout-note { border-left-color: var(--book-accent); }
main.content .callout.callout-note > .callout-header { background-color: var(--book-tint); }
main.content figure { margin-block: 1.5em; }
main.content figcaption { color: var(--book-muted); font-size: .85em; line-height: 1.5; }
/* Preserve artwork colours, including pixel art and author photographs. A
   white backing keeps transparent black line art readable in dark mode. */
body.quarto-dark main.content img { filter: none; background-color: #FFFFFF; }
main.content table { font-size: .94em; line-height: 1.5; }
main.content th { font-family: var(--book-heading-font); font-weight: 600; }
pre, code, kbd, samp, .sourceCode { font-family: var(--book-code-font); }
pre, pre code { line-height: 1.5; }
main.content details > summary { font-family: var(--book-heading-font); font-weight: 600; }
@media (max-width: 600px) {
  body { font-size: 1.0625rem; }
  main.content h2 { font-size: 1.45em; }
  main.content h3 { font-size: 1.2em; }
  main.content table { display: block; max-width: 100%; overflow-x: auto; }
}
@media print {
  body { color: #252825; background: #FFFFFF; font-size: 11pt; }
  main.content h1, main.content h2, main.content h3 { break-after: avoid; }
  main.content p { orphans: 3; widows: 3; }
  main.content figure { break-inside: avoid; }
}
