/* ACRES documentation theme.
 *
 * A restyle of MkDocs Material: a fixed left navigation in groups, a calm and wide reading column, reference rows
 * with a description on the left and an example panel on the right, and two polished color schemes.
 * The design tokens are in the first two blocks. All other rules read the tokens.
 * "Development > Write Documentation" explains the page elements that use these classes.
 */

/* ---------------------------------------------------------------- tokens: light */
:root,
[data-md-color-scheme="default"] {
  --acres-bg: #ffffff;
  --acres-bg-subtle: #f6f8fa;
  --acres-bg-inset: #eef1f5;
  --acres-border: #e3e8ee;
  --acres-border-strong: #cdd5df;
  --acres-heading: #1a1f36;
  --acres-text: #3c4257;
  --acres-muted: #697386;
  --acres-accent: #0e7a53;
  --acres-accent-strong: #095c3e;
  --acres-accent-bg: #e6f4ee;
  --acres-warning: #c0362c;
  --acres-warning-bg: #fdecea;
  --acres-caution: #a95a08;
  --acres-caution-bg: #fdf3e2;
  --acres-note: #2456c4;
  --acres-note-bg: #eaf0fc;
  --acres-panel: #101827;
  --acres-panel-border: #101827;
  --acres-panel-text: #dbe2ee;
  --acres-panel-muted: #8e9bb3;
  --acres-panel-tab: #1b2536;
  --acres-shadow: 0 1px 2px rgba(26, 31, 54, 0.06), 0 4px 16px rgba(26, 31, 54, 0.06);

  /* diagram palette (the same names are in each SVG file) */
  --d-bg: #ffffff;
  --d-panel: #f6f8fa;
  --d-box: #ffffff;
  --d-line: #c3ccd8;
  --d-ink: #1a1f36;
  --d-text: #3c4257;
  --d-muted: #697386;
  --d-a: #0e7a53;
  --d-a-bg: #e3f4ec;
  --d-b: #2456c4;
  --d-b-bg: #e6edfb;
  --d-c: #a95a08;
  --d-c-bg: #fbeedd;
  --d-d: #7b3fc4;
  --d-d-bg: #f0e8fb;
  --d-e: #c0362c;
  --d-e-bg: #fde9e6;
}

/* ---------------------------------------------------------------- tokens: dark */
[data-md-color-scheme="slate"] {
  --acres-bg: #0e131b;
  --acres-bg-subtle: #151b26;
  --acres-bg-inset: #1b2331;
  --acres-border: #252e3d;
  --acres-border-strong: #364154;
  --acres-heading: #f0f3f8;
  --acres-text: #c3cad6;
  --acres-muted: #8b95a7;
  --acres-accent: #4ccb96;
  --acres-accent-strong: #7fe0b6;
  --acres-accent-bg: #12312a;
  --acres-warning: #ff8a80;
  --acres-warning-bg: #36191a;
  --acres-caution: #f2b05a;
  --acres-caution-bg: #33260f;
  --acres-note: #8fb4ff;
  --acres-note-bg: #16233f;
  --acres-panel: #080c12;
  --acres-panel-border: #252e3d;
  --acres-panel-text: #dbe2ee;
  --acres-panel-muted: #8e9bb3;
  --acres-panel-tab: #151b26;
  --acres-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 16px rgba(0, 0, 0, 0.35);

  --d-bg: #0e131b;
  --d-panel: #151b26;
  --d-box: #1b2331;
  --d-line: #3a4558;
  --d-ink: #f0f3f8;
  --d-text: #c3cad6;
  --d-muted: #8b95a7;
  --d-a: #4ccb96;
  --d-a-bg: #12312a;
  --d-b: #8fb4ff;
  --d-b-bg: #16233f;
  --d-c: #f2b05a;
  --d-c-bg: #33260f;
  --d-d: #c29bff;
  --d-d-bg: #2a1d42;
  --d-e: #ff8a80;
  --d-e-bg: #36191a;
}

