/*fern-site-stylesheet*/@font-face {
    font-family: 'Inter Tight';
    src: url('/_fern-files/proto.docs.buildwithfern.com/83d548cd73ef2e039167db3adb5ea9d7a7870466ffc8a162c9820bc348938aaf/fonts/intertight.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0102, U+0300-0323;
}
@font-face {
    font-family: 'Inter Tight';
    src: url('/_fern-img/83d548cd73ef2e039167db3adb5ea9d7-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+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 Tight';
    src: url('/_fern-files/proto.docs.buildwithfern.com/83d548cd73ef2e039167db3adb5ea9d7a7870466ffc8a162c9820bc348938aaf/fonts/intertight.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0102, U+0300-0323;
}
@font-face {
    font-family: 'Inter Tight';
    src: url('/_fern-img/83d548cd73ef2e039167db3adb5ea9d7-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+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 Tight Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 96.39%;
    ascent-override: 100.51%;
    descent-override: 25.03%;
    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: 100vw;
  --logo-height: 24px;
  --font-body: 'Inter Tight', 'Inter Tight Fallback', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'Inter Tight', 'Inter Tight Fallback', 'Inter Tight', 'Inter Tight Fallback', 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: #fefcfc;
  --accent-2: #faf8f8;
  --accent-3: #f2efef;
  --accent-4: #eae7e7;
  --accent-5: #e4e0df;
  --accent-6: #dcd8d8;
  --accent-7: #d1cdcc;
  --accent-8: #bfbab9;
  --accent-9: #160f0e;
  --accent-10: #302827;
  --accent-11: #686261;
  --accent-12: #251d1c;

  --accent-a1: #aa000003;
  --accent-a2: #49000007;
  --accent-a3: #30000010;
  --accent-a4: #20000018;
  --accent-a5: #28080020;
  --accent-a6: #1b000027;
  --accent-a7: #19050033;
  --accent-a8: #16040046;
  --accent-a9: #080100f1;
  --accent-a10: #0b0100d8;
  --accent-a11: #0c02009e;
  --accent-a12: #0a0100e3;

  --accent-contrast: #fff;
  --accent-surface: #f9f6f6cc;
  --accent-indicator: #160f0e;
  --accent-track: #160f0e;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.2% 0.0025 27.74);
      --accent-2: oklch(98.1% 0.0027 27.74);
      --accent-3: oklch(95.5% 0.0035 27.74);
      --accent-4: oklch(93.1% 0.0035 27.74);
      --accent-5: oklch(90.9% 0.004 27.74);
      --accent-6: oklch(88.5% 0.004 27.74);
      --accent-7: oklch(85.1% 0.0044 27.74);
      --accent-8: oklch(79.2% 0.0053 27.74);
      --accent-9: oklch(17.7% 0.0121 27.74);
      --accent-10: oklch(28.5% 0.0121 27.74);
      --accent-11: oklch(50.1% 0.0078 27.74);
      --accent-12: oklch(24% 0.0121 27.74);

      --accent-a1: color(display-p3 0.6745 0.0235 0.0235 / 0.012);
      --accent-a2: color(display-p3 0.302 0.0235 0.0235 / 0.028);
      --accent-a3: color(display-p3 0.1294 0.0078 0.0078 / 0.063);
      --accent-a4: color(display-p3 0.0941 0.0118 0.0118 / 0.095);
      --accent-a5: color(display-p3 0.1294 0.0353 0.0078 / 0.126);
      --accent-a6: color(display-p3 0.0784 0.0039 0.0039 / 0.153);
      --accent-a7: color(display-p3 0.0784 0.0196 0 / 0.2);
      --accent-a8: color(display-p3 0.0745 0.0196 0.0039 / 0.275);
      --accent-a9: color(display-p3 0.0275 0.0039 0 / 0.946);
      --accent-a10: color(display-p3 0.0392 0.0039 0 / 0.848);
      --accent-a11: color(display-p3 0.0392 0.0078 0 / 0.62);
      --accent-a12: color(display-p3 0.0353 0.0039 0 / 0.891);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9765 0.9647 0.9647 / 0.8);
      --accent-indicator: oklch(17.7% 0.0121 27.74);
      --accent-track: oklch(17.7% 0.0121 27.74);
    }
  }
}


.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: #101010;
  --accent-2: #191919;
  --accent-3: #222;
  --accent-4: #2a2a2a;
  --accent-5: #313131;
  --accent-6: #3b3a3a;
  --accent-7: #494848;
  --accent-8: #615f5f;
  --accent-9: #f0eeee;
  --accent-10: #e7e5e5;
  --accent-11: #b5b4b4;
  --accent-12: #efeded;

  --accent-a1: #00000000;
  --accent-a2: #ffffff0a;
  --accent-a3: #ffffff13;
  --accent-a4: #ffffff1c;
  --accent-a5: #ffffff23;
  --accent-a6: #fff9f92e;
  --accent-a7: #fffbfb3d;
  --accent-a8: #fdf7f757;
  --accent-a9: #fffdfdef;
  --accent-a10: #fefcfce6;
  --accent-a11: #fefcfcb1;
  --accent-a12: #fffdfdee;

  --accent-contrast: #32191b;
  --accent-surface: #22222280;
  --accent-indicator: #f0eeee;
  --accent-track: #f0eeee;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(17.3% 0.0002 17.2);
      --accent-2: oklch(21.3% 0.0001 17.2);
      --accent-3: oklch(25.3% 0.0002 17.2);
      --accent-4: oklch(28.3% 0 17.2);
      --accent-5: oklch(31.3% 0.0006 17.2);
      --accent-6: oklch(34.9% 0.0011 17.2);
      --accent-7: oklch(40.2% 0.0011 17.2);
      --accent-8: oklch(48.8% 0.0027 17.2);
      --accent-9: oklch(95.1% 0.0022 17.2);
      --accent-10: oklch(92.2% 0.0022 17.2);
      --accent-11: oklch(77% 0.0014 17.2);
      --accent-12: oklch(94.9% 0.0022 17.2);

      --accent-a1: color(display-p3 0 0 0 / 0);
      --accent-a2: color(display-p3 1 1 1 / 0.0377);
      --accent-a3: color(display-p3 1 1 1 / 0.0753);
      --accent-a4: color(display-p3 1 1 1 / 0.1088);
      --accent-a5: color(display-p3 1 1 1 / 0.1381);
      --accent-a6: color(display-p3 1 0.9804 0.9804 / 0.18);
      --accent-a7: color(display-p3 1 0.9843 0.9843 / 0.239);
      --accent-a8: color(display-p3 1 0.9765 0.9765 / 0.339);
      --accent-a9: color(display-p3 1 0.9922 0.9922 / 0.938);
      --accent-a10: color(display-p3 0.9961 0.9882 0.9882 / 0.9);
      --accent-a11: color(display-p3 1 0.9922 0.9922 / 0.691);
      --accent-a12: color(display-p3 1 0.9922 0.9922 / 0.934);

      --accent-contrast: #32191b;
      --accent-surface: color(display-p3 0.1333 0.1333 0.1333 / 0.5);
      --accent-indicator: oklch(95.1% 0.0022 17.2);
      --accent-track: oklch(95.1% 0.0022 17.2);
    }
  }
}


