/*fern-site-stylesheet*/@font-face {
    font-family: 'Inter';
    src: url('/_fern-files/jelliu.docs.buildwithfern.com/3100e775e8616cd2611beecfa23a4263d7037586789b43f035236a2e6fbd4c62/docs/assets/fonts/Inter.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-files/_img/3100e775e8616cd2611beecfa23a4263-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: 'JetBrainsMono';
    src: url('/_fern-files/jelliu.docs.buildwithfern.com/83c005d49d8a6a50474c73a5a36ac0468076e9c4a29da7bdb14995d80560a5be/docs/assets/fonts/JetBrainsMono.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%;
}

:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 760px;
  --sidebar-width: 288px;
  --page-width: 1440px;
  --logo-height: 26px;
  --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: 'Inter', 'Inter 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: 'JetBrainsMono', 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: #fcfcff;
  --accent-2: #f9f9fe;
  --accent-3: #eff0f8;
  --accent-4: #e6e7f2;
  --accent-5: #dee0ee;
  --accent-6: #d6d8e9;
  --accent-7: #cbcde1;
  --accent-8: #b6b9d4;
  --accent-9: #1c1d2b;
  --accent-10: #323342;
  --accent-11: #616379;
  --accent-12: #1e1f2e;

  --accent-a1: #0000ff03;
  --accent-a2: #0000d506;
  --accent-a3: #00109010;
  --accent-a4: #000b7b19;
  --accent-a5: #00107c21;
  --accent-a6: #000d7729;
  --accent-a7: #000a6c34;
  --accent-a8: #000b6949;
  --accent-a9: #000111e3;
  --accent-a10: #000114cd;
  --accent-a11: #0004279e;
  --accent-a12: #000112e1;

  --accent-contrast: #fff;
  --accent-surface: #f8f8fecc;
  --accent-indicator: #1c1d2b;
  --accent-track: #1c1d2b;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.2% 0.0032 281);
      --accent-2: oklch(98.3% 0.0059 281);
      --accent-3: oklch(95.6% 0.0107 281);
      --accent-4: oklch(93.2% 0.0146 281);
      --accent-5: oklch(90.9% 0.0193 281);
      --accent-6: oklch(88.5% 0.0229 281);
      --accent-7: oklch(85.2% 0.0282 281);
      --accent-8: oklch(79.2% 0.0383 281);
      --accent-9: oklch(23.6% 0.0269 281);
      --accent-10: oklch(32.6% 0.0269 281);
      --accent-11: oklch(50.5% 0.0356 281);
      --accent-12: oklch(24.6% 0.0269 281);

      --accent-a1: color(display-p3 0.0235 0.0235 1 / 0.012);
      --accent-a2: color(display-p3 0.0235 0.0235 0.8392 / 0.024);
      --accent-a3: color(display-p3 0.0078 0.0667 0.5059 / 0.063);
      --accent-a4: color(display-p3 0.0118 0.051 0.4471 / 0.099);
      --accent-a5: color(display-p3 0.0078 0.0667 0.4588 / 0.13);
      --accent-a6: color(display-p3 0.0039 0.051 0.4431 / 0.161);
      --accent-a7: color(display-p3 0.0039 0.0392 0.3882 / 0.204);
      --accent-a8: color(display-p3 0.0039 0.0314 0.3765 / 0.283);
      --accent-a9: color(display-p3 0 0.0039 0.0627 / 0.891);
      --accent-a10: color(display-p3 0 0.0039 0.0745 / 0.804);
      --accent-a11: color(display-p3 0 0.0157 0.1412 / 0.62);
      --accent-a12: color(display-p3 0 0.0039 0.0667 / 0.883);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9725 0.9725 0.9922 / 0.8);
      --accent-indicator: oklch(23.6% 0.0269 281);
      --accent-track: oklch(23.6% 0.0269 281);
    }
  }
}


