/*fern-site-stylesheet*/:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 640px;
  --sidebar-width: 288px;
  --page-width: 100vw;
  --logo-height: 24px;
  --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: #fcfdff;
  --accent-2: #f5f9ff;
  --accent-3: #eaf3ff;
  --accent-4: #dbecff;
  --accent-5: #cae2ff;
  --accent-6: #b6d4ff;
  --accent-7: #9cc3fb;
  --accent-8: #77aaf6;
  --accent-9: #1a73e8;
  --accent-10: #0065d9;
  --accent-11: #0f6ce0;
  --accent-12: #0d3265;

  --accent-a1: #0055ff03;
  --accent-a2: #0066ff0a;
  --accent-a3: #006eff15;
  --accent-a4: #0079ff24;
  --accent-a5: #0074ff35;
  --accent-a6: #0069ff49;
  --accent-a7: #0065f563;
  --accent-a8: #0060ef88;
  --accent-a9: #0063e5e5;
  --accent-a10: #0065d9;
  --accent-a11: #0063def0;
  --accent-a12: #00275df2;

  --accent-contrast: #fff;
  --accent-surface: #f3f8ffcc;
  --accent-indicator: #1a73e8;
  --accent-track: #1a73e8;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.3% 0.0031 257.9);
      --accent-2: oklch(98.2% 0.0096 257.9);
      --accent-3: oklch(96% 0.0201 257.9);
      --accent-4: oklch(93.7% 0.0377 257.9);
      --accent-5: oklch(90.6% 0.0549 257.9);
      --accent-6: oklch(86.4% 0.0711 257.9);
      --accent-7: oklch(80.9% 0.091 257.9);
      --accent-8: oklch(73.4% 0.1239 257.9);
      --accent-9: oklch(57.4% 0.1946 257.9);
      --accent-10: oklch(52.9% 0.1946 257.9);
      --accent-11: oklch(55.1% 0.1946 257.9);
      --accent-12: oklch(32.2% 0.0992 257.9);

      --accent-a1: color(display-p3 0.0235 0.349 1 / 0.012);
      --accent-a2: color(display-p3 0.0235 0.349 0.8941 / 0.036);
      --accent-a3: color(display-p3 0.0078 0.3725 0.949 / 0.075);
      --accent-a4: color(display-p3 0.0078 0.4 0.9412 / 0.13);
      --accent-a5: color(display-p3 0.0078 0.3804 0.9412 / 0.189);
      --accent-a6: color(display-p3 0.0039 0.3451 0.9412 / 0.263);
      --accent-a7: color(display-p3 0.0039 0.3333 0.902 / 0.357);
      --accent-a8: color(display-p3 0.0039 0.3137 0.8824 / 0.491);
      --accent-a9: color(display-p3 0 0.2863 0.8431 / 0.781);
      --accent-a10: color(display-p3 0 0.2667 0.7882 / 0.836);
      --accent-a11: color(display-p3 0 0.2784 0.8118 / 0.808);
      --accent-a12: color(display-p3 0 0.1098 0.3216 / 0.906);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9569 0.9725 1 / 0.8);
      --accent-indicator: oklch(57.4% 0.1946 257.9);
      --accent-track: oklch(57.4% 0.1946 257.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: #1b212c;
  --accent-2: #1d2531;
  --accent-3: #203250;
  --accent-4: #213c67;
  --accent-5: #284677;
  --accent-6: #315185;
  --accent-7: #3a5e98;
  --accent-8: #436db1;
  --accent-9: #8ab4f8;
  --accent-10: #7fa9ec;
  --accent-11: #8cb7fb;
  --accent-12: #d2e2fb;

  --accent-a1: #0021f10a;
  --accent-a2: #0061f410;
  --accent-a3: #2075fc34;
  --accent-a4: #2479fd4f;
  --accent-a5: #3583ff61;
  --accent-a6: #478eff71;
  --accent-a7: #5194fe88;
  --accent-a8: #5796fea5;
  --accent-a9: #8db9fff7;
  --accent-a10: #88b6ffe9;
  --accent-a11: #8db9fefb;
  --accent-a12: #d4e5fefb;

  --accent-contrast: #fff;
  --accent-surface: #1b293e80;
  --accent-indicator: #8ab4f8;
  --accent-track: #8ab4f8;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(24.8% 0.0214 259.8);
      --accent-2: oklch(26.1% 0.0255 259.8);
      --accent-3: oklch(31.8% 0.0584 259.8);
      --accent-4: oklch(35.7% 0.082 259.8);
      --accent-5: oklch(39.6% 0.0906 259.8);
      --accent-6: oklch(43.6% 0.0951 259.8);
      --accent-7: oklch(48.3% 0.103 259.8);
      --accent-8: oklch(53.6% 0.1182 259.8);
      --accent-9: oklch(76.6% 0.1083 259.8);
      --accent-10: oklch(73.1% 0.1083 259.8);
      --accent-11: oklch(77.4% 0.1083 259.8);
      --accent-12: oklch(90.9% 0.0387 259.8);

      --accent-a1: color(display-p3 0 0.1333 1 / 0.032);
      --accent-a2: color(display-p3 0.0549 0.4157 1 / 0.055);
      --accent-a3: color(display-p3 0.2078 0.4784 1 / 0.192);
      --accent-a4: color(display-p3 0.2196 0.4784 1 / 0.293);
      --accent-a5: color(display-p3 0.2902 0.5216 1 / 0.361);
      --accent-a6: color(display-p3 0.349 0.5647 1 / 0.425);
      --accent-a7: color(display-p3 0.3843 0.5922 0.9961 / 0.512);
      --accent-a8: color(display-p3 0.4118 0.6039 0.9961 / 0.622);
      --accent-a9: color(display-p3 0.6039 0.7373 1 / 0.941);
      --accent-a10: color(display-p3 0.5843 0.7216 1 / 0.891);
      --accent-a11: color(display-p3 0.6078 0.7451 0.9961 / 0.955);
      --accent-a12: color(display-p3 0.8549 0.902 1 / 0.973);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.1098 0.149 0.2353 / 0.5);
      --accent-indicator: oklch(76.6% 0.1083 259.8);
      --accent-track: oklch(76.6% 0.1083 259.8);
    }
  }
}