.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(22, 15, 14, 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(240, 238, 238, 1);
  --background: rgba(16, 16, 16, 1);
  --border: initial;
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #101010;
}

/* Proto Color System - Base Colors */
:root {
	/* Primary Colors */
	--black-100: 0 0 0; /* #000000 */
	--white-100: 255 255 255; /* #FFFFFF */

	/* Grays */
	--gray-90: 16 16 16; /* #101010 */
	--gray-80: 32 32 32; /* #202020 */
	--gray-70: 48 48 48; /* #303030 */
	--gray-60: 80 80 80; /* #505050 */
	--gray-20: 192 192 192; /* #C0C0C0 */
	--gray-10: 224 224 224; /* #E0E0E0 */
	--gray-5: 242 242 242; /* #F2F2F2 */

	/* Brand Colors */
	--blue-100: 0 150 209; /* #0096D1 */
	--green-100: 56 166 0; /* #38A600 */
	--light-green-100: 157 211 26; /* #9DD31A */
	--indigo-100: 120 62 237; /* #783EED */
	--orange-100: 255 108 47; /* #FF6C2F */
	--red-100: 250 43 55; /* #FA2B37 */
	--yellow-100: 253 138 0; /* #FD8A00 */

	/* Text Accent Colors */
	--text-accent: 51 18 0; /* #331200 */
	--text-accent-contrast: 249 115 42; /* #F9732A */
	--text-critical: 116 20 13; /* #74140D */
	--text-info: 1 83 119; /* #015377 */
	--text-success: 6 63 37; /* #063F25 */
	--text-warning: 135 73 0; /* #874900 */
	--text-indigo: 55 28 109; /* #371C6D */
}

