/*fern-site-stylesheet*/@font-face {
    font-family: 'OpenSans';
    src: url('/_fern-files/boundary.docs.buildwithfern.com/2e3b1d34ac67763ab50652da19305d4b3694c6b6e6bf35f4b98411ce4af646d2/assets/open-sans-v17-all-charsets-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'OpenSans';
    src: url('/_fern-files/boundary.docs.buildwithfern.com/6c9463f7096c0b9d610e095ed248ac1e8a8da7e92d17e9be544f3baced7b62b2/assets/open-sans-v17-all-charsets-italic.woff2') format('woff2');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'OpenSans';
    src: url('/_fern-files/boundary.docs.buildwithfern.com/c22fe8c70c36f1d862903b772eaed864d3a8fa849473c9caff224fdb852428e4/assets/open-sans-v17-all-charsets-700.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

:root {
  --header-height: 54px;
  --header-height-real: 54px;
  --mobile-header-height-real: 54px;
  --content-width: 640px;
  --sidebar-width: 288px;
  --page-width: 100vw;
  --logo-height: 28px;
  --font-body: 'OpenSans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'OpenSans', 'OpenSans', 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: #fcfcff;
  --accent-2: #f9f8ff;
  --accent-3: #f2f0ff;
  --accent-4: #e8e4ff;
  --accent-5: #ddd8ff;
  --accent-6: #d0c9ff;
  --accent-7: #beb3ff;
  --accent-8: #a694ff;
  --accent-9: #6025d1;
  --accent-10: #5300bf;
  --accent-11: #6940d4;
  --accent-12: #331d6c;

  --accent-a1: #0000ff03;
  --accent-a2: #2500ff07;
  --accent-a3: #2200ff0f;
  --accent-a4: #2600ff1b;
  --accent-a5: #2100ff27;
  --accent-a6: #2200ff36;
  --accent-a7: #2500ff4c;
  --accent-a8: #2b01ff6b;
  --accent-a9: #4500c9da;
  --accent-a10: #5300bf;
  --accent-a11: #3700c6bf;
  --accent-a12: #190059e2;

  --accent-contrast: #fff;
  --accent-surface: #f8f6ffcc;
  --accent-indicator: #6025d1;
  --accent-track: #6025d1;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.2% 0.0036 289.2);
      --accent-2: oklch(98.3% 0.0119 289.2);
      --accent-3: oklch(96.3% 0.0247 289.2);
      --accent-4: oklch(93.4% 0.0509 289.2);
      --accent-5: oklch(90.4% 0.0743 289.2);
      --accent-6: oklch(86.4% 0.0951 289.2);
      --accent-7: oklch(80.7% 0.1188 289.2);
      --accent-8: oklch(72.9% 0.1569 289.2);
      --accent-9: oklch(46.7% 0.2354 289.2);
      --accent-10: oklch(41.4% 0.2354 289.2);
      --accent-11: oklch(50.8% 0.2129 289.2);
      --accent-12: oklch(31.3% 0.129 289.2);

      --accent-a1: color(display-p3 0.0235 0.0235 1 / 0.012);
      --accent-a2: color(display-p3 0.1608 0.0235 0.8627 / 0.028);
      --accent-a3: color(display-p3 0.1373 0.0039 0.9373 / 0.059);
      --accent-a4: color(display-p3 0.1137 0.0039 0.9294 / 0.106);
      --accent-a5: color(display-p3 0.1059 0.0039 0.9255 / 0.153);
      --accent-a6: color(display-p3 0.1137 0.0039 0.9294 / 0.212);
      --accent-a7: color(display-p3 0.1216 0.0039 0.9373 / 0.299);
      --accent-a8: color(display-p3 0.1333 0.0039 0.9373 / 0.416);
      --accent-a9: color(display-p3 0.2235 0 0.749 / 0.84);
      --accent-a10: color(display-p3 0.2667 0 0.7059 / 0.965);
      --accent-a11: color(display-p3 0.1765 0 0.7294 / 0.742);
      --accent-a12: color(display-p3 0.0784 0 0.3294 / 0.883);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9725 0.9686 1 / 0.8);
      --accent-indicator: oklch(46.7% 0.2354 289.2);
      --accent-track: oklch(46.7% 0.2354 289.2);
    }
  }
}


