/*fern-site-stylesheet*/@font-face {
    font-family: 'Satoshi';
    src: url('/_fern-files/morphiaone.docs.buildwithfern.com/50dca57f0b77918e0fb7dac998c3f5ef6b0c2a29657da97658a04f98ac532fc5/fonts/satoshi-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-0192, U+01FA-0237, U+02C7-02DD, U+0300-0338, U+03A9-03C0, U+1E80-1E85, U+1EF2-1EF3, U+2070-2089, U+2116-212E, U+215B-215E, U+2190-2199, U+2202-2265, U+25A0-25CF, U+262E, U+2713, U+F8FF, U+FB00-FB04;
}
@font-face {
    font-family: 'Satoshi';
    src: url('/_fern-img/50dca57f0b77918e0fb7dac998c3f5ef-v1.latin.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020-007E, U+00A1-00A9, U+00AB-00AC, U+00AE-00B9, U+00BB-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2032, U+2039-203A, U+2042, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212;
}
@font-face {
    font-family: 'Satoshi';
    src: url('/_fern-files/morphiaone.docs.buildwithfern.com/af02a72246f53ad49c44a591921edbd39ec8258a03d8cc2e0532aa1e497e85b4/fonts/satoshi-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-0192, U+01FA-0237, U+02C7-02DD, U+0300-0338, U+03A9-03C0, U+1E80-1E85, U+1EF2-1EF3, U+2070-2089, U+2116-212E, U+215B-215E, U+2190-2199, U+2202-2265, U+25A0-25CF, U+262E, U+2713, U+F8FF, U+FB00-FB04;
}
@font-face {
    font-family: 'Satoshi';
    src: url('/_fern-img/af02a72246f53ad49c44a591921edbd3-v1.latin.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020-007E, U+00A1-00A9, U+00AB-00AC, U+00AE-00B9, U+00BB-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2032, U+2039-203A, U+2042, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212;
}
@font-face {
    font-family: 'Satoshi';
    src: url('/_fern-files/morphiaone.docs.buildwithfern.com/353a7fbfb4475f0c31470a7449226006cb64211c71055ca9db860a8acdaa9f68/fonts/satoshi-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-0192, U+01FA-0237, U+02C7-02DD, U+0300-0338, U+03A9-03C0, U+1E80-1E85, U+1EF2-1EF3, U+2070-2089, U+2116-212E, U+215B-215E, U+2190-2199, U+2202-2265, U+25A0-25CF, U+262E, U+2713, U+F8FF, U+FB00-FB04;
}
@font-face {
    font-family: 'Satoshi';
    src: url('/_fern-img/353a7fbfb4475f0c31470a7449226006-v1.latin.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020-007E, U+00A1-00A9, U+00AB-00AC, U+00AE-00B9, U+00BB-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2032, U+2039-203A, U+2042, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212;
}

:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 760px;
  --sidebar-width: 272px;
  --page-width: 1440px;
  --logo-height: 24px;
  --font-body: 'Satoshi', system-ui, -apple-system, Segoe UI, sans-serif, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'Satoshi', system-ui, -apple-system, Segoe UI, sans-serif, 'Satoshi', system-ui, -apple-system, Segoe UI, sans-serif, 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: #fcfcfe;
  --accent-2: #f8f9fd;
  --accent-3: #eef0f6;
  --accent-4: #e4e9f1;
  --accent-5: #dbe1ed;
  --accent-6: #d2d9e8;
  --accent-7: #c5cddf;
  --accent-8: #aeb9d1;
  --accent-9: #1d2330;
  --accent-10: #313846;
  --accent-11: #5b657a;
  --accent-12: #1c222f;

  --accent-a1: #0000aa03;
  --accent-a2: #0025b707;
  --accent-a3: #001e7811;
  --accent-a4: #00307b1b;
  --accent-a5: #002b8024;
  --accent-a6: #00287d2d;
  --accent-a7: #0024733a;
  --accent-a8: #00236f51;
  --accent-a9: #000716e2;
  --accent-a10: #00091ace;
  --accent-a11: #001030a4;
  --accent-a12: #000715e3;

  --accent-contrast: #fff;
  --accent-surface: #f6f8fdcc;
  --accent-indicator: #1d2330;
  --accent-track: #1d2330;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.2% 0.0021 265.3);
      --accent-2: oklch(98.3% 0.0045 265.3);
      --accent-3: oklch(95.6% 0.0083 265.3);
      --accent-4: oklch(93.2% 0.0125 265.3);
      --accent-5: oklch(90.8% 0.0173 265.3);
      --accent-6: oklch(88.3% 0.0218 265.3);
      --accent-7: oklch(84.8% 0.0269 265.3);
      --accent-8: oklch(78.6% 0.0363 265.3);
      --accent-9: oklch(25.6% 0.0262 265.3);
      --accent-10: oklch(34.1% 0.0262 265.3);
      --accent-11: oklch(50.5% 0.0363 265.3);
      --accent-12: oklch(25.2% 0.0262 265.3);

      --accent-a1: color(display-p3 0.0235 0.0235 0.6745 / 0.012);
      --accent-a2: color(display-p3 0.0235 0.1608 0.7216 / 0.028);
      --accent-a3: color(display-p3 0.0078 0.1255 0.4157 / 0.067);
      --accent-a4: color(display-p3 0.0039 0.1569 0.4235 / 0.102);
      --accent-a5: color(display-p3 0.0078 0.149 0.4627 / 0.138);
      --accent-a6: color(display-p3 0.0039 0.1412 0.4588 / 0.173);
      --accent-a7: color(display-p3 0.0039 0.1255 0.4078 / 0.224);
      --accent-a8: color(display-p3 0.0039 0.1176 0.3961 / 0.31);
      --accent-a9: color(display-p3 0 0.0235 0.0745 / 0.883);
      --accent-a10: color(display-p3 0 0.0314 0.0941 / 0.804);
      --accent-a11: color(display-p3 0 0.051 0.1686 / 0.636);
      --accent-a12: color(display-p3 0 0.0235 0.0745 / 0.887);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9647 0.9725 0.9843 / 0.8);
      --accent-indicator: oklch(25.6% 0.0262 265.3);
      --accent-track: oklch(25.6% 0.0262 265.3);
    }
  }
}


.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: #0f1114;
  --accent-2: #17191c;
  --accent-3: #202227;
  --accent-4: #272a2e;
  --accent-5: #2f3135;
  --accent-6: #373a3e;
  --accent-7: #45474c;
  --accent-8: #5e6066;
  --accent-9: #eceef2;
  --accent-10: #e3e5e9;
  --accent-11: #b1b4b9;
  --accent-12: #eceef2;

  --accent-a1: #1012020d;
  --accent-a2: #f2f4dc09;
  --accent-a3: #e8eafb14;
  --accent-a4: #eaf5f91c;
  --accent-a5: #f9fbff23;
  --accent-a6: #f2fafe2d;
  --accent-a7: #f5f7ff3c;
  --accent-a8: #f2f4fd59;
  --accent-a9: #f9fbfff1;
  --accent-a10: #f8fafee8;
  --accent-a11: #f6faffb3;
  --accent-a12: #f9fbfff1;

  --accent-contrast: #182135;
  --accent-surface: #1f212380;
  --accent-indicator: #eceef2;
  --accent-track: #eceef2;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(17.7% 0.0072 264.5);
      --accent-2: oklch(21.3% 0.0074 264.5);
      --accent-3: oklch(25.4% 0.0087 264.5);
      --accent-4: oklch(28.3% 0.0087 264.5);
      --accent-5: oklch(31.2% 0.0087 264.5);
      --accent-6: oklch(34.7% 0.0087 264.5);
      --accent-7: oklch(39.9% 0.0087 264.5);
      --accent-8: oklch(49% 0.0087 264.5);
      --accent-9: oklch(94.9% 0.0058 264.5);
      --accent-10: oklch(92% 0.0058 264.5);
      --accent-11: oklch(76.8% 0.0087 264.5);
      --accent-12: oklch(94.8% 0.0058 264.5);

      --accent-a1: color(display-p3 0.0627 0.0706 0.0039 / 0.048);
      --accent-a2: color(display-p3 0.9843 0.9922 0.8902 / 0.034);
      --accent-a3: color(display-p3 0.9255 0.9333 1 / 0.077);
      --accent-a4: color(display-p3 0.9765 0.9843 1 / 0.107);
      --accent-a5: color(display-p3 0.9765 0.9843 1 / 0.137);
      --accent-a6: color(display-p3 0.9725 0.9804 0.9961 / 0.176);
      --accent-a7: color(display-p3 0.9569 0.9647 1 / 0.236);
      --accent-a8: color(display-p3 0.9647 0.9725 1 / 0.342);
      --accent-a9: color(display-p3 0.9765 0.9843 1 / 0.945);
      --accent-a10: color(display-p3 0.9765 0.9843 1 / 0.906);
      --accent-a11: color(display-p3 0.9725 0.9804 1 / 0.701);
      --accent-a12: color(display-p3 0.9765 0.9843 1 / 0.945);

      --accent-contrast: #182135;
      --accent-surface: color(display-p3 0.1255 0.1255 0.1333 / 0.5);
      --accent-indicator: oklch(94.9% 0.0058 264.5);
      --accent-track: oklch(94.9% 0.0058 264.5);
    }
  }
}


