:root {
  --api-class: #2f6fed;
  --api-record: #5b5bd6;
  --api-struct: #8b4fd6;
  --api-interface: #0f9488;
  --api-enum: #c2770a;
  --api-delegate: #64748b;
  --api-constructor: #d63384;
  --api-method: #9333ea;
  --api-property: #16a34a;
  --api-event: #ea580c;
  --api-field: #0284c7;
  --api-enum-value: #a16207;
}

.md-typeset .api-kind,
.md-nav .api-kind {
  display: inline-block;
  padding: 0 0.45em;
  border-radius: 0.25rem;
  background: var(--api-kind-color, var(--api-delegate));
  color: #fff;
  font: 600 0.6rem/1.7 var(--md-code-font-family);
  letter-spacing: 0.04em;
  text-indent: 0;
  text-transform: uppercase;
  vertical-align: middle;
}

.md-typeset .api-kind--mark {
  width: 1.1rem;
  margin-right: 0.35rem;
  padding: 0;
  letter-spacing: 0;
  text-align: center;
  vertical-align: 0.05em;
}

.api-kind--class { --api-kind-color: var(--api-class); }
.api-kind--record { --api-kind-color: var(--api-record); }
.api-kind--struct { --api-kind-color: var(--api-struct); }
.api-kind--interface { --api-kind-color: var(--api-interface); }
.api-kind--enum { --api-kind-color: var(--api-enum); }
.api-kind--delegate { --api-kind-color: var(--api-delegate); }
.api-kind--constructor { --api-kind-color: var(--api-constructor); }
.api-kind--method { --api-kind-color: var(--api-method); }
.api-kind--property { --api-kind-color: var(--api-property); }
.api-kind--event { --api-kind-color: var(--api-event); }
.api-kind--field { --api-kind-color: var(--api-field); }
.api-kind--enum-value { --api-kind-color: var(--api-enum-value); }

.md-typeset .api-namespace,
.md-typeset .api-since {
  margin-left: 0.4rem;
  color: var(--md-default-fg-color--light);
  font: 0.68rem var(--md-code-font-family);
  vertical-align: middle;
}

.md-typeset .api-since {
  padding: 0 0.4em;
  border: 1px solid var(--md-default-fg-color--lighter);
  border-radius: 0.25rem;
}

.md-typeset .api-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.6rem 0 1rem;
}

.md-typeset .api-actions:empty {
  display: none;
}

.md-typeset .api-action {
  padding: 0.15rem 0.6rem;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 1rem;
  background: transparent;
  color: var(--md-default-fg-color--light);
  font-size: 0.64rem;
  cursor: pointer;
}

.md-typeset .api-action:hover,
.md-typeset .api-action:focus-visible {
  border-color: var(--md-accent-fg-color);
  color: var(--md-accent-fg-color);
}

/* Headings: the symbol name is code, section headings are plain text. */

.md-typeset .api-ref h1 {
  margin-bottom: 0.3rem;
  font-family: var(--md-code-font-family);
  font-weight: 600;
  overflow-wrap: anywhere;
}

.md-typeset .api-ref--index h1,
.md-typeset .api-ref--group h1 {
  font-family: var(--md-text-font-family);
}