/* Proto Theme System - Light & Dark Themes */

/* Light Theme */

:root {
	/* Typography */
	--typography-primary: rgb(var(--black-100) / 90%);
	--typography-primary-80: rgb(var(--black-100) / 80%);
	--typography-primary-70: rgb(var(--black-100) / 70%);
	--typography-primary-50: rgb(var(--black-100) / 50%);
	--typography-primary-30: rgb(var(--black-100) / 30%);
	--typography-primary-15: rgb(var(--black-100) / 15%);
	--typography-primary-10: rgb(var(--black-100) / 10%);
	--typography-contrast: rgb(var(--white-100));
	--typography-contrast-70: rgb(var(--white-100) / 70%);
	--typography-emphasis: rgb(var(--orange-100));
	--typography-accent: rgb(var(--orange-100) / 80%);
	--typography-success: rgb(var(--light-green-100));
	--typography-warning: rgb(var(--yellow-100));
	--typography-critical: rgb(var(--red-100));
	--typography-base-static: rgb(var(--black-100) / 90%);
	--typography-base-contrast-static: rgb(var(--white-100));

	/* Surface */
	--contrast: #ffffff;
	--surface-contrast: rgb(var(--black-100));
	--surface-default: rgb(var(--white-100) / 2%);
	--surface-base: rgb(var(--white-100));
	--surface-elevated-base: rgb(var(--white-100));
	--surface-20: rgb(var(--gray-20));
	--surface-10: rgb(var(--gray-10));
	--surface-5: rgb(var(--gray-5));
	--surface-overlay: rgb(var(--black-100) / 5%);

	/* Border */
	--border-primary: rgb(var(--black-100) / 90%);
	--border-20: rgb(var(--black-100) / 20%);
	--border-10: rgb(var(--black-100) / 10%);
	--border-5: rgb(var(--black-100) / 5%);

	/* Core */
	--core-primary-fill: rgb(var(--black-100) / 90%);
	--core-primary-80: rgb(var(--black-100) / 80%);
	--core-primary-70: rgb(var(--black-100) / 70%);
	--core-primary-50: rgb(var(--black-100) / 50%);
	--core-primary-30: rgb(var(--black-100) / 30%);
	--core-primary-20: rgb(var(--black-100) / 20%);
	--core-primary-10: rgb(var(--black-100) / 10%);
	--core-primary-5: rgb(var(--black-100) / 5%);
	--core-primary-3: rgb(var(--black-100) / 3%);
	--core-primary-0: rgb(var(--black-100) / 0%);
	--core-accent-fill: rgb(var(--orange-100));
	--core-accent-text: rgb(var(--text-accent));
	--core-accent-80: rgb(var(--orange-100) / 80%);
	--core-accent-50: rgb(var(--orange-100) / 50%);
	--core-accent-20: rgb(var(--orange-100) / 20%);
	--core-accent-10: rgb(var(--orange-100) / 10%);
	--core-indigo-fill: rgb(var(--indigo-100));
	--core-indigo-text: rgb(var(--text-indigo));
	--core-indigo-80: rgb(var(--indigo-100) / 80%);
	--core-indigo-50: rgb(var(--indigo-100) / 50%);
	--core-indigo-20: rgb(var(--indigo-100) / 20%);
	--core-indigo-10: rgb(var(--indigo-100) / 10%);

	/* Intent */
	--intent-info-fill: rgb(var(--blue-100));
	--intent-info-text: rgb(var(--text-info));
	--intent-info-80: rgb(var(--blue-100) / 80%);
	--intent-info-50: rgb(var(--blue-100) / 50%);
	--intent-info-20: rgb(var(--blue-100) / 20%);
	--intent-info-10: rgb(var(--blue-100) / 10%);
	--intent-success-fill: rgb(var(--green-100));
	--intent-success-text: rgb(var(--text-success));
	--intent-success-80: rgb(var(--green-100) / 80%);
	--intent-success-50: rgb(var(--green-100) / 50%);
	--intent-success-20: rgb(var(--green-100) / 20%);
	--intent-success-10: rgb(var(--green-100) / 10%);
	--intent-warning-fill: rgb(var(--yellow-100));
	--intent-warning-text: rgb(var(--text-warning));
	--intent-warning-80: rgb(var(--yellow-100) / 80%);
	--intent-warning-50: rgb(var(--yellow-100) / 50%);
	--intent-warning-20: rgb(var(--yellow-100) / 20%);
	--intent-warning-10: rgb(var(--yellow-100) / 10%);
	--intent-critical-fill: rgb(var(--red-100));
	--intent-critical-text: rgb(var(--text-critical));
	--intent-critical-80: rgb(var(--red-100) / 80%);
	--intent-critical-50: rgb(var(--red-100) / 50%);
	--intent-critical-20: rgb(var(--red-100) / 20%);
	--intent-critical-10: rgb(var(--red-100) / 10%);

	/* Grayscale */
	--grayscale-gray-50: rgb(var(--black-100) / 50%);
	--grayscale-gray-20: rgb(var(--black-100) / 20%);
	--grayscale-gray-10: rgb(var(--black-100) / 10%);
	--grayscale-gray-5: rgb(var(--black-100) / 5%);

	/* Elevation (Box Shadow) */
	--elevation-50: 0px 0px 1px 0px rgba(0, 0, 0, 0.37);
	--elevation-100: 0px 4px 24px 0px rgba(0, 0, 0, 0.02), 0px 4px 8px 0px rgba(0, 0, 0, 0.02),
		0px 2px 4px 0px rgba(0, 0, 0, 0.02), 0px 0px 1px 0px rgba(0, 0, 0, 0.2);
	--elevation-200: 0px 12px 32px 0px rgba(0, 0, 0, 0.04), 0px 8px 16px 0px rgba(0, 0, 0, 0.02),
		0px 2px 4px 0px rgba(0, 0, 0, 0.04), 0px 0px 1px 0px rgba(0, 0, 0, 0.2);
	--elevation-300: 0px 16px 40px 0px rgba(0, 0, 0, 0.04), 0px 24px 32px 0px rgba(0, 0, 0, 0.02),
		0px 4px 8px 0px rgba(0, 0, 0, 0.04), 0px 0px 1px 0px rgba(0, 0, 0, 0.3);
}