.light, :root {
  --grayscale-1: #fdfcfd;
  --grayscale-2: #faf9fb;
  --grayscale-3: #f2eff3;
  --grayscale-4: #eae7ec;
  --grayscale-5: #e3dfe6;
  --grayscale-6: #dbd8e0;
  --grayscale-7: #d0cdd7;
  --grayscale-8: #bcbac7;
  --grayscale-9: #8e8c99;
  --grayscale-10: #84828e;
  --grayscale-11: #65636d;
  --grayscale-12: #211f26;

  --grayscale-a1: #55005503;
  --grayscale-a2: #2b005506;
  --grayscale-a3: #30004010;
  --grayscale-a4: #20003618;
  --grayscale-a5: #20003820;
  --grayscale-a6: #14003527;
  --grayscale-a7: #10003332;
  --grayscale-a8: #08003145;
  --grayscale-a9: #05001d73;
  --grayscale-a10: #0500197d;
  --grayscale-a11: #0400119c;
  --grayscale-a12: #020008e0;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.991 0.988 0.992);
      --grayscale-2: color(display-p3 0.98 0.976 0.984);
      --grayscale-3: color(display-p3 0.946 0.938 0.952);
      --grayscale-4: color(display-p3 0.915 0.906 0.925);
      --grayscale-5: color(display-p3 0.886 0.876 0.901);
      --grayscale-6: color(display-p3 0.856 0.846 0.875);
      --grayscale-7: color(display-p3 0.814 0.804 0.84);
      --grayscale-8: color(display-p3 0.735 0.728 0.777);
      --grayscale-9: color(display-p3 0.555 0.549 0.596);
      --grayscale-10: color(display-p3 0.514 0.508 0.552);
      --grayscale-11: color(display-p3 0.395 0.388 0.424);
      --grayscale-12: color(display-p3 0.128 0.122 0.147);

      --grayscale-a1: #55005503;
      --grayscale-a2: #2b005506;
      --grayscale-a3: #30004010;
      --grayscale-a4: #20003618;
      --grayscale-a5: #20003820;
      --grayscale-a6: #14003527;
      --grayscale-a7: #10003332;
      --grayscale-a8: #08003145;
      --grayscale-a9: #05001d73;
      --grayscale-a10: #0500197d;
      --grayscale-a11: #0400119c;
      --grayscale-a12: #020008e0;

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


.dark {
  --accent-1: #1e1e20;
  --accent-2: #252527;
  --accent-3: #2e2e30;
  --accent-4: #343436;
  --accent-5: #3a3a3c;
  --accent-6: #424244;
  --accent-7: #4e4e51;
  --accent-8: #666668;
  --accent-9: #f4f4f6;
  --accent-10: #ebebed;
  --accent-11: #b5b5b7;
  --accent-12: #eeeef0;

  --accent-a1: #c6720003;
  --accent-a2: #edd7000b;
  --accent-a3: #f7ec6815;
  --accent-a4: #fff7931b;
  --accent-a5: #fdf7ab22;
  --accent-a6: #fef9c02b;
  --accent-a7: #fcf8d539;
  --accent-a8: #fdfbe554;
  --accent-a9: #fdfdfef5;
  --accent-a10: #fefefeea;
  --accent-a11: #fffffbac;
  --accent-a12: #fefeffed;

  --accent-contrast: #201f34;
  --accent-surface: #2e2d2480;
  --accent-indicator: #f4f4f6;
  --accent-track: #f4f4f6;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(23.6% 0.004 286.3);
      --accent-2: oklch(26.6% 0.004 286.3);
      --accent-3: oklch(30.1% 0.004 286.3);
      --accent-4: oklch(32.5% 0.004 286.3);
      --accent-5: oklch(34.9% 0.004 286.3);
      --accent-6: oklch(37.9% 0.004 286.3);
      --accent-7: oklch(42.6% 0.004 286.3);
      --accent-8: oklch(51% 0.004 286.3);
      --accent-9: oklch(96.8% 0.0027 286.3);
      --accent-10: oklch(94% 0.0027 286.3);
      --accent-11: oklch(77.3% 0.004 286.3);
      --accent-12: oklch(94.9% 0.0027 286.3);

      --accent-a1: color(display-p3 0.9843 0.5529 0 / 0.009);
      --accent-a2: color(display-p3 0.9961 0.898 0 / 0.04);
      --accent-a3: color(display-p3 0.9922 0.949 0.4588 / 0.08);
      --accent-a4: color(display-p3 1 0.9647 0.6078 / 0.106);
      --accent-a5: color(display-p3 0.9961 0.9725 0.698 / 0.133);
      --accent-a6: color(display-p3 1 0.9804 0.7725 / 0.168);
      --accent-a7: color(display-p3 1 0.9843 0.8588 / 0.221);
      --accent-a8: color(display-p3 1 0.9922 0.9137 / 0.326);
      --accent-a9: color(display-p3 0.9961 0.9961 1 / 0.958);
      --accent-a10: color(display-p3 0.9961 0.9961 0.9961 / 0.916);
      --accent-a11: color(display-p3 1 1 0.9843 / 0.675);
      --accent-a12: color(display-p3 0.9961 0.9961 1 / 0.93);

      --accent-contrast: #201f34;
      --accent-surface: color(display-p3 0.1804 0.1725 0.1412 / 0.5);
      --accent-indicator: oklch(96.8% 0.0027 286.3);
      --accent-track: oklch(96.8% 0.0027 286.3);
    }
  }
}