.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(29, 35, 48, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(221, 225, 231, 1);
  --sidebar-background: rgba(251, 251, 252, 1);
  --header-background: rgba(251, 251, 252, 1);
  --card-background: rgba(255, 255, 255, 1);
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(236, 238, 242, 1);
  --background: rgba(15, 17, 21, 1);
  --border: rgba(29, 35, 48, 1);
  --sidebar-background: rgba(15, 17, 21, 1);
  --header-background: rgba(15, 17, 21, 1);
  --card-background: rgba(29, 35, 48, 1);
  --theme-color: #0f1115;
}

/*
 * MorphiaOne docs theme: the token bridge and the few rules Fern's config cannot express.
 *
 * Canonical values come from design/tokens.json (Figma variables, Brandbook Source
 * qjGHYuIRgDjE1K232OaOcg) and are named here exactly once, in the brand block. Every
 * rule below reads a --docs-* role, never a hex value. Roles, their reasons and what is
 * derived rather than canonical: developer-docs/DERIVED-DOCS-UI-FOUNDATION.md.
 *
 * Selectors use Fern's stable hooks only: fern-* classes and data-intent attributes.
 * Utility classes Fern generates (Tailwind) change between releases and are not used.
 */

/* --- Brand: Figma variables, verbatim ------------------------------------------- */
:root {
  --brand-main-default: #0F1115;   /* Main Colors/Default */
  --brand-main-action: #1D2330;    /* Main Colors/Action */
  --brand-coral-50: #FFF1F4;       /* Supportive Colors/Coral 50 */
  --brand-coral-100: #FFD9E1;      /* Supportive Colors/Coral 100 */
  --brand-coral-300: #FF8FA2;      /* Supportive Colors/Coral 300 */
  --brand-coral-500: #F0445E;      /* Supportive Colors/Coral 500 = Border/B- Focus */
  --brand-coral-700: #BA2D45;      /* Supportive Colors/Coral 700 */
  --brand-blue-50: #F2F5FF;        /* Supportive Colors/Blue 50 */
  --brand-blue-100: #DDE6FF;       /* Supportive Colors/Blue 100 */
  --brand-blue-300: #8DA9FF;       /* Supportive Colors/Blue 300 */
  --brand-blue-700: #233DB5;       /* Supportive Colors/Blue 700 */
  --brand-neutral-0: #FFFFFF;      /* Neutral/Neutral 0 */
  --brand-neutral-25: #FBFBFC;     /* Neutral/Neutral 25 */
  --brand-neutral-50: #F5F6F8;     /* Neutral/Neutral 50 */
  --brand-neutral-100: #ECEEF2;    /* Neutral/Neutral 100 */
  --brand-neutral-200: #DDE1E7;    /* Neutral/Neutral 200 */
  --brand-neutral-300: #C8CED8;    /* Neutral/Neutral 300 */
  --brand-neutral-500: #8E98A8;    /* Neutral/Neutral 500 */
  --brand-neutral-700: #586173;    /* Neutral/Neutral 700 */
  --brand-neutral-900: #1D2330;    /* Neutral/Neutral 900 */
  --brand-neutral-950: #0F1115;    /* Neutral/Neutral 950 */

  --brand-font-sans: Satoshi, system-ui, -apple-system, "Segoe UI", sans-serif;
  --brand-font-label: Sora, system-ui, sans-serif;

  /* Radii and the soft shadow the shipped Website uses (site/src/styles/tokens.css). */
  --brand-radius-sm: 4px;
  --brand-radius-md: 8px;
  --brand-radius-lg: 12px;
  --brand-shadow-soft: 0 1px 2px color-mix(in srgb, var(--brand-neutral-950) 6%, transparent);
}