/* ---------------------------------------------------------------- map the tokens onto Material */
[data-md-color-scheme="default"][data-md-color-primary],
[data-md-color-scheme="slate"][data-md-color-primary] {
  --md-default-bg-color: var(--acres-bg);
  --md-default-fg-color: var(--acres-text);
  --md-default-fg-color--light: var(--acres-muted);
  --md-default-fg-color--lighter: var(--acres-border-strong);
  --md-default-fg-color--lightest: var(--acres-border);
  --md-primary-fg-color: var(--acres-bg);
  --md-primary-fg-color--light: var(--acres-bg);
  --md-primary-fg-color--dark: var(--acres-bg);
  --md-primary-bg-color: var(--acres-heading);
  --md-primary-bg-color--light: var(--acres-muted);
  --md-accent-fg-color: var(--acres-accent);
  --md-accent-fg-color--transparent: var(--acres-accent-bg);
  --md-typeset-color: var(--acres-text);
  --md-typeset-a-color: var(--acres-accent);
  --md-code-bg-color: var(--acres-bg-subtle);
  --md-code-fg-color: var(--acres-heading);
  --md-typeset-table-color: var(--acres-border);
  --md-typeset-kbd-color: var(--acres-bg-subtle);
  --md-typeset-kbd-accent-color: var(--acres-bg);
  --md-typeset-kbd-border-color: var(--acres-border-strong);
  --md-footer-bg-color: var(--acres-bg);
  --md-footer-bg-color--dark: var(--acres-bg);
  --md-footer-fg-color: var(--acres-heading);
  --md-footer-fg-color--light: var(--acres-muted);
  --md-footer-fg-color--lighter: var(--acres-muted);
  --md-admonition-bg-color: var(--acres-bg);
  --md-admonition-fg-color: var(--acres-text);
}

[data-md-color-scheme="default"] {
  --md-code-hl-keyword-color: #7b3fc4;
  --md-code-hl-string-color: #0e7a53;
  --md-code-hl-number-color: #b3470b;
  --md-code-hl-function-color: #2456c4;
  --md-code-hl-constant-color: #7b3fc4;
  --md-code-hl-special-color: #c0362c;
  --md-code-hl-name-color: var(--acres-heading);
  --md-code-hl-operator-color: var(--acres-muted);
  --md-code-hl-punctuation-color: var(--acres-muted);
  --md-code-hl-comment-color: #7a8599;
  --md-code-hl-variable-color: #2a2f45;
  --md-code-hl-generic-color: var(--acres-muted);
}

[data-md-color-scheme="slate"] {
  --md-code-hl-keyword-color: #c29bff;
  --md-code-hl-string-color: #7fe0b6;
  --md-code-hl-number-color: #f2b05a;
  --md-code-hl-function-color: #8fb4ff;
  --md-code-hl-constant-color: #c29bff;
  --md-code-hl-special-color: #ff8a80;
  --md-code-hl-name-color: #dbe2ee;
  --md-code-hl-operator-color: #8e9bb3;
  --md-code-hl-punctuation-color: #8e9bb3;
  --md-code-hl-comment-color: #7483a0;
  --md-code-hl-variable-color: #dbe2ee;
  --md-code-hl-generic-color: #8e9bb3;
}

