/* BatchLAS theme on top of doxygen-awesome, modelled on Material for MkDocs: one primary
   bar (brand, theme toggle, search, repository), then a centred grid of navigation,
   content and table of contents with the page itself scrolling. The bar is #titlearea in
   header.html; the navigation, table of contents and search panel are built by bl-site.js. */
html {
    --bl-bar: #0f5f58;
    --bl-bar-fg: #ffffff;
    --bl-maxw: 1220px;
    --bl-bar-h: 56px;
    --bl-tabs-h: 48px;
    --bl-nav-w: 236px;
    --bl-toc-w: 236px;
    --bl-gutter: max(16px, calc((100vw - var(--bl-maxw)) / 2));
    --bl-bg: #ffffff;
    --bl-fg: rgba(0, 0, 0, 0.87);
    --bl-fg-2: rgba(0, 0, 0, 0.56);
    --bl-fg-3: rgba(0, 0, 0, 0.32);
    --bl-line: rgba(0, 0, 0, 0.07);
    --bl-code-bg: #f5f6f7;
    --bl-link: #0d7d73;
    --bl-hl: #0d7d73;
    --bl-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2);

    --primary-color: var(--bl-link);
    --primary-dark-color: #0a5c55;
    --primary-light-color: #5fb3aa;
    --link-color: var(--bl-link);
    --on-primary-color: #ffffff;
    --font-family: Roboto, -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;
    --font-family-monospace: "Roboto Mono", SFMono-Regular, Consolas, Menlo, monospace;
    --page-font-size: 16px;
    --content-line-height: 1.6;
    --content-maxwidth: none;
    --page-background-color: var(--bl-bg);
    --page-foreground-color: var(--bl-fg);
    --page-secondary-foreground-color: var(--bl-fg-2);
    --separator-color: var(--bl-line);
    --side-nav-background: var(--bl-bg);
    --header-background: var(--bl-bar);
    --header-foreground: var(--bl-bar-fg);
    --blockquote-background: rgba(13, 125, 115, 0.06);
    --blockquote-foreground: var(--bl-fg);
    --tablehead-background: var(--bl-code-bg);
    --code-background: var(--bl-code-bg);
    --fragment-background: var(--bl-code-bg);
    --border-radius-small: 2px;
    --border-radius-medium: 4px;
    --border-radius-large: 6px;
}
html.dark-mode {
    --bl-bg: #1e2129;
    --bl-fg: rgba(226, 228, 233, 0.86);
    --bl-fg-2: rgba(226, 228, 233, 0.56);
    --bl-fg-3: rgba(226, 228, 233, 0.3);
    --bl-line: rgba(226, 228, 233, 0.08);
    --bl-code-bg: #262a34;
    --bl-link: #5fcfc2;
    --bl-hl: #f0b429;
    --bl-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.2), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.4);
    --primary-dark-color: #8fe0d6;
    --primary-light-color: #1d6b64;
    --blockquote-background: rgba(95, 207, 194, 0.07);
}

html, body { background: var(--bl-bg); color: var(--bl-fg); }
body { font-family: var(--font-family); -webkit-font-smoothing: antialiased; margin: 0; }

