/*fern-site-stylesheet*/@font-face {
    font-family: 'Inter';
    src: url('/_fern-files/venkat.docs.buildwithfern.com/c940764593d0fe5d596be327ca7558855e018039fb78509aa21921fd3644c3e4/docs/assets/fonts/inter-latin.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0300-0323;
}
@font-face {
    font-family: 'Inter';
    src: url('/_fern-img/c940764593d0fe5d596be327ca755885-v1.latin.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000, U+0020-007E, U+00A0-00AC, U+00AE-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2002, U+2009, U+200B, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+FEFF;
}
@font-face {
    font-family: 'Space Grotesk';
    src: url('/_fern-files/venkat.docs.buildwithfern.com/a0d054c4af557de20afd6ca59f47ab353bcaec49c63ff04b6c9d39d0f8910557/docs/assets/fonts/space-grotesk-latin.woff2') format('woff2');
    font-weight: 300 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'JetBrains Mono';
    src: url('/_fern-files/venkat.docs.buildwithfern.com/1e06740a02a443fb7f3eeda8fcaa685a0f6c620e3f01e6666e847295469ce3ad/docs/assets/fonts/jetbrains-mono-latin.woff2') format('woff2');
    font-weight: 100 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 107.12%;
    ascent-override: 90.44%;
    descent-override: 22.52%;
    line-gap-override: 0.00%;
}
@font-face {
    font-family: 'Space Grotesk Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 109.47%;
    ascent-override: 89.89%;
    descent-override: 26.67%;
    line-gap-override: 0.00%;
}

:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 640px;
  --sidebar-width: 288px;
  --page-width: 100vw;
  --logo-height: 24px;
  --font-body: 'Inter', 'Inter Fallback', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'Space Grotesk', 'Space Grotesk Fallback', 'Inter', 'Inter Fallback', 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, 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);
}


.light, :root {
  --accent-1: #f1f2f4;
  --accent-2: #ededf4;
  --accent-3: #e5e5f2;
  --accent-4: #d9daf5;
  --accent-5: #cdcef4;
  --accent-6: #bebff0;
  --accent-7: #abaae6;
  --accent-8: #918fdb;
  --accent-9: #5145a6;
  --accent-10: #433595;
  --accent-11: #5247a8;
  --accent-12: #2d285d;

  --accent-a1: #dce8ff37;
  --accent-a2: #c9d0ff37;
  --accent-a3: #061fff13;
  --accent-a4: #8f97ff49;
  --accent-a5: #3541ff37;
  --accent-a6: #010ced3b;
  --accent-a7: #0203ce4f;
  --accent-a8: #0402bd6b;
  --accent-a9: #110289b8;
  --accent-a10: #12007cc8;
  --accent-a11: #10028bb6;
  --accent-a12: #060140d6;

  --accent-contrast: #fff;
  --accent-surface: #ebebf5cc;
  --accent-indicator: #5145a6;
  --accent-track: #5145a6;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(96% 0.0026 284.4);
      --accent-2: oklch(94.9% 0.0085 284.4);
      --accent-3: oklch(92.6% 0.0178 284.4);
      --accent-4: oklch(89.5% 0.0367 284.4);
      --accent-5: oklch(86.3% 0.0534 284.4);
      --accent-6: oklch(82% 0.0681 284.4);
      --accent-7: oklch(76.1% 0.0848 284.4);
      --accent-8: oklch(68.2% 0.1119 284.4);
      --accent-9: oklch(45.7% 0.1502 284.4);
      --accent-10: oklch(40.3% 0.1502 284.4);
      --accent-11: oklch(46.2% 0.1502 284.4);
      --accent-12: oklch(31.3% 0.0918 284.4);

      --accent-a1: color(display-p3 0.8627 0.9098 1 / 0.215);
      --accent-a2: color(display-p3 0.698 0.7451 1 / 0.143);
      --accent-a3: color(display-p3 0.0039 0.102 0.9451 / 0.073);
      --accent-a4: color(display-p3 0.149 0.2235 1 / 0.143);
      --accent-a5: color(display-p3 0.0078 0.0667 0.949 / 0.171);
      --accent-a6: color(display-p3 0.0039 0.0471 0.8627 / 0.231);
      --accent-a7: color(display-p3 0.0039 0.0039 0.7412 / 0.308);
      --accent-a8: color(display-p3 0.0118 0.0039 0.6902 / 0.417);
      --accent-a9: color(display-p3 0.0549 0 0.502 / 0.719);
      --accent-a10: color(display-p3 0.0549 0 0.4588 / 0.78);
      --accent-a11: color(display-p3 0.051 0 0.5098 / 0.711);
      --accent-a12: color(display-p3 0.0196 0 0.2392 / 0.837);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9216 0.9216 0.9569 / 0.8);
      --accent-indicator: oklch(45.7% 0.1502 284.4);
      --accent-track: oklch(45.7% 0.1502 284.4);
    }
  }
}