.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: #0e0a18;
  --accent-2: #191425;
  --accent-3: #2b1c45;
  --accent-4: #38205d;
  --accent-5: #42296b;
  --accent-6: #4d3479;
  --accent-7: #5d418f;
  --accent-8: #7351b0;
  --accent-9: #b794ff;
  --accent-10: #ac89f3;
  --accent-11: #c3a0ff;
  --accent-12: #e5dbff;

  --accent-a1: #5100f60b;
  --accent-a2: #9a55f919;
  --accent-a3: #964efc3b;
  --accent-a4: #9447fe54;
  --accent-a5: #9956fd63;
  --accent-a6: #9f65fd72;
  --accent-a7: #a46eff89;
  --accent-a8: #a572feac;
  --accent-a9: #b794ff;
  --accent-a10: #b38ffef3;
  --accent-a11: #c3a0ff;
  --accent-a12: #e5dbff;

  --accent-contrast: #fff;
  --accent-surface: #271b3c80;
  --accent-indicator: #b794ff;
  --accent-track: #b794ff;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(15.7% 0.0293 297.6);
      --accent-2: oklch(20.6% 0.0354 297.6);
      --accent-3: oklch(26.8% 0.0747 297.6);
      --accent-4: oklch(31.1% 0.1044 297.6);
      --accent-5: oklch(34.8% 0.1109 297.6);
      --accent-6: oklch(38.9% 0.1148 297.6);
      --accent-7: oklch(44.4% 0.1248 297.6);
      --accent-8: oklch(51.6% 0.1468 297.6);
      --accent-9: oklch(74.1% 0.1535 297.6);
      --accent-10: oklch(70.6% 0.1535 297.6);
      --accent-11: oklch(77.8% 0.1535 297.6);
      --accent-12: oklch(91.2% 0.0508 297.6);

      --accent-a1: color(display-p3 0.251 0 0.9843 / 0.038);
      --accent-a2: color(display-p3 0.6 0.3529 0.9961 / 0.092);
      --accent-a3: color(display-p3 0.5765 0.3373 1 / 0.22);
      --accent-a4: color(display-p3 0.5608 0.302 0.9961 / 0.316);
      --accent-a5: color(display-p3 0.5843 0.3608 1 / 0.37);
      --accent-a6: color(display-p3 0.6118 0.4196 1 / 0.428);
      --accent-a7: color(display-p3 0.6392 0.4549 1 / 0.515);
      --accent-a8: color(display-p3 0.6431 0.4667 1 / 0.648);
      --accent-a9: color(display-p3 0.7137 0.6 1 / 0.971);
      --accent-a10: color(display-p3 0.702 0.5843 1 / 0.922);
      --accent-a11: color(display-p3 0.7608 0.6471 1 / 0.976);
      --accent-a12: color(display-p3 0.902 0.8706 1 / 0.988);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.1412 0.102 0.2275 / 0.5);
      --accent-indicator: oklch(74.1% 0.1535 297.6);
      --accent-track: oklch(74.1% 0.1535 297.6);
    }
  }
}


.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(96, 37, 209, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(226, 232, 240, 0.8);
  --sidebar-background: rgba(255, 255, 255, 1);
  --header-background: rgba(255, 255, 255, 0.7019607843137254);
  --card-background: rgba(255, 255, 255, 1);
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(183, 148, 255, 1);
  --background: rgba(11, 13, 14, 1);
  --border: rgba(46, 46, 46, 0.8);
  --sidebar-background: rgba(11, 13, 14, 1);
  --header-background: rgba(11, 13, 14, 0.7019607843137254);
  --card-background: rgba(11, 13, 14, 1);
  --theme-color: #0b0d0e;
}

