/*fern-site-stylesheet*/@font-face {
    font-family: 'Hanken Grotesk';
    src: url('/_fern-files/agentrouter.docs.buildwithfern.com/1f21c6eaa0000f3329cfcfac966b43d5bebf5aa610303e33294ac31bc6f4bb59/docs/assets/fonts/hanken-grotesk-latin.woff2') format('woff2');
    font-weight: 400 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'JetBrains Mono';
    src: url('/_fern-files/agentrouter.docs.buildwithfern.com/d3dcdccdaba31643defe2317942155d4af3ee03951d058adbe8bc02b13e61b0a/docs/assets/fonts/jetbrains-mono-latin.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 720px;
  --sidebar-width: 288px;
  --page-width: 1408px;
  --logo-height: 24px;
  --font-body: 'Hanken Grotesk', system-ui, sans-serif, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'Hanken Grotesk', system-ui, sans-serif, 'Hanken Grotesk', system-ui, sans-serif, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-code: 'JetBrains Mono', ui-monospace, monospace, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

:root {
  --typography-body-font-family: var(--font-body);
  --typography-heading-font-family: var(--font-heading);
  --typography-code-font-family: var(--font-code);
}


:root {
  --accent-1: #fcfcfc;
  --accent-2: #f9f9f9;
  --accent-3: #f0f0f0;
  --accent-4: #e8e8e8;
  --accent-5: #e1e1e1;
  --accent-6: #d9d9d9;
  --accent-7: #cecece;
  --accent-8: #bbb;
  --accent-9: #141414;
  --accent-10: #2c2c2c;
  --accent-11: #636363;
  --accent-12: #1f1f1f;

  --accent-a1: #00000003;
  --accent-a2: #00000006;
  --accent-a3: #0000000f;
  --accent-a4: #00000017;
  --accent-a5: #0000001e;
  --accent-a6: #00000026;
  --accent-a7: #00000031;
  --accent-a8: #00000044;
  --accent-a9: #000000eb;
  --accent-a10: #000000d3;
  --accent-a11: #0000009c;
  --accent-a12: #000000e0;

  --accent-contrast: #fff;
  --accent-surface: #f8f8f8cc;
  --accent-indicator: #141414;
  --accent-track: #141414;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    :root {
      --accent-1: oklch(99.2% 0 none);
      --accent-2: oklch(98.1% 0 none);
      --accent-3: oklch(95.5% 0 none);
      --accent-4: oklch(93.1% 0 none);
      --accent-5: oklch(90.9% 0 none);
      --accent-6: oklch(88.5% 0 none);
      --accent-7: oklch(85.1% 0 none);
      --accent-8: oklch(79.2% 0 none);
      --accent-9: oklch(19.1% 0 none);
      --accent-10: oklch(29.4% 0 none);
      --accent-11: oklch(50.1% 0 none);
      --accent-12: oklch(24% 0 none);

      --accent-a1: color(display-p3 0 0 0 / 0.0118);
      --accent-a2: color(display-p3 0 0 0 / 0.0235);
      --accent-a3: color(display-p3 0 0 0 / 0.0588);
      --accent-a4: color(display-p3 0 0 0 / 0.0902);
      --accent-a5: color(display-p3 0 0 0 / 0.1176);
      --accent-a6: color(display-p3 0 0 0 / 0.149);
      --accent-a7: color(display-p3 0 0 0 / 0.1922);
      --accent-a8: color(display-p3 0 0 0 / 0.2667);
      --accent-a9: color(display-p3 0 0 0 / 0.9216);
      --accent-a10: color(display-p3 0 0 0 / 0.8275);
      --accent-a11: color(display-p3 0 0 0 / 0.6118);
      --accent-a12: color(display-p3 0 0 0 / 0.8784);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9725 0.9725 0.9725 / 0.8);
      --accent-indicator: oklch(19.1% 0 none);
      --accent-track: oklch(19.1% 0 none);
    }
  }
}


