/*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: 20px;
  --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: #f4f7f3;
  --accent-2: #edf5ec;
  --accent-3: #d4f5cf;
  --accent-4: #bdf1b6;
  --accent-5: #a7e99e;
  --accent-6: #99da8f;
  --accent-7: #86c77d;
  --accent-8: #70b067;
  --accent-9: #31572c;
  --accent-10: #21471d;
  --accent-11: #397832;
  --accent-12: #20461b;

  --accent-a1: #20b18907;
  --accent-a2: #0eb1400e;
  --accent-a3: #0ee10429;
  --accent-a4: #12da0343;
  --accent-a5: #14cd035c;
  --accent-a6: #13af016b;
  --accent-a7: #1094027e;
  --accent-a8: #0e7c0295;
  --accent-a9: #063401d2;
  --accent-a10: #053000e1;
  --accent-a11: #095801cc;
  --accent-a12: #073101e4;

  --accent-contrast: #fff;
  --accent-surface: #eaf4eacc;
  --accent-indicator: #31572c;
  --accent-track: #31572c;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(97.3% 0.006 141.5);
      --accent-2: oklch(96.1% 0.0139 141.5);
      --accent-3: oklch(93.7% 0.0606 141.5);
      --accent-4: oklch(90.8% 0.0965 141.5);
      --accent-5: oklch(87.2% 0.122 141.5);
      --accent-6: oklch(82.7% 0.122 141.5);
      --accent-7: oklch(76.7% 0.122 141.5);
      --accent-8: oklch(69.5% 0.122 141.5);
      --accent-9: oklch(41.7% 0.0813 141.5);
      --accent-10: oklch(35.8% 0.0813 141.5);
      --accent-11: oklch(51.3% 0.122 141.5);
      --accent-12: oklch(35.3% 0.0813 141.5);

      --accent-a1: color(display-p3 0 0.5882 0.3804 / 0.02);
      --accent-a2: color(display-p3 0 0.651 0.2314 / 0.048);
      --accent-a3: color(display-p3 0.1294 0.8431 0.0078 / 0.147);
      --accent-a4: color(display-p3 0.1647 0.8314 0.0039 / 0.24);
      --accent-a5: color(display-p3 0.1608 0.7647 0.0039 / 0.33);
      --accent-a6: color(display-p3 0.149 0.6431 0.0039 / 0.391);
      --accent-a7: color(display-p3 0.1216 0.5373 0.0039 / 0.464);
      --accent-a8: color(display-p3 0.0941 0.4431 0 / 0.549);
      --accent-a9: color(display-p3 0.0392 0.1765 0 / 0.801);
      --accent-a10: color(display-p3 0.0353 0.1647 0 / 0.862);
      --accent-a11: color(display-p3 0.0667 0.3059 0 / 0.761);
      --accent-a12: color(display-p3 0.0392 0.1686 0 / 0.87);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9216 0.9529 0.9216 / 0.8);
      --accent-indicator: oklch(41.7% 0.0813 141.5);
      --accent-track: oklch(41.7% 0.0813 141.5);
    }
  }
}


.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: #161914;
  --accent-2: #191d18;
  --accent-3: #222b1f;
  --accent-4: #293924;
  --accent-5: #33462c;
  --accent-6: #3d5435;
  --accent-7: #48643e;
  --accent-8: #537548;
  --accent-9: #97cd84;
  --accent-10: #8dc27a;
  --accent-11: #93c980;
  --accent-12: #ceecc4;

  --accent-a1: #00980002;
  --accent-a2: #43ed1906;
  --accent-a3: #92ff6d15;
  --accent-a4: #8dfb6a25;
  --accent-a5: #9ffe7c33;
  --accent-a6: #a5fd8743;
  --accent-a7: #aaff8c54;
  --accent-a8: #abff8f67;
  --accent-a9: #baffa2c8;
  --accent-a10: #b7ff9dbc;
  --accent-a11: #b8fe9fc4;
  --accent-a12: #ddfed3eb;

  --accent-contrast: #182613;
  --accent-surface: #1a221880;
  --accent-indicator: #97cd84;
  --accent-track: #97cd84;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(20.9% 0.0114 137.8);
      --accent-2: oklch(22.6% 0.0114 137.8);
      --accent-3: oklch(27.7% 0.0242 137.8);
      --accent-4: oklch(32.5% 0.0421 137.8);
      --accent-5: oklch(37% 0.0499 137.8);
      --accent-6: oklch(41.8% 0.0581 137.8);
      --accent-7: oklch(46.9% 0.0673 137.8);
      --accent-8: oklch(52.4% 0.0783 137.8);
      --accent-9: oklch(79.3% 0.1144 137.8);
      --accent-10: oklch(75.9% 0.1144 137.8);
      --accent-11: oklch(78% 0.1144 137.8);
      --accent-12: oklch(91.1% 0.0628 137.8);

      --accent-a1: color(display-p3 0 0.8824 0 / 0.005);
      --accent-a2: color(display-p3 0.451 0.9882 0.0941 / 0.022);
      --accent-a3: color(display-p3 0.6627 0.9922 0.4745 / 0.083);
      --accent-a4: color(display-p3 0.6431 1 0.4784 / 0.143);
      --accent-a5: color(display-p3 0.7176 1 0.5569 / 0.195);
      --accent-a6: color(display-p3 0.7412 1 0.5843 / 0.256);
      --accent-a7: color(display-p3 0.749 1 0.6039 / 0.325);
      --accent-a8: color(display-p3 0.7451 1 0.6157 / 0.399);
      --accent-a9: color(display-p3 0.7961 1 0.6784 / 0.775);
      --accent-a10: color(display-p3 0.7804 1 0.6588 / 0.732);
      --accent-a11: color(display-p3 0.7843 1 0.6627 / 0.762);
      --accent-a12: color(display-p3 0.902 1 0.8471 / 0.914);

      --accent-contrast: #182613;
      --accent-surface: color(display-p3 0.1098 0.1333 0.102 / 0.5);
      --accent-indicator: oklch(79.3% 0.1144 137.8);
      --accent-track: oklch(79.3% 0.1144 137.8);
    }
  }
}


.dark {
  --grayscale-1: #111111;
  --grayscale-2: #191919;
  --grayscale-3: #222222;
  --grayscale-4: #2a2a2a;
  --grayscale-5: #313131;
  --grayscale-6: #3a3a3a;
  --grayscale-7: #484848;
  --grayscale-8: #606060;
  --grayscale-9: #6e6e6e;
  --grayscale-10: #7b7b7b;
  --grayscale-11: #b4b4b4;
  --grayscale-12: #eeeeee;

  --grayscale-a1: #00000000;
  --grayscale-a2: #ffffff09;
  --grayscale-a3: #ffffff12;
  --grayscale-a4: #ffffff1b;
  --grayscale-a5: #ffffff22;
  --grayscale-a6: #ffffff2c;
  --grayscale-a7: #ffffff3b;
  --grayscale-a8: #ffffff55;
  --grayscale-a9: #ffffff64;
  --grayscale-a10: #ffffff72;
  --grayscale-a11: #ffffffaf;
  --grayscale-a12: #ffffffed;

  --grayscale-contrast: #fff;
  --grayscale-surface: rgba(0, 0, 0, 0.05);
  --grayscale-indicator: #6e6e6e;
  --grayscale-track: #6e6e6e;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.067 0.067 0.067);
      --grayscale-2: color(display-p3 0.098 0.098 0.098);
      --grayscale-3: color(display-p3 0.135 0.135 0.135);
      --grayscale-4: color(display-p3 0.163 0.163 0.163);
      --grayscale-5: color(display-p3 0.192 0.192 0.192);
      --grayscale-6: color(display-p3 0.228 0.228 0.228);
      --grayscale-7: color(display-p3 0.283 0.283 0.283);
      --grayscale-8: color(display-p3 0.375 0.375 0.375);
      --grayscale-9: color(display-p3 0.431 0.431 0.431);
      --grayscale-10: color(display-p3 0.484 0.484 0.484);
      --grayscale-11: color(display-p3 0.706 0.706 0.706);
      --grayscale-12: color(display-p3 0.933 0.933 0.933);

      --grayscale-a1: #00000000;
      --grayscale-a2: #ffffff09;
      --grayscale-a3: #ffffff12;
      --grayscale-a4: #ffffff1b;
      --grayscale-a5: #ffffff22;
      --grayscale-a6: #ffffff2c;
      --grayscale-a7: #ffffff3b;
      --grayscale-a8: #ffffff55;
      --grayscale-a9: #ffffff64;
      --grayscale-a10: #ffffff72;
      --grayscale-a11: #ffffffaf;
      --grayscale-a12: #ffffffed;

      --grayscale-contrast: #fff;
      --grayscale-surface: color(display-p3 0 0 0 / 5%);
      --grayscale-indicator: color(display-p3 0.431 0.431 0.431);
      --grayscale-track: color(display-p3 0.431 0.431 0.431);
    }
  }
}

.light, :root {
  color-scheme: light;
  --accent: rgba(49, 87, 44, 1);
  --background: rgba(250, 249, 246, 1);
  --border: rgba(231, 226, 217, 1);
  --sidebar-background: rgba(243, 240, 233, 1);
  --header-background: rgba(250, 249, 246, 1);
  --card-background: rgba(255, 255, 255, 1);
  --theme-color: #faf9f6;
}

.dark {
  color-scheme: dark;
  --accent: rgba(151, 205, 132, 1);
  --background: rgba(24, 24, 24, 1);
  --border: rgba(49, 49, 49, 1);
  --sidebar-background: rgba(24, 24, 24, 1);
  --header-background: rgba(24, 24, 24, 1);
  --card-background: rgba(31, 31, 31, 1);
  --theme-color: #181818;
}

/* Heard documentation theme */

