/*fern-site-stylesheet*/:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 812px;
  --sidebar-width: 248px;
  --page-width: 1376px;
  --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: #fafef8;
  --accent-2: #f3fdef;
  --accent-3: #d6ffc4;
  --accent-4: #bbff9e;
  --accent-5: #a3f87b;
  --accent-6: #94e96d;
  --accent-7: #82d559;
  --accent-8: #6cbe41;
  --accent-9: #245501;
  --accent-10: #35661a;
  --accent-11: #338500;
  --accent-12: #174800;

  --accent-a1: #49db0007;
  --accent-a2: #40e00010;
  --accent-a3: #4eff013b;
  --accent-a4: #4dff0061;
  --accent-a5: #4ef20084;
  --accent-a6: #44d90092;
  --accent-a7: #3fbf00a6;
  --accent-a8: #3aa800be;
  --accent-a9: #235400fe;
  --accent-a10: #1e5500e5;
  --accent-a11: #338500;
  --accent-a12: #174800;

  --accent-contrast: #fff;
  --accent-surface: #f0fdebcc;
  --accent-indicator: #245501;
  --accent-track: #245501;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.2% 0.0087 136.7);
      --accent-2: oklch(98.2% 0.0204 136.7);
      --accent-3: oklch(95.9% 0.0902 136.7);
      --accent-4: oklch(93.2% 0.1434 136.7);
      --accent-5: oklch(89.7% 0.1793 136.7);
      --accent-6: oklch(85.3% 0.1793 136.7);
      --accent-7: oklch(79.5% 0.1793 136.7);
      --accent-8: oklch(72.4% 0.1793 136.7);
      --accent-9: oklch(39.9% 0.1195 136.7);
      --accent-10: oklch(45.9% 0.1195 136.7);
      --accent-11: oklch(54.4% 0.1793 136.7);
      --accent-12: oklch(35.4% 0.1195 136.7);

      --accent-a1: color(display-p3 0.4431 0.8627 0.0235 / 0.028);
      --accent-a2: color(display-p3 0.3373 0.8706 0.0039 / 0.059);
      --accent-a3: color(display-p3 0.3922 0.9843 0.0039 / 0.212);
      --accent-a4: color(display-p3 0.3804 0.9765 0.0039 / 0.342);
      --accent-a5: color(display-p3 0.3765 0.9255 0.0039 / 0.459);
      --accent-a6: color(display-p3 0.3294 0.8196 0 / 0.514);
      --accent-a7: color(display-p3 0.2902 0.7059 0 / 0.585);
      --accent-a8: color(display-p3 0.2588 0.6078 0 / 0.671);
      --accent-a9: color(display-p3 0.1216 0.2706 0 / 0.922);
      --accent-a10: color(display-p3 0.1255 0.2902 0 / 0.851);
      --accent-a11: color(display-p3 0.1725 0.4353 0 / 0.859);
      --accent-a12: color(display-p3 0.0902 0.2314 0 / 0.942);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9529 0.9843 0.9255 / 0.8);
      --accent-indicator: oklch(39.9% 0.1195 136.7);
      --accent-track: oklch(39.9% 0.1195 136.7);
    }
  }
}


.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: #000;
  --accent-2: #0f130a;
  --accent-3: #1b2611;
  --accent-4: #24370d;
  --accent-5: #2e4612;
  --accent-6: #395616;
  --accent-7: #436619;
  --accent-8: #4f7819;
  --accent-9: #76b900;
  --accent-10: #6bad00;
  --accent-11: #8cce37;
  --accent-12: #caf0a7;

  --accent-a1: #00000000;
  --accent-a2: #caff8713;
  --accent-a3: #b6ff7326;
  --accent-a4: #a7ff3d37;
  --accent-a5: #a8ff4246;
  --accent-a6: #aaff4256;
  --accent-a7: #a8ff3f66;
  --accent-a8: #a8ff3678;
  --accent-a9: #a3ff00b9;
  --accent-a10: #9eff00ad;
  --accent-a11: #adff44ce;
  --accent-a12: #d7ffb1f0;

  --accent-contrast: #fff;
  --accent-surface: #1e261480;
  --accent-indicator: #76b900;
  --accent-track: #76b900;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(0% 0.0188 130.8);
      --accent-2: oklch(18% 0.0189 130.8);
      --accent-3: oklch(25.2% 0.0401 130.8);
      --accent-4: oklch(31.1% 0.0698 130.8);
      --accent-5: oklch(36.2% 0.0827 130.8);
      --accent-6: oklch(41.4% 0.0963 130.8);
      --accent-7: oklch(46.7% 0.1116 130.8);
      --accent-8: oklch(52.3% 0.13 130.8);
      --accent-9: oklch(71.3% 0.1942 130.8);
      --accent-10: oklch(67.6% 0.1942 130.8);
      --accent-11: oklch(78% 0.1898 130.8);
      --accent-12: oklch(91.1% 0.1042 130.8);

      --accent-a1: color(display-p3 0 0 0 / 0);
      --accent-a2: color(display-p3 0.8392 0.9961 0.5765 / 0.075);
      --accent-a3: color(display-p3 0.7608 0.9961 0.498 / 0.15);
      --accent-a4: color(display-p3 0.7412 1 0.3529 / 0.212);
      --accent-a5: color(display-p3 0.7412 1 0.3765 / 0.271);
      --accent-a6: color(display-p3 0.7412 1 0.3765 / 0.334);
      --accent-a7: color(display-p3 0.7412 1 0.3765 / 0.397);
      --accent-a8: color(display-p3 0.7412 1 0.3647 / 0.467);
      --accent-a9: color(display-p3 0.7255 1 0.302 / 0.718);
      --accent-a10: color(display-p3 0.7137 1 0.298 / 0.671);
      --accent-a11: color(display-p3 0.7569 1 0.4039 / 0.8);
      --accent-a12: color(display-p3 0.8745 1 0.7294 / 0.938);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.1255 0.149 0.0863 / 0.5);
      --accent-indicator: oklch(71.3% 0.1942 130.8);
      --accent-track: oklch(71.3% 0.1942 130.8);
    }
  }
}


