/* Generated from @lainstack/ui/styles.css by @lainstack/ui/tokens-css. Do not edit. */
@font-face {
  font-family: "Manrope"; src: url("/fonts/manrope-variable-latin.woff2") format("woff2"); font-style: normal; font-weight: 300 800; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope"; src: url("/fonts/manrope-variable-latin-ext.woff2") format("woff2"); font-style: normal; font-weight: 300 800; font-display: swap; unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "JetBrains Mono"; src: url("/fonts/jetbrains-mono-variable-latin.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "JetBrains Mono"; src: url("/fonts/jetbrains-mono-variable-latin-ext.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
:root {
  --color-ink: oklch(0.155 0.006 265);
  --color-ink-deep: oklch(0.11 0.006 265);
  --color-ink-mid: oklch( 0.135 0.006 265 );
  --color-ink-soft: oklch(0.215 0.006 265);
  --color-ink-raised: oklch(0.245 0.006 265);
  --color-paper: oklch( 0.965 0.004 265 );
  --color-paper-soft: oklch(0.925 0.006 265);
  --color-mist: oklch(0.68 0.006 265);
  --color-mist-strong: oklch(0.81 0.006 265);
  --color-dust: oklch(0.45 0.008 265);
  --color-rule-dark: oklch(0.285 0.006 265);
  --color-rule-light: oklch( 0.85 0.006 265 );
  --color-stamp: oklch(0.43 0.14 248);
  --color-stamp-muted: oklch(0.56 0.07 248);
  --color-focus-ring: oklch( 0.58 0.14 248 );
  --color-flag: oklch(0.62 0.18 28);
  --color-status-green: oklch(0.62 0.13 145);
  --color-status-amber: oklch(0.75 0.15 97);
  --color-surface-deep: var(--color-ink-deep);
  --color-surface-rail: var(--color-ink-mid);
  --color-surface: var(--color-ink);
  --color-surface-layer: var(--color-ink-soft);
  --color-surface-layer-hover: var(--color-ink-raised);
  --color-surface-panel: oklch(0.18 0.006 265);
  --color-surface-band: oklch(0.21 0.006 265);
  --color-surface-field: var(--color-ink-deep);
  --color-surface-rail-hover: color-mix( in oklch, var(--color-surface-rail), var(--color-surface) 35% );
  --color-surface-overlay: color-mix( in oklch, var(--color-ink) 88%, transparent );
  --color-surface-inversion: var( --color-paper );
  --color-text-primary: var(--color-paper);
  --color-text-secondary: var(--color-mist-strong);
  --color-text-tertiary: var(--color-mist);
  --color-text-muted: color-mix(in oklch, var(--color-mist) 60%, transparent);
  --color-text-on-accent: var( --color-ink );
  --color-border: var(--color-rule-dark);
  --color-border-strong: oklch(0.36 0.008 265);
  --color-border-soft: oklch(0.235 0.006 265);
  --color-border-inversion: var( --color-rule-light );
  --color-accent-secondary: var( --color-stamp );
  --color-destructive: var(--color-flag);
  --color-selection-bg: color-mix( in oklch, var(--color-focus-ring) 60%, transparent );
  --color-selection-text: var(--color-ink);
  --color-status-success-surface: color-mix( in oklch, var(--color-status-green) 14%, var(--color-ink-soft) );
  --color-status-success-border: color-mix(in oklch, var(--color-status-green) 45%, transparent);
  --color-status-success-text: oklch( 0.76 0.11 145 );
  --color-status-warning-surface: color-mix( in oklch, var(--color-status-amber) 14%, var(--color-ink-soft) );
  --color-status-warning-border: color-mix(in oklch, var(--color-status-amber) 45%, transparent);
  --color-status-warning-text: oklch( 0.84 0.13 97 );
  --color-status-error-surface: color-mix(in oklch, var(--color-flag) 14%, var(--color-ink-soft));
  --color-status-error-border: color-mix(in oklch, var(--color-flag) 45%, transparent);
  --color-status-error-text: oklch( 0.79 0.18 28 );
  --color-status-info-surface: color-mix( in oklch, var(--color-stamp-muted) 14%, var(--color-ink-soft) );
  --color-status-info-border: oklch( 0.58 0.1 248 );
  --color-status-info-text: oklch(0.72 0.1 248);
  --color-status-success: var(--color-status-success-text);
  --color-status-warning: var(--color-status-warning-text);
  --color-status-error: var(--color-status-error-text);
  --color-status-info: var(--color-status-info-text);
  --color-code-text: var(--color-paper-soft);
  --color-code-identifier: oklch(0.84 0.06 285);
  --color-code-identifier-surface: color-mix( in oklch, var(--color-code-identifier) 7%, var(--color-surface-field) );
  --color-code-keyword: oklch(0.78 0.08 240);
  --color-code-string: oklch(0.8 0.08 165);
  --color-code-number: oklch(0.83 0.09 80);
  --color-code-function: oklch(0.82 0.07 205);
  --color-code-comment: var(--color-mist);
  --color-code-punctuation: var(--color-mist);
  --font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --text-display-lg: 2rem;
  --text-display-lg--line-height: 1.1;
  --text-display-lg--letter-spacing: -0.018em;
  --text-display-md: 1.5rem;
  --text-display-md--line-height: 1.15;
  --text-display-md--letter-spacing: -0.014em;
  --text-display-sm: 1.125rem;
  --text-display-sm--line-height: 1.25;
  --text-display-sm--letter-spacing: -0.01em;
  --text-read: 1rem;
  --text-read--line-height: 1.55;
  --text-read--letter-spacing: -0.006em;
  --text-sm: 0.8125rem;
  --text-sm--line-height: 1.25rem;
  --text-body: 0.875rem;
  --text-body--line-height: 1.5;
  --text-body--letter-spacing: 0;
  --text-meta: 0.75rem;
  --text-meta--line-height: 1.4;
  --text-meta--letter-spacing: 0;
  --text-eyebrow: 0.6875rem;
  --text-eyebrow--line-height: 1.45;
  --text-eyebrow--letter-spacing: 0;
  --duration-fast: 150ms;
  --duration-base: 180ms;
  --duration-slow: 260ms;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --radius-stamp: 0.125rem;
  --radius-card: 0.375rem;
  --radius-pill: 9999px;
  --shadow-panel: 0 0 0 oklch(0 0 0 / 0);
  --header-height: 3rem;
  --rail-width-collapsed: 3.5rem;
  --rail-width-expanded: 14rem;
  --sidebar-width: 13.75rem;
  --dock-width: 21.875rem;
  --content-max-width: 72.5rem;
  --z-canvas: 0;
  --z-shell: 10;
  --z-header: 20;
  --z-sidebar: 30;
  --z-panel: 40;
  --z-sheet: 60;
  --z-popover: 65;
  --z-modal: 70;
  --z-confirm: 80;
  --z-interstitial: 90;
}

/*
 * Dresses the Scalar API reference at /api/ like the rest of the docs site:
 * dark only, the deep-ink top bar, square full-width rows with
 * the 2px focus-ring selection bar, the 14px body scale, the shared code
 * palette, mono version stamps and 2px stamp corners on controls.
 * generators/api-reference.ts prepends the app's tokens and font faces, so
 * every value here comes from @lainstack/ui.
 */

body,
.dark-mode {
  --scalar-font: var(--font-sans);
  --scalar-font-code: var(--font-mono);

  --scalar-color-1: var(--color-text-primary);
  --scalar-color-2: var(--color-text-secondary);
  --scalar-color-3: var(--color-text-tertiary);
  --scalar-color-accent: var(--color-status-info-text);
  --scalar-color-ghost: var(--color-text-muted);
  --scalar-color-disabled: var(--color-text-muted);

  --scalar-background-1: var(--color-surface);
  --scalar-background-2: var(--color-surface-layer);
  --scalar-background-3: var(--color-surface-layer-hover);
  --scalar-background-accent: var(--color-status-info-surface);
  --scalar-background-card: var(--color-surface-layer);

  --scalar-border-color: var(--color-border);
  --scalar-border-width: 1px;

  --scalar-button-1: var(--color-text-primary);
  --scalar-button-1-color: var(--color-surface);
  --scalar-button-1-hover: var(--color-paper-soft);

  --scalar-color-green: var(--color-status-success-text);
  --scalar-color-red: var(--color-status-error-text);
  --scalar-color-yellow: var(--color-status-warning-text);
  --scalar-color-blue: var(--color-status-info-text);
  --scalar-color-orange: color-mix(
    in oklch,
    var(--color-status-warning-text),
    var(--color-status-error-text)
  );
  --scalar-color-purple: color-mix(
    in oklch,
    var(--color-status-info-text),
    var(--color-status-error-text)
  );

  --scalar-scrollbar-color: var(--color-border);
  --scalar-scrollbar-color-active: var(--color-border-strong);
  --scalar-shadow-1: var(--shadow-panel);
  --scalar-shadow-2: var(--shadow-panel);
  --scalar-lifted-brightness: 1;
  --scalar-backdrop-brightness: 0.5;

  --scalar-radius: var(--radius-stamp);
  --scalar-radius-lg: var(--radius-card);
  --scalar-radius-xl: var(--radius-card);

  --scalar-heading-1: var(--text-display-md);
  --scalar-heading-2: var(--text-display-sm);
  --scalar-heading-3: 0.9375rem;
  --scalar-heading-4: var(--text-body);
  --scalar-heading-5: var(--text-body);
  --scalar-heading-6: var(--text-body);
  --scalar-page-description: var(--text-body);
  --scalar-paragraph: var(--text-body);
  --scalar-small: 0.8125rem;
  --scalar-mini: var(--text-meta);
  --scalar-micro: var(--text-eyebrow);
  --scalar-font-size-1: var(--text-display-sm);
  --scalar-font-size-2: var(--text-body);
  --scalar-font-size-3: var(--text-body);
  --scalar-font-size-4: 0.8125rem;
  --scalar-font-size-5: var(--text-meta);
  --scalar-font-size-6: var(--text-eyebrow);
  --scalar-font-size-7: 0.625rem;

  --scalar-sidebar-padding: 0;
  --scalar-sidebar-background-1: var(--color-surface-rail);
  --scalar-sidebar-color-1: var(--color-text-primary);
  --scalar-sidebar-color-2: var(--color-text-secondary);
  --scalar-sidebar-color-active: var(--color-text-primary);
  --scalar-sidebar-border-color: transparent;
  --scalar-sidebar-item-hover-background: var(--color-surface-layer);
  --scalar-sidebar-item-hover-color: var(--color-text-primary);
  --scalar-sidebar-item-active-background: var(--color-surface-layer);
  --scalar-sidebar-indent-border: transparent;
  --scalar-sidebar-indent-border-hover: transparent;
  --scalar-sidebar-indent-border-active: transparent;
  --scalar-sidebar-search-background: var(--color-surface-field);
  --scalar-sidebar-search-border-color: var(--color-border);
  --scalar-sidebar-search-color: var(--color-text-tertiary);

  --markdown-line-height: 1.6;
}

body {
  margin: 0;
  background: var(--color-surface);
  color: var(--color-text-secondary);
}

/* Type: one 14px reading size (theme "none" leaves the browser's 16px), body
   leading 1.5, prose 1.6, headings tighter. A 36em measure holds prose to
   about 70 characters of Manrope once words wrap, the same as the docs site. */
.scalar-app {
  font-size: var(--text-body);
  line-height: var(--text-body--line-height);
}

.scalar-app .markdown {
  max-width: 36em;
}

.scalar-app .section-header {
  line-height: var(--text-display-md--line-height);
  letter-spacing: var(--text-display-md--letter-spacing);
}

/* Rhythm: 48px above and below each section instead of Scalar's 90px, so
   neighbouring operations sit 96px apart across their hairline, not 180px. */
.scalar-app section.section {
  padding-block: 3rem;
}

/* Intro: the version stamps sit a step above the title; the header's empty
   slot (it holds nothing with the request client off) no longer adds 32px
   under the title; and the client-library picker is dropped. It only chose
   the default language, which each operation's example already offers. */
.introduction-section .section-content > .flex:first-child {
  margin-bottom: 0.5rem;
}

.introduction-section .section-header-wrapper > :empty {
  display: none;
}

.introduction-section .download-container {
  margin-top: 0.5rem;
}

.introduction-section .section-column:has(.scalar-reference-intro-clients) {
  display: none;
}

::selection {
  background: var(--color-selection-bg);
  color: var(--color-selection-text);
}

/* The rail scrolls as one list: the search stays pinned, and the
   "Powered by Scalar" credit follows the last item instead of sitting fixed at
   the bottom. Scrolling to the current item clears the pinned header. */
.t-doc__sidebar {
  overflow-y: auto;
  scroll-padding-top: 3.5rem;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border) transparent;
}

.t-doc__sidebar > ul {
  flex: none;
  overflow: visible;
}

/* Scalar's spacer would push the credit to the bottom of a short list. */
.t-doc__sidebar > .flex-1 {
  display: none;
}

/* Search: 12px above and below, so the first item gets the rail's rhythm. */
.t-doc__sidebar > :first-child {
  position: sticky;
  z-index: 1;
  top: 0;
  padding-block: 0.75rem;
  background: var(--color-surface-rail);
}

/* Top bar: the docs site's deep-ink header, with the brand over the rail and
   a link back to the docs. Scalar offsets its rail and sticky headings by the
   custom header height. */
body {
  --scalar-custom-header-height: var(--header-height);
}

.docs-header {
  position: sticky;
  z-index: 10;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-height);
  padding-inline: 1rem;
  background: var(--color-surface-deep);
  font-family: var(--font-sans);
}