/* Dark Theme */
.dark {
	/* Typography */
	--typography-primary: rgb(var(--white-100) / 90%);
	--typography-primary-80: rgb(var(--white-100) / 80%);
	--typography-primary-70: rgb(var(--white-100) / 70%);
	--typography-primary-50: rgb(var(--white-100) / 50%);
	--typography-primary-30: rgb(var(--white-100) / 30%);
	--typography-primary-20: rgb(var(--white-100) / 20%);
	--typography-primary-15: rgb(var(--white-100) / 15%);
	--typography-primary-10: rgb(var(--white-100) / 10%);
	--typography-primary-5: rgb(var(--white-100) / 5%);
	--typography-contrast: rgb(var(--black-100));
	--typography-contrast-70: rgb(var(--black-100) / 80%);
	--typography-emphasis: rgb(var(--orange-100));
	--typography-accent: rgb(var(--orange-100) / 80%);
	--typography-success: rgb(var(--light-green-100));
	--typography-warning: rgb(var(--yellow-100));
	--typography-critical: rgb(var(--red-100));
	--typography-base-static: rgb(var(--black-100) / 90%);
	--typography-base-contrast-static: rgb(var(--white-100));

	/* Surface */
	--contrast: #000000;
	--surface-contrast: rgb(var(--white-100));
	--surface-default: rgb(var(--black-100) / 2%);
	--surface-base: rgb(var(--black-100));
	--surface-elevated-base: var(--gray-80);
	--surface-20: rgb(var(--gray-80));
	--surface-10: rgb(var(--gray-70));
	--surface-5: rgb(var(--gray-60));
	--surface-overlay: rgb(var(--black-100) / 5%);

	/* Border */
	--border-primary: rgb(var(--white-100) / 90%);
	--border-20: rgb(var(--white-100) / 30%);
	--border-10: rgb(var(--white-100) / 20%);
	--border-5: rgb(var(--white-100) / 10%);

	/* Core */
	--core-primary-fill: rgb(var(--white-100) / 90%);
	--core-primary-80: rgb(var(--white-100) / 80%);
	--core-primary-70: rgb(var(--white-100) / 70%);
	--core-primary-50: rgb(var(--white-100) / 50%);
	--core-primary-30: rgb(var(--white-100) / 30%);
	--core-primary-20: rgb(var(--white-100) / 20%);
	--core-primary-10: rgb(var(--white-100) / 10%);
	--core-primary-5: rgb(var(--white-100) / 5%);
	--core-primary-3: rgb(var(--white-100) / 3%);
	--core-primary-0: rgb(var(--white-100) / 0%);
	--core-accent-fill: rgb(var(--orange-100));
	--core-accent-text: rgb(var(--text-accent-contrast));
	--core-accent-80: rgb(var(--orange-100) / 80%);
	--core-accent-50: rgb(var(--orange-100) / 50%);
	--core-accent-20: rgb(var(--orange-100) / 20%);
	--core-accent-10: rgb(var(--orange-100) / 10%);
	--core-indigo-fill: rgb(var(--indigo-100));
	--core-indigo-text: rgb(var(--text-indigo));
	--core-indigo-80: rgb(var(--indigo-100) / 80%);
	--core-indigo-50: rgb(var(--indigo-100) / 50%);
	--core-indigo-20: rgb(var(--indigo-100) / 20%);
	--core-indigo-10: rgb(var(--indigo-100) / 10%);

	/* Intent */
	--intent-info-fill: rgb(var(--blue-100));
	--intent-info-text: rgb(var(--blue-100));
	--intent-info-80: rgb(var(--blue-100) / 90%);
	--intent-info-50: rgb(var(--blue-100) / 60%);
	--intent-info-20: rgb(var(--blue-100) / 30%);
	--intent-info-10: rgb(var(--blue-100) / 20%);
	--intent-success-fill: rgb(var(--green-100));
	--intent-success-text: rgb(var(--green-100));
	--intent-success-80: rgb(var(--green-100) / 90%);
	--intent-success-50: rgb(var(--green-100) / 60%);
	--intent-success-20: rgb(var(--green-100) / 30%);
	--intent-success-10: rgb(var(--green-100) / 20%);
	--intent-warning-fill: rgb(var(--yellow-100));
	--intent-warning-text: rgb(var(--yellow-100));
	--intent-warning-80: rgb(var(--yellow-100) / 90%);
	--intent-warning-50: rgb(var(--yellow-100) / 60%);
	--intent-warning-20: rgb(var(--yellow-100) / 30%);
	--intent-warning-10: rgb(var(--yellow-100) / 20%);
	--intent-critical-fill: rgb(var(--red-100));
	--intent-critical-text: rgb(var(--red-100));
	--intent-critical-80: rgb(var(--red-100) / 90%);
	--intent-critical-50: rgb(var(--red-100) / 60%);
	--intent-critical-20: rgb(var(--red-100) / 30%);
	--intent-critical-10: rgb(var(--red-100) / 20%);

	/* Grayscale */
	--grayscale-gray-50: rgb(var(--black-100) / 50%);
	--grayscale-gray-20: rgb(var(--black-100) / 20%);
	--grayscale-gray-10: rgb(var(--black-100) / 10%);
	--grayscale-gray-5: rgb(var(--black-100) / 5%);

	/* Elevation (Box Shadow) */
	--elevation-50: 0px 0px 1px 0px rgba(255, 255, 255, 0.5);
	--elevation-100: 0px 4px 24px 0px rgba(0, 0, 0, 0.16), 0px 4px 8px 0px rgba(0, 0, 0, 0.16),
		0px 2px 4px 0px rgba(0, 0, 0, 0.16), 0px 0px 1px 0px rgba(0, 0, 0, 0.16);
	--elevation-200: 0px 12px 32px 0px rgba(0, 0, 0, 0.24), 0px 8px 16px 0px rgba(0, 0, 0, 0.16),
		0px 2px 4px 0px rgba(0, 0, 0, 0.08), 0px 0px 1px 0px rgba(0, 0, 0, 0.24);
	--elevation-300: 0px 16px 40px 0px rgba(0, 0, 0, 0.32), 0px 24px 32px 0px rgba(0, 0, 0, 0.16),
		0px 4px 8px 0px rgba(0, 0, 0, 0.04), 0px 0px 1px 0px rgba(0, 0, 0, 0.3);
}