:root {
  --grayscale-1: #fcfcfc;
  --grayscale-2: #f9f9f9;
  --grayscale-3: #f0f0f0;
  --grayscale-4: #e8e8e8;
  --grayscale-5: #e0e0e0;
  --grayscale-6: #d9d9d9;
  --grayscale-7: #cecece;
  --grayscale-8: #bbbbbb;
  --grayscale-9: #8d8d8d;
  --grayscale-10: #838383;
  --grayscale-11: #646464;
  --grayscale-12: #202020;

  --grayscale-a1: #00000003;
  --grayscale-a2: #00000006;
  --grayscale-a3: #0000000f;
  --grayscale-a4: #00000017;
  --grayscale-a5: #0000001f;
  --grayscale-a6: #00000026;
  --grayscale-a7: #00000031;
  --grayscale-a8: #00000044;
  --grayscale-a9: #00000072;
  --grayscale-a10: #0000007c;
  --grayscale-a11: #0000009b;
  --grayscale-a12: #000000df;

  --grayscale-contrast: #000;
  --grayscale-surface: #ffffffcc;
  --grayscale-indicator: #8d8d8d;
  --grayscale-track: #8d8d8d;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    :root {
      --grayscale-1: color(display-p3 0.988 0.988 0.988);
      --grayscale-2: color(display-p3 0.975 0.975 0.975);
      --grayscale-3: color(display-p3 0.939 0.939 0.939);
      --grayscale-4: color(display-p3 0.908 0.908 0.908);
      --grayscale-5: color(display-p3 0.88 0.88 0.88);
      --grayscale-6: color(display-p3 0.849 0.849 0.849);
      --grayscale-7: color(display-p3 0.807 0.807 0.807);
      --grayscale-8: color(display-p3 0.732 0.732 0.732);
      --grayscale-9: color(display-p3 0.553 0.553 0.553);
      --grayscale-10: color(display-p3 0.512 0.512 0.512);
      --grayscale-11: color(display-p3 0.392 0.392 0.392);
      --grayscale-12: color(display-p3 0.125 0.125 0.125);

      --grayscale-a1: #00000003;
      --grayscale-a2: #00000006;
      --grayscale-a3: #0000000f;
      --grayscale-a4: #00000017;
      --grayscale-a5: #0000001f;
      --grayscale-a6: #00000026;
      --grayscale-a7: #00000031;
      --grayscale-a8: #00000044;
      --grayscale-a9: #00000072;
      --grayscale-a10: #0000007c;
      --grayscale-a11: #0000009b;
      --grayscale-a12: #000000df;

      --grayscale-contrast: #000;
      --grayscale-surface: color(display-p3 1 1 1 / 80%);
      --grayscale-indicator: color(display-p3 0.553 0.553 0.553);
      --grayscale-track: color(display-p3 0.553 0.553 0.553);
    }
  }
}


