/*fern-site-stylesheet*/@font-face {
    font-family: 'DM Sans';
    src: url('/_fern-files/nari-labs.docs.buildwithfern.com/468d56b6b25b05b70190b6c233d773f6f1770e8579827ce022a57f03fa8002fb/docs/assets/DMSans-Variable.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'DM Sans';
    src: url('/_fern-files/nari-labs.docs.buildwithfern.com/468d56b6b25b05b70190b6c233d773f6f1770e8579827ce022a57f03fa8002fb/docs/assets/DMSans-Variable.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'DM Sans';
    src: url('/_fern-files/nari-labs.docs.buildwithfern.com/468d56b6b25b05b70190b6c233d773f6f1770e8579827ce022a57f03fa8002fb/docs/assets/DMSans-Variable.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'DM Sans';
    src: url('/_fern-files/nari-labs.docs.buildwithfern.com/468d56b6b25b05b70190b6c233d773f6f1770e8579827ce022a57f03fa8002fb/docs/assets/DMSans-Variable.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'DM Sans Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 104.53%;
    ascent-override: 94.90%;
    descent-override: 29.66%;
    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: 26px;
  --font-body: 'DM Sans', 'DM Sans Fallback', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'DM Sans', 'DM Sans Fallback', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-code: 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: #fcfcfc;
  --accent-2: #f9f9f9;
  --accent-3: #f0f0f0;
  --accent-4: #e8e8e8;
  --accent-5: #e1e1e1;
  --accent-6: #d9d9d9;
  --accent-7: #cecece;
  --accent-8: #bbb;
  --accent-9: #1a1a1a;
  --accent-10: #313131;
  --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: #000000e5;
  --accent-a10: #000000ce;
  --accent-a11: #0000009c;
  --accent-a12: #000000e0;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :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(21.8% 0 none);
      --accent-10: oklch(31.2% 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.898);
      --accent-a10: color(display-p3 0 0 0 / 0.8078);
      --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(21.8% 0 none);
      --accent-track: oklch(21.8% 0 none);
    }
  }
}


.light, :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) {
    .light, :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: #111;
  --accent-2: #191919;
  --accent-3: #222;
  --accent-4: #2a2a2a;
  --accent-5: #313131;
  --accent-6: #3a3a3a;
  --accent-7: #484848;
  --accent-8: #606060;
  --accent-9: #fff;
  --accent-10: #f6f6f6;
  --accent-11: #b4b4b4;
  --accent-12: #eee;

  --accent-a1: #00000000;
  --accent-a2: #ffffff09;
  --accent-a3: #ffffff12;
  --accent-a4: #ffffff1b;
  --accent-a5: #ffffff22;
  --accent-a6: #ffffff2c;
  --accent-a7: #ffffff3b;
  --accent-a8: #ffffff55;
  --accent-a9: #ffffff;
  --accent-a10: #fffffff5;
  --accent-a11: #ffffffaf;
  --accent-a12: #ffffffed;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(17.8% 0 none);
      --accent-2: oklch(21.3% 0 none);
      --accent-3: oklch(25.4% 0 none);
      --accent-4: oklch(28.3% 0 none);
      --accent-5: oklch(31.3% 0 none);
      --accent-6: oklch(34.9% 0 none);
      --accent-7: oklch(40.2% 0 none);
      --accent-8: oklch(48.8% 0 none);
      --accent-9: oklch(100% 0 none);
      --accent-10: oklch(97.3% 0 none);
      --accent-11: oklch(77% 0 none);
      --accent-12: oklch(94.9% 0 none);

      --accent-a1: color(display-p3 0 0 0 / 0);
      --accent-a2: color(display-p3 1 1 1 / 0.0336);
      --accent-a3: color(display-p3 1 1 1 / 0.0714);
      --accent-a4: color(display-p3 1 1 1 / 0.105);
      --accent-a5: color(display-p3 1 1 1 / 0.1345);
      --accent-a6: color(display-p3 1 1 1 / 0.1723);
      --accent-a7: color(display-p3 1 1 1 / 0.2311);
      --accent-a8: color(display-p3 1 1 1 / 0.3319);
      --accent-a9: color(display-p3 1 1 1);
      --accent-a10: color(display-p3 1 1 1 / 0.9622);
      --accent-a11: color(display-p3 1 1 1 / 0.6849);
      --accent-a12: color(display-p3 1 1 1 / 0.9286);

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


.dark {
  --grayscale-1: #111111;
  --grayscale-2: #191919;
  --grayscale-3: #222222;
  --grayscale-4: #2a2a2a;
  --grayscale-5: #313131;
  --grayscale-6: #3a3a3a;
  --grayscale-7: #484848;
  --grayscale-8: #606060;
  --grayscale-9: #6e6e6e;
  --grayscale-10: #7b7b7b;
  --grayscale-11: #b4b4b4;
  --grayscale-12: #eeeeee;

  --grayscale-a1: #00000000;
  --grayscale-a2: #ffffff09;
  --grayscale-a3: #ffffff12;
  --grayscale-a4: #ffffff1b;
  --grayscale-a5: #ffffff22;
  --grayscale-a6: #ffffff2c;
  --grayscale-a7: #ffffff3b;
  --grayscale-a8: #ffffff55;
  --grayscale-a9: #ffffff64;
  --grayscale-a10: #ffffff72;
  --grayscale-a11: #ffffffaf;
  --grayscale-a12: #ffffffed;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.067 0.067 0.067);
      --grayscale-2: color(display-p3 0.098 0.098 0.098);
      --grayscale-3: color(display-p3 0.135 0.135 0.135);
      --grayscale-4: color(display-p3 0.163 0.163 0.163);
      --grayscale-5: color(display-p3 0.192 0.192 0.192);
      --grayscale-6: color(display-p3 0.228 0.228 0.228);
      --grayscale-7: color(display-p3 0.283 0.283 0.283);
      --grayscale-8: color(display-p3 0.375 0.375 0.375);
      --grayscale-9: color(display-p3 0.431 0.431 0.431);
      --grayscale-10: color(display-p3 0.484 0.484 0.484);
      --grayscale-11: color(display-p3 0.706 0.706 0.706);
      --grayscale-12: color(display-p3 0.933 0.933 0.933);

      --grayscale-a1: #00000000;
      --grayscale-a2: #ffffff09;
      --grayscale-a3: #ffffff12;
      --grayscale-a4: #ffffff1b;
      --grayscale-a5: #ffffff22;
      --grayscale-a6: #ffffff2c;
      --grayscale-a7: #ffffff3b;
      --grayscale-a8: #ffffff55;
      --grayscale-a9: #ffffff64;
      --grayscale-a10: #ffffff72;
      --grayscale-a11: #ffffffaf;
      --grayscale-a12: #ffffffed;

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

.light, :root {
  color-scheme: light;
  --accent: rgba(26, 26, 26, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(233, 233, 231, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(255, 255, 255, 1);
  --background: rgba(17, 17, 17, 1);
  --border: rgba(48, 48, 46, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #111;
}

/* Custom styles for Fern Docs Starter */

/* Fern renders string response headers as optional even when OpenAPI declares
 * required: true. Correct only our always-returned x-request-id response header.
 * The replacement disappears automatically when Fern stops emitting the badge.
 * Keep this scoped to response headers; request parameters retain their labels.
 */
[id="response.response-header.x-request-id"] .fern-api-property-optional {
  display: none;
}

[id="response.response-header.x-request-id"]
  .fern-api-property-meta:has(> .fern-api-property-optional)::after {
  content: "Required";
}

/* Accent tint on welcome hero images */
.welcome-hero-tint {
  position: relative;
  display: block;
  border-radius: calc(var(--radius) * 3);
  overflow: hidden;
}

.welcome-hero-tint img {
  width: 100%;
  height: auto;
  margin: 0 !important;
}

.welcome-hero-tint::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--accent-9, var(--accent-primary));
  mix-blend-mode: color;
  opacity: 0.5;
  pointer-events: none;
  border-radius: inherit;
  z-index: 1;
}

/* Nari Labs brand system — aligned with next.nari-labs.com. */
:root {
  --font-heading: "Iowan Old Style BT", "Iowan Old Style", Georgia, serif !important;
  --font-body: "DM Sans", system-ui, sans-serif !important;
  --font-mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace !important;
  --radius: 0.5rem !important;
  --nari-text: #1a1a1a;
  --nari-muted: #8a8880;
  --nari-border: #e9e9e7;
  --nari-surface: #ffffff;
  --nari-surface-fill: #f5f5f3;
  --nari-surface-soft: #f9f9f7;
}

.dark {
  --nari-text: #ffffff;
  --nari-muted: #aaa8a1;
  --nari-border: #30302e;
  --nari-surface: #111111;
  --nari-surface-fill: #1a1a19;
  --nari-surface-soft: #161615;
}

body {
  font-family: var(--font-body);
  color: var(--nari-text);
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: 400 !important;
  letter-spacing: -0.025em !important;
}

h1 {
  line-height: 1.06 !important;
}

code,
pre,
kbd,
samp {
  font-family: var(--font-mono);
}

/* Match the restrained cards, controls, and selected states on the brand site. */
[data-card],
.fern-card,
button,
input,
pre {
  border-radius: 0.5rem !important;
}

[data-card],
.fern-card {
  border-color: var(--nari-border) !important;
  box-shadow: 0 1px 2px rgb(26 26 26 / 4%);
}

::selection {
  background: #fff461;
  color: #211e19;
}