.md-typeset .api-ref h2 {
  margin: 1.8em 0 0.6em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  font-size: 0.9rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.md-typeset .api-ref h2.api-overload {
  padding-bottom: 0;
  border-bottom: 0;
  font-family: var(--md-code-font-family);
  font-size: 0.8rem;
}

.md-typeset .api-ref table:not([class]) code {
  white-space: nowrap;
}

.md-typeset .api-ref table:not([class]) a code {
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Generated tables: full width, no grid, light row dividers. */

.md-typeset .api-table .md-typeset__scrollwrap {
  margin-top: 0.4em;
  margin-bottom: 1.2em;
}

.md-typeset .api-table .md-typeset__table {
  display: block;
}

.md-typeset .api-table table:not([class]) {
  display: table;
  width: 100%;
  border: 0;
  border-radius: 0;
  font-size: 0.68rem;
}

.md-typeset .api-table table:not([class]) th {
  min-width: 0;
  padding: 0.5em 0.8em;
  border: 0;
  border-bottom: 1px solid var(--md-default-fg-color--lighter);
  background: transparent;
  color: var(--md-default-fg-color--light);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.md-typeset .api-table table:not([class]) td {
  padding: 0.55em 0.8em;
  border: 0;
  border-top: 1px solid var(--md-default-fg-color--lightest);
  vertical-align: top;
}

.md-typeset .api-table table:not([class]) tbody tr:first-child td {
  border-top: 0;
}

.md-typeset .api-table table:not([class]) code {
  white-space: normal;
  overflow-wrap: anywhere;
}

.md-typeset .api-table table:not([class]) td:first-child {
  width: 34%;
  font-family: var(--md-code-font-family);
  overflow-wrap: anywhere;
}

.md-typeset .api-table--types table:not([class]) td:first-child {
  padding-left: calc(0.8em + 1.45rem);
  text-indent: -1.45rem;
}

.md-typeset .api-table--types table:not([class]) {
  table-layout: fixed;
}

.md-typeset .api-table--types table:not([class]) th:first-child {
  width: 34%;
}

.md-typeset .api-ref--index h3 {
  margin: 1.8em 0 0.2em;
  font-size: 0.8rem;
  font-weight: 600;
}

.md-typeset .api-ref--index h3 a:not(.headerlink) {
  color: var(--md-default-fg-color);
}

.md-typeset .api-ref--index h3 a:not(.headerlink):hover {
  color: var(--md-accent-fg-color);
}

.md-typeset .api-count {
  margin-left: 0.4rem;
  padding: 0 0.45em;
  border-radius: 0.6rem;
  background: var(--md-default-fg-color--lightest);
  color: var(--md-default-fg-color--light);
  font-size: 0.6rem;
  font-weight: 400;
  vertical-align: middle;
}

.md-typeset .api-table--members table:not([class]) td:first-child code {
  padding: 0;
  background: transparent;
  color: var(--md-default-fg-color--light);
  font-size: 0.62rem;
}

.md-typeset .api-overloads {
  margin-left: 0.3rem;
  color: var(--md-default-fg-color--light);
  font: 0.58rem var(--md-text-font-family);
  white-space: nowrap;
}

.md-typeset .api-table--values table:not([class]) td:nth-child(2) {
  width: 1%;
  white-space: nowrap;
}

.md-typeset .api-table--parameters table:not([class]) td:first-child {
  width: 18%;
}

.md-typeset .api-table--overloads table:not([class]) td:first-child {
  width: auto;
}

/* Group pages: sub-groups as chips. */

.md-typeset .api-chips > p {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.4rem 0 1.4rem;
}

.md-typeset .api-chips a {
  padding: 0.2rem 0.75rem;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 1rem;
  color: var(--md-default-fg-color--light);
  font-size: 0.68rem;
}

.md-typeset .api-chips a:hover,
.md-typeset .api-chips a:focus-visible {
  border-color: var(--md-accent-fg-color);
  color: var(--md-accent-fg-color);
}

/* Landing page: agent resources as cards. */

.md-typeset .api-resources {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
  gap: 0.6rem;
  margin: 0.6rem 0 1rem;
}

.md-typeset .api-resource {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.3rem;
  color: var(--md-default-fg-color--light);
  font-size: 0.64rem;
  line-height: 1.4;
}

.md-typeset .api-resource strong {
  color: var(--md-typeset-a-color);
  font: 600 0.7rem var(--md-code-font-family);
}

.md-typeset .api-resource:hover,
.md-typeset .api-resource:focus-visible {
  border-color: var(--md-accent-fg-color);
  color: var(--md-default-fg-color);
}

/* Phones: every table row becomes a card. */

@media screen and (max-width: 44.9375em) {
  .md-typeset .api-table .md-typeset__scrollwrap {
    margin-right: 0;
    margin-left: 0;
  }

  .md-typeset .api-table .md-typeset__table {
    padding: 0;
  }

  .md-typeset .api-table table:not([class]),
  .md-typeset .api-table table:not([class]) tbody,
  .md-typeset .api-table table:not([class]) tr,
  .md-typeset .api-table table:not([class]) td {
    display: block;
    width: auto;
  }

  .md-typeset .api-table table:not([class]) thead {
    display: none;
  }

  .md-typeset .api-table table:not([class]) tr {
    padding: 0.6em 0;
    border-top: 1px solid var(--md-default-fg-color--lightest);
  }

  .md-typeset .api-table table:not([class]) tbody tr:first-child {
    border-top: 0;
  }

  .md-typeset .api-table table:not([class]) td,
  .md-typeset .api-table table:not([class]) td:first-child,
  .md-typeset .api-table--values table:not([class]) td:nth-child(2) {
    width: auto;
    padding: 0.1em 0;
    border: 0;
  }

  .md-typeset .api-table table:not([class]) td:first-child {
    font-weight: 600;
  }

  .md-typeset .api-table--types table:not([class]) td:first-child {
    padding-left: 1.45rem;
  }

  .md-typeset .api-table--values table:not([class]) td:nth-child(2)::before {
    content: "Value ";
    color: var(--md-default-fg-color--light);
  }

  .md-typeset .api-table--parameters table:not([class]) td:nth-child(2)::before {
    content: "C# ";
    color: var(--md-default-fg-color--light);
  }

  .md-typeset .api-table--parameters table:not([class]) td:nth-child(3)::before {
    content: "Python ";
    color: var(--md-default-fg-color--light);
  }
}

/* Environments: where a type or member works. */

:root {
  --api-env-full: #16a34a;
  --api-env-partial: #d97706;
  --api-env-none: #6b7280;
  --md-admonition-icon--environments: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19.35 10.03A7.49 7.49 0 0 0 12 4C9.11 4 6.6 5.64 5.35 8.03A6 6 0 0 0 6 20h13a5 5 0 0 0 .35-9.97M13 17h-2v-2h2zm0-4h-2V8h2z"/></svg>');
}

[data-md-color-scheme="slate"] {
  --api-env-none: #8b919a;
}

.md-typeset .api-envs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0.55rem 0 0.2rem;
}

.md-typeset .api-env,
.md-typeset .api-env-mark {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  border: 1px solid currentColor;
  border-radius: 1rem;
  font-family: var(--md-text-font-family);
  font-weight: 600;
  white-space: nowrap;
}

.md-typeset .api-env {
  padding: 0 0.6em;
  font-size: 0.62rem;
  line-height: 1.7;
}

.md-typeset .api-env-marks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin: 0.2rem 0 0.1rem;
  text-indent: 0;
}

.md-typeset .api-env-mark {
  padding: 0 0.45em;
  font-size: 0.54rem;
  line-height: 1.5;
  vertical-align: 0.1em;
}

.md-typeset .api-env::before,
.md-typeset .api-env-mark::before {
  font-weight: 700;
}

.md-typeset .api-env--full { color: var(--api-env-full); }
.md-typeset .api-env--partial { color: var(--api-env-partial); }
.md-typeset .api-env--none { color: var(--api-env-none); }
.md-typeset .api-env--full::before { content: "\2713"; }
.md-typeset .api-env--partial::before { content: "~"; }
.md-typeset .api-env--none::before { content: "\2715"; }

.md-typeset .admonition.environments,
.md-typeset details.environments {
  border-color: var(--api-env-partial);
}

.md-typeset .environments > .admonition-title,
.md-typeset .environments > summary {
  background-color: rgb(217 119 6 / 10%);
}

.md-typeset .environments > .admonition-title::before,
.md-typeset .environments > summary::before {
  background-color: var(--api-env-partial);
  -webkit-mask-image: var(--md-admonition-icon--environments);
  mask-image: var(--md-admonition-icon--environments);
}

.md-typeset .admonition.environments p strong:first-child {
  color: var(--md-default-fg-color);
}

/* Navigation. */

.md-nav--lifted > .api-type-nav > .md-nav__item {
  display: block;
}

.api-type-nav .md-nav__link {
  display: flex;
  gap: 0.4rem;
  align-items: baseline;
}

.api-type-nav .api-type-nav__type,
.md-nav .api-type-nav__type {
  font-weight: 700;
}

.md-nav .api-type-nav--members {
  display: block;
  margin: 0.15rem 0 0.3rem 0.9rem;
  padding-left: 0.5rem;
  border-left: 1px solid var(--md-default-fg-color--lightest);
}

.md-nav .api-type-nav--members > .md-nav__item {
  display: block;
}

.md-typeset .api-ref .tabbed-set {
  margin: 0.4rem 0 0.8rem;
}

.api-references .md-nav--primary .md-nav__link .md-ellipsis,
.md-main:has(.api-ref) .md-nav--secondary .md-nav__link .md-ellipsis {
  white-space: normal;
  overflow-wrap: anywhere;
}

.md-nav .api-suffix,
.md-typeset .api-table .api-suffix {
  opacity: 0.6;
}

.md-nav__link .md-icon svg,
.md-nav__link svg {
  flex-shrink: 0;
}

@media screen and (min-width: 76.25em) {
  .md-main:has(.api-ref) .md-sidebar--primary {
    width: 15rem;
  }

  .md-main:has(.api-ref) .md-nav--primary .md-nav__link {
    font-family: var(--md-code-font-family);
    font-size: 0.64rem;
  }
}

.api-filter {
  position: relative;
  margin: 0 0.6rem 0.6rem;
}

.api-filter input {
  width: 100%;
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.2rem;
  background: var(--md-default-bg-color);
  color: var(--md-default-fg-color);
  font: 0.68rem var(--md-code-font-family);
}

.api-filter input:focus {
  border-color: var(--md-accent-fg-color);
  outline: none;
}

.api-filter ol {
  position: absolute;
  z-index: 4;
  left: 0;
  right: 0;
  max-height: 60vh;
  margin: 0.2rem 0 0;
  padding: 0.2rem 0;
  overflow-y: auto;
  list-style: none;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.2rem;
  background: var(--md-default-bg-color);
  box-shadow: var(--md-shadow-z2);
}

.api-filter ol:empty {
  display: none;
}

.api-filter li a {
  display: flex;
  gap: 0.4rem;
  align-items: baseline;
  padding: 0.2rem 0.5rem;
  color: var(--md-default-fg-color);
  font: 0.66rem var(--md-code-font-family);
}

.api-filter li a:hover,
.api-filter li a[aria-selected="true"] {
  background: var(--md-accent-fg-color--transparent);
}

.api-filter li small {
  margin-left: auto;
  color: var(--md-default-fg-color--light);
}
