/*fern-site-stylesheet*/:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 640px;
  --sidebar-width: 288px;
  --page-width: 1408px;
  --logo-height: 36px;
  --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: #ebf1f6;
  --accent-2: #e1edf5;
  --accent-3: #cce8fd;
  --accent-4: #b7e1ff;
  --accent-5: #9fd6ff;
  --accent-6: #84c9fb;
  --accent-7: #5db8f5;
  --accent-8: #1fa0e8;
  --accent-9: #00547f;
  --accent-10: #00446e;
  --accent-11: #00619f;
  --accent-12: #003f69;

  --accent-a1: #1c75cd06;
  --accent-a2: #0185d710;
  --accent-a3: #c1e5ffc0;
  --accent-a4: #b7e1ff;
  --accent-a5: #9fd6ff;
  --accent-a6: #199fff80;
  --accent-a7: #0292f49d;
  --accent-a8: #0194e6df;
  --accent-a9: #00547f;
  --accent-a10: #00446e;
  --accent-a11: #00619f;
  --accent-a12: #003f69;

  --accent-contrast: #fff;
  --accent-surface: #ddebf5cc;
  --accent-indicator: #00547f;
  --accent-track: #00547f;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(95.5% 0.0092 240.7);
      --accent-2: oklch(93.9% 0.0171 240.7);
      --accent-3: oklch(91.7% 0.0411 240.7);
      --accent-4: oklch(88.9% 0.0614 240.7);
      --accent-5: oklch(85.4% 0.0803 240.7);
      --accent-6: oklch(80.9% 0.0995 240.7);
      --accent-7: oklch(75.1% 0.1237 240.7);
      --accent-8: oklch(67.3% 0.1481 240.7);
      --accent-9: oklch(42.6% 0.0987 240.7);
      --accent-10: oklch(36.9% 0.0987 240.7);
      --accent-11: oklch(47.1% 0.1481 240.7);
      --accent-12: oklch(35.1% 0.0987 240.7);

      --accent-a1: color(display-p3 0.0118 0.4 0.5961 / 0.021);
      --accent-a2: color(display-p3 0.0157 0.4941 0.7725 / 0.059);
      --accent-a3: color(display-p3 0.6941 0.8549 0.9961 / 0.5);
      --accent-a4: color(display-p3 0.6314 0.8314 1 / 0.625);
      --accent-a5: color(display-p3 0.3882 0.7059 0.9961 / 0.5);
      --accent-a6: color(display-p3 0.0039 0.5059 0.9608 / 0.391);
      --accent-a7: color(display-p3 0 0.4902 0.9176 / 0.519);
      --accent-a8: color(display-p3 0 0.4627 0.8471 / 0.681);
      --accent-a9: color(display-p3 0 0.2235 0.4039 / 0.859);
      --accent-a10: color(display-p3 0 0.1804 0.3569 / 0.893);
      --accent-a11: color(display-p3 0 0.2588 0.5294 / 0.835);
      --accent-a12: color(display-p3 0 0.1686 0.3412 / 0.905);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.8784 0.9176 0.9569 / 0.8);
      --accent-indicator: oklch(42.6% 0.0987 240.7);
      --accent-track: oklch(42.6% 0.0987 240.7);
    }
  }
}