:root {
  --font-heading: "SF Pro Display", "SF Pro Text", system-ui, sans-serif !important;
  --font-body: "SF Pro Text", system-ui, sans-serif !important;
  --font-code: "SF Mono", ui-monospace, monospace !important;
  --radius: 0.5rem !important;
}

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

p,
li {
  text-wrap: pretty;
}

a,
button,
[role="button"] {
  transition:
    color 300ms cubic-bezier(0.32, 0.72, 0, 1),
    background-color 300ms cubic-bezier(0.32, 0.72, 0, 1),
    border-color 300ms cubic-bezier(0.32, 0.72, 0, 1),
    transform 300ms cubic-bezier(0.32, 0.72, 0, 1);
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid #2f745c;
  outline-offset: 3px;
}

::selection {
  background: #d9edcf;
  color: #171614;
}

.dark ::selection {
  background: #31572c;
  color: #ffffff;
}

img[src*="logo-dark.png"] {
  filter: invert(1);
}

.heard-intro {
  max-width: 46rem;
  margin: 0 0 2rem;
  padding: 1.5rem;
  border: 1px solid #e7e2d9;
  border-radius: 1rem;
  background: #f3f0e9;
}

.heard-intro p:last-child {
  margin-bottom: 0;
}

.dark .heard-intro {
  border-color: #313131;
  background: #1f1f1f;
}

.heard-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1.5rem 0 0;
}

.heard-proof span {
  padding: 0.25rem 0.75rem;
  border: 1px solid #d4cec4;
  border-radius: 999px;
  color: #625d57;
  font-size: 0.75rem;
  line-height: 1rem;
}

.dark .heard-proof span {
  border-color: #47433f;
  color: #aaa39a;
}

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

  html {
    scroll-behavior: auto;
  }

  a,
  button,
  [role="button"] {
    transition-duration: 0.01ms !important;
  }

}