.light, :root {
  --grayscale-1: #fdfdfc;
  --grayscale-2: #f9f9f8;
  --grayscale-3: #f1f0ef;
  --grayscale-4: #e9e8e6;
  --grayscale-5: #e2e1de;
  --grayscale-6: #dad9d6;
  --grayscale-7: #cfceca;
  --grayscale-8: #bcbbb5;
  --grayscale-9: #8d8d86;
  --grayscale-10: #82827c;
  --grayscale-11: #63635e;
  --grayscale-12: #21201c;

  --grayscale-a1: #55550003;
  --grayscale-a2: #25250007;
  --grayscale-a3: #20100010;
  --grayscale-a4: #1f150019;
  --grayscale-a5: #1f180021;
  --grayscale-a6: #19130029;
  --grayscale-a7: #19140035;
  --grayscale-a8: #1915014a;
  --grayscale-a9: #0f0f0079;
  --grayscale-a10: #0c0c0083;
  --grayscale-a11: #080800a1;
  --grayscale-a12: #060500e3;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.992 0.992 0.989);
      --grayscale-2: color(display-p3 0.977 0.977 0.973);
      --grayscale-3: color(display-p3 0.943 0.942 0.936);
      --grayscale-4: color(display-p3 0.913 0.912 0.903);
      --grayscale-5: color(display-p3 0.885 0.883 0.873);
      --grayscale-6: color(display-p3 0.854 0.852 0.839);
      --grayscale-7: color(display-p3 0.813 0.81 0.794);
      --grayscale-8: color(display-p3 0.738 0.734 0.713);
      --grayscale-9: color(display-p3 0.553 0.553 0.528);
      --grayscale-10: color(display-p3 0.511 0.511 0.488);
      --grayscale-11: color(display-p3 0.388 0.388 0.37);
      --grayscale-12: color(display-p3 0.129 0.126 0.111);

      --grayscale-a1: #55550003;
      --grayscale-a2: #25250007;
      --grayscale-a3: #20100010;
      --grayscale-a4: #1f150019;
      --grayscale-a5: #1f180021;
      --grayscale-a6: #19130029;
      --grayscale-a7: #19140035;
      --grayscale-a8: #1915014a;
      --grayscale-a9: #0f0f0079;
      --grayscale-a10: #0c0c0083;
      --grayscale-a11: #080800a1;
      --grayscale-a12: #060500e3;

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


.dark {
  --accent-1: #0b0a13;
  --accent-2: #161521;
  --accent-3: #262141;
  --accent-4: #32285a;
  --accent-5: #3c3269;
  --accent-6: #463d76;
  --accent-7: #544989;
  --accent-8: #6558a4;
  --accent-9: #b9afff;
  --accent-10: #aea4f4;
  --accent-11: #b4aafa;
  --accent-12: #e1dffa;

  --accent-a1: #0c00e306;
  --accent-a2: #9185f515;
  --accent-a3: #8b73ff36;
  --accent-a4: #8566fd51;
  --accent-a5: #8c72fd61;
  --accent-a6: #937efd6f;
  --accent-a7: #9a84fe83;
  --accent-a8: #9c87ff9f;
  --accent-a9: #b9afff;
  --accent-a10: #b6abfef4;
  --accent-a11: #b8adfffa;
  --accent-a12: #e6e3fffa;

  --accent-contrast: #211e34;
  --accent-surface: #211f3480;
  --accent-indicator: #b9afff;
  --accent-track: #b9afff;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(15.1% 0.0189 289.3);
      --accent-2: oklch(20.2% 0.0252 289.3);
      --accent-3: oklch(26.9% 0.0584 289.3);
      --accent-4: oklch(31.6% 0.0863 289.3);
      --accent-5: oklch(35.6% 0.0925 289.3);
      --accent-6: oklch(39.7% 0.0947 289.3);
      --accent-7: oklch(44.7% 0.1019 289.3);
      --accent-8: oklch(50.8% 0.1175 289.3);
      --accent-9: oklch(79.2% 0.1126 289.3);
      --accent-10: oklch(75.8% 0.1126 289.3);
      --accent-11: oklch(77.6% 0.1126 289.3);
      --accent-12: oklch(91.4% 0.0361 289.3);

      --accent-a1: color(display-p3 0.0431 0 0.9804 / 0.017);
      --accent-a2: color(display-p3 0.6196 0.5686 0.9961 / 0.075);
      --accent-a3: color(display-p3 0.5451 0.4667 1 / 0.204);
      --accent-a4: color(display-p3 0.5216 0.4196 1 / 0.303);
      --accent-a5: color(display-p3 0.549 0.4627 1 / 0.366);
      --accent-a6: color(display-p3 0.5922 0.5176 1 / 0.415);
      --accent-a7: color(display-p3 0.6039 0.5333 1 / 0.494);
      --accent-a8: color(display-p3 0.6196 0.5451 0.9961 / 0.602);
      --accent-a9: color(display-p3 0.7373 0.702 1 / 0.976);
      --accent-a10: color(display-p3 0.7216 0.6863 1 / 0.93);
      --accent-a11: color(display-p3 0.7294 0.698 0.9961 / 0.955);
      --accent-a12: color(display-p3 0.9098 0.902 1 / 0.971);

      --accent-contrast: #211e34;
      --accent-surface: color(display-p3 0.1255 0.1176 0.1961 / 0.5);
      --accent-indicator: oklch(79.2% 0.1126 289.3);
      --accent-track: oklch(79.2% 0.1126 289.3);
    }
  }
}


