body { font-family: "Aptos", "Segoe UI", system-ui, "Arial", sans-serif; font-size: 11.05px; line-height: 1.5; color: #26303e; }
h1, h2, h3, h4, h5, h6, .sidebar-title { font-family: "Aptos Display", "Aptos", "Segoe UI", system-ui, "Arial", sans-serif; }
code, pre, kbd, samp { font-family: "Consolas", monospace; }
main.content p, main.content li { line-height: 1.5; }
main.content p { margin-bottom: 0.7em; }
main.content h1, main.content h1.title { font-size: 18pt; color: #17365d; margin-bottom: 18px; }
main.content h2 { font-size: 14.5pt; color: #1f4e79; margin-top: 30px; margin-bottom: 10px; }
main.content h3 { font-size: 12pt; color: #0f6b78; margin-top: 24px; margin-bottom: 8px; }
main.content h4 { font-size: 11pt; color: #1f4e79; margin-top: 20px; margin-bottom: 6px; }
main.content h5, main.content h6 { color: #26303e; }
.sidebar-title { color: #17365d; font-weight: 600; }
.sidebar-navigation .sidebar-item a.active { color: #1f4e79; font-weight: 600; }
.figure-caption, .table-caption, figcaption { color: #5d6876; font-size: 9pt; font-style: italic; }
main.content #title-block-header h1.title { margin-bottom: 0; }
main.content #title-block-header { margin-bottom: 18px; }
#quarto-sidebar.sidebar-navigation,
#quarto-sidebar.sidebar-navigation .sidebar-item,
#quarto-sidebar.sidebar-navigation .sidebar-item a,
#quarto-sidebar.sidebar-navigation .sidebar-item-text,
#quarto-sidebar.sidebar-navigation .menu-text,
#quarto-margin-sidebar nav#TOC,
#quarto-margin-sidebar nav#TOC > h2,
#quarto-margin-sidebar nav#TOC > ul,
#quarto-margin-sidebar nav#TOC .nav-link {
  font-size: 11.05px;
  line-height: 1.5;
}
:root {
  --publisher-navy: #17365d;
  --publisher-blue: #1f4e79;
  --publisher-teal: #0f6b78;
  --publisher-ink: #26303e;
  --publisher-muted: #5d6876;
  --publisher-page: #fffdf7;
  --publisher-sidebar: #f8f4ec;
  --publisher-table-header: #e8eef5;
  --publisher-table-stripe: #f4f8fb;
  --publisher-table-hover: #eaf3f7;
  --publisher-table-border: #9db9d4;
}
body { background-color: var(--publisher-page); }
#quarto-sidebar {
  background-color: var(--publisher-sidebar);
  border-right-color: #ded7ca;
}
main.content a {
  color: var(--publisher-blue);
  text-decoration-color: #9db9d4;
}
main.content a.uri {
  text-decoration-line: underline;
  text-underline-offset: 0.12em;
}
main.content a:hover { color: var(--publisher-teal); }
.publisher-build-meta {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 0.75rem;
  row-gap: 0.15rem;
  color: var(--publisher-muted);
  font-size: 0.9em;
  margin: 0 0 1rem;
}
.publisher-build-meta dt { font-weight: 600; }
.publisher-build-meta dd { margin: 0; min-width: 0; }
.publisher-build-meta code {
  background: transparent;
  color: inherit;
  overflow-wrap: anywhere;
  padding: 0;
  white-space: normal;
}
main.content p strong,
main.content li > p strong {
  color: #1f4e79;
  font-weight: 400;
}
main.content span.math.display {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  padding-block: 0.25rem;
}
main.content span.math.display mjx-container[display="true"] {
  min-width: min-content;
}
.definition-term {
  color: #1f4e79;
  font-weight: 400;
}
main.content .definition-term strong, main.content .definition-term b { font-weight: inherit; }
.publisher-purpose { font-style: italic; }
main.content h2 + p,
main.content h3 + p,
main.content h4 + p {
  font-style: normal;
}
.publisher-clarification-note, .publisher-worked-calculation {
  border: 1px solid #9db9d4;
  border-radius: 4px;
  margin: 0.8rem 0;
  padding: 0.65rem 0.85rem;
}
.publisher-clarification-note { background: #eaf2f8; }
.publisher-worked-calculation { background: #fff5dd; }
.publisher-clarification-note > :last-child,
.publisher-worked-calculation > :last-child { margin-bottom: 0; }
main.content table {
  --bs-table-bg: transparent;
  --bs-table-striped-bg: var(--publisher-table-stripe);
  --bs-table-hover-bg: var(--publisher-table-hover);
  border-color: var(--publisher-table-border);
}
main.content table thead th {
  background: var(--publisher-table-header);
  color: var(--publisher-navy);
  font-weight: 600;
  border-bottom: 2px solid var(--publisher-teal);
}
main.content table tbody tr:nth-child(even) > * {
  background-color: var(--publisher-table-stripe);
}
main.content table tbody tr:hover > * {
  background-color: var(--publisher-table-hover);
}
main.content table th, main.content table td {
  border-color: var(--publisher-table-border);
}
.publisher-code-caption {
  color: #1f4e79;
  font-weight: 600;
  margin: 0.8rem 0 0.2rem;
}
.publisher-cover-art {
  display: block;
  height: auto;
  margin: 0 0 1.5rem;
  max-width: 100%;
}
