/* The reference uses the site palette. Code previews use the same Catppuccin
   Latte / Mocha tokens as blog code blocks. Both follow the site theme. */
:root:root:has(.api-docs){
  --api-bg:var(--bg);
  --api-text:var(--ink);
  --api-muted:var(--muted);
  --api-layer:var(--card);
  --api-border:var(--line)}
.api-docs{background:var(--api-bg);color:var(--api-text);min-width:0}
.api-docs-intro{padding-block:32px 20px}
.api-docs-intro h1{margin-top:0}
.api-docs a{color:var(--accent)}
.api-docs .menu-content a{color:var(--api-text)}
.api-docs-fallback{padding-bottom:40px}
.api-docs-fallback section{margin-top:32px;scroll-margin-top:var(--navbar-height)}
.api-docs-fallback pre{background:var(--code-bg);color:var(--code-text);padding:16px;overflow:auto;max-width:100%}
.api-docs-fallback dd{margin-inline-start:0}
.api-docs-fallback details{padding-block:8px}
.api-docs-fallback summary{cursor:pointer}
#api-reference{min-width:0}
/* Root tokens also update Redoc's derived colors. The repeated :root beats
   its :root.dark defaults even when the renderer injects those styles later. */
:root:root:has(.api-docs){
  --color-warm-grey-1:var(--api-bg);
  --color-warm-grey-2:var(--api-bg);
  --color-warm-grey-3:var(--api-layer);
  --color-warm-grey-4:color-mix(in srgb,var(--api-bg),var(--api-text) 12%);
  --color-warm-grey-5:var(--api-border);
  --color-warm-grey-6:var(--api-muted);
  --color-warm-grey-7:var(--api-muted);
  --color-warm-grey-8:var(--api-text);
  --color-warm-grey-9:var(--api-text);
  --color-warm-grey-10:var(--api-text);
  --color-warm-grey-11:var(--api-text);
  --bg-color:var(--api-bg);
  --bg-color-raised:var(--api-layer);
  --bg-color-hover:var(--api-layer);
  --bg-color-active:var(--api-layer);
  --bg-color-tonal:var(--api-layer);
  --bg-color-tonal-hover:var(--api-layer);
  --bg-color-tonal-active:var(--api-layer);
  --layer-color:var(--api-layer);
  --layer-color-hover:var(--api-bg);
  --layer-color-active:var(--api-bg);
  --layer-color-ontonal:var(--api-layer);
  --layer-color-ontonal-hover:var(--api-bg);
  --layer-color-ontonal-active:var(--api-bg);
  --border-color-primary:var(--api-border);
  --border-color-secondary:var(--api-border);
  --text-color-primary:var(--api-text);
  --text-color-secondary:var(--api-text);
  --text-color-description:var(--api-muted);
  --text-color-helper:var(--api-muted);
  --text-color-disabled:var(--api-muted);
  --heading-text-color:var(--api-text);
  --color-primary-base:var(--accent);
  --color-primary-hover:var(--accent);
  --color-primary-text:var(--accent);
  --color-primary-text-hover:var(--accent);
  --color-brand-6:var(--accent);
  --color-brand-7:var(--accent);
  --color-brand-8:var(--accent);
  --color-success-base:var(--ok);
  --color-success-text:var(--ok);
  --color-error-base:var(--red);
  --color-error-text:var(--red);
  --color-info-base:var(--accent);
  --color-warning-base:var(--gold);
  --link-color-primary:var(--accent);
  --link-color-visited:var(--accent);
  --sidebar-bg-color:var(--api-bg);
  --sidebar-border-color:var(--api-border);
  --sidebar-text-color:var(--api-text);
  --tree-content-color-default:var(--api-text);
  --tree-content-color-hover:var(--accent);
  --tree-content-color-disabled:var(--api-muted);
  --tree-bg-color-active:var(--api-layer);
  --tree-bg-color-hover:var(--api-layer);
  --search-trigger-bg-color:var(--api-layer);
  --search-trigger-color:var(--api-muted);
  --schema-property-required-label-text-color:var(--red);
  --panel-samples-bg-color:var(--api-layer);
  --panel-samples-block-bg-color:var(--api-layer);
  --panel-samples-body-bg-color:var(--api-layer);
  --panel-samples-code-block-bg-color:var(--code-bg);
  --panel-samples-heading-bg-color:var(--api-layer);
  --panel-samples-text-color:var(--api-text);
  --panel-samples-body-text-color:var(--api-text);
  --panel-samples-heading-text-color:var(--api-text);
  --code-block-bg-color:var(--code-bg);
  --code-block-text-color:var(--code-text);
  --code-block-tokens-default-color:var(--code-text);
  --code-block-tokens-property-color:var(--code-blue);
  --code-block-tokens-property-string-color:var(--code-blue);
  --code-block-tokens-string-color:var(--code-green);
  --code-block-tokens-number-color:var(--code-peach);
  --code-block-tokens-boolean-color:var(--code-mauve);
  --code-block-tokens-keyword-color:var(--code-mauve);
  --code-block-tokens-comment-color:var(--code-overlay2);
  --inline-code-bg-color:var(--api-layer);
  --inline-code-text-color:var(--api-text);
  --inline-code-border-color:var(--api-border);
  --font-family-base:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-family-monospaced:var(--font-domain);
  --heading-font-family:var(--font-family-base);
  --sidebar-width:240px;
  --panel-samples-width:38%;
}
/* The shared header provides the one saved theme control. */
#api-reference [data-testid="color-mode-switcher"]{display:none}
@media(max-width:600px){
  .api-docs-intro{padding-block:24px 16px}
  .api-docs-fallback pre{font-size:12px}
}
