/*fern-site-stylesheet*/:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 640px;
  --sidebar-width: 288px;
  --page-width: 1408px;
  --logo-height: 36px;
  --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: #fffcff;
  --accent-2: #fdf7fe;
  --accent-3: #fceaff;
  --accent-4: #f9dcfe;
  --accent-5: #f4cffb;
  --accent-6: #edbef5;
  --accent-7: #e3a8ed;
  --accent-8: #d68ae4;
  --accent-9: #9c27b0;
  --accent-10: #8c0ea0;
  --accent-11: #9d29b1;
  --accent-12: #590566;

  --accent-a1: #ff00ff03;
  --accent-a2: #c000e008;
  --accent-a3: #db00ff15;
  --accent-a4: #d400f823;
  --accent-a5: #c500ea30;
  --accent-a6: #b900d841;
  --accent-a7: #ad00cb57;
  --accent-a8: #a600c575;
  --accent-a9: #8a00a2d8;
  --accent-a10: #85009bf1;
  --accent-a11: #8a00a2d6;
  --accent-a12: #560063fa;

  --accent-contrast: #fff;
  --accent-surface: #fdf5fecc;
  --accent-indicator: #9c27b0;
  --accent-track: #9c27b0;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.3% 0.0059 321.2);
      --accent-2: oklch(98.3% 0.0114 321.2);
      --accent-3: oklch(95.7% 0.0341 321.2);
      --accent-4: oklch(92.9% 0.0543 321.2);
      --accent-5: oklch(89.8% 0.0715 321.2);
      --accent-6: oklch(86% 0.09 321.2);
      --accent-7: oklch(80.9% 0.1138 321.2);
      --accent-8: oklch(74.2% 0.1493 321.2);
      --accent-9: oklch(51.7% 0.2151 321.2);
      --accent-10: oklch(46.8% 0.2151 321.2);
      --accent-11: oklch(52.1% 0.2151 321.2);
      --accent-12: oklch(33.8% 0.1554 321.2);

      --accent-a1: color(display-p3 0.6745 0.0235 1 / 0.012);
      --accent-a2: color(display-p3 0.6353 0.0196 0.7569 / 0.032);
      --accent-a3: color(display-p3 0.7059 0.0078 0.9529 / 0.079);
      --accent-a4: color(display-p3 0.6784 0.0078 0.9137 / 0.134);
      --accent-a5: color(display-p3 0.6431 0.0039 0.8549 / 0.185);
      --accent-a6: color(display-p3 0.6078 0.0039 0.7804 / 0.248);
      --accent-a7: color(display-p3 0.5686 0.0039 0.7451 / 0.334);
      --accent-a8: color(display-p3 0.5451 0.0039 0.7216 / 0.448);
      --accent-a9: color(display-p3 0.4627 0 0.5882 / 0.808);
      --accent-a10: color(display-p3 0.4353 0 0.549 / 0.883);
      --accent-a11: color(display-p3 0.4627 0 0.5882 / 0.8);
      --accent-a12: color(display-p3 0.2745 0 0.3451 / 0.942);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9843 0.9608 0.9961 / 0.8);
      --accent-indicator: oklch(51.7% 0.2151 321.2);
      --accent-track: oklch(51.7% 0.2151 321.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: #130a15;
  --accent-2: #210f24;
  --accent-3: #38103f;
  --accent-4: #4b0756;
  --accent-5: #580f64;
  --accent-6: #671e73;
  --accent-7: #7e2e8c;
  --accent-8: #a13cb3;
  --accent-9: #e040fb;
  --accent-10: #d32eee;
  --accent-11: #f881ff;
  --accent-12: #faceff;

  --accent-a1: #e800a307;
  --accent-a2: #f51aed16;
  --accent-a3: #e919fc32;
  --accent-a4: #e300ff4a;
  --accent-a5: #e411ff59;
  --accent-a6: #e735ff69;
  --accent-a7: #e84cff84;
  --accent-a8: #e652ffae;
  --accent-a9: #e441fffb;
  --accent-a10: #e230ffed;
  --accent-a11: #f881ff;
  --accent-a12: #faceff;

  --accent-contrast: #fff;
  --accent-surface: #35103780;
  --accent-indicator: #e040fb;
  --accent-track: #e040fb;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(16.4% 0.0264 321.4);
      --accent-2: oklch(20.5% 0.0471 321.4);
      --accent-3: oklch(26.3% 0.0934 321.4);
      --accent-4: oklch(30.4% 0.1353 321.4);
      --accent-5: oklch(34.2% 0.1458 321.4);
      --accent-6: oklch(38.9% 0.1486 321.4);
      --accent-7: oklch(45.7% 0.163 321.4);
      --accent-8: oklch(54.5% 0.1961 321.4);
      --accent-9: oklch(67.9% 0.2773 321.4);
      --accent-10: oklch(64% 0.2773 321.4);
      --accent-11: oklch(78.6% 0.2378 321.4);
      --accent-12: oklch(90.6% 0.0838 321.4);

      --accent-a1: color(display-p3 0.9882 0 0.6275 / 0.021);
      --accent-a2: color(display-p3 0.9804 0.1608 0.9961 / 0.076);
      --accent-a3: color(display-p3 0.8549 0.1647 1 / 0.185);
      --accent-a4: color(display-p3 0.8275 0.0549 1 / 0.278);
      --accent-a5: color(display-p3 0.8431 0.1529 1 / 0.332);
      --accent-a6: color(display-p3 0.8667 0.2667 1 / 0.395);
      --accent-a7: color(display-p3 0.8627 0.3451 0.9961 / 0.5);
      --accent-a8: color(display-p3 0.8667 0.3725 1 / 0.656);
      --accent-a9: color(display-p3 0.851 0.3137 1 / 0.95);
      --accent-a10: color(display-p3 0.8471 0.2667 1 / 0.895);
      --accent-a11: color(display-p3 0.9412 0.5451 1 / 0.971);
      --accent-a12: color(display-p3 0.9647 0.8275 1 / 0.988);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.1804 0.0706 0.2039 / 0.5);
      --accent-indicator: oklch(67.9% 0.2773 321.4);
      --accent-track: oklch(67.9% 0.2773 321.4);
    }
  }
}