/* -------------------------------------------------------------------- bar */
#top { position: sticky; top: 0; z-index: 30; background: var(--bl-bar); border: 0; box-shadow: var(--bl-shadow); display: block; }
#titlearea.bl-topbar { display: block; width: 100%; padding: 0; margin: 0; border: 0; background: var(--bl-bar); color: var(--bl-bar-fg); }
.bl-topbar-inner {
    display: flex; align-items: center; gap: 4px;
    max-width: var(--bl-maxw); height: var(--bl-bar-h); margin: 0 auto; padding: 0 12px; box-sizing: border-box;
}
#titlearea a.bl-brand, #titlearea a.bl-repo, #titlearea a.bl-brand *, #titlearea a.bl-repo * { color: var(--bl-bar-fg) !important; text-decoration: none !important; }
.bl-theme-slot #MSearchBox { display: none !important; }
.bl-brand { display: flex; align-items: center; gap: 12px; padding: 0 8px; min-width: 0; }
.bl-brand .bl-logo { width: 32px; height: 32px; border-radius: 6px; object-fit: cover; flex: none; }
.bl-brand-name { font-size: 19px; font-weight: 700; letter-spacing: 0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bl-spacer { flex: 1 1 auto; }
.bl-nav-toggle { display: none; background: none; border: 0; padding: 8px; margin: 0; color: var(--bl-bar-fg); cursor: pointer; border-radius: 50%; }
.bl-theme-slot { display: flex; align-items: center; }
.bl-theme-slot doxygen-awesome-dark-mode-toggle { margin: 0 8px; height: 40px; width: 40px; border-radius: 50%; }
.bl-theme-slot doxygen-awesome-dark-mode-toggle svg { fill: var(--bl-bar-fg) !important; }
.bl-theme-slot doxygen-awesome-dark-mode-toggle:hover { background: rgba(255, 255, 255, 0.12); }

.bl-repo { display: flex; align-items: center; gap: 10px; margin-left: 20px; padding: 0 8px; min-width: 150px; opacity: 0.92; }
.bl-repo:hover { opacity: 1; }
.bl-repo-text { display: flex; flex-direction: column; line-height: 1.25; }
.bl-repo-name { font-size: 14px; }
.bl-repo-facts { display: flex; gap: 10px; font-size: 12px; opacity: 0.85; }
.bl-fact::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 3px; vertical-align: -1px; background: currentColor;
    -webkit-mask: var(--bl-icon) center / contain no-repeat; mask: var(--bl-icon) center / contain no-repeat; }