.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(26, 115, 232, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(218, 220, 224, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(138, 180, 248, 1);
  --background: rgba(32, 33, 36, 1);
  --border: rgba(60, 64, 67, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #202124;
}

/* Custom styles for Vorbal documentation */

/* Subtle linear gradient background */
.fern-background-image {
  background-image: linear-gradient(180deg, rgba(26, 115, 232, 0.04) 0%, transparent 50%);
}

:root.dark .fern-background-image {
  background-image: linear-gradient(180deg, rgba(138, 180, 248, 0.04) 0%, transparent 50%);
}

/* Preserve the Fern Tip layout while API descriptions stay plain Markdown. */
api-tip {
  display: contents;
}

/* Use one declarative lightbulb icon for every Fern Tip callout. */
.fern-callout[data-intent="tip"] {
  --tip-lightbulb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 18h6 M10 22h4 M15.09 14c.18-.28.47-.53.72-.8a6 6 0 1 0-7.63 0c.26.27.55.52.73.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.fern-callout[data-intent="tip"] > .flex.items-start > :first-child svg {
  display: none;
}

.fern-callout[data-intent="tip"] > .flex.items-start > :first-child::before {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
  flex: 0 0 1.25rem;
  background-color: currentColor;
  content: "";
  -webkit-mask: var(--tip-lightbulb-icon) center / contain no-repeat;
  mask: var(--tip-lightbulb-icon) center / contain no-repeat;
}

/* Render API request examples as tabs instead of outlined badges. */
.fern-button-group.w-full.min-w-0 {
  align-items: flex-end;
  border-bottom: 1px solid var(--border-default);
}

.fern-button-group.w-full.min-w-0 > .fern-button {
  margin: 0 0 -1px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--grayscale-a11);
}

.fern-button-group.w-full.min-w-0 > .fern-button:hover {
  background: var(--grayscale-a3);
  color: var(--text-body);
}
.fern-button-group.w-full.min-w-0 > .fern-button:focus-visible {
  background: var(--grayscale-a3);
  color: var(--text-body);
}

.fern-button-group.w-full.min-w-0 > .fern-button.primary {
  border-bottom-color: var(--accent-a9);
  background: transparent;
  color: var(--accent-a11);
}