/* --- Semantic roles (derived), light ------------------------------------------- */
:root {
  --docs-bg: var(--brand-neutral-0);
  --docs-surface: var(--brand-neutral-25);
  --docs-surface-raised: var(--brand-neutral-0);
  --docs-surface-muted: var(--brand-neutral-50);
  --docs-text: var(--brand-main-default);
  --docs-text-muted: var(--brand-neutral-700);
  --docs-border: var(--brand-neutral-200);
  --docs-border-strong: var(--brand-neutral-300);
  --docs-accent: var(--brand-main-action);
  --docs-link: var(--brand-coral-700);
  --docs-link-hover: var(--brand-main-default);
  --docs-focus: var(--brand-coral-500);
  --docs-code-bg: var(--brand-neutral-25);
  --docs-code-border: var(--brand-neutral-200);
  --docs-info-bg: var(--brand-neutral-50);
  --docs-info-border: var(--brand-neutral-200);
  --docs-info-icon: var(--brand-neutral-700);
  --docs-note-bg: var(--brand-blue-50);
  --docs-note-border: var(--brand-blue-100);
  --docs-note-icon: var(--brand-blue-700);
  --docs-warning-bg: var(--brand-coral-50);
  --docs-warning-border: var(--brand-coral-100);
  --docs-warning-icon: var(--brand-coral-700);
  --docs-danger-bg: var(--brand-coral-50);
  --docs-danger-border: var(--brand-coral-500);
  --docs-danger-icon: var(--brand-coral-700);
  --docs-success-icon: var(--brand-main-action);
  --docs-chip-available-bg: var(--brand-main-action);
  --docs-chip-available-text: var(--brand-neutral-0);
  --docs-chip-preview-bg: var(--brand-blue-50);
  --docs-chip-preview-text: var(--brand-blue-700);
  --docs-chip-preview-border: var(--brand-blue-100);
  --docs-chip-soon-text: var(--brand-neutral-700);
  --docs-chip-soon-border: var(--brand-neutral-300);
  --docs-chip-version-bg: var(--brand-coral-50);
  --docs-chip-version-text: var(--brand-coral-700);
  --docs-chip-version-border: var(--brand-coral-100);
}

