/*fern-site-stylesheet*/@font-face {
    font-family: 'Inter-Var';
    src: url('/_fern-files/ocient.ferndocs.com/b3ea285a91cea9dcdd66ecc9099674fe18867fd0ce41dd84f217a50d22a73763/docs/fonts/inter_InterVar.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-04FF, U+052F, U+146B, U+1D43-1D65, U+1D9C-1FFE, U+2070-2265, U+2303-232B, U+2387-238B, U+23CE-23CF, U+2423, U+2460-2468, U+24B6-24EA, U+25A0-2606, U+263C, U+2661-2665, U+26A0, U+2713-2717, U+2756-2788, U+27EF-27FA, U+2B06-2B1C, U+2C7C-2C7F, U+2DFF-2E18, U+A69F, U+A7FF, U+A92E, U+E000-E162, U+F6C3, U+FE20-FE2D, U+1F12F-1F16B, U+1F850-1F852;
}
@font-face {
    font-family: 'Inter-Var';
    src: url('/_fern-files/_img/b3ea285a91cea9dcdd66ecc9099674fe-v1.latin.woff2') format('woff2');
    font-weight: 100 900;
    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+2000-200B, U+2010-2027, U+202F-205F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+FEFF;
}
@font-face {
    font-family: 'EvelethClean';
    src: url('/_fern-files/ocient.ferndocs.com/b3ea285a91cea9dcdd66ecc9099674fe18867fd0ce41dd84f217a50d22a73763/docs/fonts/inter_InterVar.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-04FF, U+052F, U+146B, U+1D43-1D65, U+1D9C-1FFE, U+2070-2265, U+2303-232B, U+2387-238B, U+23CE-23CF, U+2423, U+2460-2468, U+24B6-24EA, U+25A0-2606, U+263C, U+2661-2665, U+26A0, U+2713-2717, U+2756-2788, U+27EF-27FA, U+2B06-2B1C, U+2C7C-2C7F, U+2DFF-2E18, U+A69F, U+A7FF, U+A92E, U+E000-E162, U+F6C3, U+FE20-FE2D, U+1F12F-1F16B, U+1F850-1F852;
}
@font-face {
    font-family: 'EvelethClean';
    src: url('/_fern-files/_img/b3ea285a91cea9dcdd66ecc9099674fe-v1.latin.woff2') format('woff2');
    font-weight: 700;
    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+2000-200B, U+2010-2027, U+202F-205F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+FEFF;
}
@font-face {
    font-family: 'Inter-Var Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 107.06%;
    ascent-override: 90.49%;
    descent-override: 22.56%;
    line-gap-override: 0.00%;
}
@font-face {
    font-family: 'EvelethClean Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 107.06%;
    ascent-override: 90.49%;
    descent-override: 22.56%;
    line-gap-override: 0.00%;
}

:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 640px;
  --sidebar-width: 300px;
  --page-width: 100vw;
  --logo-height: 40px;
  --font-body: 'Inter-Var', 'Inter-Var Fallback', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'EvelethClean', 'EvelethClean Fallback', 'Inter-Var', 'Inter-Var 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: #fbfdff;
  --accent-2: #f4f9ff;
  --accent-3: #e8f2ff;
  --accent-4: #dbeaff;
  --accent-5: #cce0ff;
  --accent-6: #b7d2ff;
  --accent-7: #9dbfff;
  --accent-8: #7aa4ff;
  --accent-9: #223f99;
  --accent-10: #142d86;
  --accent-11: #3f68e1;
  --accent-12: #10267f;

  --accent-a1: #0080ff04;
  --accent-a2: #0074ff0b;
  --accent-a3: #006fff17;
  --accent-a4: #006bff24;
  --accent-a5: #0064ff33;
  --accent-a6: #0060ff48;
  --accent-a7: #0059ff62;
  --accent-a8: #0051ff85;
  --accent-a9: #002289dd;
  --accent-a10: #001b7ceb;
  --accent-a11: #0037d7c0;
  --accent-a12: #001876ef;

  --accent-contrast: #fff;
  --accent-surface: #f1f8ffcc;
  --accent-indicator: #223f99;
  --accent-track: #223f99;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.3% 0.0052 266.1);
      --accent-2: oklch(98.2% 0.015 266.1);
      --accent-3: oklch(96% 0.0312 266.1);
      --accent-4: oklch(93.7% 0.0581 266.1);
      --accent-5: oklch(90.6% 0.0839 266.1);
      --accent-6: oklch(86.4% 0.1075 266.1);
      --accent-7: oklch(80.9% 0.1386 266.1);
      --accent-8: oklch(73.5% 0.1899 266.1);
      --accent-9: oklch(40.4% 0.1513 266.1);
      --accent-10: oklch(34.5% 0.1513 266.1);
      --accent-11: oklch(55.8% 0.1899 266.1);
      --accent-12: oklch(32.4% 0.1513 266.1);

      --accent-a1: color(display-p3 0.0235 0.5137 1 / 0.016);
      --accent-a2: color(display-p3 0.0235 0.4157 0.9059 / 0.04);
      --accent-a3: color(display-p3 0.0078 0.3882 0.9529 / 0.083);
      --accent-a4: color(display-p3 0.0078 0.3686 0.9412 / 0.13);
      --accent-a5: color(display-p3 0.0039 0.3255 0.9373 / 0.185);
      --accent-a6: color(display-p3 0.0039 0.3176 0.9412 / 0.263);
      --accent-a7: color(display-p3 0.0039 0.2863 0.9451 / 0.357);
      --accent-a8: color(display-p3 0.0039 0.2588 0.9451 / 0.487);
      --accent-a9: color(display-p3 0 0.098 0.4941 / 0.84);
      --accent-a10: color(display-p3 0 0.0784 0.451 / 0.899);
      --accent-a11: color(display-p3 0 0.1686 0.7922 / 0.718);
      --accent-a12: color(display-p3 0 0.0667 0.4314 / 0.918);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9529 0.9725 1 / 0.8);
      --accent-indicator: oklch(40.4% 0.1513 266.1);
      --accent-track: oklch(40.4% 0.1513 266.1);
    }
  }
}