/* Typography System */
:root {
  --columns: 12;
  --context: 1440;
  --max-container-width: 1800px;
  --container-width: min(100vw, var(--max-container-width));
  --h1-size: calc(64 / var(--context) * var(--container-width));
  --h1-line-height: 1.05em;
  --h1-letter-spacing: -0.015em;
  --h2-size: calc(44 / var(--context) * var(--container-width));
  --h2-line-height: 1.15em;
  --h2-letter-spacing: -0.0075em;
  --h3-size: calc(28 / var(--context) * var(--container-width));
  --h3-line-height: 1.3em;
  --h3-letter-spacing: normal;
  --h4-size: clamp(16px, calc(22 / var(--context) * var(--container-width)), 22px);
  --h4-line-height: 1.3em;
  --h4-letter-spacing: 0.01em;
  --body-large-size: 18px;
  --body-large-line-height: 1.45em;
  --body-large-letter-spacing: 0.02em;
  --body-medium-size: 16px;
  --body-medium-line-height: 1.45em;
  --body-medium-letter-spacing: 0.025em;
  --body-small-size: 14px;
  --body-small-line-height: 1.45em;
  --body-small-letter-spacing: 0.03em;
  --eyebrow-size: 12px;
  --eyebrow-line-height: 1.33em;
  --eyebrow-letter-spacing: 0.03em;
  /* Tablet typography (sm-md) */
}
@media only screen and (min-width: 680px) and (max-width: 999px) {

  :root {
    --h1-size: calc(44 / var(--context) * var(--container-width));
    --h1-line-height: 1.05em;
    --h1-letter-spacing: -0.015em;
    --h2-size: calc(32 / var(--context) * var(--container-width));
    --h2-line-height: 1.15em;
    --h2-letter-spacing: -0.0075em;
    --h3-size: calc(24 / var(--context) * var(--container-width));
    --h3-line-height: 1.3em;
    --h3-letter-spacing: normal;
    --h4-size: clamp(16px, calc(20 / var(--context) * var(--container-width)), 22px);
    --h4-line-height: 1.3em;
    --h4-letter-spacing: 0.01em;
  }

}
:root {
  /* Mobile typography (sm max) */
}
@media only screen and (max-width: 679px) {

  :root {
    --h1-size: clamp(26px, calc(32 / var(--context) * var(--container-width)), 32px);
    --h1-line-height: 1.2em;
    --h1-letter-spacing: -0.005em;
    --h2-size: clamp(24px, calc(26 / var(--context) * var(--container-width)), 26px);
    --h2-line-height: 1.15em;
    --h2-letter-spacing: -0.0075em;
    --h3-size: clamp(22px, calc(24 / var(--context) * var(--container-width)), 24px);
    --h3-line-height: 1.3em;
    --h3-letter-spacing: 0.01em;
    --h4-size: clamp(20px, calc(18 / var(--context) * var(--container-width)), 18px);
    --h4-line-height: 1.3em;
    --h4-letter-spacing: 0.01em;
    --body-large-size: 18px;
    --body-large-line-height: 1.45em;
    --body-large-letter-spacing: 0.025em;
    --body-medium-size: 14px;
    --body-medium-line-height: 1.45em;
    --body-medium-letter-spacing: 0.03em;
    --body-small-size: 12px;
    --body-small-line-height: 1.45em;
    --body-small-letter-spacing: 0.04em;
  }

}

