/*fern-site-stylesheet*/:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 800px;
  --sidebar-width: 272px;
  --page-width: 100vw;
  --logo-height: 22px;
  --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: #fdfdfe;
  --accent-2: #f6faff;
  --accent-3: #ecf3fd;
  --accent-4: #ddebff;
  --accent-5: #cde0ff;
  --accent-6: #b8d3ff;
  --accent-7: #a1c1f6;
  --accent-8: #7fa9eb;
  --accent-9: #0747a6;
  --accent-10: #003593;
  --accent-11: #2561c2;
  --accent-12: #16305a;

  --accent-a1: #00008002;
  --accent-a2: #0072ff09;
  --accent-a3: #005ee513;
  --accent-a4: #0069ff22;
  --accent-a5: #0061ff32;
  --accent-a6: #0061ff47;
  --accent-a7: #0057e75e;
  --accent-a8: #0054d880;
  --accent-a9: #0042a4f8;
  --accent-a10: #003593;
  --accent-a11: #0046b8da;
  --accent-a12: #001d4ae9;

  --accent-contrast: #fff;
  --accent-surface: #f4f9ffcc;
  --accent-indicator: #0747a6;
  --accent-track: #0747a6;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.4% 0.0014 259.9);
      --accent-2: oklch(98.3% 0.0076 259.9);
      --accent-3: oklch(96.1% 0.0163 259.9);
      --accent-4: oklch(93.5% 0.0322 259.9);
      --accent-5: oklch(90.3% 0.0487 259.9);
      --accent-6: oklch(86.3% 0.0679 259.9);
      --accent-7: oklch(80.7% 0.0827 259.9);
      --accent-8: oklch(73% 0.1078 259.9);
      --accent-9: oklch(42.5% 0.1645 259.9);
      --accent-10: oklch(36.8% 0.1645 259.9);
      --accent-11: oklch(51% 0.1645 259.9);
      --accent-12: oklch(31.3% 0.0815 259.9);

      --accent-a1: color(display-p3 0.0196 0.0196 0.5098 / 0.008);
      --accent-a2: color(display-p3 0.0196 0.3882 0.8784 / 0.032);
      --accent-a3: color(display-p3 0.0078 0.3373 0.8353 / 0.071);
      --accent-a4: color(display-p3 0.0039 0.3608 0.9373 / 0.122);
      --accent-a5: color(display-p3 0.0039 0.3098 0.9373 / 0.181);
      --accent-a6: color(display-p3 0.0039 0.3216 0.9412 / 0.259);
      --accent-a7: color(display-p3 0.0039 0.2863 0.8549 / 0.346);
      --accent-a8: color(display-p3 0.0039 0.2706 0.7922 / 0.467);
      --accent-a9: color(display-p3 0 0.1765 0.5765 / 0.883);
      --accent-a10: color(display-p3 0 0.1412 0.5176 / 0.926);
      --accent-a11: color(display-p3 0 0.2078 0.6667 / 0.789);
      --accent-a12: color(display-p3 0 0.0824 0.2588 / 0.891);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9608 0.9765 0.9961 / 0.8);
      --accent-indicator: oklch(42.5% 0.1645 259.9);
      --accent-track: oklch(42.5% 0.1645 259.9);
    }
  }
}