.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: #000;
  --accent-2: #051517;
  --accent-3: #002a2f;
  --accent-4: #003941;
  --accent-5: #004851;
  --accent-6: #005862;
  --accent-7: #006c78;
  --accent-8: #008693;
  --accent-9: #1edaeb;
  --accent-10: #00cfe0;
  --accent-11: #00d2e3;
  --accent-12: #adf0f8;

  --accent-a1: #00000000;
  --accent-a2: #38e9ff17;
  --accent-a3: #00e4ff2f;
  --accent-a4: #00e0ff41;
  --accent-a5: #00e3ff51;
  --accent-a6: #00e5ff62;
  --accent-a7: #00e6ff78;
  --accent-a8: #00e9ff93;
  --accent-a9: #21edffeb;
  --accent-a10: #00ecffe0;
  --accent-a11: #00ecffe3;
  --accent-a12: #b2f7fff8;

  --accent-contrast: #03272b;
  --accent-surface: #0a2a2e80;
  --accent-indicator: #1edaeb;
  --accent-track: #1edaeb;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(0% 0.0214 205.1);
      --accent-2: oklch(18.3% 0.0236 205.1);
      --accent-3: oklch(25.6% 0.0542 205.1);
      --accent-4: oklch(30.8% 0.0764 205.1);
      --accent-5: oklch(35.9% 0.0858 205.1);
      --accent-6: oklch(41.4% 0.0921 205.1);
      --accent-7: oklch(47.8% 0.1025 205.1);
      --accent-8: oklch(55.7% 0.1217 205.1);
      --accent-9: oklch(81.2% 0.1351 205.1);
      --accent-10: oklch(77.9% 0.1351 205.1);
      --accent-11: oklch(78.7% 0.1351 205.1);
      --accent-12: oklch(91.4% 0.0679 205.1);

      --accent-a1: color(display-p3 0 0 0 / 0);
      --accent-a2: color(display-p3 0.3451 0.9059 0.9922 / 0.091);
      --accent-a3: color(display-p3 0.2824 0.8902 1 / 0.181);
      --accent-a4: color(display-p3 0.3294 0.8784 1 / 0.251);
      --accent-a5: color(display-p3 0.3529 0.8902 1 / 0.314);
      --accent-a6: color(display-p3 0.3725 0.898 1 / 0.381);
      --accent-a7: color(display-p3 0.3843 0.898 1 / 0.463);
      --accent-a8: color(display-p3 0.4 0.9098 1 / 0.569);
      --accent-a9: color(display-p3 0.4431 0.9255 1 / 0.91);
      --accent-a10: color(display-p3 0.4235 0.9216 1 / 0.867);
      --accent-a11: color(display-p3 0.4235 0.9255 1 / 0.879);
      --accent-a12: color(display-p3 0.7608 0.9686 1 / 0.965);

      --accent-contrast: #03272b;
      --accent-surface: color(display-p3 0.0627 0.1647 0.1804 / 0.5);
      --accent-indicator: oklch(81.2% 0.1351 205.1);
      --accent-track: oklch(81.2% 0.1351 205.1);
    }
  }
}


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

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

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

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

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

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