/* ---------------------------------------------------------------- page frame */
html { scroll-padding-top: 4.2rem; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.md-grid { max-width: 84rem; }

.md-header {
  background-color: var(--acres-bg);
  color: var(--acres-heading);
  box-shadow: none;
  border-bottom: 1px solid var(--acres-border);
}
.md-header--shadow { box-shadow: none; }
.md-header__title { font-weight: 650; letter-spacing: -0.01em; }
.md-header__button.md-logo :is(img, svg) { fill: var(--acres-accent); }
.md-header__topic:first-child { font-weight: 650; }

.md-search__form {
  background-color: var(--acres-bg-subtle);
  border: 1px solid var(--acres-border);
  border-radius: 8px;
  box-shadow: none;
}
.md-search__form:hover { background-color: var(--acres-bg-inset); }
.md-search__input { color: var(--acres-heading); }
.md-search__input::placeholder { color: var(--acres-muted); }
.md-search__icon { color: var(--acres-muted); }
[data-md-toggle="search"]:checked ~ .md-header .md-search__form { border-radius: 8px 8px 0 0; }
.md-search__output { border-radius: 0 0 8px 8px; }
.md-search-result__meta { background-color: var(--acres-bg-subtle); color: var(--acres-muted); }
.md-search-result__link:is(:focus, :hover) { background-color: var(--acres-accent-bg); }
.md-search-result mark { color: var(--acres-accent); background: transparent; font-weight: 600; }

/* ---------------------------------------------------------------- left navigation */
@media screen and (min-width: 76.25em) {
  .md-sidebar--primary { width: 13.6rem; border-right: 1px solid var(--acres-border); }
  .md-sidebar--primary .md-sidebar__scrollwrap { margin-right: 0.2rem; }
  .md-sidebar--secondary { width: 11.5rem; }
  .md-nav--primary > .md-nav__title { display: none; }
  .md-nav--primary .md-nav__item--section { margin: 1.15em 0 0.25em; }
  .md-nav--primary .md-nav__item--section:first-child { margin-top: 0.2em; }
  .md-nav--primary .md-nav__item--section > .md-nav__link {
    color: var(--acres-heading);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }
  .md-nav--primary .md-nav__item--section > .md-nav__link[for],
  .md-nav--primary .md-nav__item--section > .md-nav__link .md-nav__link { color: var(--acres-heading); }
  .md-nav--primary .md-nav__item .md-nav__item .md-nav__link { border-radius: 6px; padding: 0.22em 0.5em; margin: 0.06em 0 0.06em -0.5em; }
  .md-nav--primary .md-nav__item .md-nav__item .md-nav__link:is(:hover, :focus) { background-color: var(--acres-bg-subtle); }
  .md-nav--primary .md-nav__item .md-nav__item > .md-nav__link--active {
    background-color: var(--acres-accent-bg);
    color: var(--acres-accent-strong);
    font-weight: 600;
  }
  .md-nav--primary .md-nav__item .md-nav__item .md-nav__item .md-nav__link { font-weight: 400; }
}
.md-nav { font-size: 0.7rem; line-height: 1.45; }
.md-nav__link { color: var(--acres-text); margin-top: 0.35em; }
.md-nav__link:is(:hover, :focus) { color: var(--acres-heading); }
.md-nav__item .md-nav__link--active { color: var(--acres-accent-strong); }
[data-md-color-scheme="slate"] .md-nav__item .md-nav__link--active { color: var(--acres-accent); }
.md-nav__icon { color: var(--acres-muted); }

/* table of contents on the right */
.md-nav--secondary .md-nav__title {
  color: var(--acres-heading);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  background: var(--acres-bg);
  box-shadow: none;
}
.md-nav--secondary .md-nav__link { color: var(--acres-muted); }
.md-nav--secondary .md-nav__link--active { color: var(--acres-accent-strong); font-weight: 600; }
[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__link--active { color: var(--acres-accent); }
@media screen and (min-width: 60em) {
  .md-nav--secondary .md-nav__list { border-left: 1px solid var(--acres-border); padding-left: 0.2rem; }
  .md-nav--secondary .md-nav__list .md-nav__list { border-left: 0; }
}

/* ---------------------------------------------------------------- reading column */
.md-content__inner { margin-top: 0.4rem; padding-top: 1.6rem; padding-bottom: 3rem; }
@media screen and (min-width: 76.25em) {
  .md-content__inner { margin-left: 2.4rem; margin-right: 2.4rem; max-width: 43rem; }
  .md-main:has(.ref) .md-content__inner,
  .md-main:has(.wide) .md-content__inner { max-width: none; }
}
.md-content__inner::before { display: none; }

.md-typeset { font-size: 0.78rem; line-height: 1.68; color: var(--acres-text); }
.md-typeset h1, .md-typeset h2, .md-typeset h3, .md-typeset h4 { color: var(--acres-heading); letter-spacing: -0.012em; }
.md-typeset h1 { font-size: 1.72rem; font-weight: 700; line-height: 1.2; margin: 0 0 0.9rem; color: var(--acres-heading); }
.md-typeset h2 {
  font-size: 1.18rem;
  font-weight: 650;
  line-height: 1.3;
  margin: 2.6rem 0 0.8rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--acres-border);
}
.md-typeset h1 + h2 { border-top: 0; padding-top: 0; margin-top: 1.4rem; }
.md-typeset h3 { font-size: 0.94rem; font-weight: 650; margin: 1.9rem 0 0.6rem; }
.md-typeset h4 { font-size: 0.8rem; font-weight: 650; margin: 1.4rem 0 0.4rem; }
.md-typeset h1 + p { font-size: 0.92rem; line-height: 1.6; color: var(--acres-muted); margin-top: 0; }
.md-typeset a { text-decoration: none; font-weight: 500; }
.md-typeset a:is(:hover, :focus) { color: var(--acres-accent-strong); text-decoration: underline; text-underline-offset: 0.18em; }
.md-typeset strong { color: var(--acres-heading); font-weight: 650; }
.md-typeset hr { border-bottom: 1px solid var(--acres-border); margin: 2rem 0; }
.md-typeset ol li, .md-typeset ul li { margin-bottom: 0.35em; }
.md-typeset ol > li::marker { color: var(--acres-muted); font-weight: 600; font-variant-numeric: tabular-nums; }

/* heading anchors: a quiet "#" that shows on hover */
.md-typeset .headerlink { color: var(--acres-border-strong); font-weight: 400; margin-left: 0.35rem; }
.md-typeset :is(h1, h2, h3, h4):hover .headerlink,
.md-typeset .headerlink:focus { color: var(--acres-accent); text-decoration: none; }

/* ---------------------------------------------------------------- code */
.md-typeset code {
  font-size: 0.86em;
  border-radius: 5px;
  padding: 0.08em 0.36em;
  background-color: var(--acres-bg-subtle);
  box-shadow: inset 0 0 0 1px var(--acres-border);
  color: var(--acres-heading);
  font-variant-ligatures: none;
  word-break: normal;
  white-space: nowrap;
}
.md-typeset td code, .md-typeset dd code { white-space: normal; overflow-wrap: break-word; }
.md-typeset a code { color: inherit; }
.md-typeset pre > code {
  box-shadow: none;
  border: 1px solid var(--acres-border);
  border-radius: 10px;
  padding: 0.9em 1.1em;
  font-size: 0.68rem;
  line-height: 1.6;
  white-space: pre;
}
.md-typeset .highlight { margin: 1.1em 0; }
.md-clipboard { color: var(--acres-muted); border-radius: 6px; }
.md-clipboard:is(:hover, :focus) { color: var(--acres-accent); }
.md-typeset kbd { border-radius: 5px; font-size: 0.82em; box-shadow: 0 1px 0 1px var(--acres-border-strong); }

/* language tabs */
.md-typeset .tabbed-set { margin: 1.1em 0; }
.md-typeset .tabbed-labels {
  --md-default-fg-color: var(--acres-heading);
  --md-default-fg-color--light: var(--acres-muted);
  box-shadow: 0 -1px 0 var(--acres-border) inset;
}
.md-typeset .tabbed-labels::before { background: var(--acres-accent); }
.md-typeset .tabbed-labels > label {
  font-size: 0.68rem;
  font-weight: 600;
  padding: 0.7em 1em 0.6em;
}
.md-typeset .tabbed-content .highlight:first-child { margin-top: 0.8em; }

/* ---------------------------------------------------------------- tables: one look for all parameter tables */
.md-typeset__scrollwrap { margin: 1.1em 0; }
.md-typeset__table { display: block; padding: 0; }
.md-typeset table:not([class]) {
  display: table;
  width: 100%;
  border: 0;
  border-radius: 0;
  font-size: 0.7rem;
  line-height: 1.5;
  box-shadow: none;
  background: transparent;
}
.md-typeset table:not([class]) th {
  color: var(--acres-muted);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: transparent;
  border-bottom: 1px solid var(--acres-border-strong);
  padding: 0.55em 0.9em 0.55em 0;
  min-width: 0;
  white-space: nowrap;
}
.md-typeset table:not([class]) td {
  border-top: 0;
  border-bottom: 1px solid var(--acres-border);
  padding: 0.6em 0.9em 0.6em 0;
  vertical-align: top;
}
.md-typeset table:not([class]) tr:last-child td { border-bottom: 0; }
.md-typeset table:not([class]) tbody tr:hover { background: transparent; box-shadow: none; }
.md-typeset table:not([class]) td:first-child code {
  background: transparent;
  box-shadow: none;
  padding: 0;
  font-weight: 600;
  color: var(--acres-heading);
  white-space: nowrap;
}
.md-typeset table:not([class]) td:first-child:has(> code:only-child) { white-space: nowrap; }
.md-typeset table:not([class]) td:first-child:not(:has(> code:only-child)) { min-width: 7em; }
.md-typeset table:not([class]) td:last-child { white-space: normal; min-width: 11em; }
.md-typeset .ref table:not([class]) td:last-child { min-width: 0; }
.md-typeset .ref table:not([class]) :is(th, td) { padding-right: 0.7em; }

/* ---------------------------------------------------------------- safety notes (ASD-STE100: WARNING, CAUTION, Note) */
.md-typeset :is(.admonition, details) {
  border: 1px solid var(--acres-border);
  border-left: 3px solid var(--acres-note);
  border-radius: 8px;
  box-shadow: none;
  font-size: 0.74rem;
  background: var(--acres-note-bg);
  color: var(--acres-text);
  margin: 1.3em 0;
}
.md-typeset :is(.admonition-title, summary) {
  background: transparent !important;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--acres-note);
  padding-top: 0.7em;
  padding-bottom: 0;
  margin-bottom: 0.1em;
}
.md-typeset :is(.admonition-title, summary)::before { background-color: var(--acres-note) !important; top: 0.72em; }
.md-typeset :is(.admonition, details):is(.warning, .danger, .caution, .result, .note) { border-color: var(--acres-border); }
.md-typeset :is(.admonition, details).note { border-left-color: var(--acres-note); }
.md-typeset .note > :is(.admonition-title, summary)::before {
  -webkit-mask-image: var(--md-admonition-icon--info);
  mask-image: var(--md-admonition-icon--info);
}
.md-typeset :is(.admonition, details).warning,
.md-typeset :is(.admonition, details).danger { border-left-color: var(--acres-warning); background: var(--acres-warning-bg); }
.md-typeset :is(.warning, .danger) > :is(.admonition-title, summary) { color: var(--acres-warning); }
.md-typeset :is(.warning, .danger) > :is(.admonition-title, summary)::before { background-color: var(--acres-warning) !important; }
.md-typeset :is(.admonition, details).caution { border-left-color: var(--acres-caution); background: var(--acres-caution-bg); }
.md-typeset .caution > :is(.admonition-title, summary) { color: var(--acres-caution); }
.md-typeset .caution > :is(.admonition-title, summary)::before {
  background-color: var(--acres-caution) !important;
  -webkit-mask-image: var(--md-admonition-icon--warning);
  mask-image: var(--md-admonition-icon--warning);
}
.md-typeset :is(.admonition, details).result { border-left-color: var(--acres-accent); background: var(--acres-accent-bg); }
.md-typeset .result > :is(.admonition-title, summary) { color: var(--acres-accent-strong); }
.md-typeset .result > :is(.admonition-title, summary)::before {
  background-color: var(--acres-accent) !important;
  -webkit-mask-image: var(--md-admonition-icon--success);
  mask-image: var(--md-admonition-icon--success);
}
[data-md-color-scheme="slate"] .md-typeset .result > :is(.admonition-title, summary) { color: var(--acres-accent); }