/* Root Variables */
:root {
  --background: #ffffff;
  --text: #333333;
  --accent-primary: #6025d1;
  --border: #e2e8f0cc;
  --sidebar-background: #ffffff;
  --header-background: #ffffffb3;
  --card-background: #ffffff;
  --code-background: #f8f8f8;
  --faded: #64748b;
  --tag-primary: #f3f4f6;
}

.resizer {
  display: flex;
  margin: 0;
  padding: 0;
  resize: both;
  overflow: hidden;
  border-radius: 8px;
}
.resizer > .resized {
  flex-grow: 1;
  margin: 0;
  padding: 0;
  border: 0;
}

.dark {
  --background: #0b0d0e;
  --text: #ededede6;
  --accent-primary: #b794ff;
  --border: #2e2e2ecc;
  --sidebar-background: #0b0d0e;
  --header-background: #0b0d0eb3;
  --card-background: #0b0d0e;
  --code-background: #2e2e2e;
  --faded: #94a3b8;
  --tag-primary: #1e293b;
}

/* Base Text Colors */
body,
p,
ul,
h1,
h2,
h3,
h4,
h5,
h6,
span:not(a span) {
  color: var(--text);
}
.dark body,
.dark p,
.dark ul,
.dark h1,
.dark h2,
.dark h3,
.dark h4,
.dark h5,
.dark h6,
.dark span:not(a span) {
  color: rgba(237, 237, 237, 0.9);
}

/* Background Colors */
.dark body {
  background-color: var(--background) !important;
}

/* Header Styling */
.fern-header {
  background-color: var(--header-background) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--border) !important;
  z-index: 50 !important;
}
.dark .fern-header {
  background: rgba(11, 13, 14, 0.7) !important;
  border-bottom: 1px solid rgba(46, 46, 46, 0.8) !important;
}

/* Header Tabs */
.fern-header-tabs {
  background: transparent !important;
  border-bottom: 1px solid var(--border) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
.fern-header-tabs-list {
  /* padding: 0 1rem !important; */
}
.fern-header-tab-button > * {
  font-size: 12px;
}
.dark .fern-header-tab-button > * {
  color: rgba(237, 237, 237, 0.9);
}

.fern-sidebar-container {
  background: transparent !important;
}

/* Sidebar Styling */
.fern-sidebar {
  background-color: var(--sidebar-background) !important;
  border-right: 1px solid var(--border) !important;
}
.dark .fern-sidebar {
  background: rgba(11, 13, 14, 0.7) !important;
  border-right: 1px solid rgba(46, 46, 46, 0.8) !important;
}

/* Sidebar Links and Icons */
.fern-sidebar-link-container {
  min-height: 26px !important;
  /* padding: 0 1rem !important; */
}

.fern-layout-toc {
  max-width: 250px !important;
}

.fern-layout-content {
  max-width: 860px !important;
}

.w-content-width {
  max-width: 860px !important;
  width: 100% !important;
}

.fern-sidebar-link-container[data-state="active"] {
  background-color: var(--tag-primary) !important;
}

.fern-sidebar-link {
  color: var(--text) !important;
  text-decoration: none !important;
}

.fern-sidebar-link-content {
  /* padding: 0.4rem 0 !important; */
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

/* Icon styling */
.fern-sidebar-icon .fa-icon {
  width: 16px !important;
  height: 16px !important;
  background-color: var(--faded) !important;
}

/* Active state text */
.fern-sidebar-link-container[data-state="active"] .fern-sidebar-link {
  color: var(--accent-primary) !important;
  font-weight: 600 !important;
}

/* Navigation */
.fern-navigation {
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  background: rgba(255, 255, 255, 0.7) !important;
  /* padding: 0.5rem 1rem !important; */
  border-bottom: 1px solid rgba(226, 232, 240, 0.8) !important;
}
.dark .fern-navigation {
  background: rgba(11, 13, 14, 0.7) !important;
}

/* Content Area */
.fern-content {
  /* padding: 2rem; */
  position: relative;
  z-index: 1;
  background-color: var(--background) !important;
  color: var(--text) !important;
}

/* Links */
.fern-mdx-link {
  text-decoration-color: rgba(96, 37, 209, 1);
  color: #6025d1 !important;
}
.dark .fern-mdx-link {
  text-decoration-color: #b794ff;
  color: #b794ff !important;
}

/* Discord Help Button */
.fern-button.filled.primary {
  background-color: #6025d1 !important;
  transition: all 0.2s ease-in-out !important;
}
.fern-button.filled.primary:hover {
  background-color: #7d47e3 !important;
}
.fern-button.filled.primary:focus-visible {
  background-color: #7d47e3 !important; outline: none;
}

/* Background Decoration */
#fern-docs {
  position: relative;
  min-height: 100vh;
}
#fern-docs::before {
  content: "";
  position: absolute;
  inset: 0;
  height: 100vh;
  pointer-events: none;
  z-index: -1;
  background: linear-gradient(
    180deg,
    rgba(96, 37, 209, 0.15) 0%,
    rgba(96, 37, 209, 0.05) 20%,
    rgba(0, 0, 0, 0) 40%
  );
}
.dark #fern-docs::before {
  z-index: -1;
  background: linear-gradient(
    180deg,
    rgba(183, 148, 255, 0.15) 0%,
    rgba(183, 148, 255, 0.05) 20%,
    rgba(0, 0, 0, 0) 40%
  );
}