.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: #000;
  --accent-2: #0d1319;
  --accent-3: #152535;
  --accent-4: #19314b;
  --accent-5: #233f5b;
  --accent-6: #2f4d6c;
  --accent-7: #3d5f82;
  --accent-8: #4c75a0;
  --accent-9: #6b9fd6;
  --accent-10: #6093c9;
  --accent-11: #8dbbed;
  --accent-12: #cee3fb;

  --accent-a1: #00000000;
  --accent-a2: #85c2ff19;
  --accent-a3: #66b3ff35;
  --accent-a4: #55a7ff4b;
  --accent-a5: #63b1ff5b;
  --accent-a6: #6fb6ff6c;
  --accent-a7: #78bbff82;
  --accent-a8: #79bbffa0;
  --accent-a9: #80beffd6;
  --accent-a10: #7abbffc9;
  --accent-a11: #98c9ffed;
  --accent-a12: #d1e7fffb;

  --accent-contrast: #fff;
  --accent-surface: #1a263280;
  --accent-indicator: #6b9fd6;
  --accent-track: #6b9fd6;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(0% 0.0144 250.7);
      --accent-2: oklch(18.2% 0.0161 250.7);
      --accent-3: oklch(25.7% 0.0377 250.7);
      --accent-4: oklch(30.7% 0.0555 250.7);
      --accent-5: oklch(35.8% 0.0609 250.7);
      --accent-6: oklch(41.2% 0.0639 250.7);
      --accent-7: oklch(47.5% 0.0695 250.7);
      --accent-8: oklch(55% 0.0812 250.7);
      --accent-9: oklch(68.8% 0.0987 250.7);
      --accent-10: oklch(65% 0.0987 250.7);
      --accent-11: oklch(77.8% 0.0869 250.7);
      --accent-12: oklch(90.8% 0.0396 250.7);

      --accent-a1: color(display-p3 0 0 0 / 0);
      --accent-a2: color(display-p3 0.5804 0.7843 0.9922 / 0.095);
      --accent-a3: color(display-p3 0.4824 0.7137 1 / 0.204);
      --accent-a4: color(display-p3 0.4275 0.6588 1 / 0.287);
      --accent-a5: color(display-p3 0.4627 0.698 1 / 0.35);
      --accent-a6: color(display-p3 0.5176 0.7255 1 / 0.412);
      --accent-a7: color(display-p3 0.5451 0.7412 1 / 0.499);
      --accent-a8: color(display-p3 0.5451 0.7451 1 / 0.612);
      --accent-a9: color(display-p3 0.5647 0.7569 1 / 0.82);
      --accent-a10: color(display-p3 0.5451 0.7451 1 / 0.769);
      --accent-a11: color(display-p3 0.6471 0.8 1 / 0.914);
      --accent-a12: color(display-p3 0.8431 0.9059 1 / 0.977);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.1098 0.1412 0.1882 / 0.5);
      --accent-indicator: oklch(68.8% 0.0987 250.7);
      --accent-track: oklch(68.8% 0.0987 250.7);
    }
  }
}


.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, 71, 166, 1);
  --background: #fff;
  --border: initial;
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #0747a6;
}

.dark {
  color-scheme: dark;
  --accent: rgba(107, 159, 214, 1);
  --background: #000;
  --border: initial;
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #6b9fd6;
}

.fern-background-image {
  background-image: linear-gradient(to bottom, color-mix(in srgb, var(--accent), var(--background) 90%) 0, var(--background) 100%);
}

.dark .fern-background-image {
  background-image: linear-gradient(to bottom, var(--background) 0, color-mix(in srgb, var(--accent), var(--background) 90%) 100%);
}

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