/* ---------------------------------------------------------------- reference rows: description left, example right */
.md-typeset .ref { margin: 0 0 1.2rem; padding: 1.6rem 0 0.6rem; border-top: 1px solid var(--acres-border); }
.md-typeset .ref > :is(div, section) > :first-child { margin-top: 0; }
.md-typeset .ref h2, .md-typeset .ref h3 { border-top: 0; padding-top: 0; margin-top: 0; }
.md-typeset h2 + .ref, .md-typeset h1 + .ref, .md-typeset p + .ref.first { border-top: 0; padding-top: 0.2rem; }
@media screen and (min-width: 82em) {
  .md-typeset .ref {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 2.6rem;
    align-items: start;
  }
  .md-typeset .ref > :last-child:not(:first-child) { position: sticky; top: 3.6rem; }
}

/* the example panel: dark in both themes */
.md-typeset .ref > :last-child:not(:first-child) :is(.highlight, .tabbed-set),
.md-typeset .panel :is(.highlight, .tabbed-set) { margin-top: 0; }
.md-typeset .ref > :last-child:not(:first-child) .tabbed-set,
.md-typeset .panel .tabbed-set {
  background: var(--acres-panel);
  border: 1px solid var(--acres-panel-border);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--acres-shadow);
}
.md-typeset .ref > :last-child:not(:first-child) .tabbed-labels,
.md-typeset .panel .tabbed-labels {
  --md-default-fg-color: #ffffff;
  --md-default-fg-color--light: var(--acres-panel-muted);
  background: var(--acres-panel-tab);
  box-shadow: none;
  padding: 0 0.3rem;
}
.md-typeset .ref > :last-child:not(:first-child) .tabbed-labels::before,
.md-typeset .panel .tabbed-labels::before { background: #4ccb96; }
.md-typeset .ref > :last-child:not(:first-child) pre > code,
.md-typeset .panel pre > code {
  --md-code-hl-keyword-color: #c29bff;
  --md-code-hl-string-color: #7fe0b6;
  --md-code-hl-number-color: #f2b05a;
  --md-code-hl-function-color: #8fb4ff;
  --md-code-hl-constant-color: #c29bff;
  --md-code-hl-special-color: #ff8a80;
  --md-code-hl-name-color: #dbe2ee;
  --md-code-hl-operator-color: #8e9bb3;
  --md-code-hl-punctuation-color: #8e9bb3;
  --md-code-hl-comment-color: #7483a0;
  --md-code-hl-variable-color: #dbe2ee;
  --md-code-hl-generic-color: #8e9bb3;
  background: var(--acres-panel);
  color: var(--acres-panel-text);
  border-color: var(--acres-panel-border);
}
.md-typeset .ref > :last-child:not(:first-child) .tabbed-set pre > code,
.md-typeset .panel .tabbed-set pre > code { border: 0; border-radius: 0; }
.md-typeset .ref > :last-child:not(:first-child) .tabbed-content .highlight:first-child,
.md-typeset .panel .tabbed-content .highlight:first-child { margin-top: 0; }
.md-typeset .ref > :last-child:not(:first-child) .tabbed-block > .highlight,
.md-typeset .panel .tabbed-block > .highlight { margin: 0; }
.md-typeset .ref > :last-child:not(:first-child) > .highlight pre > code,
.md-typeset .panel > .highlight pre > code { box-shadow: var(--acres-shadow); }
.md-typeset .ref > :last-child:not(:first-child) .md-clipboard,
.md-typeset .panel .md-clipboard { color: var(--acres-panel-muted); }
.md-typeset .ref > :last-child:not(:first-child) .md-clipboard:hover,
.md-typeset .panel .md-clipboard:hover { color: #ffffff; }
/* a caption above a panel: **Example** or **Response** as a plain paragraph */
.md-typeset .ref > :last-child:not(:first-child) > p:has(> strong:only-child):has(+ :is(.highlight, .tabbed-set)),
.md-typeset .panel > p:has(> strong:only-child):has(+ :is(.highlight, .tabbed-set)) {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--acres-muted);
  margin: 0 0 0.5em;
}
.md-typeset .ref > :last-child:not(:first-child) > p:has(> strong:only-child):has(+ :is(.highlight, .tabbed-set)) strong,
.md-typeset .panel > p:has(> strong:only-child):has(+ :is(.highlight, .tabbed-set)) strong { color: var(--acres-muted); font-weight: 700; }
.md-typeset .ref > :last-child:not(:first-child) > :is(.highlight, .tabbed-set) + p,
.md-typeset .panel > :is(.highlight, .tabbed-set) + p { margin-top: 1.2em; }

/* small labels for a type, a unit or a state: `text`{ .tag } */
.md-typeset .tag,
.md-typeset code.tag {
  display: inline-block;
  font-family: var(--md-text-font-family);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.5;
  padding: 0.05em 0.5em;
  border-radius: 4px;
  color: var(--acres-muted);
  background: var(--acres-bg-inset);
  box-shadow: none;
  vertical-align: 0.1em;
}
.md-typeset .tag.required { color: var(--acres-caution); background: var(--acres-caution-bg); }
.md-typeset .tag.generated { color: var(--acres-note); background: var(--acres-note-bg); }

/* ---------------------------------------------------------------- cards on overview pages */
.md-typeset .cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr)); gap: 0.8rem; margin: 1.4em 0; }
.md-typeset .cards > :is(div, a, p) {
  display: block;
  border: 1px solid var(--acres-border);
  border-radius: 10px;
  padding: 0.9rem 1rem 0.8rem;
  background: var(--acres-bg);
  transition: border-color 120ms, box-shadow 120ms;
  margin: 0;
}
.md-typeset .cards > :is(div, a, p):hover { border-color: var(--acres-border-strong); box-shadow: var(--acres-shadow); }
.md-typeset .cards > div > :first-child { margin-top: 0; }
.md-typeset .cards > div > :last-child { margin-bottom: 0; }
.md-typeset .cards > div p { font-size: 0.7rem; line-height: 1.55; margin: 0.3em 0; }
.md-typeset .cards > div > p:first-child { font-size: 0.78rem; }
.md-typeset .cards > div > p:first-child strong { color: var(--acres-heading); }