/* Animation */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Reset */
.content,
.content * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Layout */
.content {
  width: 100%;
  margin: 0 auto;
  max-width: 1080px;
  padding: 42px 20px;
}

a {
  text-decoration: none;
}

/* Full cover image */
.full-cover {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fade-in {
  will-change: opacity;
  opacity: 0;
  animation: fadeIn 0.5s ease-in forwards;
}

.header {
  width: 100%;
  margin-bottom: 72px;
}

.header__title {
  font-style: normal;
  font-weight: 500;
  font-size: var(--h1-size);
  line-height: var(--h1-line-height);
  letter-spacing: var(--h1-letter-spacing);
  margin-bottom: 16px;
}

.header__description {
  font-style: normal;
  font-weight: 400;
  font-size: var(--body-medium-size);
  line-height: var(--body-medium-line-height);
  letter-spacing: var(--body-medium-letter-spacing);
  margin-bottom: 32px;
}

/* Header Tile */
.header__tile {
  position: relative;
  width: 100%;
  display: flex;
  background-color: var(--surface-5);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  aspect-ratio: 2.2727272727;
}

/* Header Tile for Welcome page only */
.header__tile__welcome {
  position: relative;
  width: 100%;
  display: flex;
  background-color: var(--surface-5);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  aspect-ratio: 3.5;
}

.header__tile__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 0 0 50%;
  padding: 24px;
}

