/* SPDX-FileCopyrightText: 2026 Edward Kmett
 * SPDX-License-Identifier: UPL-1.0 AND BSD-3-Clause
 * Typography and palette adapted from thc's docs/site/site.css. */
html:root {
  --font-family-title: Georgia, "Times New Roman", serif;
  --font-family-monospace: ui-monospace, "SFMono-Regular", Consolas, monospace;
  --font-family-nav: system-ui, sans-serif;
  --page-background-color: var(--thc-paper);
  --page-foreground-color: var(--thc-ink);
  --page-link-color: var(--thc-link);
  --page-visited-link-color: var(--thc-link);
  --page-external-link-color: var(--thc-link);
  --header-background-color: var(--thc-paper);
  --header-separator-color: var(--thc-line);
  --title-separator-color: var(--thc-line);
  --group-header-color: var(--thc-heading);
  --nav-background-color: var(--thc-pale);
  --nav-text-normal-color: var(--thc-ink);
  --nav-foreground-color: var(--thc-heading);
  --nav-border-color: var(--thc-line);
  --nav-menu-active-bg: var(--thc-wash);
  --nav-splitbar-bg-color: var(--thc-line);
  --fragment-background-color: var(--thc-code);
  --code-keyword-color: var(--thc-accent);
  --code-type-keyword-color: var(--thc-heading);
  --code-flow-keyword-color: var(--thc-accent);
  --code-comment-color: var(--thc-muted);
  --code-preprocessor-color: var(--thc-link);
  --code-string-literal-color: var(--thc-accent);
  --code-char-literal-color: var(--thc-accent);
  --code-xml-cdata-color: var(--thc-ink);
  --fragment-foreground-color: var(--thc-ink);
  --fragment-border-color: var(--thc-line);
  --memdecl-background-color: var(--thc-pale);
  --memdecl-foreground-color: var(--thc-ink);
  --memdecl-border-color: var(--thc-line);
  --memdef-border-color: var(--thc-line);
  --memdef-title-background-color: var(--thc-wash);
  --memdef-proto-background-color: var(--thc-pale);
  --memdef-proto-text-color: var(--thc-ink);
  --index-odd-item-bg-color: var(--thc-pale);
  --index-even-item-bg-color: var(--thc-paper);
  --index-header-color: var(--thc-heading);
  --index-separator-color: var(--thc-line);
  --title-background-color: var(--thc-paper);
  --group-header-separator-color: var(--thc-line);
  --footer-foreground-color: var(--thc-muted);
  --blockquote-background-color: var(--thc-pale);
  --blockquote-border-color: var(--thc-line);
  --scrollbar-thumb-color: var(--thc-line);
  --scrollbar-background-color: var(--thc-paper);
  --icon-background-color: var(--thc-wash);
  --icon-foreground-color: var(--thc-heading);
  --icon-folder-open-fill-color: var(--thc-wash);
  --icon-folder-fill-color: var(--thc-pale);
  --icon-folder-border-color: var(--thc-muted);
  --icon-doc-fill-color: var(--thc-pale);
  --icon-doc-border-color: var(--thc-muted);
  --memdecl-template-color: var(--thc-muted);
  --memdef-template-color: var(--thc-muted);
  --memdef-param-name-color: var(--thc-accent);
  --label-background-color: var(--thc-wash);
  --label-foreground-color: var(--thc-heading);
  --label-left-top-border-color: var(--thc-line);
  --label-right-bottom-border-color: var(--thc-line);
  --nav-menu-background-color: var(--thc-pale);
  --nav-menu-foreground-color: var(--thc-ink);
  --nav-menu-button-color: var(--thc-heading);
  --nav-menu-active-color: var(--thc-accent);
  --nav-arrow-color: var(--thc-muted);
  --nav-arrow-selected-color: var(--thc-heading);
  --nav-breadcrumb-color: var(--thc-muted);
  --nav-breadcrumb-active-bg: var(--thc-wash);
  --nav-breadcrumb-separator-color: var(--thc-line);
  --nav-splitbar-handle-color: var(--thc-muted);
  --sync-icon-border-color: var(--thc-line);
  --sync-icon-background-color: var(--thc-pale);
  --sync-icon-selected-background-color: var(--thc-wash);
  --sync-icon-color: var(--thc-muted);
  --sync-icon-selected-color: var(--thc-heading);
  --toc-background-color: var(--thc-pale);
  --toc-border-color: var(--thc-line);
  --toc-header-color: var(--thc-heading);
  --search-background-color: var(--thc-paper);
  --search-foreground-color: var(--thc-muted);
  --search-active-color: var(--thc-ink);
  --search-filter-background-color: var(--thc-pale);
  --search-filter-foreground-color: var(--thc-ink);
  --search-filter-border-color: var(--thc-line);
  --search-filter-highlight-text-color: var(--thc-heading);
  --search-filter-highlight-bg-color: var(--thc-wash);
  --search-results-background-color: var(--thc-paper);
  --search-results-foreground-color: var(--thc-ink);
  --search-results-border-color: var(--thc-line);
  --search-box-border-color: var(--thc-line);
  --fragment-lineno-background-color: var(--thc-pale);
  --fragment-lineno-foreground-color: var(--thc-muted);
  --fragment-lineno-border-color: var(--thc-line);
  --fragment-lineno-link-fg-color: var(--thc-link);
  --fragment-lineno-link-bg-color: var(--thc-pale);
  --fragment-lineno-link-hover-fg-color: var(--thc-link);
  --fragment-lineno-link-hover-bg-color: var(--thc-wash);
  --tooltip-background-color: var(--thc-paper);
  --tooltip-foreground-color: var(--thc-ink);
  --tooltip-arrow-background-color: var(--thc-paper);
  --tooltip-border-color: var(--thc-line);
  --tooltip-doc-color: var(--thc-muted);
  --tooltip-declaration-color: var(--thc-heading);
  --tooltip-link-color: var(--thc-link);
  --table-cell-border-color: var(--thc-line);
  --table-header-background-color: var(--thc-pale);
  --table-header-foreground-color: var(--thc-ink);
}
#titlearea { padding: 12px 20px; box-sizing: border-box; }
#projectname { font: 26px/1.2 var(--font-family-title); color: var(--thc-heading); }
#projectbrief, #projectnumber { color: var(--thc-muted); }
#nav-tree .item { padding: 2px 0 2px 5px; }
#nav-tree .selected { background: var(--thc-wash); text-shadow: none; }
#nav-tree .selected a { color: var(--thc-heading); }
.tabs, .tabs2, .tabs3, .tablist li, .tablist a {
  background-image: none;
  text-shadow: none;
}
div.header { padding: 16px 24px 12px; }
div.title { font: 28px/1.2 var(--font-family-title); color: var(--thc-heading); }
div.contents { margin: 20px 24px 48px; }
.contents > .textblock {
  font: 16px/1.6 Georgia, "Times New Roman", serif;
}
.textblock h1, .textblock h2, .textblock h3 {
  font-family: var(--font-family-title);
  font-weight: 400;
  line-height: 1.25;
  color: var(--thc-heading);
  margin-top: 36px;
}
.textblock h1 { font-size: 28px; }
.textblock h2 { font-size: 24px; }
.textblock h3 { font-size: 20px; }
/* Doxygen gives paragraphs their own UI font instead of inheriting prose. */
.textblock p, .textblock ul, .textblock ol, .textblock li,
.textblock dl, .textblock dt, .textblock dd { font: inherit; }
.textblock p { margin: 18px 0; }
.textblock li { margin: 6px 0; }
.textblock code { font-size: .82em; }
div.fragment { padding: 12px 16px; border-radius: 4px; overflow-x: auto; }
div.line { font-size: 13px; line-height: 1.65; }
.textblock table.markdownTable { display: block; overflow-x: auto; font-size: 15px; }
.textblock img { max-width: 100%; height: auto; }
a:focus-visible, input:focus-visible, button:focus-visible {
  outline: 2px solid var(--thc-link);
  outline-offset: 3px;
}
@media (max-width: 540px) {
  #titlearea { padding: 12px 16px; }
  div.header { padding: 16px; }
  div.contents { margin: 16px 16px 40px; }
  .contents > .textblock { font-size: 16px; }
  div.fragment { padding: 12px; }
}

/* The enclosing site already provides the project header and left rail. */
html[data-thc-embedded] #titlearea,
html[data-thc-embedded] #side-nav { display: none; }
html[data-thc-embedded] #doc-content { margin-left: 0 !important; }