/* ---------------------------------------------------------------- figures and diagrams */
.md-typeset figure { margin: 1.6em 0; max-width: 100%; width: 100%; display: block; }
.md-typeset figure.diagram {
  border: 1px solid var(--acres-border);
  border-radius: 12px;
  padding: 0.6rem;
  background: var(--d-bg);
}
.md-typeset figure.diagram .diagram-scroll { overflow-x: auto; }
.md-typeset figure.diagram svg { display: block; width: 100%; height: auto; margin: 0 auto; }
.md-typeset figure.diagram figcaption a { white-space: nowrap; font-weight: 500; }
.md-typeset figure.diagram figcaption,
.md-typeset figure figcaption {
  font-size: 0.68rem;
  font-style: normal;
  color: var(--acres-muted);
  margin: 0.6rem auto 0.1rem;
  max-width: 44rem;
  text-align: center;
}
.md-typeset img { border-radius: 10px; }
.md-typeset figure > img, .md-typeset p > img:only-child { border: 1px solid var(--acres-border); }

/* the diagram classes (the inline copy; each SVG file carries the same rules for standalone use) */
svg.acres-diagram { font-family: Inter, "Helvetica Neue", Arial, sans-serif; }
svg.acres-diagram .d-bg { fill: var(--d-bg); }
svg.acres-diagram .d-group { fill: var(--d-panel); stroke: var(--d-line); stroke-width: 1; }
svg.acres-diagram .d-box { fill: var(--d-box); stroke: var(--d-line); stroke-width: 1.25; }
svg.acres-diagram .d-box-a { fill: var(--d-a-bg); stroke: var(--d-a); stroke-width: 1.25; }
svg.acres-diagram .d-box-b { fill: var(--d-b-bg); stroke: var(--d-b); stroke-width: 1.25; }
svg.acres-diagram .d-box-c { fill: var(--d-c-bg); stroke: var(--d-c); stroke-width: 1.25; }
svg.acres-diagram .d-box-d { fill: var(--d-d-bg); stroke: var(--d-d); stroke-width: 1.25; }
svg.acres-diagram .d-box-e { fill: var(--d-e-bg); stroke: var(--d-e); stroke-width: 1.25; }
svg.acres-diagram .d-title { fill: var(--d-ink); font-size: 15px; font-weight: 700; }
svg.acres-diagram .d-label { fill: var(--d-ink); font-size: 13px; font-weight: 600; }
svg.acres-diagram .d-text { fill: var(--d-text); font-size: 12px; font-weight: 400; }
svg.acres-diagram .d-note { fill: var(--d-muted); font-size: 11px; font-weight: 400; }
svg.acres-diagram .d-mono { fill: var(--d-text); font-size: 11px; font-family: "JetBrains Mono", "DejaVu Sans Mono", Menlo, Consolas, monospace; }
svg.acres-diagram .d-cap { fill: var(--d-muted); font-size: 10.5px; font-weight: 700; letter-spacing: 0.08em; }
svg.acres-diagram .d-edge { fill: none; stroke: var(--d-muted); stroke-width: 1.5; }
svg.acres-diagram .d-edge-a { fill: none; stroke: var(--d-a); stroke-width: 1.75; }
svg.acres-diagram .d-edge-b { fill: none; stroke: var(--d-b); stroke-width: 1.75; }
svg.acres-diagram .d-edge-c { fill: none; stroke: var(--d-c); stroke-width: 1.75; }
svg.acres-diagram .d-edge-d { fill: none; stroke: var(--d-d); stroke-width: 1.75; }
svg.acres-diagram .d-edge-e { fill: none; stroke: var(--d-e); stroke-width: 1.75; }
svg.acres-diagram .d-dash { stroke-dasharray: 5 4; }
svg.acres-diagram .d-head { fill: var(--d-muted); }
svg.acres-diagram .d-head-a { fill: var(--d-a); }
svg.acres-diagram .d-head-b { fill: var(--d-b); }
svg.acres-diagram .d-head-c { fill: var(--d-c); }
svg.acres-diagram .d-head-d { fill: var(--d-d); }
svg.acres-diagram .d-head-e { fill: var(--d-e); }
svg.acres-diagram .d-fill-a { fill: var(--d-a); }
svg.acres-diagram .d-fill-b { fill: var(--d-b); }
svg.acres-diagram .d-fill-c { fill: var(--d-c); }
svg.acres-diagram .d-fill-d { fill: var(--d-d); }
svg.acres-diagram .d-fill-e { fill: var(--d-e); }
svg.acres-diagram .d-fill-ink { fill: var(--d-ink); }
svg.acres-diagram .d-fill-muted { fill: var(--d-muted); }
svg.acres-diagram .d-halo { paint-order: stroke; stroke: var(--d-bg); stroke-width: 4px; stroke-linejoin: round; }
svg.acres-diagram .d-halo-panel { paint-order: stroke; stroke: var(--d-panel); stroke-width: 4px; stroke-linejoin: round; }