.docs-brand {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--color-text-primary);
  font-size: var(--text-body);
  font-weight: 800;
  letter-spacing: -0.01em;
  text-decoration: none;
}

.docs-brand .muted {
  color: var(--color-text-tertiary);
}

.docs-header nav a {
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  text-decoration: none;
}

.docs-header nav a:hover {
  color: var(--color-text-primary);
}

.docs-header a:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}

/* Rail and search results: square full-width rows, like the app's secondary
   nav. Scalar marks every rail row with its `peer/button` utility. */
.t-doc__sidebar .peer\/button {
  border-radius: 0;
  padding-inline: 1.125rem 0.75rem;
}

.scalar-modal a {
  border-radius: 0;
}

/* The selection bar marks the current item. */
.t-doc__sidebar [aria-selected="true"] {
  box-shadow: inset 2px 0 0 var(--color-focus-ring);
  font-weight: 600;
}

/* "Powered by Scalar": a quiet last line of the list, linking to Scalar. */
.t-doc__sidebar .darklight-reference {
  margin-top: 0;
  padding: 1.5rem 1.125rem 1.25rem;
}

.darklight-reference a {
  color: var(--color-text-tertiary);
  font-size: var(--text-meta);
}

.darklight-reference a:hover {
  color: var(--color-text-secondary);
}