.bl-fact-tag { --bl-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5.5 7A1.5 1.5 0 1 0 5.5 4a1.5 1.5 0 0 0 0 3M21.4 11.6l-9-9C12 2.2 11.5 2 11 2H4a2 2 0 0 0-2 2v7c0 .55.22 1.05.59 1.41l9 9c.36.36.86.59 1.41.59s1.05-.23 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.56-.23-1.06-.6-1.4"/></svg>'); }
.bl-fact-star { --bl-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12 17.27 6.18 3.73-1.64-7.03L22 9.24l-7.19-.62L12 2 9.19 8.62 2 9.24l5.45 4.73L5.82 21z"/></svg>'); }
.bl-fact-fork { --bl-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M5 5.37v.25a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5v-.25a2.25 2.25 0 1 1 1.5 0v.25a3 3 0 0 1-3 3h-.75v2.63a2.25 2.25 0 1 1-1.5 0V8.62H6.5a3 3 0 0 1-3-3v-.25a2.25 2.25 0 1 1 1.5 0"/></svg>'); }

/* ------------------------------------------------------------------- tabs */
.bl-tabs { background: var(--bl-bar); }
.bl-tabs-inner {
    display: flex; align-items: stretch; height: var(--bl-tabs-h); max-width: var(--bl-maxw);
    margin: 0 auto; padding: 0 12px; box-sizing: border-box; overflow-x: auto; scrollbar-width: none;
}
.bl-tabs-inner::-webkit-scrollbar { display: none; }
#titlearea a.bl-tab, #titlearea a.bl-tab:visited {
    display: flex; align-items: center; padding: 0 12px; margin-right: 8px; white-space: nowrap;
    font-size: 14.4px; color: var(--bl-bar-fg) !important; opacity: 0.7; text-decoration: none !important;
}
#titlearea a.bl-tab:first-child { padding-left: 8px; }
#titlearea a.bl-tab:hover, #titlearea a.bl-tab.bl-active { opacity: 1; }
#titlearea a.bl-tab.bl-active { font-weight: 700; }

/* ----------------------------------------------------------------- search */
.bl-search { position: relative; z-index: 2; }
.bl-search-field {
    display: flex; align-items: center; gap: 8px; box-sizing: border-box;
    width: 234px; height: 36px; padding: 0 8px; margin: 0;
    background: rgba(0, 0, 0, 0.26); color: var(--bl-bar-fg); border-radius: 2px; cursor: text;
    transition: width 0.25s cubic-bezier(0.1, 0.7, 0.1, 1), background 0.25s;
}
.bl-search-field:hover { background: rgba(255, 255, 255, 0.12); }
.bl-search-field input {
    flex: 1 1 auto; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; padding: 0;
    color: inherit; font: 400 18px var(--font-family); -webkit-appearance: none; appearance: none; box-shadow: none;
}
.bl-search-field input::placeholder { color: rgba(255, 255, 255, 0.72); }
.bl-search-field input::-webkit-search-cancel-button { display: none; }
.bl-search-reset { display: none; background: none; border: 0; padding: 4px; color: inherit; cursor: pointer; }
.bl-search-results {
    display: none; position: absolute; top: 100%; left: 0; right: 0; box-sizing: border-box;
    max-height: calc(100vh - var(--bl-bar-h) - 32px); overflow-y: auto; overscroll-behavior: contain;
    background: var(--bl-bg); color: var(--bl-fg); border-radius: 0 0 2px 2px; box-shadow: var(--bl-shadow);
}
html.bl-search-active .bl-search-field { width: 688px; background: var(--bl-bg); color: var(--bl-fg); border-radius: 2px 2px 0 0; }
html.bl-search-active .bl-search-field input::placeholder { color: var(--bl-fg-2); }
html.bl-search-active .bl-search-reset { display: block; }
html.bl-search-active .bl-search-results { display: block; }
.bl-search-overlay {
    position: fixed; inset: 0; z-index: 20; background: rgba(0, 0, 0, 0.54);
    opacity: 0; pointer-events: none; transition: opacity 0.25s;
}
html.bl-search-active .bl-search-overlay { opacity: 1; pointer-events: auto; }
.bl-sr-meta { padding: 8px 16px; font-size: 13px; color: var(--bl-fg-2); background: var(--bl-code-bg); }
.bl-sr-item { border-bottom: 1px solid var(--bl-line); padding: 6px 0 8px; }
.bl-search-results a { display: block; padding: 6px 16px 6px 52px; color: var(--bl-fg) !important; text-decoration: none !important; outline: 0; }
.bl-search-results a:hover, .bl-search-results a:focus { background: rgba(13, 125, 115, 0.08); }
a.bl-sr-page { position: relative; font-size: 17px; font-weight: 400; padding-top: 8px; }
a.bl-sr-page svg { position: absolute; left: 16px; top: 8px; color: var(--bl-fg-2); }
.bl-search-results a, .bl-search-results a span { font-weight: 400 !important; }
.bl-search-results .bl-sr-stitle { display: block; font-weight: 700 !important; font-size: 14px; margin-bottom: 2px; color: var(--bl-fg) !important; }
.bl-search-results .bl-sr-text { display: block; font-size: 13.5px; line-height: 1.5; color: var(--bl-fg-2) !important; }
.bl-search-results mark { background: none !important; color: var(--bl-hl) !important; font-weight: inherit; text-decoration: underline; text-underline-offset: 2px; }
.bl-sr-more { display: block; margin: 4px 0 0 52px; padding: 0; border: 0; background: none; font: 13px var(--font-family); color: var(--bl-hl); cursor: pointer; }
.bl-search-results pre.bl-sr-sig {
    margin: 6px 0 6px; padding: 8px 10px; background: var(--bl-code-bg); border-radius: 2px; border: 0;
    font: 12.5px/1.45 var(--font-family-monospace); color: var(--bl-fg); white-space: pre-wrap; overflow-wrap: anywhere;
}
.bl-sr-rest { display: none; }
.bl-sr-expanded .bl-sr-rest { display: block; }
.bl-sr-expanded .bl-sr-more { display: none; }

/* ------------------------------------------------------------ navigation */
.bl-nav, .bl-toc {
    position: fixed; top: calc(var(--bl-bar-h) + var(--bl-tabs-h) + 28px); bottom: 0; z-index: 5;
    overflow-y: auto; overscroll-behavior: contain; padding-bottom: 32px; box-sizing: border-box;
    font-size: 14.4px; line-height: 1.3; scrollbar-width: thin; scrollbar-color: var(--bl-fg-3) transparent;
}
.bl-nav { left: var(--bl-gutter); width: var(--bl-nav-w); padding-left: 12px; padding-right: 8px; }
.bl-toc { right: var(--bl-gutter); width: var(--bl-toc-w); padding-left: 12px; padding-right: 12px; }
.bl-nav-title, .bl-toc-title { display: block; font-weight: 700; color: var(--bl-fg-2); margin: 0 0 10px; }
.bl-nav a.bl-nav-title { color: var(--bl-fg-2) !important; text-decoration: none !important; }
.bl-nav a.bl-nav-title:hover, .bl-nav a.bl-nav-title.bl-current { color: var(--bl-link) !important; }
.bl-nav-full { display: none; }
html.bl-no-nav .bl-nav { display: none; }
html.bl-no-nav #doc-content { padding-left: calc(var(--bl-gutter) + 20px); }
.bl-nav ul, .bl-toc ul { list-style: none; margin: 0; padding: 0; }
.bl-nav-row { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.bl-nav a.bl-nav-link, .bl-toc a { display: block; padding: 6px 0; color: var(--bl-fg) !important; text-decoration: none !important; }
.bl-nav a.bl-nav-link:hover, .bl-toc a:hover, .bl-nav a.bl-nav-link.bl-current, .bl-toc a.bl-active { color: var(--bl-link) !important; }
.bl-nav-toggle-sub {
    flex: none; display: flex; padding: 2px; border: 0; background: none; color: var(--bl-fg-2); cursor: pointer; border-radius: 50%;
}
.bl-nav-toggle-sub svg { transition: transform 0.2s; }
.bl-nav-toggle-sub:hover { color: var(--bl-link); }
.bl-nav-list .bl-nav-list { display: none; margin-left: 14px; }
.bl-nav-item.bl-open > .bl-nav-list { display: block; }
.bl-nav-item.bl-open > .bl-nav-row .bl-nav-toggle-sub svg { transform: rotate(90deg); }
.bl-toc-l2 { padding-left: 14px; }
.bl-toc a { padding: 5px 0; }
.bl-scrim { display: none; }

/* --------------------------------------------------------------- content */
#doc-content {
    margin: 0 !important; height: auto !important; overflow: visible !important;
    padding: 8px calc(var(--bl-gutter) + var(--bl-toc-w) + 28px) 0 calc(var(--bl-gutter) + var(--bl-nav-w) + 28px);
    box-sizing: border-box;
}
html.bl-no-toc #doc-content { padding-right: var(--bl-gutter); }
div.header { background: none; border: 0; margin: 0; padding: 0; }
div.headertitle { padding: 20px 0 0; }
div.header .title, div.contents, div.header .summary { max-width: none; margin: 0; padding-left: 0; padding-right: 0; }
div.contents { padding-top: 4px; padding-bottom: 32px; }
div.header .title { font-size: 32px; font-weight: 300; line-height: 1.3; letter-spacing: -0.01em; color: var(--bl-fg-2); margin: 0 0 20px; }
div.ingroups { font-size: 12px; color: var(--bl-fg-2); }
div.contents h1.doxsection, div.textblock h1 { font-size: 25px; font-weight: 300; line-height: 1.4; letter-spacing: -0.01em; margin: 40px 0 16px; border: 0; padding: 0; }
div.contents h2.doxsection, div.textblock h2 { font-size: 20px; font-weight: 400; line-height: 1.5; margin: 32px 0 12px; border: 0; padding: 0; }
div.contents h3.doxsection, div.textblock h3 { font-size: 16px; font-weight: 700; margin: 24px 0 8px; }
td h2.groupheader, h2.groupheader { font-size: 25px; font-weight: 300; border-bottom: 1px solid var(--bl-line); color: var(--bl-fg); box-shadow: none !important; }
div.contents p, div.contents li { line-height: var(--content-line-height); }
div.contents a, div.contents a:visited { color: var(--bl-link); }
div.contents a.el { font-weight: 400; }
code, .tt, span.tt { font-family: var(--font-family-monospace); font-size: 0.85em; background: var(--bl-code-bg); border: 0; border-radius: 2px; padding: 0.1em 0.3em; }
div.fragment, pre.fragment { background: var(--bl-code-bg); border: 0; border-radius: 2px; box-shadow: none; font-size: 13.6px; }

div.contents blockquote {
    margin: 20px 0; padding: 10px 16px; border: 0; border-left: 4px solid var(--bl-link);
    background: var(--blockquote-background); color: var(--bl-fg); border-radius: 2px; font-size: 0.94em;
}
div.contents blockquote::before, div.contents blockquote::after { display: none; content: none; }
div.contents blockquote p { margin: 4px 0; }

div.contents table.markdownTable { display: block; overflow-x: auto; max-width: 100%; border: 0; border-radius: 2px; box-shadow: 0 0 0.05rem var(--bl-fg-3); font-size: 13.6px; }
table.markdownTable th { background: var(--bl-code-bg); color: var(--bl-fg); font-weight: 700; border: 0; }
table.markdownTable td, table.markdownTable th { border: 0; border-top: 1px solid var(--bl-line); padding: 9px 14px; }
table.markdownTable tr:hover td { background: rgba(127, 127, 127, 0.04); }
table.memberdecls, div.memitem, div.memproto, div.memdoc { border-color: var(--bl-line); }

hr.footer { display: none; }
address.footer { margin: 32px 0 0; padding: 16px 0 24px; border-top: 1px solid var(--bl-line); font-size: 12.8px; color: var(--bl-fg-2); text-align: left; }
address.footer img { filter: grayscale(1); opacity: 0.7; }

/* --------------------------------------------------------- home page cards */
.bl-hero p { font-size: 18px; color: var(--bl-fg-2); max-width: 720px; margin: 0 0 24px; }
.bl-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; margin: 0 0 32px; }
.bl-card {
    display: block; padding: 16px 18px; border: 1px solid var(--bl-line); border-radius: 2px;
    color: var(--bl-fg) !important; text-decoration: none !important; transition: border-color 0.25s, box-shadow 0.25s;
}
.bl-card:hover { border-color: transparent; box-shadow: var(--bl-shadow); }
.bl-card-title { font-weight: 700; margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid var(--bl-line); }
.bl-card p { margin: 0 0 8px; font-size: 14.4px; color: var(--bl-fg-2); }
.bl-card .bl-card-link { font-size: 14.4px; color: var(--bl-link); }

/* -------------------------------------------------------------- responsive */
@media screen and (max-width: 1219px) {
    .bl-toc { display: none; }
    #doc-content { padding-right: 24px; }
    html.bl-search-active .bl-search-field { width: 460px; }
}
@media screen and (max-width: 959px) {
    .bl-nav-toggle { display: block; }
    .bl-repo { display: none; }
    .bl-tabs { display: none; }
    .bl-nav-scoped { display: none; }
    .bl-nav-full { display: block; }
    html.bl-no-nav .bl-nav { display: block; }
    html.bl-no-nav #doc-content { padding-left: 16px; }
    .bl-nav {
        top: 0; left: 0; width: 290px; max-width: 85vw; z-index: 40; padding: 16px 12px 32px 16px;
        background: var(--bl-bg); box-shadow: var(--bl-shadow); transform: translateX(-105%); transition: transform 0.25s;
    }
    html.bl-nav-open .bl-nav { transform: none; }
    html.bl-nav-open .bl-scrim { display: block; position: fixed; inset: 0; z-index: 35; background: rgba(0, 0, 0, 0.54); }
    #doc-content { padding-left: 16px; padding-right: 16px; }
}
@media screen and (max-width: 599px) {
    .bl-brand-name { font-size: 17px; }
    .bl-search-field { width: 40px; padding: 0 8px; background: none; }
    .bl-search-field input { width: 0; }
    html.bl-search-active .bl-search { position: fixed; left: 0; right: 0; top: 0; }
    html.bl-search-active .bl-search-field { width: 100%; height: var(--bl-bar-h); border-radius: 0; }
    div.header .title { font-size: 26px; }
}

/* API index pages: topic links read as names, not code; the summary links duplicate the TOC. */
table.memberdecls a.el[href^="group__"] { font-family: var(--font-family); font-size: 15px; }
div.header div.summary { display: none; }

/* Member declaration lists: Doxygen sizes the return-type column to the widest return type in the
   whole table, which pushed every signature right and out of the column. One flex row per
   declaration instead, wrapping long prototypes inside the content width. */
table.memberdecls { display: block; width: 100%; max-width: 100%; }
table.memberdecls > tbody { display: block; }
table.memberdecls tr { display: flex; flex-wrap: wrap; align-items: baseline; }
table.memberdecls tr.heading, table.memberdecls tr.heading td { display: block; width: 100%; }
table.memberdecls td.memItemLeft, table.memberdecls td.memTemplItemLeft {
    flex: 0 0 auto; width: auto !important; max-width: 100%; white-space: normal; text-align: left;
}
table.memberdecls td.memItemRight, table.memberdecls td.memTemplItemRight {
    flex: 1 1 18rem; min-width: 0; overflow-wrap: anywhere;
}
table.memberdecls td.memTemplParams { flex: 1 1 100%; overflow-wrap: anywhere; }
table.memberdecls td.mdescLeft { display: none; }
table.memberdecls td.mdescRight { flex: 1 1 100%; min-width: 0; padding-left: 12px; padding-bottom: 10px; }
table.memberdecls td.memSeparator { display: none; }
/* Detailed prototypes and any other wide Doxygen table scroll inside the column. */
div.memproto, div.memdoc, table.fieldtable, table.params, table.directory, div.contents table.doxtable { max-width: 100%; overflow-x: auto; }
div.contents { min-width: 0; }

/* Breadcrumb (rebuilt above the page title by bl-site.js; Doxygen's own copy sits in the bar). */
#top #nav-path { display: none; }
nav.bl-crumbs { padding-top: 16px; font-size: 12.8px; color: var(--bl-fg-3); }
nav.bl-crumbs a { color: var(--bl-fg-2) !important; text-decoration: none !important; }
nav.bl-crumbs a:hover { color: var(--bl-link) !important; }
.bl-crumb-sep { margin: 0 6px; }
nav.bl-crumbs + div.headertitle { padding-top: 4px; }

/* Inline code (paths, flags, long expressions) wraps instead of running past the column. */
div.contents p .tt, div.contents li .tt, div.contents dd .tt, div.contents td .tt, div.contents blockquote .tt,
div.contents p code, div.contents li code, div.contents td code {
    white-space: normal; overflow-wrap: anywhere; word-break: normal;
}
table.memberdecls a.el, div.contents table.directory a.el { overflow-wrap: anywhere; }

/* Nothing may widen the page: wide blocks scroll inside their own box. */
div.contents div.fragment, div.contents pre.fragment { max-width: 100%; overflow-x: auto; box-sizing: border-box; }
div.contents mjx-container[display="true"], div.contents .MathJax_Display { max-width: 100%; overflow-x: auto; overflow-y: hidden; }
div.contents table.directory { display: block; max-width: 100%; overflow-x: auto; }
html, body { overflow-x: clip; }
.bl-nav a.bl-nav-link, .bl-toc a { overflow-wrap: anywhere; }
table.classindex a.el, div.contents table.classindex td { overflow-wrap: anywhere; }
table.memberdecls td, table.memberdecls tr { box-sizing: border-box; max-width: 100%; }
div.contents a.el { overflow-wrap: anywhere; }
table.memberdecls td { min-width: 0 !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
table.memberdecls td.memItemRight, table.memberdecls td.memTemplItemRight { flex: 1 1 14rem !important; }
div.contents div.memproto { overflow-x: auto !important; max-width: 100%; }
div.contents div.directory { max-width: 100%; overflow-x: auto; }
div.contents mjx-container { max-width: 100%; overflow-x: auto; overflow-y: hidden; }
div.contents div.textblock ul li a.el, div.contents .contents li { overflow-wrap: anywhere; }
div.contents a, div.contents a.el { overflow-wrap: anywhere; white-space: normal; }
div.contents ul li, div.contents ul li a.el { white-space: normal !important; }
div.contents li, div.contents p { overflow-wrap: anywhere; }

/* Declaration boxes: the background belongs to the whole declaration (template row + signature
   row), not to each cell, so a wrapped signature stays inside its box. */
table.memberdecls tr[class^="memitem"] { background: var(--bl-code-bg); }
table.memberdecls tr[class^="memitem"] td,
table.memberdecls tr[class^="memitem"] td.memTemplParams {
    background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
table.memberdecls tr[class^="memdesc"], table.memberdecls tr[class^="memdesc"] td { background: transparent !important; border: 0 !important; }
table.memberdecls tr[class^="memdesc"] { margin-bottom: 10px; }

/* Prototypes rewritten as code blocks by bl-site.js. */
div.memproto.bl-proto-done { padding: 0; }
pre.bl-proto {
    margin: 0; padding: 12px 16px; background: transparent; border: 0; white-space: pre; overflow-x: auto;
    font: 13.5px/1.55 var(--font-family-monospace); color: var(--bl-fg);
}
pre.bl-proto a.el { white-space: pre; overflow-wrap: normal; }
.bl-proto-labels { padding: 0 16px 10px; }
.bl-proto-labels .mlabel { margin-right: 6px; }