.dark {
  --grayscale-1: #111113;
  --grayscale-2: #18191b;
  --grayscale-3: #212225;
  --grayscale-4: #272a2d;
  --grayscale-5: #2e3135;
  --grayscale-6: #363a3f;
  --grayscale-7: #43484e;
  --grayscale-8: #5a6169;
  --grayscale-9: #696e77;
  --grayscale-10: #777b84;
  --grayscale-11: #b0b4ba;
  --grayscale-12: #edeef0;

  --grayscale-a1: #00000000;
  --grayscale-a2: #d8f4f609;
  --grayscale-a3: #ddeaf814;
  --grayscale-a4: #d3edf81d;
  --grayscale-a5: #d9edfe25;
  --grayscale-a6: #d6ebfd30;
  --grayscale-a7: #d9edff40;
  --grayscale-a8: #d9edff5d;
  --grayscale-a9: #dfebfd6d;
  --grayscale-a10: #e5edfd7b;
  --grayscale-a11: #f1f7feb5;
  --grayscale-a12: #fcfdffef;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.067 0.067 0.074);
      --grayscale-2: color(display-p3 0.095 0.098 0.105);
      --grayscale-3: color(display-p3 0.13 0.135 0.145);
      --grayscale-4: color(display-p3 0.156 0.163 0.176);
      --grayscale-5: color(display-p3 0.183 0.191 0.206);
      --grayscale-6: color(display-p3 0.215 0.226 0.244);
      --grayscale-7: color(display-p3 0.265 0.28 0.302);
      --grayscale-8: color(display-p3 0.357 0.381 0.409);
      --grayscale-9: color(display-p3 0.415 0.431 0.463);
      --grayscale-10: color(display-p3 0.469 0.483 0.514);
      --grayscale-11: color(display-p3 0.692 0.704 0.728);
      --grayscale-12: color(display-p3 0.93 0.933 0.94);

      --grayscale-a1: #00000000;
      --grayscale-a2: #d8f4f609;
      --grayscale-a3: #ddeaf814;
      --grayscale-a4: #d3edf81d;
      --grayscale-a5: #d9edfe25;
      --grayscale-a6: #d6ebfd30;
      --grayscale-a7: #d9edff40;
      --grayscale-a8: #d9edff5d;
      --grayscale-a9: #dfebfd6d;
      --grayscale-a10: #e5edfd7b;
      --grayscale-a11: #f1f7feb5;
      --grayscale-a12: #fcfdffef;

      --grayscale-contrast: #fff;
      --grayscale-surface: color(display-p3 0 0 0 / 5%);
      --grayscale-indicator: color(display-p3 0.415 0.431 0.463);
      --grayscale-track: color(display-p3 0.415 0.431 0.463);
    }
  }
}