/* Tag sections stack the description over a full-width operations list, so
   long paths fit and a one-line description does not leave a bare column. */
.section-columns:has(.endpoints-card) {
  flex-direction: column;
  gap: 1rem;
}

/* "Show More" sits under the operations card instead of over its edge. */
.tag-section-container button.show-more {
  top: 0;
  margin-top: 0.75rem;
  border-radius: var(--radius-stamp);
}

/* Color separates kinds of content, quietly. Names (parameters, fields,
   object keys) are mono in the identifier tint; types and formats recede to
   tertiary; "required" stays a word, in warning amber; enum values read as
   strings. Links stay blue and underlined, so they never look like code. */
.scalar-app .property-name {
  color: var(--color-code-identifier);
  font-weight: 500;
}

.scalar-app .property-detail {
  color: var(--color-text-tertiary);
}

.scalar-app :is(.property-required, .request-body-required) {
  color: var(--color-status-warning-text);
  font-weight: 500;
}

.scalar-app .request-body-required {
  border-color: var(--color-status-warning-border);
}

.scalar-app .property-enum-value-label {
  color: var(--color-code-string);
}

.scalar-app .schema-card .schema-properties {
  border-radius: var(--radius-stamp);
}

.scalar-app .markdown a {
  color: var(--color-status-info-text);
  text-decoration-color: color-mix(in oklch, var(--color-status-info-text) 40%, transparent);
  text-underline-offset: 3px;
}