/* ---------------------------------------------------------------- math */
.md-typeset .arithmatex { overflow-x: auto; overflow-y: hidden; }
.md-typeset div.arithmatex { margin: 1.1em 0; padding: 0.2em 0; }
mjx-container { color: var(--acres-heading); }

/* definition lists (glossary) */
.md-typeset dl dt { font-weight: 650; color: var(--acres-heading); margin-top: 1.1em; }
.md-typeset dl dd { margin: 0.2em 0 0.4em 0; padding-left: 0.9rem; border-left: 2px solid var(--acres-border); }

/* ---------------------------------------------------------------- footer */
.md-footer { border-top: 1px solid var(--acres-border); }
.md-footer__inner { padding: 0.4rem 0; }
.md-footer__link { opacity: 1; }
.md-footer__title { font-size: 0.74rem; font-weight: 600; background: transparent; }
.md-footer__direction { font-size: 0.58rem; letter-spacing: 0.07em; text-transform: uppercase; opacity: 1; color: var(--acres-muted); }
.md-footer-meta { background: var(--acres-bg); border-top: 1px solid var(--acres-border); }
.md-footer-meta .md-copyright { color: var(--acres-muted); font-size: 0.62rem; }
html .md-footer-meta.md-typeset a { color: var(--acres-muted); }
.md-top { background: var(--acres-bg); color: var(--acres-heading); border: 1px solid var(--acres-border); box-shadow: var(--acres-shadow); }