.dark {
  --grayscale-1: #111210;
  --grayscale-2: #181917;
  --grayscale-3: #212220;
  --grayscale-4: #282a27;
  --grayscale-5: #2f312e;
  --grayscale-6: #383a36;
  --grayscale-7: #454843;
  --grayscale-8: #5c625b;
  --grayscale-9: #687066;
  --grayscale-10: #767d74;
  --grayscale-11: #afb5ad;
  --grayscale-12: #eceeec;

  --grayscale-a1: #00000000;
  --grayscale-a2: #f1f2f008;
  --grayscale-a3: #f4f5f312;
  --grayscale-a4: #f3fef21a;
  --grayscale-a5: #f2fbf122;
  --grayscale-a6: #f4faed2c;
  --grayscale-a7: #f2fced3b;
  --grayscale-a8: #edfdeb57;
  --grayscale-a9: #ebfde766;
  --grayscale-a10: #f0fdec74;
  --grayscale-a11: #f6fef4b0;
  --grayscale-a12: #fdfffded;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.067 0.07 0.063);
      --grayscale-2: color(display-p3 0.095 0.098 0.091);
      --grayscale-3: color(display-p3 0.131 0.135 0.126);
      --grayscale-4: color(display-p3 0.158 0.163 0.153);
      --grayscale-5: color(display-p3 0.186 0.192 0.18);
      --grayscale-6: color(display-p3 0.221 0.229 0.215);
      --grayscale-7: color(display-p3 0.273 0.284 0.266);
      --grayscale-8: color(display-p3 0.365 0.382 0.359);
      --grayscale-9: color(display-p3 0.414 0.438 0.404);
      --grayscale-10: color(display-p3 0.467 0.49 0.458);
      --grayscale-11: color(display-p3 0.69 0.709 0.682);
      --grayscale-12: color(display-p3 0.927 0.933 0.926);

      --grayscale-a1: #00000000;
      --grayscale-a2: #f1f2f008;
      --grayscale-a3: #f4f5f312;
      --grayscale-a4: #f3fef21a;
      --grayscale-a5: #f2fbf122;
      --grayscale-a6: #f4faed2c;
      --grayscale-a7: #f2fced3b;
      --grayscale-a8: #edfdeb57;
      --grayscale-a9: #ebfde766;
      --grayscale-a10: #f0fdec74;
      --grayscale-a11: #f6fef4b0;
      --grayscale-a12: #fdfffded;

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

.light, :root {
  color-scheme: light;
  --accent: rgba(36, 85, 1, 1);
  --background: rgba(255, 255, 255, 1);
  --border: initial;
  --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(118, 185, 0, 1);
  --background: rgba(0, 0, 0, 1);
  --border: initial;
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #000;
}

/* Larger type across the site: body copy and sidebar. */

.fern-prose,
.prose {
    font-size: 1.0625rem !important; /* 17px */
    line-height: 1.7 !important;
}

.fern-sidebar-link,
.fern-sidebar-heading {
    font-size: 0.9375rem !important; /* 15px */
}

.cc-card-action {
    display: block;
    margin-top: 0.75rem;
    font-weight: 600;
}

.cc-card-action-label {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.cc-card-action::after {
    content: ">";
    margin-left: 0.4rem;
    color: #76b900;
    font-weight: 700;
}


/* Landing page (pages/overview/index.mdx, layout: custom). */

.cc-landing {
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 1.5rem 4rem;
}

.cc-hero {
    padding: 4rem 0 2.5rem;
    text-align: center;
}

.cc-eyebrow {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #76B900;
}

.cc-hero h1 {
    margin: 0;
    font-size: clamp(1.875rem, 3.5vw, 2.5rem);
    line-height: 1.2;
    font-weight: 600;
}

.cc-lede {
    max-width: 640px;
    margin: 1rem auto 0;
    font-size: 1.125rem;
    line-height: 1.6;
    opacity: 0.75;
}

.cc-products {
    margin-bottom: 3.5rem;
}

.cc-products .fern-card {
    padding: 1.5rem;
    transition: transform 120ms ease, border-color 120ms ease;
}

.cc-products .fern-card:hover {
    transform: translateY(-3px);
    border-color: #76B900;
}
.cc-products .fern-card:focus-visible {
    transform: translateY(-3px);
    border-color: #76B900;
}

.cc-landing h2 {
    margin: 2.5rem 0 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.7;
}


/* Theme-specific images (converted from Sphinx :class: only-light / only-dark). */

.dark .only-light,
:root:not(.dark) .only-dark {
    display: none !important;
}