.dark {
  --accent-1: #000;
  --accent-2: #121211;
  --accent-3: #1f1f1d;
  --accent-4: #282826;
  --accent-5: #30302e;
  --accent-6: #3a3a37;
  --accent-7: #484845;
  --accent-8: #60605e;
  --accent-9: #fff;
  --accent-10: #f6f6f4;
  --accent-11: #b3b3b0;
  --accent-12: #eeeeec;

  --accent-a1: #00000000;
  --accent-a2: #fffff112;
  --accent-a3: #ffffef1f;
  --accent-a4: #fffff328;
  --accent-a5: #fffff530;
  --accent-a6: #fffff23a;
  --accent-a7: #fffff548;
  --accent-a8: #fffffa60;
  --accent-a9: #ffffff;
  --accent-a10: #fffffdf6;
  --accent-a11: #fffffbb3;
  --accent-a12: #fffffdee;

  --accent-contrast: #311921;
  --accent-surface: #24242280;
  --accent-indicator: #fff;
  --accent-track: #fff;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(0% 0.0023 106.5);
      --accent-2: oklch(18.3% 0.0022 106.5);
      --accent-3: oklch(23.9% 0.0032 106.5);
      --accent-4: oklch(27.5% 0.0036 106.5);
      --accent-5: oklch(30.8% 0.004 106.5);
      --accent-6: oklch(34.7% 0.004 106.5);
      --accent-7: oklch(40% 0.004 106.5);
      --accent-8: oklch(49% 0.004 106.5);
      --accent-9: oklch(100% 0 none);
      --accent-10: oklch(97.3% 0.0027 106.5);
      --accent-11: oklch(76.7% 0.004 106.5);
      --accent-12: oklch(94.8% 0.0027 106.5);

      --accent-a1: color(display-p3 0 0 0 / 0);
      --accent-a2: color(display-p3 0.9961 0.9961 0.9412 / 0.071);
      --accent-a3: color(display-p3 1 1 0.9333 / 0.122);
      --accent-a4: color(display-p3 1 1 0.9529 / 0.157);
      --accent-a5: color(display-p3 0.9961 0.9961 0.9569 / 0.189);
      --accent-a6: color(display-p3 1 1 0.949 / 0.228);
      --accent-a7: color(display-p3 1 1 0.9569 / 0.283);
      --accent-a8: color(display-p3 1 1 0.9804 / 0.377);
      --accent-a9: color(display-p3 1 1 1);
      --accent-a10: color(display-p3 1 1 0.9922 / 0.965);
      --accent-a11: color(display-p3 1 1 0.9843 / 0.702);
      --accent-a12: color(display-p3 1 1 0.9922 / 0.934);

      --accent-contrast: #311921;
      --accent-surface: color(display-p3 0.1412 0.1412 0.1333 / 0.5);
      --accent-indicator: oklch(100% 0 none);
      --accent-track: oklch(100% 0 none);
    }
  }
}


.dark {
  --grayscale-1: #111110;
  --grayscale-2: #191918;
  --grayscale-3: #222221;
  --grayscale-4: #2a2a28;
  --grayscale-5: #31312e;
  --grayscale-6: #3b3a37;
  --grayscale-7: #494844;
  --grayscale-8: #62605b;
  --grayscale-9: #6f6d66;
  --grayscale-10: #7c7b74;
  --grayscale-11: #b5b3ad;
  --grayscale-12: #eeeeec;

  --grayscale-a1: #00000000;
  --grayscale-a2: #f4f4f309;
  --grayscale-a3: #f6f6f513;
  --grayscale-a4: #fefef31b;
  --grayscale-a5: #fbfbeb23;
  --grayscale-a6: #fffaed2d;
  --grayscale-a7: #fffbed3c;
  --grayscale-a8: #fff9eb57;
  --grayscale-a9: #fffae965;
  --grayscale-a10: #fffdee73;
  --grayscale-a11: #fffcf4b0;
  --grayscale-a12: #fffffded;

  --grayscale-contrast: #fff;
  --grayscale-surface: rgba(0, 0, 0, 0.05);
  --grayscale-indicator: #6f6d66;
  --grayscale-track: #6f6d66;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.067 0.067 0.063);
      --grayscale-2: color(display-p3 0.098 0.098 0.094);
      --grayscale-3: color(display-p3 0.135 0.135 0.129);
      --grayscale-4: color(display-p3 0.164 0.163 0.156);
      --grayscale-5: color(display-p3 0.193 0.192 0.183);
      --grayscale-6: color(display-p3 0.23 0.229 0.217);
      --grayscale-7: color(display-p3 0.285 0.282 0.267);
      --grayscale-8: color(display-p3 0.384 0.378 0.357);
      --grayscale-9: color(display-p3 0.434 0.428 0.403);
      --grayscale-10: color(display-p3 0.487 0.481 0.456);
      --grayscale-11: color(display-p3 0.707 0.703 0.68);
      --grayscale-12: color(display-p3 0.933 0.933 0.926);

      --grayscale-a1: #00000000;
      --grayscale-a2: #f4f4f309;
      --grayscale-a3: #f6f6f513;
      --grayscale-a4: #fefef31b;
      --grayscale-a5: #fbfbeb23;
      --grayscale-a6: #fffaed2d;
      --grayscale-a7: #fffbed3c;
      --grayscale-a8: #fff9eb57;
      --grayscale-a9: #fffae965;
      --grayscale-a10: #fffdee73;
      --grayscale-a11: #fffcf4b0;
      --grayscale-a12: #fffffded;

      --grayscale-contrast: #fff;
      --grayscale-surface: color(display-p3 0 0 0 / 5%);
      --grayscale-indicator: color(display-p3 0.434 0.428 0.403);
      --grayscale-track: color(display-p3 0.434 0.428 0.403);
    }
  }
}

