/*fern-site-stylesheet*/@font-face {
    font-family: 'Quicksand';
    src: url('/_fern-files/nuweb-group.docs.buildwithfern.com/1b092c711df1c7ad200c2bc73305c792315ff882adbac925d79fb432bc0673c3/assets/fonts/Quicksand-Variable-latin.woff2') format('woff2');
    font-weight: 600 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Quicksand Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 102.51%;
    ascent-override: 97.55%;
    descent-override: 24.39%;
    line-gap-override: 0.00%;
}

:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 640px;
  --sidebar-width: 304px;
  --page-width: 1344px;
  --logo-height: 28px;
  --font-body: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'Quicksand', 'Quicksand 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: #f4f8f8;
  --accent-2: #eef5f4;
  --accent-3: #dbf1ec;
  --accent-4: #c8ebe4;
  --accent-5: #b6e3da;
  --accent-6: #a2d8ce;
  --accent-7: #89c9bd;
  --accent-8: #61b5a7;
  --accent-9: #075f55;
  --accent-10: #004f46;
  --accent-11: #1f6d63;
  --accent-12: #183b35;

  --accent-a1: #1cbbf908;
  --accent-a2: #0f9fb00e;
  --accent-a3: #03b59c21;
  --accent-a4: #01b19634;
  --accent-a5: #04a88d47;
  --accent-a6: #029b835b;
  --accent-a7: #018f7774;
  --accent-a8: #018a759d;
  --accent-a9: #005a50f8;
  --accent-a10: #004f46;
  --accent-a11: #005a4fe0;
  --accent-a12: #002721e7;

  --accent-contrast: #fff;
  --accent-surface: #ebf4f3cc;
  --accent-indicator: #075f55;
  --accent-track: #075f55;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(97.7% 0.0044 182.3);
      --accent-2: oklch(96.5% 0.0085 182.3);
      --accent-3: oklch(94% 0.0238 182.3);
      --accent-4: oklch(91.3% 0.0371 182.3);
      --accent-5: oklch(88.1% 0.0478 182.3);
      --accent-6: oklch(84.1% 0.0566 182.3);
      --accent-7: oklch(78.8% 0.0668 182.3);
      --accent-8: oklch(71.6% 0.0841 182.3);
      --accent-9: oklch(43.7% 0.076 182.3);
      --accent-10: oklch(38.1% 0.076 182.3);
      --accent-11: oklch(48.6% 0.076 182.3);
      --accent-12: oklch(32.3% 0.041 182.3);

      --accent-a1: color(display-p3 0.0078 0.6549 0.9725 / 0.024);
      --accent-a2: color(display-p3 0.0078 0.5725 0.6471 / 0.048);
      --accent-a3: color(display-p3 0.0039 0.6314 0.5529 / 0.112);
      --accent-a4: color(display-p3 0.0039 0.6275 0.5294 / 0.176);
      --accent-a5: color(display-p3 0.0078 0.5882 0.4863 / 0.24);
      --accent-a6: color(display-p3 0.0039 0.5294 0.4431 / 0.311);
      --accent-a7: color(display-p3 0.0039 0.4824 0.3961 / 0.399);
      --accent-a8: color(display-p3 0 0.4549 0.3725 / 0.53);
      --accent-a9: color(display-p3 0 0.2471 0.2118 / 0.837);
      --accent-a10: color(display-p3 0 0.2118 0.1765 / 0.877);
      --accent-a11: color(display-p3 0 0.2627 0.2275 / 0.781);
      --accent-a12: color(display-p3 0 0.1137 0.0941 / 0.869);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9255 0.9569 0.9529 / 0.8);
      --accent-indicator: oklch(43.7% 0.076 182.3);
      --accent-track: oklch(43.7% 0.076 182.3);
    }
  }
}