/* Pattern Overlay */
#fern-docs::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  z-index: -1;
  opacity: 0.05;
  background-size: 60px 60px;
  mask-image: linear-gradient(to bottom, black 0%, transparent 40%);
  -webkit-mask-image: linear-gradient(to bottom, black 0%, transparent 40%);
}

/* Remove previous background decoration styles */
.fern-content::before,
.fern-content::after {
  display: none;
}

/* Remove background from main since it's now on the root */
.fern-main {
  position: relative;
  z-index: 1;
}

/* Navigation and Sidebar Styling */
.fern-header-container {
  background: transparent !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

/* Styling for the new docs frontend */
body#fern-docs div.fern-background-image::before {
  content: "";
  position: absolute;
  inset: 0;
  height: 100vh;
  pointer-events: none;
  z-index: -1;
  background: linear-gradient(
    180deg,
    rgba(96, 37, 209, 0.15) 0%,
    rgba(96, 37, 209, 0.05) 20%,
    rgba(0, 0, 0, 0) 40%
  );
}
.dark body#fern-docs div.fern-background-image::before {
  z-index: -1;
  background: linear-gradient(
    180deg,
    rgba(183, 148, 255, 0.15) 0%,
    rgba(183, 148, 255, 0.05) 20%,
    rgba(0, 0, 0, 0) 40%
  );
}

/* Pattern Overlay */
body#fern-docs div.fern-background-image::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  z-index: -1;
  opacity: 0.05;
  background-size: 60px 60px;
  mask-image: linear-gradient(to bottom, black 0%, transparent 40%);
  -webkit-mask-image: linear-gradient(to bottom, black 0%, transparent 40%);
}

body#fern-docs #fern-header .md\:h-\(--header-height-real\) {
  background-color: var(--header-background) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--border) !important;
  z-index: 50 !important;
}
.dark body#fern-docs #fern-header .md\:h-\(--header-height-real\) {
  background: rgba(11, 13, 14, 0.7) !important;
  border-bottom: 1px solid rgba(46, 46, 46, 0.8) !important;
}

body#fern-docs .fern-sidebar-link[data-state="active"] span {
  color: var(--accent-primary) !important;
  font-weight: 600 !important;
  font-family: var(--font-geist-sans);
}

body#fern-docs #fern-sidebar {
  background: transparent !important;
}

body#fern-docs #fern-header {
  background: transparent !important;
  border-bottom: 1px solid var(--border) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
