/*fern-site-stylesheet*/:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 768px;
  --sidebar-width: 288px;
  --page-width: 1408px;
  --logo-height: 20px;
  --font-body: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 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: #fffcfc;
  --accent-2: #fef8f7;
  --accent-3: #fcecea;
  --accent-4: #ffdeda;
  --accent-5: #fdd1cb;
  --accent-6: #f6c2bb;
  --accent-7: #ecafa8;
  --accent-8: #e1968e;
  --accent-9: #a52222;
  --accent-10: #930611;
  --accent-11: #c13f3a;
  --accent-12: #5f201d;

  --accent-a1: #ff000003;
  --accent-a2: #e0200008;
  --accent-a3: #db190015;
  --accent-a4: #ff1c0025;
  --accent-a5: #f61e0034;
  --accent-a6: #de1b0044;
  --accent-a7: #c8150057;
  --accent-a8: #bc130071;
  --accent-a9: #970000dd;
  --accent-a10: #90000bf9;
  --accent-a11: #af0700c5;
  --accent-a12: #4b0300e2;

  --accent-contrast: #fff;
  --accent-surface: #fef6f5cc;
  --accent-indicator: #a52222;
  --accent-track: #a52222;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.4% 0.0026 26.46);
      --accent-2: oklch(98.3% 0.007 26.46);
      --accent-3: oklch(95.5% 0.0181 26.46);
      --accent-4: oklch(92.8% 0.0384 26.46);
      --accent-5: oklch(89.6% 0.0502 26.46);
      --accent-6: oklch(85.7% 0.0604 26.46);
      --accent-7: oklch(80.8% 0.0726 26.46);
      --accent-8: oklch(74.6% 0.092 26.46);
      --accent-9: oklch(47.3% 0.1672 26.46);
      --accent-10: oklch(42% 0.1672 26.46);
      --accent-11: oklch(55.4% 0.1672 26.46);
      --accent-12: oklch(34% 0.0924 26.46);

      --accent-a1: color(display-p3 0.6745 0.0235 0.0235 / 0.012);
      --accent-a2: color(display-p3 0.7569 0.1451 0.0196 / 0.032);
      --accent-a3: color(display-p3 0.7176 0.1529 0.0078 / 0.083);
      --accent-a4: color(display-p3 0.8627 0.1176 0.0078 / 0.142);
      --accent-a5: color(display-p3 0.8235 0.1373 0 / 0.2);
      --accent-a6: color(display-p3 0.7451 0.1098 0.0039 / 0.259);
      --accent-a7: color(display-p3 0.6745 0.0863 0.0039 / 0.334);
      --accent-a8: color(display-p3 0.6275 0.0745 0.0039 / 0.432);
      --accent-a9: color(display-p3 0.5176 0.0275 0 / 0.84);
      --accent-a10: color(display-p3 0.4706 0.0078 0 / 0.899);
      --accent-a11: color(display-p3 0.5961 0.0471 0 / 0.75);
      --accent-a12: color(display-p3 0.251 0.0196 0 / 0.875);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9922 0.9647 0.9608 / 0.8);
      --accent-indicator: oklch(47.3% 0.1672 26.46);
      --accent-track: oklch(47.3% 0.1672 26.46);
    }
  }
}


.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: #150e0d;
  --accent-2: #1f1413;
  --accent-3: #3a1414;
  --accent-4: #4f1316;
  --accent-5: #5f1a1d;
  --accent-6: #702728;
  --accent-7: #893637;
  --accent-8: #b34749;
  --accent-9: #ff7373;
  --accent-10: #f26768;
  --accent-11: #ff8f8d;
  --accent-12: #ffd3d0;

  --accent-a1: #e5000006;
  --accent-a2: #f14c3d11;
  --accent-a3: #fe27272d;
  --accent-a4: #fd1c2744;
  --accent-a5: #fd2e3755;
  --accent-a6: #fd494b67;
  --accent-a7: #fe5b5d82;
  --accent-a8: #ff6164ae;
  --accent-a9: #ff7373;
  --accent-a10: #fe6c6df2;
  --accent-a11: #ff8f8d;
  --accent-a12: #ffd3d0;

  --accent-contrast: #fff;
  --accent-surface: #2e181680;
  --accent-indicator: #ff7373;
  --accent-track: #ff7373;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(17.3% 0.0129 22.31);
      --accent-2: oklch(20.4% 0.0182 22.31);
      --accent-3: oklch(25.1% 0.0601 22.31);
      --accent-4: oklch(29% 0.0892 22.31);
      --accent-5: oklch(33.2% 0.0996 22.31);
      --accent-6: oklch(38.2% 0.1044 22.31);
      --accent-7: oklch(44.9% 0.1142 22.31);
      --accent-8: oklch(54.4% 0.1404 22.31);
      --accent-9: oklch(72.4% 0.1714 22.31);
      --accent-10: oklch(68.7% 0.1714 22.31);
      --accent-11: oklch(78.5% 0.1556 22.31);
      --accent-12: oklch(90.4% 0.0507 22.31);

      --accent-a1: color(display-p3 0.9882 0 0 / 0.017);
      --accent-a2: color(display-p3 0.9922 0.349 0.2784 / 0.055);
      --accent-a3: color(display-p3 0.9961 0.2118 0.1882 / 0.155);
      --accent-a4: color(display-p3 1 0.2 0.2 / 0.235);
      --accent-a5: color(display-p3 1 0.2627 0.2627 / 0.298);
      --accent-a6: color(display-p3 1 0.3647 0.3451 / 0.365);
      --accent-a7: color(display-p3 0.9961 0.4235 0.4157 / 0.465);
      --accent-a8: color(display-p3 1 0.451 0.4392 / 0.628);
      --accent-a9: color(display-p3 1 0.5137 0.498 / 0.929);
      --accent-a10: color(display-p3 1 0.4941 0.4745 / 0.875);
      --accent-a11: color(display-p3 1 0.6196 0.5961 / 0.938);
      --accent-a12: color(display-p3 1 0.8588 0.8431 / 0.971);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.1647 0.0941 0.0863 / 0.5);
      --accent-indicator: oklch(72.4% 0.1714 22.31);
      --accent-track: oklch(72.4% 0.1714 22.31);
    }
  }
}


