/*fern-site-stylesheet*/:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 880px;
  --sidebar-width: 288px;
  --page-width: 1488px;
  --logo-height: 32px;
  --font-body: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 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: #fafefa;
  --accent-2: #f4fcf3;
  --accent-3: #e6f8e4;
  --accent-4: #d6f3d3;
  --accent-5: #c2ecbe;
  --accent-6: #aae2a5;
  --accent-7: #88d382;
  --accent-8: #52bf4c;
  --accent-9: #008700;
  --accent-10: #007900;
  --accent-11: #008300;
  --accent-12: #1a3e18;

  --accent-a1: #00cc0005;
  --accent-a2: #16c0000c;
  --accent-a3: #13bd001b;
  --accent-a4: #12ba002c;
  --accent-a5: #10b50041;
  --accent-a6: #0fad015a;
  --accent-a7: #0da6007d;
  --accent-a8: #09a400b3;
  --accent-a9: #008700;
  --accent-a10: #007900;
  --accent-a11: #008300;
  --accent-a12: #022a00e7;

  --accent-contrast: #fff;
  --accent-surface: #f1fbf0cc;
  --accent-indicator: #008700;
  --accent-track: #008700;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.4% 0.0076 142.5);
      --accent-2: oklch(98.2% 0.013 142.5);
      --accent-3: oklch(96.1% 0.0328 142.5);
      --accent-4: oklch(93.4% 0.0524 142.5);
      --accent-5: oklch(90.1% 0.075 142.5);
      --accent-6: oklch(85.8% 0.1012 142.5);
      --accent-7: oklch(79.8% 0.1347 142.5);
      --accent-8: oklch(71.6% 0.1844 142.5);
      --accent-9: oklch(54% 0.1838 142.5);
      --accent-10: oklch(49.3% 0.1838 142.5);
      --accent-11: oklch(52.7% 0.1838 142.5);
      --accent-12: oklch(32.7% 0.0758 142.5);

      --accent-a1: color(display-p3 0.2157 0.8039 0.0196 / 0.02);
      --accent-a2: color(display-p3 0.1098 0.7333 0.0196 / 0.044);
      --accent-a3: color(display-p3 0.1294 0.6863 0.0118 / 0.099);
      --accent-a4: color(display-p3 0.149 0.6863 0.0039 / 0.161);
      --accent-a5: color(display-p3 0.1373 0.6745 0.0039 / 0.24);
      --accent-a6: color(display-p3 0.1451 0.6392 0.0039 / 0.334);
      --accent-a7: color(display-p3 0.1294 0.6078 0.0039 / 0.459);
      --accent-a8: color(display-p3 0.1294 0.5961 0 / 0.644);
      --accent-a9: color(display-p3 0.102 0.4431 0 / 0.859);
      --accent-a10: color(display-p3 0.0941 0.3922 0 / 0.879);
      --accent-a11: color(display-p3 0.102 0.4275 0 / 0.863);
      --accent-a12: color(display-p3 0.0275 0.1412 0 / 0.887);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9569 0.9804 0.9451 / 0.8);
      --accent-indicator: oklch(54% 0.1838 142.5);
      --accent-track: oklch(54% 0.1838 142.5);
    }
  }
}