.header__tile__copy__title {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 500;
  font-size: var(--h3-size);
  line-height: var(--h3-line-height);
  letter-spacing: var(--h3-letter-spacing);
  color: var(--typography-primary);
  margin-top: auto;
  margin-bottom: 4px;
}

.header__tile__copy__subtitle {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 400;
  font-size: var(--h4-size);
  line-height: var(--h4-line-height);
  letter-spacing: var(--h4-letter-spacing);
  font-feature-settings: "pnum" on, "lnum" on;
  color: var(--typography-primary-70);
  margin-bottom: 16px;
}

.header__tile__copy__link {
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 6px 14px;
  color: var(--typography-contrast);
  background: var(--core-primary-fill);
  backdrop-filter: blur(40px);
  border-radius: 200px;
  transition: background 333ms ease, color 333ms ease;
}

@media (hover: hover) {
  .header__tile:hover .header__tile__copy__link {
    background: var(--core-primary-80);
  }
}
.header__tile__copy__link span {
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: var(--body-small-size);
  line-height: var(--body-small-line-height);
  letter-spacing: var(--body-small-letter-spacing);
  color: var(--core-primary-contrast);
}

.header__tile__asset {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  flex: 0 0 50%;
}

.header__tile__asset img {
  aspect-ratio: 1.1363636364;
  object-position: left center;
}

/* Tag */
.tag {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  font-family: Roboto Mono, monospace;
  font-style: normal;
  font-weight: 400;
  font-size: var(--eyebrow-size);
  line-height: var(--eyebrow-line-height);
  letter-spacing: var(--eyebrow-letter-spacing);
  text-transform: uppercase;
  color: var(--core-primary-70);
  border-radius: 4px;
  padding: 5px 4px;
  background: var(--core-primary-10);
}

/* Resources */
.resources__title {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 500;
  font-size: var(--h4-size);
  line-height: var(--h4-line-height);
  letter-spacing: var(--h4-letter-spacing);
  margin-bottom: 20px;
}

.resources__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.resources__list__item {
  padding: 20px;
  background-color: var(--surface-5);
  border-radius: 12px;
  flex: 1;
  aspect-ratio: 1.5857142857;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.resources__list__item__title {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 500;
  font-size: var(--body-medium-size);
  line-height: var(--body-medium-line-height);
  letter-spacing: var(--body-medium-letter-spacing);
  margin-top: auto;
  margin-bottom: 4px;
  color: var(--core-primary-fill);
}

.fern-mdx-link svg {
  display: none !important;
}

.fern-mdx-link {
  color: var(--typography-emphasis);
  text-decoration: none;
}

.fern-mdx-link:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.fern-mdx-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Tablet Responsive */
@media only screen and (max-width: 999px) {

  .header__tile {
    aspect-ratio: 2.2727272727;
  }
  .header__tile__asset {
    flex: 0 0 40%;
    margin-left: auto;
  }
  .header__tile .tag {
    margin-bottom: 18px;
  }
  .header__tile__copy {
    flex: 1 1 100%;
  }
  .header__tile__copy__subtitle {
    font-size: var(--body-small-size);
  }
  .header__tile__copy__link {
    padding: 5px 10px;
  }

}
/* Mobile Responsive */
@media only screen and (max-width: 679px) {

  .header__tile {
    flex-direction: column;
    aspect-ratio: unset;
  }
  .header__tile__asset {
    position: relative;
    top: unset;
    right: unset;
    width: unset;
    height: unset;
    order: -1;
  }
  .header__tile__asset img {
    aspect-ratio: 1.3461538462;
  }
  .header__tile .tag {
    margin-bottom: 18px;
  }
  .header__tile__copy {
    flex: 1 1 100%;
  }
  .header__tile__copy__subtitle {
    font-size: var(--body-small-size);
  }
  .header__tile__copy__link {
    padding: 5px 10px;
  }
  .resources__list {
    flex-direction: column;
  }
  .resources__list__item {
    flex: 1 1 100%;
  }

}