.scalar-app .markdown code {
  padding: 0.0625rem 0.3125rem;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  border: 1px solid color-mix(in oklch, var(--color-code-identifier) 18%, transparent);
  border-radius: var(--radius-stamp);
  background: var(--color-code-identifier-surface);
  color: var(--color-code-identifier);
  font-size: 0.8125rem;
}

/* Scalar forces every color inside a field description with !important, which
   only another !important can undo. */
.scalar-app .property-description code {
  color: var(--color-code-identifier) !important;
}

.scalar-app .property-description a {
  color: var(--color-status-info-text) !important;
}

/* Code blocks: the shared code palette, keys in the identifier tint. */
.scalar-app .hljs {
  color: var(--color-code-text);
}

.scalar-app .hljs-attr {
  color: var(--color-code-identifier);
}

.scalar-app .hljs-string {
  color: var(--color-code-string);
}

.scalar-app :is(.hljs-number, .hljs-literal, .hljs-symbol) {
  color: var(--color-code-number);
}

.scalar-app .hljs-keyword {
  color: var(--color-code-keyword);
}

.scalar-app :is(.hljs-title, .hljs-built_in) {
  color: var(--color-code-function);
}

.scalar-app .hljs-punctuation {
  color: var(--color-code-punctuation);
}

.scalar-app .hljs-comment {
  color: var(--color-code-comment);
  font-style: italic;
}

/* Version stamps read like the app's quiet status pill, in their own case: "v1.0.0", not "V1.0.0". */
.introduction-section .badge {
  border: 1px solid var(--color-status-info-border);
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--color-status-info-text);
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: none;
}