.light, :root {
  color-scheme: light;
  --accent: rgba(34, 63, 153, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(244, 245, 246, 1);
  --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(30, 218, 235, 1);
  --background: rgba(0, 0, 0, 1);
  --border: rgba(38, 43, 44, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #000;
}

#fern-announcement {
  background-color: #c8da2e !important;
  color: #000000 !important;
}

/* Subtle linear gradient background - only on landing page */
body:has(.unicorn-anchor) .fern-background-image {
  background-image: linear-gradient(180deg, color-mix(in srgb, var(--accent) 15%, transparent) 0%, transparent 50%);
}

/* Transparent header border on landing page */
body:has(.unicorn-anchor) header {
  border-bottom-color: transparent !important;
}

/* UnicornStudio canvas inside Fern's background container */
#unicorn-embed {
  position: absolute;
  inset: 0;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, black 40%, transparent 85%);
  mask-image: linear-gradient(to bottom, black 40%, transparent 85%);
}

#unicorn-embed::before {
  content: "";
  position: absolute;
  top: -10%;
  left: 50%;
  translate: -50% 0;
  width: 60%;
  height: 50%;
  background: radial-gradient(ellipse at center, var(--accent), transparent 70%);
  filter: blur(80px);
  mix-blend-mode: screen;
  opacity: 0.5;
  pointer-events: none;
  z-index: 1;
}

:root.dark #unicorn-embed::before {
  background: radial-gradient(ellipse at center, var(--accent), transparent 70%);
}

:root.light #unicorn-embed::before {
  background: radial-gradient(ellipse at center, var(--accent-2), transparent 70%);
}

#unicorn-embed canvas {
  position: relative;
  z-index: 0;
  filter: url(#accent-colorize);
}

:root.light #unicorn-embed canvas {
  opacity: 1;
}

:root.dark #unicorn-embed canvas {
  opacity: 0.8;
}