.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(165, 34, 34, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(228, 228, 228, 1);
  --sidebar-background: rgba(255, 255, 255, 1);
  --header-background: rgba(255, 255, 255, 1);
  --card-background: rgba(247, 247, 247, 1);
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(255, 115, 115, 1);
  --background: rgba(16, 16, 16, 1);
  --border: rgba(36, 39, 40, 1);
  --sidebar-background: rgba(16, 16, 16, 1);
  --header-background: rgba(16, 16, 16, 1);
  --card-background: rgba(20, 20, 20, 1);
  --theme-color: #101010;
}

/* Custom styles for summarize docs - RaggioProietto palette (Raycast-derived).
   Colors come from docs.yml; this file adds typography and shape only. */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=JetBrains+Mono:wght@100..800&display=swap');

/* html:root beats the :root block Fern generates from docs.yml. */
html:root {
  --font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-heading: var(--font-body);
  --font-code: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-mono: var(--font-code);
  --default-font-family: var(--font-body);
  --default-mono-font-family: var(--font-code);
  /* RaggioProietto base radius is 6px (theme scale: 6/8/12/16). */
  --radius: 0.375rem;
}

body {
  font-feature-settings: "ss03" 1, "calt" 1, "kern" 1, "liga" 1;
}

/* Header logo: Fern hardcodes a 20px inline height, which shrinks the
   wordmark to ~9px. Scale it to the 64px header instead. */
a[data-fern-logo] img {
  height: 2rem !important;
  max-height: none !important;
  width: auto !important;
}

/* Contrast fixes from the webapp theme review, applied to docs:
   - coral filled buttons need dark text in dark mode (white on #ff7373 = 2.6:1)
   - three Shiki light tokens fall below 4.5:1 on the light code surface */
html.dark .fern-button.filled.primary,
html.dark .fern-button.filled.primary .fern-button-content,
html.dark .fern-button.filled.primary .fern-button-text {
  color: #101010 !important;
}

html:not(.dark) span[style*="#c2c3c5" i],
html:not(.dark) span[style*="rgb(194, 195, 197)" i],
html:not(.dark) span[style*="rgb(194,195,197)" i] {
  color: #707070 !important;
}

html:not(.dark) span[style*="#1976d2" i],
html:not(.dark) span[style*="rgb(25, 118, 210)" i],
html:not(.dark) span[style*="rgb(25,118,210)" i] {
  color: #1565c0 !important;
}

html:not(.dark) span[style*="#22863a" i],
html:not(.dark) span[style*="rgb(34, 134, 58)" i],
html:not(.dark) span[style*="rgb(34,134,58)" i] {
  color: #186a30 !important;
}

/* Code blocks and groups */
.fern-code-block,
.fern-code-group {
  border-radius: var(--radius);
  border: 1px solid var(--border);
}

.fern-code-group-tab {
  border-radius: var(--radius);
}

/* Callouts keep Fern's per-type tint, only the shape changes */
.fern-callout,
.fern-card,
.fern-collapsible-card {
  border-radius: var(--radius);
}

.fern-card,
.fern-collapsible-card {
  border-color: var(--border);
}

/* Prose tables and API reference tables */
.fern-prose table,
.fern-table-root {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

.fern-prose th,
.fern-prose td,
.fern-table-root th,
.fern-table-root td {
  border-color: var(--border);
}

.fern-prose th,
.fern-table-root th {
  background: var(--card-background);
  font-weight: 600;
}

/* Mermaid diagram containers */
.fern-mermaid {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card-background);
  padding: 1rem;
}

/* Nav and links */
.fern-sidebar-link {
  border-radius: var(--radius);
}

.fern-prose a {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

/* Coral highlight, matching the theme's --ray-highlight/--ray-selection */
::selection {
  background: rgba(255, 99, 99, 0.22);
}

/* Thin hairline scrollbars, like the theme's rail */
.fern-scroll-area-thumb {
  background: var(--border);
}

.fern-scroll-area-thumb:hover {
  background: var(--card-border);
}
.fern-scroll-area-thumb:focus-visible {
  background: var(--card-border);
}