.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(156, 39, 176, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(232, 234, 237, 1);
  --sidebar-background: rgba(248, 249, 250, 1);
  --header-background: rgba(255, 255, 255, 1);
  --card-background: rgba(243, 244, 246, 1);
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(224, 64, 251, 1);
  --background: rgba(13, 14, 17, 1);
  --border: rgba(31, 41, 55, 1);
  --sidebar-background: rgba(17, 24, 39, 1);
  --header-background: rgba(13, 14, 17, 1);
  --card-background: rgba(31, 41, 55, 1);
  --theme-color: #0d0e11;
}

/* Marca Mapeia: Inter + Montserrat, gradiente rosa → roxo → azul, links em ciano */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@600;700;800&display=swap");

:root {
  --brand-gradient: linear-gradient(90deg, #e91e63, #9c27b0, #2196f3);
  --brand-link: #00bcd4;
  --brand-link-hover: #00acc1;
  --brand-text: #111111;
  --brand-muted: #4f4f4f;
}

body {
  font-family: "Inter", system-ui, -apple-system, sans-serif;
}

h1,
h2,
h3,
h4,
.fern-heading,
[class*="fern-heading"] {
  font-family: "Montserrat", "Inter", system-ui, sans-serif;
  font-weight: 700;
  color: var(--brand-text);
}

/* Links em ciano (secundário do site) mantendo contraste */
.fern-prose a,
.fern-docs a:not([class*="logo"]):not(.fern-button) {
  color: var(--brand-link);
  text-decoration-color: color-mix(in srgb, var(--brand-link), transparent 45%);
}

.fern-prose a:hover,
.fern-docs a:not([class*="logo"]):not(.fern-button):hover {
  color: var(--brand-link-hover);
}
.fern-prose a:focus-visible,
.fern-docs a:not([class*="logo"]):not(.fern-button):focus-visible {
  color: var(--brand-link-hover);
}

/* Bloco hero da página inicial */
.brand-welcome {
  margin-bottom: 2.5rem;
}

.brand-welcome__hero {
  display: grid;
  gap: 2rem;
  align-items: center;
  grid-template-columns: 1fr;
}

@media (min-width: 900px) {

  .brand-welcome__hero {
    grid-template-columns: 1fr 1fr;
  }

}

.brand-welcome__kicker {
  font-family: "Montserrat", "Inter", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  line-height: 1.2;
  color: var(--brand-text);
  margin: 0 0 0.75rem;
}

.brand-welcome__gradient {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.brand-welcome__lead {
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--brand-muted);
  margin: 0 0 1.25rem;
  max-width: 36rem;
}

.brand-welcome__visual {
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow:
    0 4px 6px -1px rgb(0 0 0 / 0.06),
    0 12px 24px -4px rgb(156 39 176 / 0.12);
}

.brand-welcome__visual img {
  display: block;
  width: 100%;
  height: auto;
}

.brand-welcome__cards {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  margin-top: 2rem;
  padding: 1.25rem 1.5rem;
  background: var(--card-background, #f8f9fa);
  border: 1px solid var(--border, #e8eaed);
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgb(0 0 0 / 0.04);
}

.dark .brand-welcome__cards {
  background: var(--card-background, #1f2937);
  border-color: var(--border, #374151);
}

.brand-welcome__card {
  text-align: left;
  padding: 0.5rem 0.75rem;
  border-right: 1px solid var(--border, #e8eaed);
}

.brand-welcome__card:last-child {
  border-right: none;
}

@media (max-width: 640px) {

  .brand-welcome__card {
    border-right: none;
    border-bottom: 1px solid var(--border, #e8eaed);
    padding-bottom: 1rem;
  }

  .brand-welcome__card:last-child {
    border-bottom: none;
  }

}

.brand-welcome__card strong {
  display: block;
  font-family: "Montserrat", "Inter", system-ui, sans-serif;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--brand-text);
  margin-bottom: 0.25rem;
}

.brand-welcome__card span {
  font-size: 0.9rem;
  color: var(--brand-muted);
  line-height: 1.45;
}