/* ---------------------------------------------------------------- narrow screens */
@media screen and (max-width: 76.2344em) {
  .md-nav--primary .md-nav__title { background: var(--acres-bg-subtle); color: var(--acres-heading); }
  .md-nav--primary .md-nav__title .md-nav__button { color: var(--acres-accent); }
  .md-nav--primary .md-nav__title[for="__drawer"] { background: var(--acres-bg-subtle); color: var(--acres-heading); }
  .md-typeset .ref > :last-child:not(:first-child) { margin-top: 1rem; }
}
@media screen and (max-width: 44.9844em) {
  .md-typeset h1 { font-size: 1.36rem; }
  .md-typeset h2 { font-size: 1.04rem; }
  .md-content__inner { padding-top: 0.8rem; }
  .md-typeset table:not([class]) td:first-child:has(> code:only-child),
  .md-typeset table:not([class]) td:first-child code { white-space: normal; overflow-wrap: break-word; }
  .md-typeset table:not([class]) td:last-child { min-width: 9em; }
  .md-typeset .ref table:not([class]) td:last-child { min-width: 8em; }
  .md-typeset figure.diagram { margin-left: -0.4rem; margin-right: -0.4rem; }
}
@media print {
  .md-typeset .ref { display: block; }
}

/* ---------------------------------------------------------------- late adjustments */
/* a type in the second column stays on one line; a panel wraps long lines instead of a sideways scroll */
.md-typeset table:not([class]) td:nth-child(2) > code:only-child { white-space: nowrap; }
.md-typeset .ref > :last-child:not(:first-child) pre > code,
.md-typeset .panel pre > code { white-space: pre-wrap; overflow-wrap: anywhere; }
/* an SVG that a page shows as an image (not a diagram of Assets/Diagrams) has its own fixed colors:
   it gets a light card, so that it stays readable in the dark theme */
.md-typeset img[src$=".svg"] {
  background: #ffffff;
  border: 1px solid var(--acres-border);
  border-radius: 12px;
  padding: 0.6rem;
  box-sizing: border-box;
}
/* a formula or a code name in a table header keeps its case */
.md-typeset table:not([class]) th :is(.arithmatex, mjx-container, code) { text-transform: none; letter-spacing: 0; }
/* scroll bars of wide diagrams and tables follow the theme; on a phone a text cell keeps a readable width */
.md-typeset figure.diagram .diagram-scroll, .md-typeset__scrollwrap, .md-typeset pre > code { scrollbar-width: thin; scrollbar-color: var(--acres-border-strong) transparent; }
@media screen and (max-width: 44.9844em) {
  .md-typeset table:not([class]) td:not(:first-child) { min-width: 5.5em; }
  .md-typeset table:not([class]) td:last-child { min-width: 10em; }
}