.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: #111917;
  --accent-2: #121e1b;
  --accent-3: #0f2e29;
  --accent-4: #023b34;
  --accent-5: #09483f;
  --accent-6: #17564d;
  --accent-7: #21695d;
  --accent-8: #277e71;
  --accent-9: #3acfb9;
  --accent-10: #28c4ae;
  --accent-11: #43d6c0;
  --accent-12: #b9f3e7;

  --accent-a1: #ce970004;
  --accent-a2: #8ef70008;
  --accent-a3: #18f9441a;
  --accent-a4: #00fd8028;
  --accent-a5: #00ff9d36;
  --accent-a6: #2ffdb446;
  --accent-a7: #44fdc15b;
  --accent-a8: #46fdce72;
  --accent-a9: #45fedecb;
  --accent-a10: #30fedbbf;
  --accent-a11: #4fffe1d2;
  --accent-a12: #c2fff1f2;

  --accent-contrast: #062823;
  --accent-surface: #16251180;
  --accent-indicator: #3acfb9;
  --accent-track: #3acfb9;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(20.4% 0.0116 180.6);
      --accent-2: oklch(22.2% 0.0168 180.6);
      --accent-3: oklch(27.6% 0.0379 180.6);
      --accent-4: oklch(31.7% 0.0559 180.6);
      --accent-5: oklch(36.2% 0.0613 180.6);
      --accent-6: oklch(41.2% 0.0651 180.6);
      --accent-7: oklch(47.2% 0.0721 180.6);
      --accent-8: oklch(54% 0.0842 180.6);
      --accent-9: oklch(77.3% 0.1261 180.6);
      --accent-10: oklch(73.8% 0.1261 180.6);
      --accent-11: oklch(79.3% 0.1261 180.6);
      --accent-12: oklch(92.2% 0.061 180.6);

      --accent-a1: color(display-p3 0.9686 0.6941 0 / 0.013);
      --accent-a2: color(display-p3 0.6941 0.9765 0 / 0.031);
      --accent-a3: color(display-p3 0.3529 1 0.3137 / 0.095);
      --accent-a4: color(display-p3 0.2196 0.9961 0.5373 / 0.151);
      --accent-a5: color(display-p3 0.349 1 0.6392 / 0.207);
      --accent-a6: color(display-p3 0.4431 1 0.7333 / 0.268);
      --accent-a7: color(display-p3 0.502 1 0.7765 / 0.35);
      --accent-a8: color(display-p3 0.5137 1 0.8314 / 0.436);
      --accent-a9: color(display-p3 0.5176 1 0.8902 / 0.781);
      --accent-a10: color(display-p3 0.4863 1 0.8784 / 0.733);
      --accent-a11: color(display-p3 0.5333 1 0.8941 / 0.811);
      --accent-a12: color(display-p3 0.8196 1 0.9569 / 0.94);

      --accent-contrast: #062823;
      --accent-surface: color(display-p3 0.102 0.1333 0.0667 / 0.5);
      --accent-indicator: oklch(77.3% 0.1261 180.6);
      --accent-track: oklch(77.3% 0.1261 180.6);
    }
  }
}


.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(7, 95, 85, 1);
  --background: rgba(251, 250, 248, 1);
  --border: rgba(228, 226, 221, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: rgba(255, 255, 255, 1);
  --theme-color: #fbfaf8;
}

.dark {
  color-scheme: dark;
  --accent: rgba(58, 207, 185, 1);
  --background: rgba(14, 23, 38, 1);
  --border: rgba(38, 53, 79, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: rgba(20, 32, 54, 1);
  --theme-color: #0e1726;
}

.fern-background-image {
  background-image: url(/_fern-files/nuweb-group.docs.buildwithfern.com/9bc7d5ffcf3127bbe4f8c8737f1b90c533cccb2c8d39e89ba01e3641cf98586f/assets/bg-light.svg);
}

.dark .fern-background-image {
  background-image: url(/_fern-files/nuweb-group.docs.buildwithfern.com/9bc7d5ffcf3127bbe4f8c8737f1b90c533cccb2c8d39e89ba01e3641cf98586f/assets/bg-light.svg);
}

/* Canvas Body Theme */
:root [data-body-theme="canvas"] .canvas-wrapper {
  display: flex;
  width: 100%;
  overflow: auto;
  height: 100%;
  border-radius: 16px 16px 16px 16px;
  justify-content: center;
  align-items: flex-start;
  margin-right: 12px;
  margin-bottom: 12px;
  height: calc(100vh - var(--header-height-real) - 12px);
  border: 1px solid var(--border);
  background-color: var(--card-background);
}

:root [data-body-theme="canvas"] body {
  overflow: hidden;
}


:root [data-body-theme="canvas"] #fern-toc {
  position: sticky;
  max-height: calc(100vh - var(--header-height-real) - 12px);
  overflow-y: auto;
  overflow-x: hidden;
  top: 0;
}

:root [data-body-theme="canvas"] #fern-toc:has(> *) {
  margin-right: 12px;
}

:root [data-body-theme="canvas"] .fern-layout-guide,
:root [data-body-theme="canvas"] .fern-layout-overview {
  width: 100%;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

:root [data-body-theme="canvas"] .fern-layout-reference {
  width: 100%;
  border: none;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
}

/* The sticky changelog day label offsets its top by the header height by default
   (window scroll). On canvas the scroll container already starts below the fixed
   header, so zero the offset to keep the date from pinning too early. */
:root [data-body-theme="canvas"] {
  --fern-changelog-sticky-top: 0px;
}