/*fern-site-stylesheet*/@font-face {
    font-family: 'Inter';
    src: url('/_fern-files/nativeport.docs.buildwithfern.com/48a0c2503a9c8ec4153302693fff56b3281aba5ce5afd7cf2bd51a03b098cd22/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/48a0c2503a9c8ec4153302693fff56b3-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/nativeport.docs.buildwithfern.com/a1eab7f4970e8a2f70137b1b7379ccad15fd227f2c9c0e65412f280ae9aad73c/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/a1eab7f4970e8a2f70137b1b7379ccad-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/nativeport.docs.buildwithfern.com/9a3d22c43636255dd1d3c910c534e1b55ecdcaf074ffa013971fad0d4d32f031/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/9a3d22c43636255dd1d3c910c534e1b5-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: 'Inter';
    src: url('/_fern-files/nativeport.docs.buildwithfern.com/ea90630996b19c80bec9dfe46cd52b9871705a8d6d89035cf18eddef24c82b74/docs/assets/fonts/inter-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0300-0323;
}
@font-face {
    font-family: 'Inter';
    src: url('/_fern-img/ea90630996b19c80bec9dfe46cd52b98-v1.latin.woff2') format('woff2');
    font-weight: 700;
    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: 'Special Gothic Condensed One';
    src: url('/_fern-files/nativeport.docs.buildwithfern.com/d3319fde08d4c973f38550115f67683ebf366ca02ee640055455d45489060cbb/docs/assets/fonts/special-gothic-condensed-one-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Mono';
    src: url('/_fern-files/nativeport.docs.buildwithfern.com/c49e5f206c0ba05fab722703bcfc6c83d517b15cb50dd56b5ce4e4d9fafa49a4/docs/assets/fonts/roboto-mono-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@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: 'Special Gothic Condensed One Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 73.58%;
    ascent-override: 136.59%;
    descent-override: 40.09%;
    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: 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: 'Special Gothic Condensed One', 'Special Gothic Condensed One 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: 'Roboto Mono', 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: #f1f0ef;
  --accent-2: #ecebea;
  --accent-3: #e3e1e0;
  --accent-4: #dbd9d6;
  --accent-5: #d3d0ce;
  --accent-6: #cbc7c4;
  --accent-7: #c0bcb8;
  --accent-8: #aea8a3;
  --accent-9: #211d19;
  --accent-10: #37332f;
  --accent-11: #57524e;
  --accent-12: #231f1b;

  --accent-a1: #d7e1ff29;
  --accent-a2: #0f39be0b;
  --accent-a3: #040e5314;
  --accent-a4: #0107241c;
  --accent-a5: #05021e25;
  --accent-a6: #0d05122f;
  --accent-a7: #0902083a;
  --accent-a8: #0e01014f;
  --accent-a9: #080300e4;
  --accent-a10: #090401cd;
  --accent-a11: #090300ab;
  --accent-a12: #080300e2;

  --accent-contrast: #fff;
  --accent-surface: #eae9eacc;
  --accent-indicator: #211d19;
  --accent-track: #211d19;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(95.5% 0.0014 67.32);
      --accent-2: oklch(94.1% 0.0018 67.32);
      --accent-3: oklch(91.1% 0.0028 67.32);
      --accent-4: oklch(88.5% 0.0042 67.32);
      --accent-5: oklch(86% 0.0047 67.32);
      --accent-6: oklch(83.3% 0.0061 67.32);
      --accent-7: oklch(79.8% 0.0076 67.32);
      --accent-8: oklch(73.5% 0.0102 67.32);
      --accent-9: oklch(23.4% 0.0097 67.32);
      --accent-10: oklch(32.4% 0.0097 67.32);
      --accent-11: oklch(44.3% 0.0097 67.32);
      --accent-12: oklch(24.3% 0.0097 67.32);

      --accent-a1: color(display-p3 0.8235 0.851 1 / 0.112);
      --accent-a2: color(display-p3 0.0078 0.1059 0.6118 / 0.037);
      --accent-a3: color(display-p3 0.0196 0.0118 0.251 / 0.075);
      --accent-a4: color(display-p3 0.0118 0.0039 0.0902 / 0.107);
      --accent-a5: color(display-p3 0.0157 0.0078 0.0941 / 0.145);
      --accent-a6: color(display-p3 0.0353 0.0078 0.0471 / 0.182);
      --accent-a7: color(display-p3 0.0314 0.0039 0.0157 / 0.227);
      --accent-a8: color(display-p3 0.0471 0.0039 0.0039 / 0.309);
      --accent-a9: color(display-p3 0.0275 0.0118 0 / 0.895);
      --accent-a10: color(display-p3 0.0235 0.0157 0 / 0.802);
      --accent-a11: color(display-p3 0.0314 0.0118 0 / 0.671);
      --accent-a12: color(display-p3 0.0275 0.0157 0 / 0.887);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9176 0.9137 0.9176 / 0.8);
      --accent-indicator: oklch(23.4% 0.0097 67.32);
      --accent-track: oklch(23.4% 0.0097 67.32);
    }
  }
}


.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: #1a1918;
  --accent-2: #21201e;
  --accent-3: #292826;
  --accent-4: #302f2b;
  --accent-5: #383631;
  --accent-6: #423f38;
  --accent-7: #514d44;
  --accent-8: #686357;
  --accent-9: #eae6dd;
  --accent-10: #e0dcd3;
  --accent-11: #bdb7aa;
  --accent-12: #ece8df;

  --accent-a1: #0019c003;
  --accent-a2: #aae0f909;
  --accent-a3: #d5eef912;
  --accent-a4: #e8f9ed19;
  --accent-a5: #f5fae721;
  --accent-a6: #fefbe02b;
  --accent-a7: #fef6da3c;
  --accent-a8: #fdf4d656;
  --accent-a9: #fefbf1e8;
  --accent-a10: #fefaf0dd;
  --accent-a11: #fff8e7b5;
  --accent-a12: #fffbf1ea;

  --accent-contrast: #2a2009;
  --accent-surface: #26272680;
  --accent-indicator: #eae6dd;
  --accent-track: #eae6dd;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(21.6% 0.0029 86.83);
      --accent-2: oklch(24.4% 0.0032 86.83);
      --accent-3: oklch(27.8% 0.0051 86.83);
      --accent-4: oklch(30.5% 0.007 86.83);
      --accent-5: oklch(33.2% 0.0092 86.83);
      --accent-6: oklch(36.8% 0.0119 86.83);
      --accent-7: oklch(41.9% 0.0154 86.83);
      --accent-8: oklch(50.1% 0.0192 86.83);
      --accent-9: oklch(92.6% 0.0128 86.83);
      --accent-10: oklch(89.6% 0.0128 86.83);
      --accent-11: oklch(78.2% 0.0192 86.83);
      --accent-12: oklch(93.3% 0.0128 86.83);

      --accent-a1: color(display-p3 0 0.102 0.9608 / 0.009);
      --accent-a2: color(display-p3 0.7804 0.8824 0.9843 / 0.035);
      --accent-a3: color(display-p3 0.902 0.9529 0.9961 / 0.069);
      --accent-a4: color(display-p3 0.9647 1 0.9451 / 0.096);
      --accent-a5: color(display-p3 0.9922 0.9882 0.9451 / 0.128);
      --accent-a6: color(display-p3 1 0.9922 0.9098 / 0.167);
      --accent-a7: color(display-p3 1 0.9765 0.8784 / 0.233);
      --accent-a8: color(display-p3 1 0.9686 0.8627 / 0.334);
      --accent-a9: color(display-p3 0.9961 0.9882 0.9529 / 0.904);
      --accent-a10: color(display-p3 1 0.9843 0.9529 / 0.86);
      --accent-a11: color(display-p3 1 0.9765 0.9137 / 0.707);
      --accent-a12: color(display-p3 1 0.9882 0.9529 / 0.913);

      --accent-contrast: #2a2009;
      --accent-surface: color(display-p3 0.149 0.149 0.1569 / 0.5);
      --accent-indicator: oklch(92.6% 0.0128 86.83);
      --accent-track: oklch(92.6% 0.0128 86.83);
    }
  }
}