/* --- Semantic roles, dark: chosen per role, not inverted ----------------------- */
html.dark {
  --docs-bg: var(--brand-neutral-950);
  --docs-surface: var(--brand-neutral-950);
  --docs-surface-raised: var(--brand-neutral-900);
  --docs-surface-muted: var(--brand-neutral-900);
  --docs-text: var(--brand-neutral-100);
  --docs-text-muted: var(--brand-neutral-300);
  --docs-border: var(--brand-neutral-900);
  --docs-border-strong: var(--brand-neutral-700);
  --docs-accent: var(--brand-neutral-100);
  --docs-link: var(--brand-coral-300);
  --docs-link-hover: var(--brand-neutral-0);
  --docs-focus: var(--brand-coral-300);
  --docs-code-bg: var(--brand-neutral-900);
  --docs-code-border: var(--brand-neutral-700);
  --docs-info-bg: var(--brand-neutral-900);
  --docs-info-border: var(--brand-neutral-700);
  --docs-info-icon: var(--brand-neutral-300);
  --docs-note-bg: color-mix(in srgb, var(--brand-blue-300) 10%, var(--brand-neutral-950));
  --docs-note-border: color-mix(in srgb, var(--brand-blue-300) 35%, var(--brand-neutral-950));
  --docs-note-icon: var(--brand-blue-300);
  --docs-warning-bg: color-mix(in srgb, var(--brand-coral-300) 10%, var(--brand-neutral-950));
  --docs-warning-border: color-mix(in srgb, var(--brand-coral-300) 35%, var(--brand-neutral-950));
  --docs-warning-icon: var(--brand-coral-300);
  --docs-danger-bg: color-mix(in srgb, var(--brand-coral-500) 14%, var(--brand-neutral-950));
  --docs-danger-border: var(--brand-coral-500);
  --docs-danger-icon: var(--brand-coral-300);
  --docs-success-icon: var(--brand-neutral-100);
  --docs-chip-available-bg: var(--brand-neutral-100);
  --docs-chip-available-text: var(--brand-neutral-950);
  --docs-chip-preview-bg: color-mix(in srgb, var(--brand-blue-300) 14%, var(--brand-neutral-950));
  --docs-chip-preview-text: var(--brand-blue-300);
  --docs-chip-preview-border: color-mix(in srgb, var(--brand-blue-300) 40%, var(--brand-neutral-950));
  --docs-chip-soon-text: var(--brand-neutral-300);
  --docs-chip-soon-border: var(--brand-neutral-700);
  --docs-chip-version-bg: color-mix(in srgb, var(--brand-coral-300) 12%, var(--brand-neutral-950));
  --docs-chip-version-text: var(--brand-coral-300);
  --docs-chip-version-border: color-mix(in srgb, var(--brand-coral-300) 40%, var(--brand-neutral-950));
}

