/*fern-site-stylesheet*/@font-face {
    font-family: 'Inter';
    src: url('/_fern-files/ocpplab.docs.buildwithfern.com/8909904ab6c872eb994093482a88a28eca2cd95912d7b6fecd72103b0dc07edc/docs/assets/fonts/inter-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0300-0323;
}
@font-face {
    font-family: 'Inter';
    src: url('/_fern-img/8909904ab6c872eb994093482a88a28e-v1.latin.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000, U+0020-007E, U+00A0-00AC, U+00AE-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2002, U+2009, U+200B, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+FEFF;
}
@font-face {
    font-family: 'Inter';
    src: url('/_fern-files/ocpplab.docs.buildwithfern.com/f3779f1efccc4bdcdf9c0a02ab95bf6bd092ed09c48c08cedc725889edd1d19f/docs/assets/fonts/inter-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0300-0323;
}
@font-face {
    font-family: 'Inter';
    src: url('/_fern-img/f3779f1efccc4bdcdf9c0a02ab95bf6b-v1.latin.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000, U+0020-007E, U+00A0-00AC, U+00AE-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2002, U+2009, U+200B, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+FEFF;
}
@font-face {
    font-family: 'Inter';
    src: url('/_fern-files/ocpplab.docs.buildwithfern.com/f9a06e79cd3a2a20951c0f0e28f66dd0e6d3fda73911d640a2125c8fcb78f21a/docs/assets/fonts/inter-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0300-0323;
}
@font-face {
    font-family: 'Inter';
    src: url('/_fern-img/f9a06e79cd3a2a20951c0f0e28f66dd0-v1.latin.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000, U+0020-007E, U+00A0-00AC, U+00AE-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2002, U+2009, U+200B, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+FEFF;
}
@font-face {
    font-family: 'Manrope';
    src: url('/_fern-files/ocpplab.docs.buildwithfern.com/19874318747181a650eda439c37955220b849d9c4797c9e0718ee67d4bf929bc/docs/assets/fonts/manrope-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Manrope';
    src: url('/_fern-files/ocpplab.docs.buildwithfern.com/f7ac6258da20ab7541939b59851155753d1d24f1b30cbcb949077a3faa3d1593/docs/assets/fonts/manrope-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Manrope';
    src: url('/_fern-files/ocpplab.docs.buildwithfern.com/d2a12c85a831e4b5db341767d0347fa3d1361d22a1fcb3e361a16b6c90080f71/docs/assets/fonts/manrope-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Source Code Pro';
    src: url('/_fern-files/ocpplab.docs.buildwithfern.com/75aa8cacfd459d58d7c093f3ff0ab8745cc878dfc93c5d4cda052791aeace878/docs/assets/fonts/source-code-pro-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0300-0323;
}
@font-face {
    font-family: 'Source Code Pro';
    src: url('/_fern-img/75aa8cacfd459d58d7c093f3ff0ab874-v1.latin.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF;
}
@font-face {
    font-family: 'Source Code Pro';
    src: url('/_fern-files/ocpplab.docs.buildwithfern.com/8966fa3fbe70f63675bbededb8389023c07258bc46a831fd6d146cb062a5811f/docs/assets/fonts/source-code-pro-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0300-0323;
}
@font-face {
    font-family: 'Source Code Pro';
    src: url('/_fern-img/8966fa3fbe70f63675bbededb8389023-v1.latin.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF;
}
@font-face {
    font-family: 'Inter Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 107.12%;
    ascent-override: 90.44%;
    descent-override: 22.52%;
    line-gap-override: 0.00%;
}
@font-face {
    font-family: 'Manrope Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 107.00%;
    ascent-override: 99.63%;
    descent-override: 28.04%;
    line-gap-override: 0.00%;
}

:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 640px;
  --sidebar-width: 288px;
  --page-width: 1408px;
  --logo-height: 32px;
  --font-body: 'Inter', 'Inter Fallback', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'Manrope', 'Manrope Fallback', 'Inter', 'Inter Fallback', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-code: 'Source Code Pro', 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: #f9fcfa;
  --accent-2: #f2f8f4;
  --accent-3: #e4f3ea;
  --accent-4: #d5edde;
  --accent-5: #c4e5d0;
  --accent-6: #afd9bf;
  --accent-7: #92c9a8;
  --accent-8: #67b388;
  --accent-9: #0e7e4e;
  --accent-10: #007041;
  --accent-11: #0b7d4d;
  --accent-12: #203a2b;

  --accent-a1: #32cb6505;
  --accent-a2: #14933e0c;
  --accent-a3: #089b431a;
  --accent-a4: #059a3d29;
  --accent-a5: #0394383a;
  --accent-a6: #0189354f;
  --accent-a7: #0183356c;
  --accent-a8: #02813998;
  --accent-a9: #007744f1;
  --accent-a10: #007041;
  --accent-a11: #007745f4;
  --accent-a12: #001e0ddf;

  --accent-contrast: #fff;
  --accent-surface: #eff6f1cc;
  --accent-indicator: #0e7e4e;
  --accent-track: #0e7e4e;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(98.8% 0.0038 157.6);
      --accent-2: oklch(97.5% 0.0082 157.6);
      --accent-3: oklch(95.1% 0.0206 157.6);
      --accent-4: oklch(92.5% 0.0326 157.6);
      --accent-5: oklch(89.1% 0.0445 157.6);
      --accent-6: oklch(84.8% 0.0577 157.6);
      --accent-7: oklch(78.9% 0.075 157.6);
      --accent-8: oklch(70.5% 0.1004 157.6);
      --accent-9: oklch(52.4% 0.1195 157.6);
      --accent-10: oklch(47.6% 0.1195 157.6);
      --accent-11: oklch(52% 0.1195 157.6);
      --accent-12: oklch(32.2% 0.0422 157.6);

      --accent-a1: color(display-p3 0.0157 0.6667 0.0157 / 0.012);
      --accent-a2: color(display-p3 0.0157 0.5059 0.1137 / 0.04);
      --accent-a3: color(display-p3 0.0039 0.5451 0.1843 / 0.087);
      --accent-a4: color(display-p3 0.0078 0.5137 0.149 / 0.139);
      --accent-a5: color(display-p3 0.0039 0.5098 0.1412 / 0.202);
      --accent-a6: color(display-p3 0.0039 0.4706 0.1451 / 0.277);
      --accent-a7: color(display-p3 0.0039 0.4314 0.1294 / 0.376);
      --accent-a8: color(display-p3 0 0.4235 0.1373 / 0.522);
      --accent-a9: color(display-p3 0 0.3412 0.1255 / 0.775);
      --accent-a10: color(display-p3 0 0.302 0.1059 / 0.815);
      --accent-a11: color(display-p3 0 0.3373 0.1255 / 0.779);
      --accent-a12: color(display-p3 0 0.0863 0.0275 / 0.85);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9451 0.9647 0.9529 / 0.8);
      --accent-indicator: oklch(52.4% 0.1195 157.6);
      --accent-track: oklch(52.4% 0.1195 157.6);
    }
  }
}


.light, :root {
  --grayscale-1: #fcfcfc;
  --grayscale-2: #f9f9f9;
  --grayscale-3: #f0f0f0;
  --grayscale-4: #e8e8e8;
  --grayscale-5: #e0e0e0;
  --grayscale-6: #d9d9d9;
  --grayscale-7: #cecece;
  --grayscale-8: #bbbbbb;
  --grayscale-9: #8d8d8d;
  --grayscale-10: #838383;
  --grayscale-11: #646464;
  --grayscale-12: #202020;

  --grayscale-a1: #00000003;
  --grayscale-a2: #00000006;
  --grayscale-a3: #0000000f;
  --grayscale-a4: #00000017;
  --grayscale-a5: #0000001f;
  --grayscale-a6: #00000026;
  --grayscale-a7: #00000031;
  --grayscale-a8: #00000044;
  --grayscale-a9: #00000072;
  --grayscale-a10: #0000007c;
  --grayscale-a11: #0000009b;
  --grayscale-a12: #000000df;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.988 0.988 0.988);
      --grayscale-2: color(display-p3 0.975 0.975 0.975);
      --grayscale-3: color(display-p3 0.939 0.939 0.939);
      --grayscale-4: color(display-p3 0.908 0.908 0.908);
      --grayscale-5: color(display-p3 0.88 0.88 0.88);
      --grayscale-6: color(display-p3 0.849 0.849 0.849);
      --grayscale-7: color(display-p3 0.807 0.807 0.807);
      --grayscale-8: color(display-p3 0.732 0.732 0.732);
      --grayscale-9: color(display-p3 0.553 0.553 0.553);
      --grayscale-10: color(display-p3 0.512 0.512 0.512);
      --grayscale-11: color(display-p3 0.392 0.392 0.392);
      --grayscale-12: color(display-p3 0.125 0.125 0.125);

      --grayscale-a1: #00000003;
      --grayscale-a2: #00000006;
      --grayscale-a3: #0000000f;
      --grayscale-a4: #00000017;
      --grayscale-a5: #0000001f;
      --grayscale-a6: #00000026;
      --grayscale-a7: #00000031;
      --grayscale-a8: #00000044;
      --grayscale-a9: #00000072;
      --grayscale-a10: #0000007c;
      --grayscale-a11: #0000009b;
      --grayscale-a12: #000000df;

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


.dark {
  --accent-1: #0f1512;
  --accent-2: #131b16;
  --accent-3: #182c20;
  --accent-4: #183a28;
  --accent-5: #1f4832;
  --accent-6: #27573d;
  --accent-7: #2f6749;
  --accent-8: #377a56;
  --accent-9: #4acd8b;
  --accent-10: #3cc280;
  --accent-11: #52d491;
  --accent-12: #b6f0cd;

  --accent-a1: #00940002;
  --accent-a2: #14f47308;
  --accent-a3: #43f78e1b;
  --accent-a4: #32fb932a;
  --accent-a5: #49fc9e39;
  --accent-a6: #59ffa549;
  --accent-a7: #62fdab5b;
  --accent-a8: #66ffad6f;
  --accent-a9: #59ffabc9;
  --accent-a10: #4affa6bd;
  --accent-a11: #60feadd1;
  --accent-a12: #c1ffdaef;

  --accent-contrast: #0f271a;
  --accent-surface: #13221980;
  --accent-indicator: #4acd8b;
  --accent-track: #4acd8b;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(19% 0.0123 157.6);
      --accent-2: oklch(21.2% 0.0145 157.6);
      --accent-3: oklch(27% 0.0342 157.6);
      --accent-4: oklch(31.8% 0.0524 157.6);
      --accent-5: oklch(36.5% 0.0608 157.6);
      --accent-6: oklch(41.4% 0.0683 157.6);
      --accent-7: oklch(46.8% 0.0777 157.6);
      --accent-8: oklch(52.7% 0.0904 157.6);
      --accent-9: oklch(76% 0.1497 157.6);
      --accent-10: oklch(72.5% 0.1497 157.6);
      --accent-11: oklch(78% 0.1497 157.6);
      --accent-12: oklch(90.6% 0.0762 157.6);

      --accent-a1: color(display-p3 0 0.8667 0 / 0.005);
      --accent-a2: color(display-p3 0.3373 0.9961 0.4706 / 0.03);
      --accent-a3: color(display-p3 0.4784 1 0.6353 / 0.098);
      --accent-a4: color(display-p3 0.4235 1 0.6235 / 0.158);
      --accent-a5: color(display-p3 0.4902 0.9961 0.6706 / 0.218);
      --accent-a6: color(display-p3 0.5216 1 0.6902 / 0.281);
      --accent-a7: color(display-p3 0.5608 1 0.7059 / 0.349);
      --accent-a8: color(display-p3 0.5725 1 0.7216 / 0.426);
      --accent-a9: color(display-p3 0.5529 0.9961 0.7098 / 0.775);
      --accent-a10: color(display-p3 0.5216 1 0.6902 / 0.728);
      --accent-a11: color(display-p3 0.5647 1 0.7098 / 0.805);
      --accent-a12: color(display-p3 0.8157 1 0.8706 / 0.928);

      --accent-contrast: #0f271a;
      --accent-surface: color(display-p3 0.0863 0.1333 0.0941 / 0.5);
      --accent-indicator: oklch(76% 0.1497 157.6);
      --accent-track: oklch(76% 0.1497 157.6);
    }
  }
}


.dark {
  --grayscale-1: #101211;
  --grayscale-2: #171918;
  --grayscale-3: #202221;
  --grayscale-4: #272a29;
  --grayscale-5: #2e3130;
  --grayscale-6: #373b39;
  --grayscale-7: #444947;
  --grayscale-8: #5b625f;
  --grayscale-9: #63706b;
  --grayscale-10: #717d79;
  --grayscale-11: #adb5b2;
  --grayscale-12: #eceeed;

  --grayscale-a1: #00000000;
  --grayscale-a2: #f0f2f108;
  --grayscale-a3: #f3f5f412;
  --grayscale-a4: #f2fefd1a;
  --grayscale-a5: #f1fbfa22;
  --grayscale-a6: #edfbf42d;
  --grayscale-a7: #edfcf73c;
  --grayscale-a8: #ebfdf657;
  --grayscale-a9: #dffdf266;
  --grayscale-a10: #e5fdf674;
  --grayscale-a11: #f4fefbb0;
  --grayscale-a12: #fdfffeed;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.064 0.07 0.067);
      --grayscale-2: color(display-p3 0.092 0.098 0.094);
      --grayscale-3: color(display-p3 0.128 0.135 0.131);
      --grayscale-4: color(display-p3 0.155 0.164 0.159);
      --grayscale-5: color(display-p3 0.183 0.193 0.188);
      --grayscale-6: color(display-p3 0.218 0.23 0.224);
      --grayscale-7: color(display-p3 0.269 0.285 0.277);
      --grayscale-8: color(display-p3 0.362 0.382 0.373);
      --grayscale-9: color(display-p3 0.398 0.438 0.421);
      --grayscale-10: color(display-p3 0.453 0.49 0.474);
      --grayscale-11: color(display-p3 0.685 0.709 0.697);
      --grayscale-12: color(display-p3 0.927 0.933 0.93);

      --grayscale-a1: #00000000;
      --grayscale-a2: #f0f2f108;
      --grayscale-a3: #f3f5f412;
      --grayscale-a4: #f2fefd1a;
      --grayscale-a5: #f1fbfa22;
      --grayscale-a6: #edfbf42d;
      --grayscale-a7: #edfcf73c;
      --grayscale-a8: #ebfdf657;
      --grayscale-a9: #dffdf266;
      --grayscale-a10: #e5fdf674;
      --grayscale-a11: #f4fefbb0;
      --grayscale-a12: #fdfffeed;

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

.light, :root {
  color-scheme: light;
  --accent: rgba(14, 126, 78, 1);
  --background: rgba(253, 253, 253, 1);
  --border: initial;
  --sidebar-background: rgba(253, 253, 253, 1);
  --header-background: rgba(253, 253, 253, 1);
  --card-background: rgba(255, 255, 255, 1);
  --theme-color: #fdfdfd;
}

.dark {
  color-scheme: dark;
  --accent: rgba(74, 205, 139, 1);
  --background: rgba(19, 20, 19, 1);
  --border: initial;
  --sidebar-background: rgba(19, 20, 19, 1);
  --header-background: rgba(19, 20, 19, 1);
  --card-background: rgba(24, 26, 25, 1);
  --theme-color: #131413;
}

/*
 * Supabase Design System (https://supabase.com/design-system) on Fern Docs.
 * docs.yml sets the colors and fonts; this file covers what docs.yml cannot:
 * radius, borders, primary buttons, focus ring, inline code and tables.
 * Only selectors and variables from Fern's CSS reference are used:
 * https://buildwithfern.com/learn/docs/customization/css-selectors-reference
 */

:root {
  /* --radius-panel and --radius-md: 6px panels and controls. */
  --ds-radius: 6px;
  /* --primary-solid: the primary button fill. Same as --primary in light mode. */
  --ds-primary-solid: #0e7e4e;
  /* --primary-bright at 55%: the one shared focus ring. */
  --ds-ring: rgb(14 126 78 / 55%);
  /* --border: the foreground at low alpha, so it follows the theme. */
  --ds-border: var(--grayscale-a5);
}

.dark {
  /* oklch(.43627 .11 157.5): darker than --primary so buttons do not read as lime. */
  --ds-primary-solid: #006338;
  --ds-ring: rgb(74 205 139 / 55%);
}

/* Panels: cards, callouts, code, tables. */
.fern-card,
.fern-callout,
.fern-code-block,
.fern-code-group,
.fern-table-root {
  border-radius: var(--ds-radius);
  border-color: var(--ds-border);
  box-shadow: none;
}

/* Controls. */
.fern-button {
  border-radius: var(--ds-radius);
}

.fern-button.filled.primary {
  background-color: var(--ds-primary-solid);
  color: #fff;
}

/* One focus ring for every interactive element, as in the design system. */
a:focus-visible,
button:focus-visible,
.fern-button:focus-visible,
.fern-card:focus-visible {
  outline: 2px solid var(--ds-ring);
  outline-offset: 2px;
}

/* text-code-inline: mono, quiet surface, hairline border. */
:not(pre) > code {
  color: var(--grayscale-12);
  font-weight: 400;
  font-size: 0.875em;
  border: 1px solid var(--ds-border);
  border-radius: 4px;
  background-color: var(--grayscale-a2);
  padding: 0.1em 0.35em;
}

/* Dense tables with a muted header row. */
.fern-table thead tr th {
  background-color: var(--grayscale-a2);
  font-weight: 500;
}

.fern-table td,
.fern-table th {
  border-color: var(--ds-border);
}