.light, :root {
  color-scheme: light;
  --accent: rgba(81, 69, 166, 1);
  --background: rgba(247, 245, 241, 1);
  --border: rgba(216, 212, 203, 1);
  --sidebar-background: rgba(247, 245, 241, 1);
  --header-background: rgba(255, 254, 250, 1);
  --card-background: rgba(255, 255, 255, 1);
  --theme-color: #f7f5f1;
}

.dark {
  color-scheme: dark;
  --accent: rgba(185, 175, 255, 1);
  --background: rgba(11, 11, 14, 1);
  --border: rgba(68, 70, 79, 1);
  --sidebar-background: rgba(11, 11, 14, 1);
  --header-background: rgba(22, 23, 27, 1);
  --card-background: rgba(30, 31, 36, 1);
  --theme-color: #0b0b0e;
}

/* QA.army docs shell: the Run workbench's visual language, on Fern's native UI.
   Keep tokens paired by theme. Do not restyle captured screenshots or diagrams. */
:root {
  --qa-page: #f7f5f1;
  --qa-surface: #fffefa;
  --qa-raised: #ffffff;
  --qa-subtle: #fbfaf7;
  --qa-ink: #0b0b0e;
  --qa-text: #303036;
  --qa-muted: #66666e;
  --qa-line: #d8d4cb;
  --qa-primary: #8a8dff;
  --qa-on-primary: #0b0b0e;
  --qa-link: #5145a6;
  --qa-selected: #eeebff;
  --qa-focus: #6d71ed;
  --radius: 0px !important;
  --radius-1: 0px !important;
  --radius-2: 0px !important;
  --radius-3: 0px !important;
}

html.dark {
  --qa-page: #0b0b0e;
  --qa-surface: #16171b;
  --qa-raised: #1e1f24;
  --qa-subtle: #101115;
  --qa-ink: #f4f1eb;
  --qa-text: #e5e3de;
  --qa-muted: #a9a9b0;
  --qa-line: #44464f;
  --qa-primary: #a7a9ff;
  --qa-link: #b9afff;
  --qa-selected: #28213f;
  --qa-focus: #a7a9ff;
}

::selection { background: var(--qa-primary); color: var(--qa-on-primary); }
html, body { background: var(--qa-page); color: var(--qa-text); }

/* Square Fern-owned surfaces and controls; no changes to evidence images. */
:where(button, input, textarea, select, kbd, [role="dialog"], [role="menu"],
  .fern-button, .fern-card, .fern-callout, .fern-sidebar-link, .fern-code-block,
  .fern-code-block-header, .fern-code-group-tab, .fern-input-group, .fern-dropdown,
  .fern-dropdown-item, .fern-segmented-control, .fern-kbd, .fern-search,
  pre.code-block-root, .fern-prose code, .fern-step, .fern-docs-badge) {
  border-radius: 0 !important;
}