.light, :root {
  --grayscale-1: #fcfcfd;
  --grayscale-2: #f9f9fb;
  --grayscale-3: #f0f0f3;
  --grayscale-4: #e8e8ec;
  --grayscale-5: #e0e1e6;
  --grayscale-6: #d9d9e0;
  --grayscale-7: #cdced6;
  --grayscale-8: #b9bbc6;
  --grayscale-9: #8b8d98;
  --grayscale-10: #80838d;
  --grayscale-11: #60646c;
  --grayscale-12: #1c2024;

  --grayscale-a1: #00005503;
  --grayscale-a2: #00005506;
  --grayscale-a3: #0000330f;
  --grayscale-a4: #00002d17;
  --grayscale-a5: #0009321f;
  --grayscale-a6: #00002f26;
  --grayscale-a7: #00062e32;
  --grayscale-a8: #00083046;
  --grayscale-a9: #00051d74;
  --grayscale-a10: #00071b7f;
  --grayscale-a11: #0007149f;
  --grayscale-a12: #000509e3;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.988 0.988 0.992);
      --grayscale-2: color(display-p3 0.976 0.976 0.984);
      --grayscale-3: color(display-p3 0.94 0.941 0.953);
      --grayscale-4: color(display-p3 0.908 0.909 0.925);
      --grayscale-5: color(display-p3 0.88 0.881 0.901);
      --grayscale-6: color(display-p3 0.85 0.852 0.876);
      --grayscale-7: color(display-p3 0.805 0.808 0.838);
      --grayscale-8: color(display-p3 0.727 0.733 0.773);
      --grayscale-9: color(display-p3 0.547 0.553 0.592);
      --grayscale-10: color(display-p3 0.503 0.512 0.549);
      --grayscale-11: color(display-p3 0.379 0.392 0.421);
      --grayscale-12: color(display-p3 0.113 0.125 0.14);

      --grayscale-a1: #00005503;
      --grayscale-a2: #00005506;
      --grayscale-a3: #0000330f;
      --grayscale-a4: #00002d17;
      --grayscale-a5: #0009321f;
      --grayscale-a6: #00002f26;
      --grayscale-a7: #00062e32;
      --grayscale-a8: #00083046;
      --grayscale-a9: #00051d74;
      --grayscale-a10: #00071b7f;
      --grayscale-a11: #0007149f;
      --grayscale-a12: #000509e3;

      --grayscale-contrast: #000;
      --grayscale-surface: color(display-p3 1 1 1 / 80%);
      --grayscale-indicator: color(display-p3 0.547 0.553 0.592);
      --grayscale-track: color(display-p3 0.547 0.553 0.592);
    }
  }
}


.dark {
  --accent-1: #030c12;
  --accent-2: #0c1a22;
  --accent-3: #0b2939;
  --accent-4: #0c374d;
  --accent-5: #13455f;
  --accent-6: #1d5572;
  --accent-7: #276789;
  --accent-8: #2e7ca5;
  --accent-9: #8acaf0;
  --accent-10: #80bfe5;
  --accent-11: #85c5ea;
  --accent-12: #cdefff;

  --accent-a1: #828b0002;
  --accent-a2: #a2fba910;
  --accent-a3: #42e0fc24;
  --accent-a4: #2ecdfe3a;
  --accent-a5: #3ac9fe4e;
  --accent-a6: #48caff63;
  --accent-a7: #4ec6fd7d;
  --accent-a8: #4ac4fe9c;
  --accent-a9: #93d6feef;
  --accent-a10: #90d5fee3;
  --accent-a11: #92d7ffe8;
  --accent-a12: #cdefff;

  --accent-contrast: #0c2532;
  --accent-surface: #16292b80;
  --accent-indicator: #8acaf0;
  --accent-track: #8acaf0;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(14.8% 0.0205 235.3);
      --accent-2: oklch(20.9% 0.0248 235.3);
      --accent-3: oklch(26.8% 0.0462 235.3);
      --accent-4: oklch(32% 0.0596 235.3);
      --accent-5: oklch(37.2% 0.0677 235.3);
      --accent-6: oklch(42.6% 0.0748 235.3);
      --accent-7: oklch(48.8% 0.084 235.3);
      --accent-8: oklch(55.7% 0.0979 235.3);
      --accent-9: oklch(81% 0.0845 235.3);
      --accent-10: oklch(77.7% 0.0845 235.3);
      --accent-11: oklch(79.3% 0.0845 235.3);
      --accent-12: oklch(93.4% 0.0451 235.3);

      --accent-a1: color(display-p3 0.8 0.8275 0 / 0.005);
      --accent-a2: color(display-p3 0.7137 0.9922 0.6627 / 0.062);
      --accent-a3: color(display-p3 0.4392 0.8627 1 / 0.139);
      --accent-a4: color(display-p3 0.3922 0.8039 1 / 0.221);
      --accent-a5: color(display-p3 0.4118 0.7922 1 / 0.299);
      --accent-a6: color(display-p3 0.4431 0.8039 1 / 0.377);
      --accent-a7: color(display-p3 0.4549 0.7922 0.9961 / 0.477);
      --accent-a8: color(display-p3 0.4353 0.7765 1 / 0.594);
      --accent-a9: color(display-p3 0.651 0.851 1 / 0.918);
      --accent-a10: color(display-p3 0.6353 0.8471 1 / 0.871);
      --accent-a11: color(display-p3 0.6471 0.8549 1 / 0.892);
      --accent-a12: color(display-p3 0.8392 0.9412 1 / 0.992);

      --accent-contrast: #0c2532;
      --accent-surface: color(display-p3 0.102 0.1569 0.1647 / 0.5);
      --accent-indicator: oklch(81% 0.0845 235.3);
      --accent-track: oklch(81% 0.0845 235.3);
    }
  }
}