.dark {
  --grayscale-1: #111110;
  --grayscale-2: #191918;
  --grayscale-3: #222221;
  --grayscale-4: #2a2a28;
  --grayscale-5: #31312e;
  --grayscale-6: #3b3a37;
  --grayscale-7: #494844;
  --grayscale-8: #62605b;
  --grayscale-9: #6f6d66;
  --grayscale-10: #7c7b74;
  --grayscale-11: #b5b3ad;
  --grayscale-12: #eeeeec;

  --grayscale-a1: #00000000;
  --grayscale-a2: #f4f4f309;
  --grayscale-a3: #f6f6f513;
  --grayscale-a4: #fefef31b;
  --grayscale-a5: #fbfbeb23;
  --grayscale-a6: #fffaed2d;
  --grayscale-a7: #fffbed3c;
  --grayscale-a8: #fff9eb57;
  --grayscale-a9: #fffae965;
  --grayscale-a10: #fffdee73;
  --grayscale-a11: #fffcf4b0;
  --grayscale-a12: #fffffded;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.067 0.067 0.063);
      --grayscale-2: color(display-p3 0.098 0.098 0.094);
      --grayscale-3: color(display-p3 0.135 0.135 0.129);
      --grayscale-4: color(display-p3 0.164 0.163 0.156);
      --grayscale-5: color(display-p3 0.193 0.192 0.183);
      --grayscale-6: color(display-p3 0.23 0.229 0.217);
      --grayscale-7: color(display-p3 0.285 0.282 0.267);
      --grayscale-8: color(display-p3 0.384 0.378 0.357);
      --grayscale-9: color(display-p3 0.434 0.428 0.403);
      --grayscale-10: color(display-p3 0.487 0.481 0.456);
      --grayscale-11: color(display-p3 0.707 0.703 0.68);
      --grayscale-12: color(display-p3 0.933 0.933 0.926);

      --grayscale-a1: #00000000;
      --grayscale-a2: #f4f4f309;
      --grayscale-a3: #f6f6f513;
      --grayscale-a4: #fefef31b;
      --grayscale-a5: #fbfbeb23;
      --grayscale-a6: #fffaed2d;
      --grayscale-a7: #fffbed3c;
      --grayscale-a8: #fff9eb57;
      --grayscale-a9: #fffae965;
      --grayscale-a10: #fffdee73;
      --grayscale-a11: #fffcf4b0;
      --grayscale-a12: #fffffded;

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

.light, :root {
  color-scheme: light;
  --accent: rgba(33, 29, 25, 1);
  --background: rgba(246, 243, 236, 1);
  --border: rgba(199, 196, 190, 1);
  --sidebar-background: initial;
  --header-background: rgba(246, 243, 236, 1);
  --card-background: initial;
  --theme-color: #f6f3ec;
}

.dark {
  color-scheme: dark;
  --accent: rgba(234, 230, 221, 1);
  --background: rgba(28, 25, 22, 1);
  --border: rgba(69, 66, 62, 1);
  --sidebar-background: initial;
  --header-background: rgba(28, 25, 22, 1);
  --card-background: rgba(39, 35, 31, 1);
  --theme-color: #1c1916;
}

/* Custom styles — NativePort docs (Dunas Design System) */

/* Subtle wash of the Paper ink (matches accent-primary) */
.fern-background-image {
  background-image: linear-gradient(180deg, rgba(33, 29, 25, 0.03) 0%, transparent 50%);
}

:root.dark .fern-background-image {
  background-image: linear-gradient(180deg, rgba(234, 230, 221, 0.04) 0%, transparent 50%);
}

/* Light only: Fern's step-11 text colors (callouts, method and status badges) and its
   step-9 grey ("https://" in endpoint URLs) are tuned for white, and fall under 4.5:1 on
   the Paper page and its tints. Each colour is its step 11 with 30% of step 12 mixed in;
   the grey takes Fern's own step 11. Dark is untouched. */
:root:not(.dark) {
  --green-a11: #1f6d4b;
  --blue-a11: #0e60ae;
  --amber-a11: #8f560a;
  --orange-a11: #a94409;
  --red-a11: #ae262d;
  --grayscale-a9: var(--grayscale-a11);
}

/* Paper ink for the text Fern draws itself: body text inherits --color-black
   (#2a2a2a), and in dark the `dark:text-white` utilities paint #fff. Dark only for
   white, which light also uses as the near-white card. */
:root { --color-black: #211d19; }
:root.dark { --color-white: #eae6dd; }

/* Headings as the site's prose draws them (nativeport-ai .np-prose): h1 and h2 in
   the display face, uppercase, at its only weight (Fern asks for 700/800, which
   Chrome fakes by smearing the 400); h3 and below, changelog entry titles
   included, in Inter semibold. */
.fern-page-heading,
.fern-prose h2 { font-weight: 400; text-transform: uppercase; }
.fern-prose :is(h3, h4, h5, h6),
.fern-changelog-card-title { font-family: var(--font-body); font-weight: 600; letter-spacing: normal; }

/* Labels in Roboto Mono, uppercase, as the site's eyebrows: sidebar section names
   and the breadcrumb above each page title. */
.fern-sidebar-heading-content,
.fern-breadcrumb-item {
  font-family: var(--font-code);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
}