/* Keep the landing-page treatment scoped to Home. */
.send-home {
  --home-ink: #101318;
  --home-muted: #555b65;
  --home-border: #dde1e7;
  --home-surface: #fafbfc;
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: calc(100svh - 8rem);
  padding: 3.25rem max(2rem, calc((100% - 81rem) / 2)) 5rem;
  color: var(--home-ink);
  /* Let the shared Fern canvas show through, as on the other pages. */
  background: transparent;
}
.send-home-grid {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: min(52%, 44rem);
  height: 19rem;
  background-image: linear-gradient(#c9d2df 1px, transparent 1px), linear-gradient(90deg, #c9d2df 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: linear-gradient(to left, #000, transparent), linear-gradient(to bottom, #000, transparent);
  mask-composite: intersect;
  opacity: .65;
  pointer-events: none;
}
.send-home-grid::after {
  content: "";
  position: absolute;
  top: 0;
  right: 200px;
  width: 40px;
  height: 40px;
  background: #B9CDEE;
  box-shadow: 120px 40px #DCE7F8, 40px 200px #DCE7F8;
}
.send-home .send-home-eyebrow {
  margin: 0 0 1rem;
  color: #0747A6;
  font-size: .875rem;
  line-height: 1.5;
  font-weight: 650;
  letter-spacing: .1em;
}
.send-home h1 {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--home-ink);
  font-size: clamp(2rem, 3.5vw, 2.5rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1;
}
.send-home .send-home-description {
  max-width: 52rem;
  margin: 1.125rem 0 0;
  color: var(--home-muted);
  font-size: 1.1875rem;
  line-height: 1.65;
}
.send-home-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 3.875rem;
}
.send-home .send-home-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--home-border);
  border-radius: 1.125rem;
  background: var(--home-surface);
  color: var(--home-ink);
  text-decoration: none;
  box-shadow: 0 2px 3px #1621370a;
  transition: box-shadow 160ms ease, transform 160ms ease;
}
.send-home-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 22px #16213712;
}
.send-home-card:focus-visible {
  outline: 3px solid #0747A6;
  outline-offset: 5px;
}
.send-home-art {
  display: block;
  width: 100%;
  margin: 0;
  object-fit: cover;
  aspect-ratio: 2.38;
  flex: none;
  background-position: center;
  background-size: cover;
  border-bottom: 1px solid var(--home-border);
}
.send-home-card-copy { padding: 1.25rem 1.4rem 1.5rem; }
.send-home .send-home-card h2 {
  margin: 0 0 .5rem;
  padding: 0;
  border: 0;
  font-size: 1.075rem;
  line-height: 1.4;
  font-weight: 650;
  letter-spacing: -.02em;
  color: var(--home-ink);
}
.send-home .send-home-card p {
  margin: 0;
  color: var(--home-muted);
  font-size: .9375rem;
  line-height: 1.55;
}
.dark .send-home {
  --home-ink: #f1f4f9;
  --home-muted: #b8c2d2;
  --home-border: #344257;
  --home-surface: #1a2230;
}
.dark .send-home-eyebrow { color: #6B9FD6; }
.dark .send-home-grid { opacity: .18; }
.dark .send-home-art { filter: brightness(.72) saturate(.8); }
.send-home-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.send-home-btn {
  display: inline-block;
  padding: .7rem 1.4rem;
  border-radius: .65rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}
.send-home-btn-primary { background: #101828; color: #fff; }
.send-home-btn-primary:hover { background: #1d2939; color: #fff; text-decoration: none; }
.send-home-btn-primary:focus-visible { background: #1d2939; color: #fff; text-decoration: none; }
.send-home-btn-secondary { border: 1px solid var(--home-border); color: var(--home-ink); background: transparent; }
.send-home-btn-secondary:hover { text-decoration: none; border-color: #98a2b3; }
.send-home-btn-secondary:focus-visible { text-decoration: none; border-color: #98a2b3; }
.dark .send-home-btn-primary { background: #f1f4f9; color: #101828; }
.dark .send-home-btn-primary:hover { background: #fff; color: #101828; }
.dark .send-home-btn-primary:focus-visible { background: #fff; color: #101828; }
.send-home-section { margin-top: 3.5rem; max-width: 56rem; }
.send-home-section p + p { margin-top: 1rem; }
.send-home-section h2 {
  margin: 0 0 .75rem;
  padding: 0;
  border: 0;
  font-size: 1.375rem;
  line-height: 1.35;
  font-weight: 650;
  letter-spacing: -.02em;
  color: var(--home-ink);
}
.send-home-steps { font-weight: 600; color: var(--home-ink); }
.send-home-section blockquote {
  margin: 1rem 0 0;
  padding: .9rem 1.1rem;
  border-left: 3px solid #0747A6;
  background: var(--home-surface);
  color: var(--home-muted);
  border-radius: 0 .5rem .5rem 0;
}
.send-home-updates { list-style: none; margin: 0; padding: 0; }
.send-home-updates li { padding: .6rem 0; border-bottom: 1px solid var(--home-border); }
.send-home-updates li:last-child { border-bottom: 0; }
.send-home-updates a { font-weight: 600; color: var(--home-ink); }
.send-home-updates span { display: block; font-size: .875rem; color: var(--home-muted); }
@media (max-width: 767px) {

  .send-home { padding: 2.5rem 1.25rem 3rem; }
  .send-home-cards { grid-template-columns: 1fr; margin-top: 2.5rem; }
  .send-home .send-home-description { font-size: 1.125rem; }
  .send-home-grid { width: 75%; }

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

  .send-home-card { transition: none; }
  .send-home-card:hover { transform: none; }

}

.fern-header-logo-text,
.fern-logo-text {
  font-size: 1.5rem;
}
.fern-docs-page h1,
.fern-layout-content h1,
.fern-mdx h1,
article h1 {
  font-size: 1.5rem;
  line-height: 1.3;
}
.fern-docs-page h2,
.fern-layout-content h2,
.fern-mdx h2,
article h2 {
  font-size: 1.25rem;
  line-height: 1.35;
}
.fern-docs-page p,
.fern-layout-content p,
.fern-mdx p,
.fern-sidebar,
.fern-api-reference,
article p {
  font-size: .9375rem;
}
.fern-docs-page p + p,
.fern-layout-content p + p,
.fern-mdx p + p,
article p + p {
  margin-top: 1rem;
}
