/* The API reference pages, rendered by Neoteroi's essentials-openapi (MIT). Adapted from its
   mkdocs-oad stylesheet to the site's tokens; only the classes the reference uses. */

:root {
  --api-get: #2f7d4f;
  --api-post: #2c6aa0;
  --api-patch: #a3620f;
  --api-put: #7a4aa0;
  --api-delete: #b3362f;
}
[data-md-color-scheme="slate"] {
  --api-get: #4f9e6f;
  --api-post: #4a88bd;
  --api-patch: #b97f2c;
  --api-put: #9470b6;
  --api-delete: #c65750;
}

.md-typeset .api-endpoint {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  padding: .55rem .7rem; margin: .4rem 0 1rem;
  background: var(--ns-surface); border: 1px solid var(--ns-border); border-radius: var(--ns-radius);
}
.md-typeset .api-endpoint code { background: none; padding: 0; font-size: .74rem; overflow-wrap: anywhere; }  /* breaks after "/" (the hook adds <wbr>) */
.md-typeset span[class^="http-"] {
  display: inline-block; min-width: 3.6rem; text-align: center; border-radius: 4px; padding: .1rem .45rem;
  font: 700 .62rem/1.5 var(--md-code-font-family); letter-spacing: .03em; color: #fff;
}
.md-typeset .http-get { background-color: var(--api-get); }
.md-typeset .http-post { background-color: var(--api-post); }
.md-typeset .http-patch { background-color: var(--api-patch); }
.md-typeset .http-put { background-color: var(--api-put); }
.md-typeset .http-delete { background-color: var(--api-delete); }
.md-typeset .route-param { color: var(--md-primary-fg-color); }

.md-typeset .string-type { color: var(--md-code-hl-string-color); }
.md-typeset .integer-type, .md-typeset .number-type { color: var(--md-code-hl-number-color); }
.md-typeset .boolean-type, .md-typeset .null-type { color: var(--md-code-hl-keyword-color); }
.md-typeset .format { color: var(--md-code-hl-name-color); }
.md-typeset .small-note { font-size: .66rem; color: var(--md-default-fg-color--light); }
.md-typeset .request-body-title { margin-bottom: 4px; }
.md-typeset .message-separator { visibility: hidden; }
.md-typeset .sub-section-title { font-style: italic; font-size: .7rem; }

/* The hook puts the reference's tables in Material's scroll wrapper (.ns-api-table); any other raw
   HTML table is compact and scrolls on narrow screens instead of widening the page. */
.md-typeset .ns-api-table > table { font-size: .7rem; }
.md-typeset table:not(.md-typeset__table > table) {
  display: block; max-width: 100%; overflow-x: auto; font-size: .7rem;
  border: 1px solid var(--ns-border); border-radius: var(--ns-radius);
}
.md-typeset table th { background-color: var(--ns-surface); }
.md-typeset td.parameter-name code { white-space: nowrap; }
.md-typeset .ns-api-table td:first-child code { white-space: nowrap; }
.md-typeset .ns-api-table td:last-child { min-width: 12rem; }
