/*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: #f8f9fb;
  --accent-2: #f2f3fd;
  --accent-3: #e9ecfe;
  --accent-4: #dce2ff;
  --accent-5: #ced6ff;
  --accent-6: #bdc7ff;
  --accent-7: #a7b2ff;
  --accent-8: #8b94ff;
  --accent-9: #4a28e8;
  --accent-10: #4000d5;
  --accent-11: #4d39e4;
  --accent-12: #262174;

  --accent-a1: #5051a703;
  --accent-a2: #e2e3ff55;
  --accent-a3: #e1e5ffaa;
  --accent-a4: #dce2ff;
  --accent-a5: #ced6ff;
  --accent-a6: #bdc7ff;
  --accent-a7: #a7b2ff;
  --accent-a8: #8b94ff;
  --accent-a9: #2a01e4d7;
  --accent-a10: #4000d5;
  --accent-a11: #1b01dec6;
  --accent-a12: #07015fde;

  --accent-contrast: #fff;
  --accent-surface: #f0f1fecc;
  --accent-indicator: #4a28e8;
  --accent-track: #4a28e8;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(98.1% 0.0035 277.9);
      --accent-2: oklch(96.7% 0.0128 277.9);
      --accent-3: oklch(94.6% 0.0243 277.9);
      --accent-4: oklch(91.9% 0.0489 277.9);
      --accent-5: oklch(88.7% 0.0731 277.9);
      --accent-6: oklch(84.6% 0.0972 277.9);
      --accent-7: oklch(78.9% 0.1231 277.9);
      --accent-8: oklch(70.9% 0.1642 277.9);
      --accent-9: oklch(47.4% 0.2603 277.9);
      --accent-10: oklch(42.2% 0.2603 277.9);
      --accent-11: oklch(49.1% 0.2413 277.9);
      --accent-12: oklch(31.4% 0.1362 277.9);

      --accent-a1: color(display-p3 0 0.0078 0.498 / 0.008);
      --accent-a2: color(display-p3 0 0.0078 0.9922 / 0.032);
      --accent-a3: color(display-p3 0 0.0667 0.9922 / 0.064);
      --accent-a4: color(display-p3 0 0.1412 0.9882 / 0.116);
      --accent-a5: color(display-p3 0 0.1412 0.9882 / 0.172);
      --accent-a6: color(display-p3 0 0.1216 0.9686 / 0.236);
      --accent-a7: color(display-p3 0.0039 0.102 0.9529 / 0.324);
      --accent-a8: color(display-p3 0 0.0549 0.9529 / 0.436);
      --accent-a9: color(display-p3 0.1294 0 0.851 / 0.833);
      --accent-a10: color(display-p3 0.2078 0 0.7961 / 0.977);
      --accent-a11: color(display-p3 0.0824 0 0.8235 / 0.769);
      --accent-a12: color(display-p3 0.0196 0 0.3529 / 0.869);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9412 0.9451 0.9922 / 0.8);
      --accent-indicator: oklch(47.4% 0.2603 277.9);
      --accent-track: oklch(47.4% 0.2603 277.9);
    }
  }
}


.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: #070f0c;
  --accent-2: #101b18;
  --accent-3: #0b2d25;
  --accent-4: #023b2f;
  --accent-5: #08483a;
  --accent-6: #145747;
  --accent-7: #1e6957;
  --accent-8: #227f69;
  --accent-9: #05b493;
  --accent-10: #00a887;
  --accent-11: #46d4b2;
  --accent-12: #a7f1da;

  --accent-a1: #00cc0004;
  --accent-a2: #3dfc7210;
  --accent-a3: #00fd9c23;
  --accent-a4: #00fca632;
  --accent-a5: #00ffb43f;
  --accent-a6: #24ffbe4f;
  --accent-a7: #3afec662;
  --accent-a8: #39ffca79;
  --accent-a9: #02fecbb1;
  --accent-a10: #00ffc8a4;
  --accent-a11: #53ffd5d2;
  --accent-a12: #b0fee6f1;

  --accent-contrast: #fff;
  --accent-surface: #132a1e80;
  --accent-indicator: #05b493;
  --accent-track: #05b493;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(15.9% 0.014 173.3);
      --accent-2: oklch(21.1% 0.0182 173.3);
      --accent-3: oklch(27% 0.0425 173.3);
      --accent-4: oklch(31.5% 0.0589 173.3);
      --accent-5: oklch(36.1% 0.0657 173.3);
      --accent-6: oklch(41.1% 0.0704 173.3);
      --accent-7: oklch(47% 0.0784 173.3);
      --accent-8: oklch(53.7% 0.092 173.3);
      --accent-9: oklch(68.7% 0.1309 173.3);
      --accent-10: oklch(64.9% 0.1309 173.3);
      --accent-11: oklch(78.6% 0.1309 173.3);
      --accent-12: oklch(90.3% 0.08 173.3);

      --accent-a1: color(display-p3 0 0.9529 0 / 0.013);
      --accent-a2: color(display-p3 0.3686 0.9961 0.451 / 0.062);
      --accent-a3: color(display-p3 0.2902 1 0.6353 / 0.132);
      --accent-a4: color(display-p3 0.2353 1 0.6902 / 0.19);
      --accent-a5: color(display-p3 0.3451 1 0.7333 / 0.243);
      --accent-a6: color(display-p3 0.4275 1 0.7647 / 0.305);
      --accent-a7: color(display-p3 0.4706 0.9961 0.8039 / 0.375);
      --accent-a8: color(display-p3 0.4824 1 0.8118 / 0.466);
      --accent-a9: color(display-p3 0.4431 1 0.8275 / 0.68);
      --accent-a10: color(display-p3 0.4353 1 0.8118 / 0.63);
      --accent-a11: color(display-p3 0.5412 1 0.8549 / 0.811);
      --accent-a12: color(display-p3 0.7647 1 0.9137 / 0.935);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.0863 0.1647 0.1176 / 0.5);
      --accent-indicator: oklch(68.7% 0.1309 173.3);
      --accent-track: oklch(68.7% 0.1309 173.3);
    }
  }
}


.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(74, 40, 232, 1);
  --background: rgba(250, 251, 252, 1);
  --border: rgba(230, 234, 242, 1);
  --sidebar-background: rgba(250, 251, 252, 1);
  --header-background: rgba(250, 251, 252, 1);
  --card-background: rgba(255, 255, 255, 1);
  --theme-color: #fafbfc;
}

.dark {
  color-scheme: dark;
  --accent: rgba(5, 180, 147, 1);
  --background: rgba(13, 12, 18, 1);
  --border: rgba(99, 97, 103, 1);
  --sidebar-background: rgba(13, 12, 18, 1);
  --header-background: rgba(13, 12, 18, 1);
  --card-background: rgba(13, 12, 18, 1);
  --theme-color: #0d0c12;
}

:root {
  --connector-card-border: rgba(99, 97, 103, 0.35);
  --connector-card-bg: #ffffff;
  --connector-card-hover-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
  --connector-logo-tile-border: rgba(99, 97, 103, 0.22);
  --connector-logo-tile-bg: #ffffff;
  --connector-chip-bg: rgba(74, 40, 232, 0.12);
  --accordion-button-border: rgba(99, 97, 103, 0.24);
  --accordion-button-hover-bg: rgba(74, 40, 232, 0.08);
}

html.light {
  --connector-card-border: rgba(99, 97, 103, 0.35);
  --connector-card-bg: #ffffff;
  --connector-card-hover-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
  --connector-logo-tile-border: rgba(99, 97, 103, 0.22);
  --connector-logo-tile-bg: #ffffff;
  --connector-chip-bg: rgba(74, 40, 232, 0.12);
  --accordion-button-border: rgba(99, 97, 103, 0.24);
  --accordion-button-hover-bg: rgba(74, 40, 232, 0.08);
}

html.dark {
  --connector-card-border: rgba(230, 234, 242, 0.35);
  --connector-card-bg: #1a1a20;
  --connector-card-hover-shadow: 0 12px 20px rgba(0, 0, 0, 0.35);
  --connector-logo-tile-border: rgba(230, 234, 242, 0.35);
  --connector-logo-tile-bg: #ffffff;
  --connector-chip-bg: rgba(5, 180, 147, 0.2);
  --accordion-button-border: rgba(230, 234, 242, 0.3);
  --accordion-button-hover-bg: rgba(5, 180, 147, 0.16);
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 220px));
  justify-content: start;
  gap: 16px;
  margin: 20px 0 24px;
}

.card-grid-fluid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 20px 0 24px;
}

.agent-directive {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.agent-directive:focus,
.agent-directive:focus-within {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

[role="tabpanel"][hidden]:has(:target),
[role="tabpanel"][data-state="inactive"]:has(:target) {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  opacity: 1 !important;
}

.voice-connector-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 230px;
  padding: 16px;
  border: 1px solid var(--connector-card-border);
  border-radius: 14px;
  background: var(--connector-card-bg);
  color: inherit;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.voice-connector-card:hover {
  transform: translateY(-2px);
  border-color: var(--accent);
  box-shadow: var(--connector-card-hover-shadow);
}
.voice-connector-card:focus-visible {
  transform: translateY(-2px);
  border-color: var(--accent);
  box-shadow: var(--connector-card-hover-shadow); outline: none;
}

.voice-connector-card h3 {
  margin: 0;
  font-size: 1.05rem;
}

.voice-connector-card p {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.45;
}

.card-grid.compact,
.card-grid-fluid.compact {
  grid-template-columns: repeat(auto-fill, minmax(150px, 150px));
  justify-content: start;
  gap: 12px;
  margin: 16px 0 18px;
}

.voice-connector-card.compact {
  min-height: 0;
  gap: 8px;
  padding: 12px;
}

.voice-connector-card.compact h3 {
  font-size: 0.96rem;
  line-height: 1.3;
}

.voice-connector-card.compact .voice-connector-logo-wrap {
  width: 44px;
  height: 44px;
  border-radius: 10px;
}

.voice-connector-card.compact .voice-connector-logo {
  width: 24px;
  height: 24px;
}

.voice-connector-logo-wrap {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid var(--connector-logo-tile-border);
  background: var(--connector-logo-tile-bg);
}

.voice-connector-logo {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.voice-connector-chip {
  margin-top: auto;
  display: inline-block;
  width: fit-content;
  font-size: 0.78rem;
  font-weight: 500;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--connector-chip-bg);
}

.capabilities-vendor-logo-wrap {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid var(--connector-logo-tile-border);
  background: var(--connector-logo-tile-bg);
}

.capabilities-vendor-logo {
  width: 26px;
  height: 26px;
  object-fit: contain;
  display: block;
}

.capabilities-vendor-cards :is(h2, h3, h4, h5, h6) {
  min-height: 2.8em;
}

.capabilities-anchor-target {
  position: relative;
  top: -6px;
}

.capabilities-details-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 10px;
}

.capabilities-details-header h2 {
  margin: 0;
}

.capabilities-accordion-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.capabilities-accordion-button {
  cursor: pointer;
  border-radius: 6px;
  border: 1px solid var(--accordion-button-border);
  background: transparent;
  color: inherit;
  font-size: 0.74rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 4px 8px;
  opacity: 0.88;
  transition: border-color 0.12s ease, opacity 0.12s ease, background-color 0.12s ease;
}

.capabilities-accordion-button:hover {
  border-color: var(--accent);
  background: var(--accordion-button-hover-bg);
  opacity: 1;
}
.capabilities-accordion-button:focus-visible {
  border-color: var(--accent);
  background: var(--accordion-button-hover-bg);
  opacity: 1; outline: none;
}

.capabilities-accordion-button span {
  display: inline-block;
  margin-right: 5px;
  font-size: 1rem;
  line-height: 0.9;
  transform: translateY(1px);
}

@media (max-width: 780px) {

  .capabilities-details-header {
    flex-direction: column;
    align-items: flex-start;
  }

}

.themed-figure {
  margin: 18px 0 22px;
}

.themed-figure img {
  width: 100%;
  max-width: 980px;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 18px;
}

.theme-dark-asset {
  display: none !important;
}

html.dark .theme-light-asset {
  display: none !important;
}

html.dark #fern-sidebar img[src*="/docs/assets/connectors/dialogflow-nav.svg"] {
  background: #ffffff;
  border: 1px solid rgba(217, 224, 234, 0.9);
  border-radius: 5px;
  padding: 2px;
  box-sizing: content-box;
  width: 14px;
  height: 14px;
  min-width: 14px;
  min-height: 14px;
  object-fit: contain;
  display: block;
  filter: none !important;
}

html.dark .theme-dark-asset {
  display: block !important;
}

.comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0 22px;
}

.detail-card {
  border: 1px solid var(--connector-card-border);
  border-radius: 14px;
  background: var(--connector-card-bg);
  padding: 16px 18px;
}

.detail-card h4 {
  margin-top: 0;
  margin-bottom: 10px;
}

.detail-card ul {
  margin: 0;
  padding-left: 20px;
}

@media (max-width: 780px) {

  .comparison-grid {
    grid-template-columns: 1fr;
  }

  .card-grid,
  .card-grid-fluid,
  .card-grid.compact,
  .card-grid-fluid.compact {
    grid-template-columns: 1fr;
  }

}