.dark {
  --grayscale-1: #121113;
  --grayscale-2: #1a191b;
  --grayscale-3: #232225;
  --grayscale-4: #2b292d;
  --grayscale-5: #323035;
  --grayscale-6: #3c393f;
  --grayscale-7: #49474e;
  --grayscale-8: #625f69;
  --grayscale-9: #6f6d78;
  --grayscale-10: #7c7a85;
  --grayscale-11: #b5b2bc;
  --grayscale-12: #eeeef0;

  --grayscale-a1: #00000000;
  --grayscale-a2: #f5f4f609;
  --grayscale-a3: #ebeaf814;
  --grayscale-a4: #eee5f81d;
  --grayscale-a5: #efe6fe25;
  --grayscale-a6: #f1e6fd30;
  --grayscale-a7: #eee9ff40;
  --grayscale-a8: #eee7ff5d;
  --grayscale-a9: #eae6fd6e;
  --grayscale-a10: #ece9fd7c;
  --grayscale-a11: #f5f1ffb7;
  --grayscale-a12: #fdfdffef;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.07 0.067 0.074);
      --grayscale-2: color(display-p3 0.101 0.098 0.105);
      --grayscale-3: color(display-p3 0.138 0.134 0.144);
      --grayscale-4: color(display-p3 0.167 0.161 0.175);
      --grayscale-5: color(display-p3 0.196 0.189 0.206);
      --grayscale-6: color(display-p3 0.232 0.225 0.245);
      --grayscale-7: color(display-p3 0.286 0.277 0.302);
      --grayscale-8: color(display-p3 0.383 0.373 0.408);
      --grayscale-9: color(display-p3 0.434 0.428 0.467);
      --grayscale-10: color(display-p3 0.487 0.48 0.519);
      --grayscale-11: color(display-p3 0.707 0.7 0.735);
      --grayscale-12: color(display-p3 0.933 0.933 0.94);

      --grayscale-a1: #00000000;
      --grayscale-a2: #f5f4f609;
      --grayscale-a3: #ebeaf814;
      --grayscale-a4: #eee5f81d;
      --grayscale-a5: #efe6fe25;
      --grayscale-a6: #f1e6fd30;
      --grayscale-a7: #eee9ff40;
      --grayscale-a8: #eee7ff5d;
      --grayscale-a9: #eae6fd6e;
      --grayscale-a10: #ece9fd7c;
      --grayscale-a11: #f5f1ffb7;
      --grayscale-a12: #fdfdffef;

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

.light, :root {
  color-scheme: light;
  --accent: rgba(28, 29, 43, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(232, 233, 239, 1);
  --sidebar-background: rgba(244, 244, 246, 1);
  --header-background: rgba(255, 255, 255, 1);
  --card-background: rgba(244, 245, 248, 1);
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(244, 244, 246, 1);
  --background: rgba(28, 29, 43, 1);
  --border: rgba(46, 48, 67, 1);
  --sidebar-background: rgba(23, 24, 36, 1);
  --header-background: rgba(28, 29, 43, 1);
  --card-background: rgba(36, 38, 55, 1);
  --theme-color: #1c1d2b;
}

/* Bubble Tabs Theme */
:root [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item]::after {
  display: none;
}

:root [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item] {
  position: relative;
  isolation: isolate;
  transition: color 0.15s ease-in-out;
}

:root [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item]::before {
  content: "";
  position: absolute;
  inset: 6px 0;
  border-radius: 9999px;
  z-index: -1;
  transition: background-color 0.15s ease-in-out;
}

:root [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item][data-state="active"] {
  color: var(--accent-a11);
}

:root [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item][data-state="active"]::before {
  background-color: var(--accent-a3);
}

:root [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item][data-state="active"] > span {
  -webkit-text-stroke: 0.5px currentcolor;
}

:root [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item][data-state="inactive"]:hover::before {
  background-color: var(--grayscale-a3);
}
:root [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item][data-state="inactive"]:focus-visible::before {
  background-color: var(--grayscale-a3);
}

.dark [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item][data-state="active"] {
  color: var(--accent-a11);
}

.dark [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item][data-state="active"]::before {
  background-color: var(--accent-a3);
}

.dark [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item][data-state="inactive"]:hover::before {
  background-color: var(--grayscale-a3);
}
.dark [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item][data-state="inactive"]:focus-visible::before {
  background-color: var(--grayscale-a3);
}

/* Bubble theme: reset parent bg on active+focus-visible to avoid stacked alpha with the ::before pill */
:root [data-tabs-theme="bubble"] #fern-header [data-radix-collection-item][data-state="active"]:focus-visible {
  background: transparent;
}