/* Center landing page content vertically */
.unicorn-anchor {
  min-height: calc(100vh - 200px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  pointer-events: none !important;
  padding-top: 95px !important;
}

/* Landing page headings use EvelethClean font */
.unicorn-anchor h1,
.unicorn-anchor h2,
.unicorn-anchor h3,
.unicorn-anchor h4,
.unicorn-anchor h5,
.unicorn-anchor h6 {
  font-family: EvelethClean, sans-serif;
  font-weight: 700;
}

/* Hide page heading and header tabs only on landing page */
body:has(.unicorn-anchor) .fern-page-heading,
body:has(.unicorn-anchor) .fern-page-heading-wrapper,
body:has(.unicorn-anchor) header.my-8,
body:has(.unicorn-anchor) .fern-header-tabs {
  display: none;
}

.unicorn-anchor .fern-card-group {
  max-width: 800px;
  margin-bottom: 60px !important;
}

.unicorn-anchor .fern-card {
  position: relative;
  background-color: #000000;
  border: none;
  border-radius: 12px;
  text-align: left;
  min-height: 200px;
  pointer-events: auto !important;
  transition: background-color 0.2s ease;
}

.unicorn-anchor .fern-card:hover {
  background-color: #121212;
}
.unicorn-anchor .fern-card:focus-visible {
  background-color: #121212;
}

.unicorn-anchor .fern-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 12px;
  padding: 2px;
  background: linear-gradient(135deg, #1edaeb 0%, #c33cb5 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.unicorn-anchor .fern-card .font-semibold {
  font-size: 1.25rem;
}

/* Light mode card overrides */
:root.light .unicorn-anchor .fern-card {
  background-color: #fbfcfe !important;
}

:root.light .unicorn-anchor .fern-card:hover {
  background-color: #f3f5fb !important;
}
:root.light .unicorn-anchor .fern-card:focus-visible {
  background-color: #f3f5fb !important;
}

:root.light .unicorn-anchor .fern-card::before {
  background: linear-gradient(135deg, #223f99 0%, #c33cb5 100%);
}

/* Disable Fern's default ring styles on header outlined button */
.fern-header-navbar-links .fern-button.outlined {
  --tw-ring-color: transparent !important;
  --tw-ring-offset-width: 0 !important;
  --tw-ring-width: 0 !important;
  box-shadow: none !important;
}

/* Header outlined button styling - matching Ocient site */
.fern-header-navbar-links .fern-button.outlined {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 41px !important;
  min-height: 41px !important;
  max-height: 41px !important;
  padding: 0 15px !important;
  border: 3px solid #1edaeb !important;
  border-radius: 8px !important;
  background-color: transparent !important;
  font-weight: bold !important;
  font-size: 0.875rem !important;
  text-decoration: none !important;
  transition: color 0.3s, background 0.2s;
}

.fern-header-navbar-links .fern-button.outlined:hover {
  background-color: #1edaeb !important;
  border-color: #1edaeb !important;
  color: #000000 !important;
}
.fern-header-navbar-links .fern-button.outlined:focus-visible {
  background-color: #1edaeb !important;
  border-color: #1edaeb !important;
  color: #000000 !important;
}

/* Light mode overrides */
[data-theme="light"] .fern-header-navbar-links .fern-button.outlined,
:root:not(.dark) .fern-header-navbar-links .fern-button.outlined {
  border-color: #223f99 !important;
  color: #000000 !important;
}

[data-theme="light"] .fern-header-navbar-links .fern-button.outlined:hover,
:root:not(.dark) .fern-header-navbar-links .fern-button.outlined:hover {
  background-color: #223f99 !important;
  border-color: #223f99 !important;
  color: #ffffff !important;
}
[data-theme="light"] .fern-header-navbar-links .fern-button.outlined:focus-visible,
:root:not(.dark) .fern-header-navbar-links .fern-button.outlined:focus-visible {
  background-color: #223f99 !important;
  border-color: #223f99 !important;
  color: #ffffff !important;
}

/* Sidebar active link - text accent color only, no background */
.fern-sidebar-link[data-state="active"],
.fern-sidebar-link.active,
.fern-sidebar a[aria-current="page"],
a.fern-sidebar-link[data-state="active"],
button.fern-sidebar-link[data-state="active"] {
  background-color: transparent !important;
  color: var(--accent) !important;
}

.fern-sidebar-link[data-state="active"] .fern-sidebar-link-title,
.fern-sidebar-link[data-state="active"] .fern-sidebar-link-title-inner {
  color: var(--accent) !important;
}

/* Ocient SQL keyword highlighting
   Applies SQL keyword colors to Ocient-specific keywords that Shiki's
   standard SQL grammar does not recognize (e.g. STORAGESPACE, CLUSTERING).
   Light mode: #7B1FA2 (purple) — distinct from standard SQL keyword red.
   Dark mode: uses --shiki-dark CSS variable so that the existing Shiki rule
   .dark .code-block-line-content span { color: var(--shiki-dark) !important; }
   picks up the custom color automatically. */
.ocient-sql-keyword {
  color: #7B1FA2 !important;
  --shiki-dark: #CE93D8;
}
