/*fern-site-stylesheet*/:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 640px;
  --sidebar-width: 288px;
  --page-width: 100vw;
  --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: #f8fafb;
  --accent-2: #f1f6fd;
  --accent-3: #e6effe;
  --accent-4: #d6e7ff;
  --accent-5: #c3dcff;
  --accent-6: #adcfff;
  --accent-7: #94bcff;
  --accent-8: #6ea2fe;
  --accent-9: #06f;
  --accent-10: #0059e8;
  --accent-11: #0058e7;
  --accent-12: #0a2e6b;

  --accent-a1: #7b7d0004;
  --accent-a2: #1563cc0a;
  --accent-a3: #085ff315;
  --accent-a4: #026cff25;
  --accent-a5: #046dff39;
  --accent-a6: #016bff4f;
  --accent-a7: #0361ff69;
  --accent-a8: #005bfe8f;
  --accent-a9: #0066ff;
  --accent-a10: #0059e8;
  --accent-a11: #0058e7;
  --accent-a12: #002565f5;

  --accent-contrast: #fff;
  --accent-surface: #eff5fdcc;
  --accent-indicator: #06f;
  --accent-track: #06f;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(98.3% 0.0027 260.8);
      --accent-2: oklch(97.1% 0.0108 260.8);
      --accent-3: oklch(94.8% 0.0226 260.8);
      --accent-4: oklch(92.3% 0.0436 260.8);
      --accent-5: oklch(89.1% 0.0649 260.8);
      --accent-6: oklch(84.9% 0.0871 260.8);
      --accent-7: oklch(79.3% 0.1087 260.8);
      --accent-8: oklch(71.7% 0.145 260.8);
      --accent-9: oklch(56.3% 0.2408 260.8);
      --accent-10: oklch(51.8% 0.2282 260.8);
      --accent-11: oklch(51.6% 0.2282 260.8);
      --accent-12: oklch(31.8% 0.1151 260.8);

      --accent-a1: color(display-p3 0.4902 0.502 0.0235 / 0.016);
      --accent-a2: color(display-p3 0 0.2549 0.6353 / 0.032);
      --accent-a3: color(display-p3 0 0.2824 0.8941 / 0.072);
      --accent-a4: color(display-p3 0 0.3373 0.9412 / 0.132);
      --accent-a5: color(display-p3 0 0.3412 0.9412 / 0.2);
      --accent-a6: color(display-p3 0 0.3451 0.9451 / 0.28);
      --accent-a7: color(display-p3 0 0.3137 0.949 / 0.376);
      --accent-a8: color(display-p3 0 0.298 0.9412 / 0.516);
      --accent-a9: color(display-p3 0 0.2745 0.9569 / 0.832);
      --accent-a10: color(display-p3 0 0.2392 0.8588 / 0.856);
      --accent-a11: color(display-p3 0 0.2353 0.851 / 0.856);
      --accent-a12: color(display-p3 0 0.102 0.3529 / 0.916);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9412 0.9608 0.9843 / 0.8);
      --accent-indicator: oklch(56.3% 0.2408 260.8);
      --accent-track: oklch(56.3% 0.2408 260.8);
    }
  }
}


.light, :root {
  --grayscale-1: #fcfcfd;
  --grayscale-2: #f9f9fb;
  --grayscale-3: #f0f0f3;
  --grayscale-4: #e8e8ec;
  --grayscale-5: #e0e1e6;
  --grayscale-6: #d9d9e0;
  --grayscale-7: #cdced6;
  --grayscale-8: #b9bbc6;
  --grayscale-9: #8b8d98;
  --grayscale-10: #80838d;
  --grayscale-11: #60646c;
  --grayscale-12: #1c2024;

  --grayscale-a1: #00005503;
  --grayscale-a2: #00005506;
  --grayscale-a3: #0000330f;
  --grayscale-a4: #00002d17;
  --grayscale-a5: #0009321f;
  --grayscale-a6: #00002f26;
  --grayscale-a7: #00062e32;
  --grayscale-a8: #00083046;
  --grayscale-a9: #00051d74;
  --grayscale-a10: #00071b7f;
  --grayscale-a11: #0007149f;
  --grayscale-a12: #000509e3;

  --grayscale-contrast: #000;
  --grayscale-surface: #ffffffcc;
  --grayscale-indicator: #8b8d98;
  --grayscale-track: #8b8d98;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.988 0.988 0.992);
      --grayscale-2: color(display-p3 0.976 0.976 0.984);
      --grayscale-3: color(display-p3 0.94 0.941 0.953);
      --grayscale-4: color(display-p3 0.908 0.909 0.925);
      --grayscale-5: color(display-p3 0.88 0.881 0.901);
      --grayscale-6: color(display-p3 0.85 0.852 0.876);
      --grayscale-7: color(display-p3 0.805 0.808 0.838);
      --grayscale-8: color(display-p3 0.727 0.733 0.773);
      --grayscale-9: color(display-p3 0.547 0.553 0.592);
      --grayscale-10: color(display-p3 0.503 0.512 0.549);
      --grayscale-11: color(display-p3 0.379 0.392 0.421);
      --grayscale-12: color(display-p3 0.113 0.125 0.14);

      --grayscale-a1: #00005503;
      --grayscale-a2: #00005506;
      --grayscale-a3: #0000330f;
      --grayscale-a4: #00002d17;
      --grayscale-a5: #0009321f;
      --grayscale-a6: #00002f26;
      --grayscale-a7: #00062e32;
      --grayscale-a8: #00083046;
      --grayscale-a9: #00051d74;
      --grayscale-a10: #00071b7f;
      --grayscale-a11: #0007149f;
      --grayscale-a12: #000509e3;

      --grayscale-contrast: #000;
      --grayscale-surface: color(display-p3 1 1 1 / 80%);
      --grayscale-indicator: color(display-p3 0.547 0.553 0.592);
      --grayscale-track: color(display-p3 0.547 0.553 0.592);
    }
  }
}


