/* Technical reference layout: stable navigation, compact sections, legible code. */
:root,
[data-md-color-scheme="default"] {
  --md-text-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "Microsoft YaHei", sans-serif;
  --md-code-font: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --md-primary-fg-color: #1755a6;
  --md-accent-fg-color: #1263c5;
  --optagent-public-accent: #1755a6;
  --optagent-surface: #f4f7fb;
  --optagent-border: #dce3ec;
  --docs-space-xs: .25rem;
  --docs-space-sm: .5rem;
  --docs-space-md: .8rem;
  --docs-space-lg: 1.2rem;
  --docs-space-section: 1.6rem;
  --docs-body-size: .8rem;
  --docs-code-size: .7rem;
  --docs-table-size: .75rem;
}
[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #17375e;
  --md-primary-bg-color: #ffffff;
  --md-primary-bg-color--light: #d4e3f5;
  --md-typeset-a-color: #85baff;
  --md-accent-fg-color: #85baff;
  --optagent-public-accent: #85baff;
  --optagent-surface: #242d3b;
  --optagent-border: #3a4658;
}
.md-header { box-shadow: none; }
.md-header__title { font-weight: 600; }
.md-tabs { background: var(--md-primary-fg-color); color: var(--md-primary-bg-color); }
.md-tabs__link { opacity: .85; }
.md-tabs__link--active { opacity: 1; }
.md-grid { max-width: 72rem; }
.md-main__inner { margin-top: var(--docs-space-md); }
.md-content { min-width: 0; }
.md-content__inner { max-width: 44rem; margin-inline: auto; padding: var(--docs-space-xs) var(--docs-space-lg) var(--docs-space-section); }
.md-typeset { font-size: var(--docs-body-size); line-height: 1.65; }
.md-typeset h1 { color: var(--md-default-fg-color); font-size: 1.6rem; font-weight: 600; letter-spacing: 0; line-height: 1.35; margin: var(--docs-space-sm) 0 var(--docs-space-md); text-wrap: balance; }
.md-typeset h2 { border: 0; font-size: 1.1rem; font-weight: 600; line-height: 1.4; margin: var(--docs-space-section) 0 var(--docs-space-sm); padding: 0; }
.md-typeset h3 { font-size: .9rem; font-weight: 600; line-height: 1.5; margin: var(--docs-space-lg) 0 var(--docs-space-sm); }
.md-typeset :is(h1,h2,h3,h4) { scroll-margin-top: 6rem; overflow-wrap: anywhere; }
.md-typeset :is(p,ul,ol,pre) { margin-block: var(--docs-space-md); }
.md-typeset a { text-underline-offset: .18em; }
.md-typeset p a:not(.md-button):hover { text-decoration: underline; }
.md-nav { font-size: .7rem; line-height: 1.5; }
.md-nav__link { padding-block: .15rem; }
[data-md-color-scheme] .md-nav__link--active { color: var(--optagent-public-accent); font-weight: 700; }
.md-sidebar--secondary { border-left: 1px solid var(--optagent-border); }
.md-nav--secondary .md-nav__title { font-size: .65rem; font-weight: 600; }
.md-typeset table:not([class]) { font-size: var(--docs-table-size); line-height: 1.55; border-radius: .15rem; }
.md-typeset table:not([class]) th { background: var(--optagent-surface); color: var(--md-default-fg-color); font-weight: 600; min-width: 0; }
.md-typeset table:not([class]) :is(td,th) { padding: var(--docs-space-sm) .6rem; }
.md-typeset table:not([class]) code { font-size: var(--docs-code-size); white-space: normal; overflow-wrap: anywhere; }
.md-typeset table:not([class]) tbody tr:hover { background: var(--optagent-surface); }
.md-typeset pre > code { border: 1px solid var(--optagent-border); border-radius: .15rem; font-size: var(--docs-code-size); line-height: 1.6; padding: .7rem 3rem .7rem .8rem; }
.md-typeset code { font-size: var(--docs-code-size); overflow-wrap: anywhere; }
.md-typeset .admonition { font-size: var(--docs-table-size); box-shadow: none; }
.md-typeset .md-code__nav { top: .25rem; right: .25rem; }
.md-typeset .md-code__button[data-md-type="copy"] { color: var(--md-default-fg-color--light); width: 2.2rem; height: 2.2rem; }
.md-typeset .md-code__button[data-md-type="copy"]:hover { color: var(--optagent-public-accent); }
.docs-page-meta { border: 0; gap: var(--docs-space-sm); margin: 0; padding: 0; min-height: 1.8rem; }
.docs-context { display: flex; flex-wrap: wrap; align-items: center; gap: var(--docs-space-md); min-width: 0; }
.docs-breadcrumbs { display: flex; flex-wrap: wrap; gap: var(--docs-space-sm); font-size: .65rem; color: var(--md-default-fg-color--light); }
.docs-version { color: var(--md-default-fg-color--light); font-size: .65rem; border-left: 1px solid var(--optagent-border); padding-left: var(--docs-space-md); }
.md-source-actions__link { min-height: 1.8rem; border: 0; border-radius: .15rem; font-size: .65rem; padding: var(--docs-space-xs) var(--docs-space-sm); white-space: nowrap; }
.md-typeset .doc-heading { background: var(--optagent-surface); border: 0; border-radius: 0; padding: var(--docs-space-sm) .6rem; }
.md-typeset .doc-function {
  border-top: 1px solid var(--optagent-border);
  margin-top: 2rem;
  padding-top: var(--docs-space-lg);
}
.md-typeset .doc-function > .doc-heading {
  background: transparent;
  padding: 0;
  margin: 0 0 var(--docs-space-md);
  font-size: 1.1rem;
  overflow-wrap: anywhere;
}
.md-typeset .docs-method-name { color: var(--md-default-fg-color); }
.md-typeset .doc-function table:has(th:nth-child(4)) { width: 100%; }
.md-typeset .doc-function table:has(th:nth-child(4)) th:first-child { min-width: 6rem; }
.md-typeset .doc-function table:has(th:nth-child(4)) th:nth-child(2) { min-width: 7rem; }
.md-typeset .doc-function table:has(th:nth-child(4)) th:nth-child(4) { min-width: 3rem; }
.md-typeset .doc-contents { padding-left: 0; }
.md-typeset .doc-section-title { font-weight: 600; }
.md-typeset .doc-md-description p { margin: 0; }
.md-typeset .doc-contents > p { margin-block: var(--docs-space-sm); }
.docs-method-index { border-block: 1px solid var(--optagent-border); padding-block: var(--docs-space-sm); }
.md-typeset .docs-method-index > p { margin: var(--docs-space-xs) 0 var(--docs-space-sm); }
.md-typeset .docs-method-index > p:has(> strong) { margin: var(--docs-space-md) 0 var(--docs-space-xs); font-size: var(--docs-table-size); }
.md-typeset .docs-method-index a { display: inline-block; padding-block: .1rem; }
.md-typeset .docs-method-index a code { background: transparent; padding: 0; }
.docs-table-hint { color: var(--md-default-fg-color--light); font-size: .65rem; }
.md-typeset .docs-table-hint:not([hidden]) { margin: var(--docs-space-xs) 0; }
.md-typeset .md-typeset__scrollwrap { overflow-x: auto; overscroll-behavior-inline: contain; }
.md-typeset .md-typeset__scrollwrap[data-overflow="true"] { border-bottom: 2px solid var(--optagent-border); }
a:focus-visible, button:focus-visible, input:focus-visible, label:focus-visible, [tabindex="0"]:focus-visible { outline: 3px solid var(--md-accent-fg-color); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media screen and (max-width: 76.234375em) {
  .md-content__inner { padding-inline: var(--docs-space-md); }
}
@media screen and (max-width: 44.984375em) {
  .md-main__inner { margin-top: var(--docs-space-sm); }
  .md-content__inner { padding: var(--docs-space-xs) var(--docs-space-md) var(--docs-space-lg); }
  .md-typeset h1 { font-size: 1.4rem; }
  .md-typeset table:not([class]) { display: table; white-space: normal; }
  .md-typeset table:not([class]) :is(td,th) { min-width: 6rem; }
  .md-typeset .doc table:not([class]) th:nth-child(3),
  .md-typeset .doc table:not([class]) td:nth-child(3) { min-width: 12rem; }
  .docs-page-meta { flex-wrap: wrap; }
  .md-source-actions__link { min-height: 2.2rem; }
  .md-nav__link { min-height: 2.2rem; align-items: center; }
  .md-typeset .docs-method-index a { min-height: 2.2rem; display: inline-flex; align-items: center; }
}

/* Solver support is readable without relying on color or hover tooltips. */
.docs-solver-support { margin: .5rem 0 1rem; }
.docs-solver-badges { display: flex; flex-wrap: wrap; gap: .3rem; }
.md-typeset .docs-solver-badge {
  display: inline-block;
  padding: .12rem .35rem;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: .15rem;
  font-size: .65rem;
  font-weight: 600;
  line-height: 1.55;
  white-space: nowrap;
  color: var(--md-default-fg-color);
  background: var(--md-code-bg-color);
}
.md-typeset .docs-solver-badge--supported { color: #17643b; background: #edf8f0; border-color: #a9d6b8; }
.md-typeset .docs-solver-badge--entry { color: #1755a6; background: #edf3fc; border-color: #b9cee8; }
.md-typeset .docs-solver-badge--conditional { color: #795000; background: #fff7e5; border-color: #dbc58f; }
.md-typeset .docs-solver-badge--unsupported { color: #a22d36; background: #fff0f1; border-color: #e6bec2; }
[data-md-color-scheme="slate"] .docs-solver-badge--supported { color: #98e0b2; background: #213c30; border-color: #47785a; }
[data-md-color-scheme="slate"] .docs-solver-badge--entry { color: #a8ccff; background: #243650; border-color: #49658c; }
[data-md-color-scheme="slate"] .docs-solver-badge--conditional { color: #f4d18a; background: #3a3223; border-color: #786641; }
[data-md-color-scheme="slate"] .docs-solver-badge--unsupported { color: #ffb7bd; background: #442c34; border-color: #82515b; }
.md-typeset .docs-solver-note { margin: .4rem 0 0; font-size: .75rem; line-height: 1.7; }

.docs-support-legend { display: flex; flex-wrap: wrap; gap: .4rem; margin-block: .8rem; }
.md-typeset .docs-support-matrix { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .75rem; line-height: 1.6; margin-block: 1.5rem 2rem; }
.md-typeset .docs-support-matrix caption { text-align: left; font-size: 1rem; font-weight: 600; margin-bottom: .6rem; }
.md-typeset .docs-support-matrix thead { background: var(--optagent-surface); }
.md-typeset .docs-support-matrix th:first-child { width: 40%; }
.md-typeset .docs-support-matrix :is(th,td) { padding: .6rem .4rem; text-align: center; vertical-align: top; }
.md-typeset .docs-support-matrix th:first-child { text-align: left; }
.md-typeset .docs-support-matrix tbody { border-bottom: 1px solid var(--optagent-border); }
.docs-support-title { font-weight: 600; }
.docs-support-methods { display: flex; flex-wrap: wrap; gap: .15rem .45rem; margin-top: .2rem; }
.md-typeset .docs-support-methods a { min-width: 0; text-align: left; }
.md-typeset .docs-support-methods code { font-size: .65rem; overflow-wrap: anywhere; background: transparent; padding: 0; }
.docs-support-backend { display: none; }
.docs-support-na { font-size: .65rem; color: var(--md-default-fg-color--light); }
.md-typeset .docs-support-condition td { padding: 0 .4rem .5rem; text-align: left; }
.md-typeset .docs-support-condition details { margin: 0; padding: 0; border: 0; box-shadow: none; font-size: .7rem; background: transparent; }
.md-typeset .docs-support-condition summary { margin: 0; padding: .25rem 0; color: var(--md-default-fg-color--light); background: transparent; list-style: disclosure-closed; cursor: pointer; }
.md-typeset .docs-support-condition details[open] > summary { list-style: disclosure-open; }
.md-typeset .docs-support-condition summary::before, .md-typeset .docs-support-condition summary::after { display: none; }
.md-typeset .docs-support-condition details p { margin: .4rem 0; padding: .5rem .6rem; background: var(--optagent-surface); line-height: 1.8; }
@media screen and (max-width: 44.984375em) {
  .md-typeset .docs-support-matrix, .md-typeset .docs-support-matrix tbody { display: block; }
  .md-typeset .docs-support-matrix caption { display: block; }
  .md-typeset .docs-support-matrix thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .md-typeset .docs-support-matrix tr { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .md-typeset .docs-support-matrix tbody th:first-child { grid-column: 1 / -1; width: auto; padding-top: .8rem; }
  .md-typeset .docs-support-matrix td { min-width: 0; padding-inline: .15rem; }
  .docs-support-backend { display: block; margin-bottom: .25rem; font-size: .6rem; font-weight: 600; }
  .md-typeset .docs-support-condition td { grid-column: 1 / -1; padding: 0 .4rem .7rem; }
  .md-typeset .docs-support-condition summary { min-height: 2.2rem; padding-block: .5rem; }
  .md-typeset .docs-support-methods a { display: inline-flex; align-items: center; min-height: 2.2rem; }
}

.docs-support-toggle { display: inline-block; width: .8rem; text-align: center; margin-right: .15rem; }
.docs-support-condition details[open] .docs-support-toggle { transform: rotate(90deg); }