.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, 84, 127, 1);
  --background: rgba(240, 244, 247, 1);
  --border: initial;
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #f0f4f7;
}

.dark {
  color-scheme: dark;
  --accent: rgba(138, 202, 240, 1);
  --background: rgba(2, 11, 25, 1);
  --border: initial;
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #020b19;
}

@font-face {
  font-family: "Geist";
  src: url("../apps/web/public/fonts/Geist-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Geist Mono";
  src: url("../apps/web/public/fonts/GeistMono-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Sora";
  src: url("../apps/web/public/fonts/Sora-Variable.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --sailor-font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --sailor-font-mono: "Geist Mono", ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  --sailor-font-heading: "Sora", ui-sans-serif, system-ui, sans-serif;
  --sailor-background: oklch(0.965 0.006 250);
  --sailor-foreground: oklch(0.22 0.035 252);
  --sailor-card: oklch(1 0 0);
  --sailor-primary: oklch(0.55 0.15 240);
  --sailor-primary-foreground: oklch(1 0 0);
  --sailor-secondary: oklch(0.965 0.008 250);
  --sailor-muted-bg: oklch(0.97 0.006 250);
  --sailor-muted: oklch(0.50 0.025 250);
  --sailor-accent: oklch(0.95 0.022 240);
  --sailor-accent-foreground: oklch(0.30 0.05 240);
  --sailor-border: oklch(0.92 0.012 250);
  --sailor-ring: oklch(0.55 0.15 240);
  --sailor-pulse: var(--sailor-primary);
  --sailor-pulse-dark: oklch(0.81 0.085 235);
  --sailor-ink: var(--sailor-foreground);
  --sailor-code-bg: #07111f;
}

:root.light,
:root:not(.dark) {
  --background: var(--sailor-background);
  --color-background: var(--sailor-background);
  --theme-color: var(--sailor-background);
  --color-background-a3: color-mix(in oklch, var(--sailor-background) 6.27%, transparent);
  --color-background-a12: color-mix(in oklch, var(--sailor-background) 95%, transparent);
  --header-background: var(--sailor-card);
  --card-surface-fallback: var(--sailor-card);
  --card-background: var(--sailor-card);
  --sidebar-background: var(--sailor-card);
  --color-body: var(--sailor-foreground);
  --color-black: var(--sailor-foreground);
  --color-border-default: var(--sailor-border);
  --accent: var(--sailor-primary);
  --accent-indicator: var(--sailor-primary);
  --accent-track: var(--sailor-primary);
  --accent-9: var(--sailor-primary);
  --accent-contrast: var(--sailor-primary-foreground);
  --accent-surface: var(--sailor-accent);
  --accent-1: var(--sailor-background);
  --accent-2: var(--sailor-secondary);
  --accent-3: var(--sailor-muted-bg);
  --accent-4: var(--sailor-accent);
  --accent-11: var(--sailor-accent-foreground);
  --accent-12: var(--sailor-foreground);
  --bprogress-color: var(--sailor-primary);
}

:root.light,
:root.light body,
:root:not(.dark),
:root:not(.dark) body {
  background: var(--sailor-background);
  color: var(--sailor-foreground);
}

body {
  font-family: var(--sailor-font-sans);
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
.fern-docs-breadcrumb,
.fern-docs-sidebar-link {
  font-family: var(--sailor-font-heading);
}

h1,
h2,
h3 {
  letter-spacing: -0.02em;
  text-wrap: balance;
}

p,
li {
  text-wrap: pretty;
}

a {
  text-underline-offset: 0.18em;
}

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

pre {
  border-radius: 10px;
}

table {
  font-variant-numeric: tabular-nums;
}

th {
  color: var(--sailor-ink);
  font-weight: 650;
}

td {
  vertical-align: top;
}

blockquote {
  border-left: 1px solid var(--sailor-border);
  color: var(--sailor-muted);
}

@media (prefers-color-scheme: dark) {

  th {
    color: #edf5fb;
  }

  blockquote {
    border-left-color: #31455f;
    color: #a9b9ca;
  }

}