.dark {
  --accent-1: #08101a;
  --accent-2: #0f1925;
  --accent-3: #0d2746;
  --accent-4: #033161;
  --accent-5: #0b3e74;
  --accent-6: #194c85;
  --accent-7: #265d9c;
  --accent-8: #2e70bb;
  --accent-9: #4a9eff;
  --accent-10: #3d92f2;
  --accent-11: #76b7ff;
  --accent-12: #cae3ff;

  --accent-a1: #008f1a02;
  --accent-a2: #6dd4f20d;
  --accent-a3: #1a8cff31;
  --accent-a4: #007cfd50;
  --accent-a5: #0d86fd65;
  --accent-a6: #2a91fd78;
  --accent-a7: #3c99ff91;
  --accent-a8: #3d99feb4;
  --accent-a9: #4a9eff;
  --accent-a10: #4099fff1;
  --accent-a11: #76b7ff;
  --accent-a12: #cae3ff;

  --accent-contrast: #fff;
  --accent-surface: #14233080;
  --accent-indicator: #4a9eff;
  --accent-track: #4a9eff;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(16.9% 0.025 254);
      --accent-2: oklch(20.9% 0.0286 254);
      --accent-3: oklch(27.2% 0.0649 254);
      --accent-4: oklch(31.6% 0.0972 254);
      --accent-5: oklch(36.4% 0.1052 254);
      --accent-6: oklch(41.6% 0.1091 254);
      --accent-7: oklch(47.5% 0.1175 254);
      --accent-8: oklch(54.1% 0.1355 254);
      --accent-9: oklch(69.3% 0.1647 254);
      --accent-10: oklch(65.5% 0.1647 254);
      --accent-11: oklch(76.8% 0.1307 254);
      --accent-12: oklch(90.7% 0.0496 254);

      --accent-a1: color(display-p3 0 0.8431 0.098 / 0.005);
      --accent-a2: color(display-p3 0.5333 0.8784 1 / 0.048);
      --accent-a3: color(display-p3 0.2353 0.5412 1 / 0.187);
      --accent-a4: color(display-p3 0.1333 0.4863 0.9961 / 0.3);
      --accent-a5: color(display-p3 0.2196 0.5373 0.9961 / 0.379);
      --accent-a6: color(display-p3 0.298 0.5804 0.9961 / 0.453);
      --accent-a7: color(display-p3 0.3451 0.6118 1 / 0.548);
      --accent-a8: color(display-p3 0.349 0.6118 1 / 0.679);
      --accent-a9: color(display-p3 0.3882 0.6314 1 / 0.97);
      --accent-a10: color(display-p3 0.3569 0.6157 1 / 0.914);
      --accent-a11: color(display-p3 0.5373 0.7294 1 / 0.974);
      --accent-a12: color(display-p3 0.8235 0.898 1 / 0.987);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.0863 0.1255 0.1804 / 0.5);
      --accent-indicator: oklch(69.3% 0.1647 254);
      --accent-track: oklch(69.3% 0.1647 254);
    }
  }
}


.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(0, 102, 255, 1);
  --background: rgba(250, 252, 255, 1);
  --border: rgba(208, 215, 226, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #fafcff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(74, 158, 255, 1);
  --background: rgba(10, 15, 26, 1);
  --border: rgba(42, 51, 66, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #0a0f1a;
}

/* Ziro Blueprint — Digital Health Application Playbook */
/* Design System Styles */

/* Subtle medical blue gradient background */
.fern-background-image {
  background-image: linear-gradient(180deg, rgba(0, 102, 255, 0.03) 0%, transparent 50%);
}

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

/* Blueprint section styling */
.blueprint-hero {
  text-align: center;
  padding: 3rem 0;
}

.blueprint-hero h1 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.blueprint-hero .subtitle {
  font-size: 1.2rem;
  opacity: 0.8;
  max-width: 600px;
  margin: 0 auto 2rem;
}

/* Part divider styling */
.part-divider {
  border: none;
  border-top: 2px solid var(--accent-primary);
  opacity: 0.3;
  margin: 2rem 0;
}

/* Philosophy blockquote styling */
.philosophy-quote {
  border-left: 4px solid var(--accent-primary);
  padding: 1.5rem 2rem;
  margin: 2rem 0;
  background: rgba(0, 102, 255, 0.03);
  border-radius: 0 8px 8px 0;
  font-style: italic;
}

.philosophy-quote cite {
  display: block;
  margin-top: 0.5rem;
  font-style: normal;
  font-size: 0.9rem;
  opacity: 0.7;
}

/* Metric cards */
.metric {
  text-align: center;
  padding: 1.5rem;
}

.metric .value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--accent-primary);
}

.metric .label {
  font-size: 0.9rem;
  opacity: 0.7;
  margin-top: 0.25rem;
}