/* Controls use fill and readable labels, not marketing borders or shadows. */
button, .fern-button {
  border: 0 !important;
  box-shadow: none !important;
}
button:focus-visible, a:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--qa-focus) !important;
  outline-offset: 3px;
}
.fern-button.filled.primary {
  background: var(--qa-primary);
  color: var(--qa-on-primary);
}
.fern-button.filled.primary:hover {
  background: var(--qa-selected);
  color: var(--qa-link);
}
.fern-button.filled.primary:focus-visible {
  outline-color: var(--qa-ink) !important;
}
.fern-button.outlined { background: var(--qa-raised); color: var(--qa-text); }
.fern-button.outlined:hover { background: var(--qa-selected); color: var(--qa-link); }
.fern-button.outlined:focus-visible { background: var(--qa-selected); color: var(--qa-link); }

#fern-header {
  background: var(--qa-surface);
  border-bottom: 1px solid var(--qa-line);
  backdrop-filter: none;
}
.fern-header-tabs { background: var(--qa-surface); backdrop-filter: none; }
.fern-logo-text { color: var(--qa-ink); font-family: "Space Grotesk", Inter, sans-serif; }
.fern-header-search-bar { background: var(--qa-subtle); color: var(--qa-muted); }
.fern-header-search-bar:hover { background: var(--qa-selected); color: var(--qa-link); }
.fern-header-search-bar:focus-visible { background: var(--qa-selected); color: var(--qa-link); }
.fern-sidebar-desktop { border-color: var(--qa-line); }
.fern-sidebar-link { color: var(--qa-muted); }
.fern-sidebar-link:hover { background: var(--qa-subtle); color: var(--qa-ink); }
.fern-sidebar-link:focus-visible { background: var(--qa-subtle); color: var(--qa-ink); }
.fern-sidebar-link[data-state="active"], .fern-sidebar-link[aria-current="page"] {
  background: var(--qa-selected);
  color: var(--qa-link);
  font-weight: 600;
}
.fern-sidebar-heading-content {
  color: var(--qa-muted);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .04em;
  text-transform: uppercase;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Space Grotesk", Inter, system-ui, sans-serif !important;
  color: var(--qa-ink);
  letter-spacing: -.02em;
}
.fern-page-heading { font-size: clamp(28px, 3vw, 36px); line-height: 1.2; }
.fern-page-subtitle { color: var(--qa-muted); }
.fern-prose { color: var(--qa-text); }
.fern-prose a.fern-mdx-link { color: var(--qa-link); text-underline-offset: 3px; }
.fern-prose a.fern-mdx-link:hover { color: var(--qa-ink); }
.fern-prose a.fern-mdx-link:focus-visible { color: var(--qa-ink); }
.fern-card {
  background: var(--qa-raised);
  border: 1px solid var(--qa-line);
  box-shadow: none;
}
.fern-card.elevated, .fern-card.interactive:hover { box-shadow: none; }
.fern-card.interactive:focus-visible { box-shadow: none; }
a.fern-card:hover { background: var(--qa-subtle); border-color: var(--qa-link); }
a.fern-card:focus-visible { background: var(--qa-subtle); border-color: var(--qa-link); }
.fern-card h2, .fern-card h3 { color: var(--qa-ink); }
.fern-card p { color: var(--qa-muted); }

code, pre, kbd, .fern-kbd {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace !important;
}
.fern-prose code:not(pre code) {
  background: var(--qa-subtle);
  color: var(--qa-text);
  border: 1px solid var(--qa-line);
}
/* Preserve Fern syntax highlighting and callout semantic colors. */
.fern-code-block, pre.code-block-root {
  border: 1px solid var(--qa-line) !important;
  box-shadow: none !important;
}
.fern-code-block-header { border-color: var(--qa-line); }
.fern-prose blockquote {
  background: var(--qa-subtle);
  color: var(--qa-text);
  border-left: 2px solid var(--qa-primary);
}
.fern-prose table { border-color: var(--qa-line); }
.fern-prose th { background: var(--qa-subtle); color: var(--qa-ink); }
.fern-prose td { border-color: var(--qa-line); }

@media (max-width: 767px), (pointer: coarse) {

  .fern-header-content button, .fern-header-content .fern-button,
  .fern-sidebar-link, .fern-dropdown-item { min-height: 44px; }

}
@media (prefers-reduced-motion: reduce) {

  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

}