/* --- Typography ---------------------------------------------------------------- */
/* Header styles in the brandbook are Satoshi Medium with -0.5 letter spacing. */
.fern-page-heading,
.fern-prose h1,
.fern-prose h2,
.fern-prose h3 {
  font-weight: 500;
  letter-spacing: -0.5px;
}
.fern-prose h4 {
  font-weight: 700;
  letter-spacing: -0.5px;
}

/* Prose links carry the brand accent and an underline, so colour is not the only cue. */
.fern-prose a.fern-mdx-link {
  color: var(--docs-link);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.fern-prose a.fern-mdx-link:hover {
  color: var(--docs-link-hover);
}
.fern-prose a.fern-mdx-link:focus-visible {
  color: var(--docs-link-hover);
}

/* --- Focus --------------------------------------------------------------------- */
/* Border/B- Focus is coral. One visible ring for every interactive element. Fern's
 * own utility classes set a transparent outline colour on many controls, so this is
 * the one place !important is used: a keyboard user must always see where they are. */
a:focus-visible,
button:focus-visible,
[role="tab"]:focus-visible,
input:focus-visible,
.fern-card:focus-visible {
  outline: 2px solid var(--docs-focus) !important;
  outline-offset: 2px !important;
}

/* --- Callouts: one shape, four restrained tints --------------------------------- */
.fern-callout {
  border-radius: var(--brand-radius-lg);
  border: 1px solid var(--docs-info-border);
  background: var(--docs-info-bg);
  color: var(--docs-text);
}
.fern-callout [class*="prose"],
.fern-callout p {
  color: var(--docs-text);
}
.fern-callout svg {
  color: var(--docs-info-icon);
}
.fern-callout[data-intent="note"],
.fern-callout[data-intent="launch"] {
  background: var(--docs-note-bg);
  border-color: var(--docs-note-border);
}
.fern-callout[data-intent="note"] svg,
.fern-callout[data-intent="launch"] svg {
  color: var(--docs-note-icon);
}
.fern-callout[data-intent="warning"] {
  background: var(--docs-warning-bg);
  border-color: var(--docs-warning-border);
}
.fern-callout[data-intent="warning"] svg {
  color: var(--docs-warning-icon);
}
.fern-callout[data-intent="error"],
.fern-callout[data-intent="danger"] {
  background: var(--docs-danger-bg);
  border-color: var(--docs-danger-border);
}
.fern-callout[data-intent="error"] svg,
.fern-callout[data-intent="danger"] svg {
  color: var(--docs-danger-icon);
}
.fern-callout[data-intent="tip"],
.fern-callout[data-intent="success"],
.fern-callout[data-intent="check"] {
  background: var(--docs-surface-raised);
  border-color: var(--docs-border);
}
.fern-callout[data-intent="tip"] svg,
.fern-callout[data-intent="success"] svg,
.fern-callout[data-intent="check"] svg {
  color: var(--docs-success-icon);
}

/* --- Status and version chips -------------------------------------------------- */
/* Fern's <Badge>, restyled into the one chip language the site uses:
 *   intent="success" Available     solid, the Action colour
 *   intent="info"    Preview        blue tint (not a warning)
 *   intent="note"    Coming soon    outline only (not an error, not disabled)
 *   intent="warning" Version marks  coral tint (Requires SDK, Release candidate)
 * The label face is the brand's Sora, uppercase, as on the Website's product tags. */
.fern-docs-badge.fern-docs-badge {
  font-family: var(--brand-font-label);
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border-radius: var(--brand-radius-sm);
  border: 1px solid transparent;
  padding: 4px 8px;
  vertical-align: middle;
}
.fern-docs-badge.fern-docs-badge.fern-docs-badge[data-intent="success"] {
  background: var(--docs-chip-available-bg);
  color: var(--docs-chip-available-text);
}
.fern-docs-badge.fern-docs-badge.fern-docs-badge[data-intent="info"] {
  background: var(--docs-chip-preview-bg);
  color: var(--docs-chip-preview-text);
  border-color: var(--docs-chip-preview-border);
}
.fern-docs-badge.fern-docs-badge.fern-docs-badge[data-intent="note"] {
  background: transparent;
  color: var(--docs-chip-soon-text);
  border-color: var(--docs-chip-soon-border);
  border-style: dashed;
}
.fern-docs-badge.fern-docs-badge.fern-docs-badge[data-intent="warning"] {
  background: var(--docs-chip-version-bg);
  color: var(--docs-chip-version-text);
  border-color: var(--docs-chip-version-border);
}

/* --- Cards --------------------------------------------------------------------- */
.fern-card {
  border-radius: var(--brand-radius-lg);
  border-color: var(--docs-border);
  background: var(--docs-surface-raised);
  box-shadow: var(--brand-shadow-soft);
}
.fern-card.interactive:hover {
  border-color: var(--docs-border-strong);
}
.fern-card.interactive:focus-visible {
  border-color: var(--docs-border-strong);
}
.fern-card img {
  border-radius: var(--brand-radius-md);
}
/* A chip inside a card may wrap rather than be clipped at a narrow column. */
.fern-card .fern-docs-badge.fern-docs-badge {
  white-space: normal;
  max-width: 100%;
  line-height: 1.3;
}
/* Inline code inside a card is an install command: keep it on one line, scroll if long. */
.fern-card code {
  white-space: nowrap;
}
.fern-card p:has(> code:only-child) {
  overflow-x: auto;
}

/* --- Code ---------------------------------------------------------------------- */
/* A true monospace stays (Fern's default): code must align. Only the frame is themed. */
.fern-code-block {
  border-radius: var(--brand-radius-lg);
  border-color: var(--docs-code-border);
}

/* --- Tables -------------------------------------------------------------------- */
/* Fern already scrolls a wide table inside its own area. A minimum cell width makes a
 * four-column table scroll on a phone instead of crushing its columns to one word. */
.fern-table th,
.fern-table td {
  min-width: 7.5rem;
}
.fern-table th:first-child,
.fern-table td:first-child {
  min-width: 9rem;
}

/* --- Motion -------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

}