.light, :root {
  --grayscale-1: #fcfdfc;
  --grayscale-2: #f8faf8;
  --grayscale-3: #eff1ef;
  --grayscale-4: #e7e9e7;
  --grayscale-5: #dfe2df;
  --grayscale-6: #d7dad7;
  --grayscale-7: #cccfcc;
  --grayscale-8: #b9bcb8;
  --grayscale-9: #898e87;
  --grayscale-10: #7f847d;
  --grayscale-11: #60655f;
  --grayscale-12: #1d211c;

  --grayscale-a1: #00550003;
  --grayscale-a2: #00490007;
  --grayscale-a3: #00200010;
  --grayscale-a4: #00160018;
  --grayscale-a5: #00180020;
  --grayscale-a6: #00140028;
  --grayscale-a7: #000f0033;
  --grayscale-a8: #040f0047;
  --grayscale-a9: #050f0078;
  --grayscale-a10: #040e0082;
  --grayscale-a11: #020a00a0;
  --grayscale-a12: #010600e3;

  --grayscale-contrast: #000;
  --grayscale-surface: #ffffffcc;
  --grayscale-indicator: #898e87;
  --grayscale-track: #898e87;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.989 0.992 0.989);
      --grayscale-2: color(display-p3 0.974 0.98 0.973);
      --grayscale-3: color(display-p3 0.939 0.945 0.937);
      --grayscale-4: color(display-p3 0.907 0.914 0.905);
      --grayscale-5: color(display-p3 0.878 0.885 0.875);
      --grayscale-6: color(display-p3 0.846 0.855 0.843);
      --grayscale-7: color(display-p3 0.803 0.812 0.8);
      --grayscale-8: color(display-p3 0.727 0.738 0.723);
      --grayscale-9: color(display-p3 0.541 0.556 0.532);
      --grayscale-10: color(display-p3 0.5 0.515 0.491);
      --grayscale-11: color(display-p3 0.38 0.395 0.374);
      --grayscale-12: color(display-p3 0.117 0.129 0.111);

      --grayscale-a1: #00550003;
      --grayscale-a2: #00490007;
      --grayscale-a3: #00200010;
      --grayscale-a4: #00160018;
      --grayscale-a5: #00180020;
      --grayscale-a6: #00140028;
      --grayscale-a7: #000f0033;
      --grayscale-a8: #040f0047;
      --grayscale-a9: #050f0078;
      --grayscale-a10: #040e0082;
      --grayscale-a11: #020a00a0;
      --grayscale-a12: #010600e3;

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


.dark {
  --accent-1: #0b1008;
  --accent-2: #13190e;
  --accent-3: #1e2914;
  --accent-4: #273819;
  --accent-5: #31451d;
  --accent-6: #3a5422;
  --accent-7: #466428;
  --accent-8: #52772d;
  --accent-9: #9eeb47;
  --accent-10: #94e03a;
  --accent-11: #a7eb61;
  --accent-12: #d6fbb8;

  --accent-a1: #00b80003;
  --accent-a2: #8df8000c;
  --accent-a3: #a2fc2c1d;
  --accent-a4: #a1fc3f2d;
  --accent-a5: #a9fc453b;
  --accent-a6: #a6fd4b4b;
  --accent-a7: #adff525b;
  --accent-a8: #abfd5070;
  --accent-a9: #abff4cea;
  --accent-a10: #a7fe40df;
  --accent-a11: #b5ff69ea;
  --accent-a12: #d9ffbbfb;

  --accent-contrast: #1b2611;
  --accent-surface: #19240c80;
  --accent-indicator: #9eeb47;
  --accent-track: #9eeb47;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(16.4% 0.0169 131.5);
      --accent-2: oklch(20.5% 0.0228 131.5);
      --accent-3: oklch(26.5% 0.0404 131.5);
      --accent-4: oklch(31.6% 0.0553 131.5);
      --accent-5: oklch(36.3% 0.0681 131.5);
      --accent-6: oklch(41.1% 0.0808 131.5);
      --accent-7: oklch(46.4% 0.0942 131.5);
      --accent-8: oklch(52.4% 0.1112 131.5);
      --accent-9: oklch(85.9% 0.2059 131.5);
      --accent-10: oklch(82.8% 0.2059 131.5);
      --accent-11: oklch(86.8% 0.1833 131.5);
      --accent-12: oklch(94.6% 0.0964 131.5);

      --accent-a1: color(display-p3 0 0.9294 0 / 0.009);
      --accent-a2: color(display-p3 0.651 0.9961 0 / 0.046);
      --accent-a3: color(display-p3 0.7098 0.9922 0.2431 / 0.113);
      --accent-a4: color(display-p3 0.7255 0.9961 0.3373 / 0.175);
      --accent-a5: color(display-p3 0.749 0.9961 0.3647 / 0.225);
      --accent-a6: color(display-p3 0.749 1 0.3961 / 0.287);
      --accent-a7: color(display-p3 0.7529 1 0.4118 / 0.353);
      --accent-a8: color(display-p3 0.7529 1 0.4118 / 0.432);
      --accent-a9: color(display-p3 0.749 1 0.4157 / 0.909);
      --accent-a10: color(display-p3 0.7412 1 0.3922 / 0.864);
      --accent-a11: color(display-p3 0.7804 1 0.4902 / 0.909);
      --accent-a12: color(display-p3 0.8863 1 0.7608 / 0.98);

      --accent-contrast: #1b2611;
      --accent-surface: color(display-p3 0.1098 0.1412 0.0588 / 0.5);
      --accent-indicator: oklch(85.9% 0.2059 131.5);
      --accent-track: oklch(85.9% 0.2059 131.5);
    }
  }
}


.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(0, 135, 0, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(229, 231, 235, 1);
  --sidebar-background: rgba(249, 250, 251, 1);
  --header-background: rgba(255, 255, 255, 1);
  --card-background: rgba(243, 244, 246, 1);
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(158, 235, 71, 1);
  --background: rgba(13, 14, 17, 1);
  --border: rgba(13, 14, 17, 1);
  --sidebar-background: rgba(13, 14, 17, 1);
  --header-background: rgba(13, 14, 17, 1);
  --card-background: rgba(13, 14, 17, 1);
  --theme-color: #0d0e11;
}

/* 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;
}