:root {
  color-scheme: light;
  --accent: rgba(20, 20, 20, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(235, 235, 235, 1);
  --sidebar-background: initial;
  --header-background: rgba(255, 255, 255, 1);
  --card-background: rgba(245, 245, 245, 1);
  --theme-color: #fff;
}

.dark {
  color-scheme: light;
  --background: #000000;
  --accent: #ffffff;
}

/* Match the web app's 2026-11-08 design tokens; Fern generates the remaining scales. */
:root,
#fern-docs {
  color-scheme: light;
  --color-body: #141414;
  --grayscale-12: #141414;
  --grayscale-a12: #141414;
  --grayscale-11: #6b6b6b;
  --grayscale-a11: #6b6b6b;
  --accent-11: #141414;
  --accent-a11: #141414;
  --ar-surface-strong: #ededed;
  --ar-focus: #1f6feb;
}

body#fern-docs {
  color: var(--grayscale-12);
}

::selection {
  background: var(--ar-surface-strong);
  color: var(--grayscale-12);
}

:focus-visible {
  outline: 2px solid var(--ar-focus) !important;
  outline-offset: 3px;
}

.fern-page-heading {
  font-size: 32px;
  line-height: 36px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.fern-page-subtitle {
  color: var(--grayscale-11);
  font-size: 18px;
  line-height: 28px;
}

.fern-prose :is(h1, h2, h3, h4, strong, b) {
  font-weight: 600;
}

.fern-prose h2 {
  font-size: 24px;
  line-height: 30px;
  letter-spacing: -0.005em;
}

.fern-prose h3 {
  font-size: 18px;
  line-height: 24px;
  letter-spacing: 0;
}

.fern-button,
.fern-header-search-bar {
  border-radius: 9999px;
}

.fern-header-search-bar {
  background: var(--card-background);
  box-shadow: none;
  padding-inline: 16px;
}

.fern-button {
  font-weight: 600;
}

.fern-sidebar-link {
  color: var(--grayscale-11);
  border-radius: 12px;
  line-height: 20px;
}

.fern-sidebar-link[data-state="active"] {
  background: var(--card-background);
  color: var(--grayscale-12);
  font-weight: 600;
}

.fern-sidebar-link[data-state="active"] .fern-sidebar-link-title-inner {
  -webkit-text-stroke: 0;
}

.fern-sidebar-link svg,
.fern-sidebar-link[data-state="active"] svg {
  color: currentColor;
}

.fern-card,
.fern-card.interactive:hover {
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}
.fern-card.interactive:focus-visible {
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.fern-card.interactive:hover {
  background: var(--ar-surface-strong);
}
.fern-card.interactive:focus-visible {
  background: var(--ar-surface-strong);
}

.fern-card .card-icon {
  color: var(--grayscale-11);
}

.fern-card {
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1);
}

.fern-code-block,
.fern-endpoint-request-snippet,
.fern-endpoint-response-snippet {
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

/* Syntax highlighting sets an inline white background on the inner pre. */
.fern-code-block pre {
  background: transparent !important;
}

.fern-code-block .code-block {
  font-size: 14px;
  line-height: 22px;
}

.fern-prose code {
  font-size: 14px;
  font-weight: 400;
}

.fern-callout {
  border: 0;
  border-radius: 12px;
}

.fern-callout:is([data-intent="info"], [data-intent="note"], [data-intent="launch"]) {
  background: var(--card-background);
  color: var(--grayscale-12);
}

.fern-callout:is([data-intent="info"], [data-intent="note"], [data-intent="launch"]) svg {
  color: var(--grayscale-11);
}

/* Fern labels the image “Logo”. Keep the brand name available to screen readers. */
.fern-header-logo-container .fern-logo-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
