@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap);
/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/* Common */

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

:root {
  --ifm-color-scheme: light;

  /* Colors. */
  --ifm-dark-value: 10%;
  --ifm-darker-value: 15%;
  --ifm-darkest-value: 30%;
  --ifm-light-value: 15%;
  --ifm-lighter-value: 30%;
  --ifm-lightest-value: 50%;

  /*
  This seems like a lot, but we want to ensure enough contrast.
  Goal is to have a min score of 3 on https://www.myndex.com/APCA/fullmatrix
  For fontWeight 400 + score 3, the cell must show a value < 16px (fontsize we use in places like alerts)
  See also https://github.com/facebookincubator/infima/issues/55#issuecomment-884023075
   */
  --ifm-contrast-background-value: 90%;
  --ifm-contrast-foreground-value: 70%;
  /* Using slightly different values for dark mode */
  --ifm-contrast-background-dark-value: 70%;
  --ifm-contrast-foreground-dark-value: 90%;

  --ifm-color-primary: #3578e5;
  --ifm-color-secondary: #ebedf0;
  --ifm-color-success: #00a400;
  --ifm-color-info: #54c7ec;
  --ifm-color-warning: #ffba00;
  --ifm-color-danger: #fa383e;
    --ifm-color-primary-dark: rgb(48, 108, 206);
    --ifm-color-primary-darker: rgb(45, 102, 195);
    --ifm-color-primary-darkest: rgb(37, 84, 160);
    --ifm-color-primary-light: rgb(83, 140, 233);
    --ifm-color-primary-lighter: rgb(114, 161, 237);
    --ifm-color-primary-lightest: rgb(154, 188, 242);
    --ifm-color-primary-contrast-background: rgb(235, 242, 252);
    --ifm-color-primary-contrast-foreground: rgb(16, 36, 69);
    --ifm-color-secondary-dark: rgb(212, 213, 216);
    --ifm-color-secondary-darker: rgb(200, 201, 204);
    --ifm-color-secondary-darkest: rgb(164, 166, 168);
    --ifm-color-secondary-light: rgb(238, 240, 242);
    --ifm-color-secondary-lighter: rgb(241, 242, 245);
    --ifm-color-secondary-lightest: rgb(245, 246, 248);
    --ifm-color-secondary-contrast-background: rgb(253, 253, 254);
    --ifm-color-secondary-contrast-foreground: rgb(71, 71, 72);
    --ifm-color-success-dark: rgb(0, 148, 0);
    --ifm-color-success-darker: rgb(0, 139, 0);
    --ifm-color-success-darkest: rgb(0, 115, 0);
    --ifm-color-success-light: rgb(38, 178, 38);
    --ifm-color-success-lighter: rgb(77, 191, 77);
    --ifm-color-success-lightest: rgb(128, 210, 128);
    --ifm-color-success-contrast-background: rgb(230, 246, 230);
    --ifm-color-success-contrast-foreground: rgb(0, 49, 0);
    --ifm-color-info-dark: rgb(76, 179, 212);
    --ifm-color-info-darker: rgb(71, 169, 201);
    --ifm-color-info-darkest: rgb(59, 139, 165);
    --ifm-color-info-light: rgb(110, 207, 239);
    --ifm-color-info-lighter: rgb(135, 216, 242);
    --ifm-color-info-lightest: rgb(170, 227, 246);
    --ifm-color-info-contrast-background: rgb(238, 249, 253);
    --ifm-color-info-contrast-foreground: rgb(25, 60, 71);
    --ifm-color-warning-dark: rgb(230, 167, 0);
    --ifm-color-warning-darker: rgb(217, 158, 0);
    --ifm-color-warning-darkest: rgb(179, 130, 0);
    --ifm-color-warning-light: rgb(255, 196, 38);
    --ifm-color-warning-lighter: rgb(255, 207, 77);
    --ifm-color-warning-lightest: rgb(255, 221, 128);
    --ifm-color-warning-contrast-background: rgb(255, 248, 230);
    --ifm-color-warning-contrast-foreground: rgb(77, 56, 0);
    --ifm-color-danger-dark: rgb(225, 50, 56);
    --ifm-color-danger-darker: rgb(213, 48, 53);
    --ifm-color-danger-darkest: rgb(175, 39, 43);
    --ifm-color-danger-light: rgb(251, 86, 91);
    --ifm-color-danger-lighter: rgb(251, 116, 120);
    --ifm-color-danger-lightest: rgb(253, 156, 159);
    --ifm-color-danger-contrast-background: rgb(255, 235, 236);
    --ifm-color-danger-contrast-foreground: rgb(75, 17, 19);

  --ifm-color-white: #fff;
  --ifm-color-black: #000;

  --ifm-color-gray-0: var(--ifm-color-white);
  --ifm-color-gray-100: #f5f6f7;
  --ifm-color-gray-200: #ebedf0;
  --ifm-color-gray-300: #dadde1;
  --ifm-color-gray-400: #ccd0d5;
  --ifm-color-gray-500: #bec3c9;
  --ifm-color-gray-600: #8d949e;
  --ifm-color-gray-700: #606770;
  --ifm-color-gray-800: #444950;
  --ifm-color-gray-900: #1c1e21;
  --ifm-color-gray-1000: var(--ifm-color-black);

  --ifm-color-emphasis-0: var(--ifm-color-gray-0);
  --ifm-color-emphasis-100: var(--ifm-color-gray-100);
  --ifm-color-emphasis-200: var(--ifm-color-gray-200);
  --ifm-color-emphasis-300: var(--ifm-color-gray-300);
  --ifm-color-emphasis-400: var(--ifm-color-gray-400);
  --ifm-color-emphasis-500: var(--ifm-color-gray-500);
  --ifm-color-emphasis-600: var(--ifm-color-gray-600);
  --ifm-color-emphasis-700: var(--ifm-color-gray-700);
  --ifm-color-emphasis-800: var(--ifm-color-gray-800);
  --ifm-color-emphasis-900: var(--ifm-color-gray-900);
  --ifm-color-emphasis-1000: var(--ifm-color-gray-1000);

  /* Base. */
  --ifm-color-content: var(--ifm-color-emphasis-900);
  --ifm-color-content-inverse: var(--ifm-color-emphasis-0);
  --ifm-color-content-secondary: #525860;

  --ifm-background-color: transparent; /* Body's background. */
  --ifm-background-surface-color: var(--ifm-color-content-inverse);
  --ifm-global-border-width: 1px;
  --ifm-global-radius: 0.4rem;

  --ifm-hover-overlay: rgba(0, 0, 0, 0.05);

  /* Typography. */
  --ifm-font-color-base: var(--ifm-color-content);
  --ifm-font-color-base-inverse: var(--ifm-color-content-inverse);
  --ifm-font-color-secondary: var(--ifm-color-content-secondary);
  --ifm-font-family-base: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont,
    'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji',
    'Segoe UI Emoji', 'Segoe UI Symbol';
  --ifm-font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
    'Liberation Mono', 'Courier New', monospace;
  --ifm-font-size-base: 100%;

  --ifm-font-weight-light: 300;
  --ifm-font-weight-normal: 400;
  --ifm-font-weight-semibold: 500;
  --ifm-font-weight-bold: 700;

  --ifm-font-weight-base: var(--ifm-font-weight-normal);
  --ifm-line-height-base: 1.65;

  /* Spacing. */
  --ifm-global-spacing: 1rem;
  --ifm-spacing-vertical: var(--ifm-global-spacing);
  --ifm-spacing-horizontal: var(--ifm-global-spacing);

  /* Transitions. */
  --ifm-transition-fast: 200ms;
  --ifm-transition-slow: 400ms;
  --ifm-transition-timing-default: cubic-bezier(0.08, 0.52, 0.52, 1);

  /* Shadows. */
  --ifm-global-shadow-lw: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
  --ifm-global-shadow-md: 0 5px 40px rgba(0, 0, 0, 0.2);
  --ifm-global-shadow-tl: 0 12px 28px 0 rgba(0, 0, 0, 0.2),
    0 2px 4px 0 rgba(0, 0, 0, 0.1);

  /* Z-index. */
  --ifm-z-index-dropdown: 100;
  --ifm-z-index-fixed: 200;
  --ifm-z-index-overlay: 400;
  --ifm-container-width: 1140px;
  --ifm-container-width-xl: 1320px;
  --ifm-code-background: rgb(246, 247, 248);
  --ifm-code-border-radius: var(--ifm-global-radius);
  --ifm-code-font-size: 90%;
  --ifm-code-padding-horizontal: 0.1rem;
  --ifm-code-padding-vertical: 0.1rem;

  --ifm-pre-background: var(--ifm-code-background);
  --ifm-pre-border-radius: var(--ifm-code-border-radius);
  --ifm-pre-color: inherit;
  --ifm-pre-line-height: 1.45;
  --ifm-pre-padding: 1rem;
  --ifm-heading-color: inherit;
  --ifm-heading-margin-top: 0;
  --ifm-heading-margin-bottom: var(--ifm-spacing-vertical);
  --ifm-heading-font-family: var(--ifm-font-family-base);
  --ifm-heading-font-weight: var(--ifm-font-weight-bold);
  --ifm-heading-line-height: 1.25;

  --ifm-h1-font-size: 2rem;
  --ifm-h2-font-size: 1.5rem;
  --ifm-h3-font-size: 1.25rem;
  --ifm-h4-font-size: 1rem;
  --ifm-h5-font-size: 0.875rem;
  --ifm-h6-font-size: 0.85rem;
  --ifm-image-alignment-padding: 1.25rem;
  /* Leading is the distance between two baselines */
  /* TODO: add appropriate mobile leading */
  --ifm-leading-desktop: 1.25;
  --ifm-leading: calc(var(--ifm-leading-desktop) * 1rem);
  --ifm-list-left-padding: 2rem;
  --ifm-list-margin: 1rem;
  --ifm-list-item-margin: 0.25rem;
  --ifm-list-paragraph-margin: 1rem;
  --ifm-table-cell-padding: 0.75rem;

  --ifm-table-background: transparent;
  --ifm-table-stripe-background: rgba(0, 0, 0, 0.03);

  --ifm-table-border-width: 1px;
  --ifm-table-border-color: var(--ifm-color-emphasis-300);

  --ifm-table-head-background: inherit;
  --ifm-table-head-color: inherit;
  --ifm-table-head-font-weight: var(--ifm-font-weight-bold);

  --ifm-table-cell-color: inherit;
  /* Links. */
  --ifm-link-color: var(--ifm-color-primary);
  --ifm-link-decoration: none;
  --ifm-link-hover-color: var(--ifm-link-color);
  --ifm-link-hover-decoration: underline;

  /* Paragraphs. */
  --ifm-paragraph-margin-bottom: var(--ifm-leading);

  /* Blockquotes. */
  --ifm-blockquote-font-size: var(--ifm-font-size-base);
  --ifm-blockquote-border-left-width: 2px;
  --ifm-blockquote-padding-horizontal: var(--ifm-spacing-horizontal);
  --ifm-blockquote-padding-vertical: 0;
  --ifm-blockquote-shadow: none;
  --ifm-blockquote-color: var(--ifm-color-emphasis-800);
  --ifm-blockquote-border-color: var(--ifm-color-emphasis-300);

  /* Horizontal Rules. */
  --ifm-hr-background-color: var(--ifm-color-emphasis-500);
  --ifm-hr-height: 1px;
  --ifm-hr-margin-vertical: 1.5rem;
  --ifm-scrollbar-size: 7px;
  --ifm-scrollbar-track-background-color: #f1f1f1;
  --ifm-scrollbar-thumb-background-color: #c0c0c0;
  --ifm-scrollbar-thumb-hover-background-color: #a7a7a7;
  --ifm-alert-background-color: inherit; /* Set a default which will be overridden later. */
  --ifm-alert-border-color: inherit; /* Set a default which will be overridden later. */
  --ifm-alert-border-radius: var(--ifm-global-radius);
  --ifm-alert-border-width: 0px; /* For users that want to easily add a border */
  --ifm-alert-border-left-width: 5px;
  --ifm-alert-color: var(--ifm-font-color-base);
  --ifm-alert-padding-horizontal: var(--ifm-spacing-horizontal);
  --ifm-alert-padding-vertical: var(--ifm-spacing-vertical);
  --ifm-alert-shadow: var(--ifm-global-shadow-lw);
  --ifm-avatar-intro-margin: 1rem;
  --ifm-avatar-intro-alignment: inherit;
  --ifm-avatar-photo-size: 3rem;
  --ifm-badge-background-color: inherit; /* Set a default which will be overridden later. */
  --ifm-badge-border-color: inherit; /* Set a default which will be overridden later. */
  --ifm-badge-border-radius: var(--ifm-global-radius);
  --ifm-badge-border-width: var(--ifm-global-border-width);
  --ifm-badge-color: var(--ifm-color-white);
  --ifm-badge-padding-horizontal: calc(var(--ifm-spacing-horizontal) * 0.5);
  --ifm-badge-padding-vertical: calc(var(--ifm-spacing-vertical) * 0.25);
  --ifm-breadcrumb-border-radius: 1.5rem;
  --ifm-breadcrumb-spacing: 0.5rem;
  --ifm-breadcrumb-color-active: var(--ifm-color-primary);
  --ifm-breadcrumb-item-background-active: var(--ifm-hover-overlay);
  --ifm-breadcrumb-padding-horizontal: 0.8rem;
  --ifm-breadcrumb-padding-vertical: 0.4rem;
  --ifm-breadcrumb-size-multiplier: 1;
  --ifm-breadcrumb-separator: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 256 256"><g><g><polygon points="79.093,0 48.907,30.187 146.72,128 48.907,225.813 79.093,256 207.093,128"/></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg>');
  --ifm-breadcrumb-separator-filter: none;
  --ifm-breadcrumb-separator-size: 0.5rem;
  --ifm-breadcrumb-separator-size-multiplier: 1.25;
  --ifm-button-background-color: inherit;
  --ifm-button-border-color: var(--ifm-button-background-color);
  --ifm-button-border-width: var(--ifm-global-border-width);
  --ifm-button-color: var(--ifm-font-color-base-inverse);
  --ifm-button-font-weight: var(--ifm-font-weight-bold);
  --ifm-button-padding-horizontal: 1.5rem;
  --ifm-button-padding-vertical: 0.375rem;
  --ifm-button-size-multiplier: 1;
  --ifm-button-transition-duration: var(--ifm-transition-fast);
  --ifm-button-border-radius: calc(
    var(--ifm-global-radius) * var(--ifm-button-size-multiplier)
  );
  --ifm-button-group-spacing: 2px;
  --ifm-card-background-color: var(--ifm-background-surface-color);
  --ifm-card-border-radius: calc(var(--ifm-global-radius) * 2);
  --ifm-card-horizontal-spacing: var(--ifm-global-spacing);
  --ifm-card-vertical-spacing: var(--ifm-global-spacing);
  --ifm-toc-border-color: var(--ifm-color-emphasis-300);
  --ifm-toc-link-color: var(--ifm-color-content-secondary);
  --ifm-toc-padding-vertical: 0.5rem;
  --ifm-toc-padding-horizontal: 0.5rem;
  --ifm-dropdown-background-color: var(--ifm-background-surface-color);
  --ifm-dropdown-font-weight: var(--ifm-font-weight-semibold);
  --ifm-dropdown-link-color: var(--ifm-font-color-base);
  --ifm-dropdown-hover-background-color: var(--ifm-hover-overlay);
  --ifm-footer-background-color: var(--ifm-color-emphasis-100);
  --ifm-footer-color: inherit;
  --ifm-footer-link-color: var(--ifm-color-emphasis-700);
  --ifm-footer-link-hover-color: var(--ifm-color-primary);
  --ifm-footer-link-horizontal-spacing: 0.5rem;
  --ifm-footer-padding-horizontal: calc(var(--ifm-spacing-horizontal) * 2);
  --ifm-footer-padding-vertical: calc(var(--ifm-spacing-vertical) * 2);
  --ifm-footer-title-color: inherit;
  --ifm-footer-logo-max-width: min(30rem, 90vw);
  --ifm-hero-background-color: var(--ifm-background-surface-color);
  --ifm-hero-text-color: var(--ifm-color-emphasis-800);
  --ifm-menu-color: var(--ifm-color-emphasis-700);
  --ifm-menu-color-active: var(--ifm-color-primary);
  --ifm-menu-color-background-active: var(--ifm-hover-overlay);
  --ifm-menu-color-background-hover: var(--ifm-hover-overlay);
  --ifm-menu-link-padding-horizontal: 0.75rem;
  --ifm-menu-link-padding-vertical: 0.375rem;
  --ifm-menu-link-sublist-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 24 24"><path fill="rgba(0,0,0,0.5)" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>');
  --ifm-menu-link-sublist-icon-filter: none;
  --ifm-navbar-background-color: var(--ifm-background-surface-color);
  --ifm-navbar-height: 3.75rem;
  --ifm-navbar-item-padding-horizontal: 0.75rem;
  --ifm-navbar-item-padding-vertical: 0.25rem;
  --ifm-navbar-link-color: var(--ifm-font-color-base);
  --ifm-navbar-link-hover-color: var(--ifm-color-primary);
  --ifm-navbar-link-active-color: var(--ifm-link-color);
  --ifm-navbar-padding-horizontal: var(--ifm-spacing-horizontal);
  --ifm-navbar-padding-vertical: calc(var(--ifm-spacing-vertical) * 0.5);
  --ifm-navbar-shadow: var(--ifm-global-shadow-lw);
  --ifm-navbar-search-input-background-color: var(--ifm-color-emphasis-200);
  --ifm-navbar-search-input-color: var(--ifm-color-emphasis-800);
  --ifm-navbar-search-input-placeholder-color: var(--ifm-color-emphasis-500);
  --ifm-navbar-search-input-icon: url('data:image/svg+xml;utf8,<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" height="16px" width="16px"><path d="M6.02945,10.20327a4.17382,4.17382,0,1,1,4.17382-4.17382A4.15609,4.15609,0,0,1,6.02945,10.20327Zm9.69195,4.2199L10.8989,9.59979A5.88021,5.88021,0,0,0,12.058,6.02856,6.00467,6.00467,0,1,0,9.59979,10.8989l4.82338,4.82338a.89729.89729,0,0,0,1.29912,0,.89749.89749,0,0,0-.00087-1.29909Z" /></svg>');
  --ifm-navbar-sidebar-width: 83vw;
  --ifm-pagination-border-radius: var(--ifm-global-radius);
  --ifm-pagination-color-active: var(--ifm-color-primary);
  --ifm-pagination-font-size: 1rem;
  --ifm-pagination-item-active-background: var(--ifm-hover-overlay);
  --ifm-pagination-page-spacing: 0.2em;
  --ifm-pagination-padding-horizontal: calc(var(--ifm-spacing-horizontal) * 1);
  --ifm-pagination-padding-vertical: calc(var(--ifm-spacing-vertical) * 0.25);
  --ifm-pagination-nav-border-radius: var(--ifm-global-radius);
  --ifm-pagination-nav-color-hover: var(--ifm-color-primary);
  --ifm-pills-color-active: var(--ifm-color-primary);
  --ifm-pills-color-background-active: var(--ifm-hover-overlay);
  --ifm-pills-spacing: 0.125rem;
  --ifm-tabs-color: var(--ifm-font-color-secondary);
  --ifm-tabs-color-active: var(--ifm-color-primary);
  --ifm-tabs-color-active-border: var(--ifm-tabs-color-active);
  --ifm-tabs-padding-horizontal: 1rem;
  --ifm-tabs-padding-vertical: 1rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

* {
  box-sizing: border-box;
}

html {
  background-color: var(--ifm-background-color);
  color: var(--ifm-font-color-base);
  color-scheme: var(--ifm-color-scheme);
  font: var(--ifm-font-size-base) / var(--ifm-line-height-base)
    var(--ifm-font-family-base);
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  text-rendering: optimizelegibility;
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

body {
  margin: 0;
  word-wrap: break-word;
}

iframe {
  border: 0;
  color-scheme: auto;
}

/* Layout */

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.container {
  margin: 0 auto;
  max-width: var(--ifm-container-width);
  padding: 0 var(--ifm-spacing-horizontal);
  width: 100%;
}

.container--fluid {
    max-width: inherit;
  }

.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 calc(var(--ifm-spacing-horizontal) * -1);
}

.row--no-gutters {
    margin-left: 0;
    margin-right: 0;
  }

.row--no-gutters > .col {
      padding-left: 0;
      padding-right: 0;
    }

.row--align-top {
    align-items: flex-start;
  }

.row--align-bottom {
    align-items: flex-end;
  }

.row--align-center {
    align-items: center;
  }

.row--align-stretch {
    align-items: stretch;
  }

.row--align-baseline {
    align-items: baseline;
  }

.col {
  --ifm-col-width: 100%;

  flex: 1 0;
  margin-left: 0;
  max-width: var(--ifm-col-width);
  padding: 0 var(--ifm-spacing-horizontal);
  width: 100%;
}

.col[class*='col--'] {
    flex: 0 0 var(--ifm-col-width);
  }

.col--1 {
      --ifm-col-width: calc(1 / 12 * 100%);
    }

.col--offset-1 {
      margin-left: calc(1 / 12 * 100%);
    }

.col--2 {
      --ifm-col-width: calc(2 / 12 * 100%);
    }

.col--offset-2 {
      margin-left: calc(2 / 12 * 100%);
    }

.col--3 {
      --ifm-col-width: calc(3 / 12 * 100%);
    }

.col--offset-3 {
      margin-left: calc(3 / 12 * 100%);
    }

.col--4 {
      --ifm-col-width: calc(4 / 12 * 100%);
    }

.col--offset-4 {
      margin-left: calc(4 / 12 * 100%);
    }

.col--5 {
      --ifm-col-width: calc(5 / 12 * 100%);
    }

.col--offset-5 {
      margin-left: calc(5 / 12 * 100%);
    }

.col--6 {
      --ifm-col-width: calc(6 / 12 * 100%);
    }

.col--offset-6 {
      margin-left: calc(6 / 12 * 100%);
    }

.col--7 {
      --ifm-col-width: calc(7 / 12 * 100%);
    }

.col--offset-7 {
      margin-left: calc(7 / 12 * 100%);
    }

.col--8 {
      --ifm-col-width: calc(8 / 12 * 100%);
    }

.col--offset-8 {
      margin-left: calc(8 / 12 * 100%);
    }

.col--9 {
      --ifm-col-width: calc(9 / 12 * 100%);
    }

.col--offset-9 {
      margin-left: calc(9 / 12 * 100%);
    }

.col--10 {
      --ifm-col-width: calc(10 / 12 * 100%);
    }

.col--offset-10 {
      margin-left: calc(10 / 12 * 100%);
    }

.col--11 {
      --ifm-col-width: calc(11 / 12 * 100%);
    }

.col--offset-11 {
      margin-left: calc(11 / 12 * 100%);
    }

.col--12 {
      --ifm-col-width: calc(12 / 12 * 100%);
    }

.col--offset-12 {
      margin-left: calc(12 / 12 * 100%);
    }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.margin--none {
      margin: 0 !important;
    }

.margin-top--none {
        margin-top: 0 !important;
      }

.margin-left--none {
        margin-left: 0 !important;
      }

.margin-bottom--none {
        margin-bottom: 0 !important;
      }

.margin-right--none {
        margin-right: 0 !important;
      }

.margin-vert--none {
      margin-bottom: 0 !important;
      margin-top: 0 !important;
    }

.margin-horiz--none {
      margin-left: 0 !important;
      margin-right: 0 !important;
    }

.margin--xs {
      margin: 0.25rem !important;
    }

.margin-top--xs {
        margin-top: 0.25rem !important;
      }

.margin-left--xs {
        margin-left: 0.25rem !important;
      }

.margin-bottom--xs {
        margin-bottom: 0.25rem !important;
      }

.margin-right--xs {
        margin-right: 0.25rem !important;
      }

.margin-vert--xs {
      margin-bottom: 0.25rem !important;
      margin-top: 0.25rem !important;
    }

.margin-horiz--xs {
      margin-left: 0.25rem !important;
      margin-right: 0.25rem !important;
    }

.margin--sm {
      margin: 0.5rem !important;
    }

.margin-top--sm {
        margin-top: 0.5rem !important;
      }

.margin-left--sm {
        margin-left: 0.5rem !important;
      }

.margin-bottom--sm {
        margin-bottom: 0.5rem !important;
      }

.margin-right--sm {
        margin-right: 0.5rem !important;
      }

.margin-vert--sm {
      margin-bottom: 0.5rem !important;
      margin-top: 0.5rem !important;
    }

.margin-horiz--sm {
      margin-left: 0.5rem !important;
      margin-right: 0.5rem !important;
    }

.margin--md {
      margin: 1rem !important;
    }

.margin-top--md {
        margin-top: 1rem !important;
      }

.margin-left--md {
        margin-left: 1rem !important;
      }

.margin-bottom--md {
        margin-bottom: 1rem !important;
      }

.margin-right--md {
        margin-right: 1rem !important;
      }

.margin-vert--md {
      margin-bottom: 1rem !important;
      margin-top: 1rem !important;
    }

.margin-horiz--md {
      margin-left: 1rem !important;
      margin-right: 1rem !important;
    }

.margin--lg {
      margin: 2rem !important;
    }

.margin-top--lg {
        margin-top: 2rem !important;
      }

.margin-left--lg {
        margin-left: 2rem !important;
      }

.margin-bottom--lg {
        margin-bottom: 2rem !important;
      }

.margin-right--lg {
        margin-right: 2rem !important;
      }

.margin-vert--lg {
      margin-bottom: 2rem !important;
      margin-top: 2rem !important;
    }

.margin-horiz--lg {
      margin-left: 2rem !important;
      margin-right: 2rem !important;
    }

.margin--xl {
      margin: 5rem !important;
    }

.margin-top--xl {
        margin-top: 5rem !important;
      }

.margin-left--xl {
        margin-left: 5rem !important;
      }

.margin-bottom--xl {
        margin-bottom: 5rem !important;
      }

.margin-right--xl {
        margin-right: 5rem !important;
      }

.margin-vert--xl {
      margin-bottom: 5rem !important;
      margin-top: 5rem !important;
    }

.margin-horiz--xl {
      margin-left: 5rem !important;
      margin-right: 5rem !important;
    }

.padding--none {
      padding: 0 !important;
    }

.padding-top--none {
        padding-top: 0 !important;
      }

.padding-left--none {
        padding-left: 0 !important;
      }

.padding-bottom--none {
        padding-bottom: 0 !important;
      }

.padding-right--none {
        padding-right: 0 !important;
      }

.padding-vert--none {
      padding-bottom: 0 !important;
      padding-top: 0 !important;
    }

.padding-horiz--none {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }

.padding--xs {
      padding: 0.25rem !important;
    }

.padding-top--xs {
        padding-top: 0.25rem !important;
      }

.padding-left--xs {
        padding-left: 0.25rem !important;
      }

.padding-bottom--xs {
        padding-bottom: 0.25rem !important;
      }

.padding-right--xs {
        padding-right: 0.25rem !important;
      }

.padding-vert--xs {
      padding-bottom: 0.25rem !important;
      padding-top: 0.25rem !important;
    }

.padding-horiz--xs {
      padding-left: 0.25rem !important;
      padding-right: 0.25rem !important;
    }

.padding--sm {
      padding: 0.5rem !important;
    }

.padding-top--sm {
        padding-top: 0.5rem !important;
      }

.padding-left--sm {
        padding-left: 0.5rem !important;
      }

.padding-bottom--sm {
        padding-bottom: 0.5rem !important;
      }

.padding-right--sm {
        padding-right: 0.5rem !important;
      }

.padding-vert--sm {
      padding-bottom: 0.5rem !important;
      padding-top: 0.5rem !important;
    }

.padding-horiz--sm {
      padding-left: 0.5rem !important;
      padding-right: 0.5rem !important;
    }

.padding--md {
      padding: 1rem !important;
    }

.padding-top--md {
        padding-top: 1rem !important;
      }

.padding-left--md {
        padding-left: 1rem !important;
      }

.padding-bottom--md {
        padding-bottom: 1rem !important;
      }

.padding-right--md {
        padding-right: 1rem !important;
      }

.padding-vert--md {
      padding-bottom: 1rem !important;
      padding-top: 1rem !important;
    }

.padding-horiz--md {
      padding-left: 1rem !important;
      padding-right: 1rem !important;
    }

.padding--lg {
      padding: 2rem !important;
    }

.padding-top--lg {
        padding-top: 2rem !important;
      }

.padding-left--lg {
        padding-left: 2rem !important;
      }

.padding-bottom--lg {
        padding-bottom: 2rem !important;
      }

.padding-right--lg {
        padding-right: 2rem !important;
      }

.padding-vert--lg {
      padding-bottom: 2rem !important;
      padding-top: 2rem !important;
    }

.padding-horiz--lg {
      padding-left: 2rem !important;
      padding-right: 2rem !important;
    }

.padding--xl {
      padding: 5rem !important;
    }

.padding-top--xl {
        padding-top: 5rem !important;
      }

.padding-left--xl {
        padding-left: 5rem !important;
      }

.padding-bottom--xl {
        padding-bottom: 5rem !important;
      }

.padding-right--xl {
        padding-right: 5rem !important;
      }

.padding-vert--xl {
      padding-bottom: 5rem !important;
      padding-top: 5rem !important;
    }

.padding-horiz--xl {
      padding-left: 5rem !important;
      padding-right: 5rem !important;
    }

/* Content */

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

code {
  background-color: var(--ifm-code-background);
  border: 0.1rem solid rgba(0, 0, 0, 0.1);
  border-radius: var(--ifm-code-border-radius);
  font-family: var(--ifm-font-family-monospace);
  font-size: var(--ifm-code-font-size);
  padding: var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal);
  vertical-align: middle;
}

a code {
  color: inherit;
}

pre {
  background-color: var(--ifm-pre-background);
  border-radius: var(--ifm-pre-border-radius);
  color: var(--ifm-pre-color);
  font: var(--ifm-code-font-size) / var(--ifm-pre-line-height)
    var(--ifm-font-family-monospace);
  margin: 0 0 var(--ifm-spacing-vertical);
  overflow: auto;
  padding: var(--ifm-pre-padding);
}

pre code {
    background-color: transparent;
    border: none;
    font-size: 100%;
    line-height: inherit;
    padding: 0;
  }

kbd {
  background-color: var(--ifm-color-emphasis-0);
  border: 1px solid var(--ifm-color-emphasis-400);
  border-radius: 0.2rem;
  box-shadow: inset 0 -1px 0 var(--ifm-color-emphasis-400);
  color: var(--ifm-color-emphasis-800);
  font: 80% var(--ifm-font-family-monospace);
  padding: 0.15rem 0.3rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--ifm-heading-color);
  font-family: var(--ifm-heading-font-family);
  font-weight: var(--ifm-heading-font-weight);
  line-height: var(--ifm-heading-line-height);
  margin: var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0;
}

h1 {
    font-size: var(--ifm-h1-font-size);
  }

h2 {
    font-size: var(--ifm-h2-font-size);
  }

h3 {
    font-size: var(--ifm-h3-font-size);
  }

h4 {
    font-size: var(--ifm-h4-font-size);
  }

h5 {
    font-size: var(--ifm-h5-font-size);
  }

h6 {
    font-size: var(--ifm-h6-font-size);
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

img {
  max-width: 100%;
}

img[align='right'] {
  padding-left: var(--image-alignment-padding);
}

img[align='left'] {
  padding-right: var(--image-alignment-padding);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.markdown {
  --ifm-h1-vertical-rhythm-top: 3;
  --ifm-h2-vertical-rhythm-top: 2;
  --ifm-h3-vertical-rhythm-top: 1.5;
  --ifm-heading-vertical-rhythm-top: 1.25;

  --ifm-h1-vertical-rhythm-bottom: 1.25;
  --ifm-heading-vertical-rhythm-bottom: 1;
}

.markdown:before {
    content: '';
    display: table;
  }

.markdown:after {
    clear: both;
    content: '';
    display: table;
  }

.markdown > *:last-child {
    margin-bottom: 0 !important;
  }

.markdown h1:first-child {
    --ifm-h1-font-size: 3rem;

    margin-bottom: calc(
      var(--ifm-h1-vertical-rhythm-bottom) * var(--ifm-leading)
    );
  }

.markdown > h2 {
    --ifm-h2-font-size: 2rem;

    margin-bottom: calc(
      var(--ifm-heading-vertical-rhythm-bottom) * var(--ifm-leading)
    );
    margin-top: calc(var(--ifm-h2-vertical-rhythm-top) * var(--ifm-leading));
  }

.markdown > h3 {
    --ifm-h3-font-size: 1.5rem;

    margin-bottom: calc(
      var(--ifm-heading-vertical-rhythm-bottom) * var(--ifm-leading)
    );
    margin-top: calc(var(--ifm-h3-vertical-rhythm-top) * var(--ifm-leading));
  }

.markdown > h4,
  .markdown > h5,
  .markdown > h6 {
    margin-bottom: calc(
      var(--ifm-heading-vertical-rhythm-bottom) * var(--ifm-leading)
    );
    margin-top: calc(
      var(--ifm-heading-vertical-rhythm-top) * var(--ifm-leading)
    );
  }

/* Consistent spacing between content paragraphs. */

.markdown > pre,
  .markdown > ul,
  .markdown > p {
    margin-bottom: var(--ifm-leading);
  }

.markdown li {
    word-wrap: break-word;
  }

.markdown li > p {
      margin-top: var(--ifm-list-paragraph-margin);
    }

.markdown li + li {
      margin-top: var(--ifm-list-item-margin);
    }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/* Lists */

ul,
ol {
  margin: 0 0 var(--ifm-list-margin);
  padding-left: var(--ifm-list-left-padding);
}

ol ol,
ul ol {
  list-style-type: lower-roman;
}

ul ul,
ul ol,
ol ol,
ol ul {
  margin: 0;
}

ul ul ol,
ul ol ol,
ol ul ol,
ol ol ol {
  list-style-type: lower-alpha;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

table {
  border-collapse: collapse;
  display: block;
  margin-bottom: var(--ifm-spacing-vertical);
  overflow: auto;
}

table thead tr {
    border-bottom: 2px solid var(--ifm-table-border-color);
  }

table thead {
    background-color: var(--ifm-table-stripe-background);
  }

table tr {
    background-color: var(--ifm-table-background);
    border-top: var(--ifm-table-border-width) solid
      var(--ifm-table-border-color);
  }

table tr:nth-child(2n) {
    background-color: var(--ifm-table-stripe-background);
  }

table th,
  table td {
    border: var(--ifm-table-border-width) solid var(--ifm-table-border-color);
    padding: var(--ifm-table-cell-padding);
  }

table th {
    background-color: var(--ifm-table-head-background);
    color: var(--ifm-table-head-color);
    font-weight: var(--ifm-table-head-font-weight);
  }

table td {
    color: var(--ifm-table-cell-color);
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

strong {
  font-weight: var(--ifm-font-weight-bold);
}

/* Links */

a {
  color: var(--ifm-link-color);
  /* autoprefixer: ignore next */
  text-decoration: var(--ifm-link-decoration);
  transition: color var(--ifm-transition-fast) var(--ifm-transition-timing-default);
}

a:hover {
    color: var(--ifm-link-hover-color);
    /* autoprefixer: ignore next */
    text-decoration: var(--ifm-link-hover-decoration);
  }

a:not([href]) {
    -webkit-text-decoration: none;
    text-decoration: none;
  }

/* Paragraphs */

p {
  margin: 0 0 var(--ifm-paragraph-margin-bottom);
}

/* Blockquotes */

blockquote {
  border-left: var(--ifm-blockquote-border-left-width) solid
    var(--ifm-blockquote-border-color);
  box-shadow: var(--ifm-blockquote-shadow);
  color: var(--ifm-blockquote-color);
  font-size: var(--ifm-blockquote-font-size);
  margin: 0 0 var(--ifm-spacing-vertical);
  padding: var(--ifm-blockquote-padding-vertical)
    var(--ifm-blockquote-padding-horizontal);
}

blockquote > :first-child {
    margin-top: 0;
  }

blockquote > :last-child {
    margin-bottom: 0;
  }

/* Horizontal Rules */

hr {
  background-color: var(--ifm-hr-background-color);
  border: 0;
  height: var(--ifm-hr-height);
  margin: var(--ifm-hr-margin-vertical) 0;
}

/* Utilities */

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.shadow--lw {
    box-shadow: var(--ifm-global-shadow-lw) !important;
  }

.shadow--md {
    box-shadow: var(--ifm-global-shadow-md) !important;
  }

.shadow--tl {
    box-shadow: var(--ifm-global-shadow-tl) !important;
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.text--primary {
    color: var(--ifm-color-primary);
  }

.text--secondary {
    color: var(--ifm-color-secondary);
  }

.text--success {
    color: var(--ifm-color-success);
  }

.text--info {
    color: var(--ifm-color-info);
  }

.text--warning {
    color: var(--ifm-color-warning);
  }

.text--danger {
    color: var(--ifm-color-danger);
  }

.text--center {
    text-align: center;
  }

.text--left {
    text-align: left;
  }

.text--justify {
    text-align: justify;
  }

.text--right {
    text-align: right;
  }

.text--capitalize {
    text-transform: capitalize;
  }

.text--lowercase {
    text-transform: lowercase;
  }

.text--uppercase {
    text-transform: uppercase;
  }

.text--light {
    font-weight: var(--ifm-font-weight-light);
  }

.text--normal {
    font-weight: var(--ifm-font-weight-normal);
  }

.text--semibold {
    font-weight: var(--ifm-font-weight-semibold);
  }

.text--bold {
    font-weight: var(--ifm-font-weight-bold);
  }

.text--italic {
  font-style: italic;
}

.text--truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text--break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

.text--no-decoration,
  .text--no-decoration:hover {
    -webkit-text-decoration: none;
    text-decoration: none;
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.clean-btn {
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  padding: 0;
}

.clean-list {
  list-style: none;
  padding-left: 0;
}

/* Components */

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.alert--primary {
      --ifm-alert-background-color: var(
        --ifm-color-primary-contrast-background
      );
      --ifm-alert-background-color-highlight: rgba(53, 120, 229, 0.15);
      --ifm-alert-foreground-color: var(
        --ifm-color-primary-contrast-foreground
      );
      --ifm-alert-border-color: var(--ifm-color-primary-dark);
    }

.alert--secondary {
      --ifm-alert-background-color: var(
        --ifm-color-secondary-contrast-background
      );
      --ifm-alert-background-color-highlight: rgba(235, 237, 240, 0.15);
      --ifm-alert-foreground-color: var(
        --ifm-color-secondary-contrast-foreground
      );
      --ifm-alert-border-color: var(--ifm-color-secondary-dark);
    }

.alert--success {
      --ifm-alert-background-color: var(
        --ifm-color-success-contrast-background
      );
      --ifm-alert-background-color-highlight: rgba(0, 164, 0, 0.15);
      --ifm-alert-foreground-color: var(
        --ifm-color-success-contrast-foreground
      );
      --ifm-alert-border-color: var(--ifm-color-success-dark);
    }

.alert--info {
      --ifm-alert-background-color: var(
        --ifm-color-info-contrast-background
      );
      --ifm-alert-background-color-highlight: rgba(84, 199, 236, 0.15);
      --ifm-alert-foreground-color: var(
        --ifm-color-info-contrast-foreground
      );
      --ifm-alert-border-color: var(--ifm-color-info-dark);
    }

.alert--warning {
      --ifm-alert-background-color: var(
        --ifm-color-warning-contrast-background
      );
      --ifm-alert-background-color-highlight: rgba(255, 186, 0, 0.15);
      --ifm-alert-foreground-color: var(
        --ifm-color-warning-contrast-foreground
      );
      --ifm-alert-border-color: var(--ifm-color-warning-dark);
    }

.alert--danger {
      --ifm-alert-background-color: var(
        --ifm-color-danger-contrast-background
      );
      --ifm-alert-background-color-highlight: rgba(250, 56, 62, 0.15);
      --ifm-alert-foreground-color: var(
        --ifm-color-danger-contrast-foreground
      );
      --ifm-alert-border-color: var(--ifm-color-danger-dark);
    }

.alert {

  --ifm-code-background: var(--ifm-alert-background-color-highlight);
  --ifm-link-color: var(--ifm-alert-foreground-color);
  --ifm-link-hover-color: var(--ifm-alert-foreground-color);
  --ifm-link-decoration: underline;
  --ifm-tabs-color: var(--ifm-alert-foreground-color);
  --ifm-tabs-color-active: var(--ifm-alert-foreground-color);
  --ifm-tabs-color-active-border: var(--ifm-alert-border-color);

  background-color: var(--ifm-alert-background-color);
  border: var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);
  border-left-width: var(--ifm-alert-border-left-width);
  border-radius: var(--ifm-alert-border-radius);
  box-shadow: var(--ifm-alert-shadow);
  color: var(--ifm-alert-foreground-color);
  padding: var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal);
}

.alert__heading {
    align-items: center;
    display: flex;
    font: bold var(--ifm-h5-font-size) / var(--ifm-heading-line-height)
      var(--ifm-heading-font-family);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
  }

.alert__icon {
    display: inline-flex;
    margin-right: 0.4em;
  }

.alert__icon svg {
      fill: var(--ifm-alert-foreground-color);
      stroke: var(--ifm-alert-foreground-color);
      stroke-width: 0;
    }

.alert .close {
    color: var(--ifm-alert-foreground-color);
    margin: calc(var(--ifm-alert-padding-vertical) * -1)
      calc(var(--ifm-alert-padding-horizontal) * -1) 0 0;

    opacity: 0.75;
  }

.alert .close:hover,
    .alert .close:focus {
      opacity: 1;
    }

.alert a {
    text-decoration-color: var(--ifm-alert-border-color);
  }

.alert a:hover {
      text-decoration-thickness: 2px;
    }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.avatar {
  column-gap: var(--ifm-avatar-intro-margin);
  display: flex;
}

.avatar__photo {
    border-radius: 50%;
    display: block;
    height: var(--ifm-avatar-photo-size);
    overflow: hidden;
    width: var(--ifm-avatar-photo-size);
  }

.avatar__photo--sm {
      --ifm-avatar-photo-size: 2rem;
    }

.avatar__photo--lg {
      --ifm-avatar-photo-size: 4rem;
    }

.avatar__photo--xl {
      --ifm-avatar-photo-size: 6rem;
    }

.avatar__intro {
    display: flex;
    flex: 1 1;
    flex-direction: column;
    justify-content: center;
    text-align: var(--ifm-avatar-intro-alignment);
  }

.avatar__name {
    font: bold var(--ifm-h4-font-size) / var(--ifm-heading-line-height)
      var(--ifm-font-family-base);
  }

.avatar__subtitle {
    margin-top: 0.25rem;
  }

.avatar--vertical {
    --ifm-avatar-intro-alignment: center;
    --ifm-avatar-intro-margin: 0.5rem;

    align-items: center;
    flex-direction: column;
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.badge {
  background-color: var(--ifm-badge-background-color);
  border: var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);
  border-radius: var(--ifm-badge-border-radius);
  color: var(--ifm-badge-color);
  display: inline-block;
  font-size: 75%;
  font-weight: var(--ifm-font-weight-bold);
  line-height: 1;
  padding: var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal);
}

.badge--primary {
      --ifm-badge-background-color: var(--ifm-color-primary);
      --ifm-badge-border-color: var(--ifm-badge-background-color);
    }

.badge--secondary {
      --ifm-badge-background-color: var(--ifm-color-secondary);
      --ifm-badge-border-color: var(--ifm-badge-background-color);
    color: var(--ifm-color-black);
    }

.badge--success {
      --ifm-badge-background-color: var(--ifm-color-success);
      --ifm-badge-border-color: var(--ifm-badge-background-color);
    }

.badge--info {
      --ifm-badge-background-color: var(--ifm-color-info);
      --ifm-badge-border-color: var(--ifm-badge-background-color);
    }

.badge--warning {
      --ifm-badge-background-color: var(--ifm-color-warning);
      --ifm-badge-border-color: var(--ifm-badge-background-color);
    }

.badge--danger {
      --ifm-badge-background-color: var(--ifm-color-danger);
      --ifm-badge-border-color: var(--ifm-badge-background-color);
    }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.breadcrumbs {
  margin-bottom: 0;
  padding-left: 0;
}

.breadcrumbs__item {
    display: inline-block;
  }

.breadcrumbs__item:not(:last-child):after {
      background: var(--ifm-breadcrumb-separator) center;
      content: ' ';
      display: inline-block;
      filter: var(--ifm-breadcrumb-separator-filter);
      height: calc(
        var(--ifm-breadcrumb-separator-size) *
          var(--ifm-breadcrumb-size-multiplier) *
          var(--ifm-breadcrumb-separator-size-multiplier)
      );
      margin: 0 var(--ifm-breadcrumb-spacing);
      opacity: 0.5;
      width: calc(
        var(--ifm-breadcrumb-separator-size) *
          var(--ifm-breadcrumb-size-multiplier) *
          var(--ifm-breadcrumb-separator-size-multiplier)
      );
      /*rtl:raw:
      transform: rotate(180deg);
      */
    }

.breadcrumbs__item--active .breadcrumbs__link {
        background: var(--ifm-breadcrumb-item-background-active);
        color: var(--ifm-breadcrumb-color-active);
      }

.breadcrumbs__link {
    border-radius: var(--ifm-breadcrumb-border-radius);
    color: var(--ifm-font-color-base);
    display: inline-block;
    font-size: calc(1rem * var(--ifm-breadcrumb-size-multiplier));
    padding: calc(
        var(--ifm-breadcrumb-padding-vertical) *
          var(--ifm-breadcrumb-size-multiplier)
      )
      calc(
        var(--ifm-breadcrumb-padding-horizontal) *
          var(--ifm-breadcrumb-size-multiplier)
      );
    transition-property: background, color;
    transition-duration: var(--ifm-transition-fast);
    transition-timing-function: var(--ifm-transition-timing-default);
  }

.breadcrumbs__link:link:hover, .breadcrumbs__link:visited:hover, area[href].breadcrumbs__link:hover {
      background: var(--ifm-breadcrumb-item-background-active);
      -webkit-text-decoration: none;
      text-decoration: none;
    }

.breadcrumbs__link:any-link:hover {
      background: var(--ifm-breadcrumb-item-background-active);
      -webkit-text-decoration: none;
      text-decoration: none;
    }

.breadcrumbs--sm {
    --ifm-breadcrumb-size-multiplier: 0.8;
  }

.breadcrumbs--lg {
    --ifm-breadcrumb-size-multiplier: 1.2;
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.button {
  background-color: var(--ifm-button-background-color);
  border: var(--ifm-button-border-width) solid var(--ifm-button-border-color);
  border-radius: var(--ifm-button-border-radius);
  color: var(--ifm-button-color);
  cursor: pointer;
  display: inline-block;
  font-size: calc(0.875rem * var(--ifm-button-size-multiplier));
  font-weight: var(--ifm-button-font-weight);
  line-height: 1.5;
  padding: calc(
      var(--ifm-button-padding-vertical) * var(--ifm-button-size-multiplier)
    )
    calc(
      var(--ifm-button-padding-horizontal) * var(--ifm-button-size-multiplier)
    );
  text-align: center;
  -webkit-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  transition-property: color, background, border-color;
  transition-duration: var(--ifm-button-transition-duration);
  transition-timing-function: var(--ifm-transition-timing-default);
}

.button:hover {
    color: var(--ifm-button-color); /* Override for button links. */
    -webkit-text-decoration: none;
    text-decoration: none;
  }

.button--outline {
    --ifm-button-background-color: transparent;
    --ifm-button-color: var(--ifm-button-border-color);
  }

.button--outline:hover {
      --ifm-button-background-color: var(--ifm-button-border-color);
    }

.button--outline:hover,
    .button--outline:active,
    .button--outline.button--active {
      --ifm-button-color: var(--ifm-font-color-base-inverse);
    }

.button--link {
    --ifm-button-background-color: transparent;
    --ifm-button-border-color: transparent;

    color: var(--ifm-link-color);
    /* autoprefixer: ignore next */
    text-decoration: var(--ifm-link-decoration);
  }

.button--link:hover,
    .button--link:active,
    .button--link.button--active {
      color: var(--ifm-link-hover-color);
      /* autoprefixer: ignore next */
      text-decoration: var(--ifm-link-hover-decoration);
    }

.button.disabled,
  .button:disabled,
  .button[disabled] {
    opacity: 0.65;
    pointer-events: none;
  }

.button--sm {
    --ifm-button-size-multiplier: 0.8;
  }

.button--lg {
    --ifm-button-size-multiplier: 1.35;
  }

.button--block {
    display: block;
    width: 100%;
  }

.button.button--secondary {
    color: var(--ifm-color-gray-900);
  }

.button.button--secondary.button--outline:not(.button--active):not(:hover) {
      color: var(--ifm-font-color-base);
    }

:where(.button--primary) {
      --ifm-button-background-color: var(--ifm-color-primary);
      --ifm-button-border-color: var(--ifm-color-primary);
    }

:where(.button--primary):not(.button--outline):hover {
        --ifm-button-background-color: var(--ifm-color-primary-dark);
        --ifm-button-border-color: var(--ifm-color-primary-dark);
      }

.button--primary:active,
      .button--primary.button--active {
        --ifm-button-background-color: var(--ifm-color-primary-darker);
        --ifm-button-border-color: var(--ifm-color-primary-darker);
      }

:where(.button--secondary) {
      --ifm-button-background-color: var(--ifm-color-secondary);
      --ifm-button-border-color: var(--ifm-color-secondary);
    }

:where(.button--secondary):not(.button--outline):hover {
        --ifm-button-background-color: var(--ifm-color-secondary-dark);
        --ifm-button-border-color: var(--ifm-color-secondary-dark);
      }

.button--secondary:active,
      .button--secondary.button--active {
        --ifm-button-background-color: var(--ifm-color-secondary-darker);
        --ifm-button-border-color: var(--ifm-color-secondary-darker);
      }

:where(.button--success) {
      --ifm-button-background-color: var(--ifm-color-success);
      --ifm-button-border-color: var(--ifm-color-success);
    }

:where(.button--success):not(.button--outline):hover {
        --ifm-button-background-color: var(--ifm-color-success-dark);
        --ifm-button-border-color: var(--ifm-color-success-dark);
      }

.button--success:active,
      .button--success.button--active {
        --ifm-button-background-color: var(--ifm-color-success-darker);
        --ifm-button-border-color: var(--ifm-color-success-darker);
      }

:where(.button--info) {
      --ifm-button-background-color: var(--ifm-color-info);
      --ifm-button-border-color: var(--ifm-color-info);
    }

:where(.button--info):not(.button--outline):hover {
        --ifm-button-background-color: var(--ifm-color-info-dark);
        --ifm-button-border-color: var(--ifm-color-info-dark);
      }

.button--info:active,
      .button--info.button--active {
        --ifm-button-background-color: var(--ifm-color-info-darker);
        --ifm-button-border-color: var(--ifm-color-info-darker);
      }

:where(.button--warning) {
      --ifm-button-background-color: var(--ifm-color-warning);
      --ifm-button-border-color: var(--ifm-color-warning);
    }

:where(.button--warning):not(.button--outline):hover {
        --ifm-button-background-color: var(--ifm-color-warning-dark);
        --ifm-button-border-color: var(--ifm-color-warning-dark);
      }

.button--warning:active,
      .button--warning.button--active {
        --ifm-button-background-color: var(--ifm-color-warning-darker);
        --ifm-button-border-color: var(--ifm-color-warning-darker);
      }

:where(.button--danger) {
      --ifm-button-background-color: var(--ifm-color-danger);
      --ifm-button-border-color: var(--ifm-color-danger);
    }

:where(.button--danger):not(.button--outline):hover {
        --ifm-button-background-color: var(--ifm-color-danger-dark);
        --ifm-button-border-color: var(--ifm-color-danger-dark);
      }

.button--danger:active,
      .button--danger.button--active {
        --ifm-button-background-color: var(--ifm-color-danger-darker);
        --ifm-button-border-color: var(--ifm-color-danger-darker);
      }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.button-group {
  display: inline-flex;
  gap: var(--ifm-button-group-spacing);
}

.button-group > .button:not(:first-child) {
      border-bottom-left-radius: 0;
      border-top-left-radius: 0;
    }

.button-group > .button:not(:last-child) {
      border-bottom-right-radius: 0;
      border-top-right-radius: 0;
    }

.button-group--block {
    display: flex;
    justify-content: stretch;
  }

.button-group--block > .button {
      flex-grow: 1;
    }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.card {
  background-color: var(--ifm-card-background-color);
  border-radius: var(--ifm-card-border-radius);
  box-shadow: var(--ifm-global-shadow-lw);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Because of border-radius. */

.card--full-height {
    height: 100%;
  }

.card__image {
    padding-top: var(--ifm-card-vertical-spacing);
  }

.card__image:first-child {
      padding-top: 0;
    }

.card__header,
  .card__body,
  .card__footer {
    padding: var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing);
  }

.card__header:not(:last-child), .card__body:not(:last-child), .card__footer:not(:last-child) {
      padding-bottom: 0;
    }

.card__header > :last-child, .card__body > :last-child, .card__footer > :last-child {
      margin-bottom: 0;
    }

.card__footer {
    margin-top: auto; /* Pushes the footer to the bottom of the card. */
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.table-of-contents {
  font-size: 0.8rem;
  margin-bottom: 0;
  padding: var(--ifm-toc-padding-vertical) 0;
}

.table-of-contents,
  .table-of-contents ul {
    list-style: none;
    padding-left: var(--ifm-toc-padding-horizontal);
  }

.table-of-contents li {
    margin: var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal);
  }

.table-of-contents__left-border {
    border-left: 1px solid var(--ifm-toc-border-color);
  }

.table-of-contents__link {
    color: var(--ifm-toc-link-color);
    display: block;
  }

.table-of-contents__link:hover,
    .table-of-contents__link:hover code,
    .table-of-contents__link--active,
    .table-of-contents__link--active code {
      color: var(--ifm-color-primary);
      -webkit-text-decoration: none;
      text-decoration: none;
    }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.close {
  color: var(--ifm-color-black);
  float: right;
  font-size: 1.5rem;
  font-weight: var(--ifm-font-weight-bold);
  line-height: 1;
  opacity: 0.5;
  padding: 1rem;
  transition: opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default);
}

.close:hover {
    opacity: 0.7;
  }

.close:focus {
    opacity: 0.8;
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.dropdown {
  display: inline-flex;
  font-weight: var(--ifm-dropdown-font-weight);
  position: relative;
  vertical-align: top;
}

.dropdown--hoverable:hover .dropdown__menu, .dropdown--show .dropdown__menu {
      opacity: 1;
      pointer-events: all;
      transform: translateY(-1px);
      visibility: visible;
    }

.dropdown--right .dropdown__menu {
      left: inherit;
      right: 0;
    }

.dropdown--nocaret .navbar__link:after {
    content: none !important;
  }

.dropdown__menu {
    background-color: var(--ifm-dropdown-background-color);
    border-radius: var(--ifm-global-radius);
    box-shadow: var(--ifm-global-shadow-md);
    left: 0;
    list-style: none;
    max-height: 80vh;
    min-width: 10rem;
    opacity: 0;
    overflow-y: auto;
    padding: 0.5rem;
    pointer-events: none;
    position: absolute;
    top: calc(100% - var(--ifm-navbar-item-padding-vertical) + 0.3rem);
    transform: translateY(-0.625rem);
    visibility: hidden;
    z-index: var(--ifm-z-index-dropdown);
    transition-property: opacity, transform, visibility;
    transition-duration: var(--ifm-transition-fast);
    transition-timing-function: var(--ifm-transition-timing-default);
  }

.dropdown__link {
    border-radius: 0.25rem;
    color: var(--ifm-dropdown-link-color);
    display: block;
    font-size: 0.875rem;
    margin-top: 0.2rem;
    padding: 0.25rem 0.5rem;
    white-space: nowrap;
  }

.dropdown__link:hover,
    .dropdown__link--active {
      background-color: var(--ifm-dropdown-hover-background-color);
      color: var(--ifm-dropdown-link-color);
      -webkit-text-decoration: none;
      text-decoration: none;
    }

.dropdown__link--active,
    .dropdown__link--active:hover {
      --ifm-dropdown-link-color: var(--ifm-link-color);
    }

.dropdown > .navbar__link:after {
    border-color: currentColor transparent;
    border-style: solid;
    border-width: 0.4em 0.4em 0;
    content: '';
    display: inline-block;
    margin-left: 0.3em;
    position: relative;
    top: 2px;
    transform: translateY(-50%);
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.footer {
  background-color: var(--ifm-footer-background-color);
  color: var(--ifm-footer-color);
  padding: var(--ifm-footer-padding-vertical)
    var(--ifm-footer-padding-horizontal);
}

.footer--dark {
    --ifm-footer-background-color: #303846;
    --ifm-footer-color: var(--ifm-footer-link-color);
    --ifm-footer-link-color: var(--ifm-color-secondary);
    --ifm-footer-title-color: var(--ifm-color-white);
  }

.footer__links {
    margin-bottom: 1rem;
  }

.footer__link-item {
    color: var(--ifm-footer-link-color);
    line-height: 2;
  }

.footer__link-item:hover {
      color: var(--ifm-footer-link-hover-color);
    }

.footer__link-separator {
    margin: 0 var(--ifm-footer-link-horizontal-spacing);
  }

.footer__logo {
    margin-top: 1rem;
    max-width: var(--ifm-footer-logo-max-width);
  }

.footer__title {
    color: var(--ifm-footer-title-color);
    font: bold var(--ifm-h4-font-size) / var(--ifm-heading-line-height)
      var(--ifm-font-family-base);
    margin-bottom: var(--ifm-heading-margin-bottom);
  }

.footer__item {
    margin-top: 0;
  }

.footer__items {
    margin-bottom: 0;
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

[type='checkbox'] {
  padding: 0;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.hero {
  align-items: center;
  background-color: var(--ifm-hero-background-color);
  color: var(--ifm-hero-text-color);
  display: flex;
  padding: 4rem 2rem;
}

.hero--primary {
    --ifm-hero-background-color: var(--ifm-color-primary);
    --ifm-hero-text-color: var(--ifm-font-color-base-inverse);
  }

.hero--dark {
    --ifm-hero-background-color: #303846;
    --ifm-hero-text-color: var(--ifm-color-white);
  }

.hero__title {
    font-size: 3rem;
  }

.hero__subtitle {
    font-size: 1.5rem;
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.menu {
  font-weight: var(--ifm-font-weight-semibold);
  overflow-x: hidden;
}

.menu__list {
    list-style: none;
    margin: 0;
    padding-left: 0;
  }

/* Non-top level menus */

.menu__list .menu__list {
      flex: 0 0 100%;
      margin-top: 0.25rem;
      padding-left: var(--ifm-menu-link-padding-horizontal);
    }

.menu__list-item:not(:first-child) {
      margin-top: 0.25rem;
    }

.menu__list-item--collapsed .menu__list {
        height: 0;
        overflow: hidden;
      }

.menu__list-item--collapsed .menu__link--sublist:after,
      .menu__list-item--collapsed .menu__caret:before {
        transform: rotateZ(90deg);
      }

.menu__list-item-collapsible {
      flex-wrap: wrap;
      position: relative;
      border-radius: 0.25rem;
      display: flex;
      transition: background var(--ifm-transition-fast) var(--ifm-transition-timing-default);
    }

.menu__list-item-collapsible:hover {
    background: var(--ifm-menu-color-background-hover);
  }

.menu__list-item-collapsible--active {
        background: var(--ifm-menu-color-background-hover);
      }

.menu__list-item-collapsible .menu__link:hover,
        .menu__list-item-collapsible .menu__link--active {
          background: none !important;
        }

.menu__link,
  .menu__caret {
    align-items: center;
    border-radius: 0.25rem;
    display: flex;
    transition: background var(--ifm-transition-fast) var(--ifm-transition-timing-default);
  }

.menu__link:hover, .menu__caret:hover {
    background: var(--ifm-menu-color-background-hover);
  }

.menu__link {
    color: var(--ifm-menu-color);
    flex: 1;
    line-height: 1.25;
    padding: var(--ifm-menu-link-padding-vertical)
      var(--ifm-menu-link-padding-horizontal);
  }

.menu__link:hover {
      -webkit-text-decoration: none;
      text-decoration: none;
      color: var(--ifm-menu-color);
      transition: color var(--ifm-transition-fast) var(--ifm-transition-timing-default);
    }

.menu__link--sublist-caret:after {
      content: '';
      margin-left: auto;
      min-width: 1.25rem;
      background: var(--ifm-menu-link-sublist-icon) 50% / 2rem 2rem;
      filter: var(--ifm-menu-link-sublist-icon-filter);
      height: 1.25rem;
      transform: rotate(180deg);
      width: 1.25rem;
      transition: transform var(--ifm-transition-fast) linear;
    }

.menu__link--active {
      color: var(--ifm-menu-color-active);
    }

.menu__link--active:hover {
        color: var(--ifm-menu-color-active);
      }

.menu__link--active:not(.menu__link--sublist) {
        background-color: var(--ifm-menu-color-background-active);
      }

.menu__caret {
    padding: var(--ifm-menu-link-padding-vertical)
      var(--ifm-menu-link-padding-horizontal);
  }

.menu__caret:before {
      content: '';
      background: var(--ifm-menu-link-sublist-icon) 50% / 2rem 2rem;
      filter: var(--ifm-menu-link-sublist-icon-filter);
      height: 1.25rem;
      transform: rotate(180deg);
      width: 1.25rem;
      transition: transform var(--ifm-transition-fast) linear;
    }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

html[data-theme='dark'],
.navbar--dark {
  --ifm-menu-link-sublist-icon-filter: invert(100%) sepia(94%) saturate(17%)
    hue-rotate(223deg) brightness(104%) contrast(98%);
}

.navbar {
  background-color: var(--ifm-navbar-background-color);
  box-shadow: var(--ifm-navbar-shadow);
  display: flex;
  height: var(--ifm-navbar-height);
  padding: var(--ifm-navbar-padding-vertical)
    var(--ifm-navbar-padding-horizontal);
}

.navbar > .container,
  .navbar > .container-fluid {
    display: flex;
  }

.navbar--fixed-top {
    position: sticky;
    top: 0;
    z-index: var(--ifm-z-index-fixed);
  }

.navbar__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
  }

.navbar__brand {
    align-items: center;
    color: var(--ifm-navbar-link-color);
    display: flex;
    margin-right: 1rem;
    min-width: 0;
  }

.navbar__brand:hover {
      color: var(--ifm-navbar-link-hover-color);
      -webkit-text-decoration: none;
      text-decoration: none;
    }

.navbar__title {
    flex: 1 1 auto;
  }

.navbar__toggle {
    display: none;
    margin-right: 0.5rem;
  }

.navbar__logo {
    flex: 0 0 auto;
    height: 2rem;
    margin-right: 0.5rem;
  }

.navbar__logo img {
      height: 100%;
    }

.navbar__items {
    align-items: center;
    display: flex;
    flex: 1;
    min-width: 0;
  }

.navbar__items--center {
      flex: 0 0 auto;
    }

.navbar__items--center .navbar__brand {
        margin: 0;
      }

.navbar__items--center + .navbar__items--right {
        flex: 1;
      }

.navbar__items--right {
      flex: 0 0 auto;
      justify-content: flex-end;
    }

.navbar__items--right > :last-child {
        padding-right: 0;
      }

.navbar__item {
    display: inline-block;
    padding: var(--ifm-navbar-item-padding-vertical)
      var(--ifm-navbar-item-padding-horizontal);
  }

.navbar__item.dropdown .navbar__link:not([href]) {
        pointer-events: none;
      }

.navbar__link {
    color: var(--ifm-navbar-link-color);
    font-weight: var(--ifm-font-weight-semibold);
  }

.navbar__link:hover,
    .navbar__link--active {
      color: var(--ifm-navbar-link-hover-color);
      -webkit-text-decoration: none;
      text-decoration: none;
    }

.navbar--dark,
  .navbar--primary {
    --ifm-menu-color: var(--ifm-color-gray-300);
    --ifm-navbar-link-color: var(--ifm-color-gray-100);
    --ifm-navbar-search-input-background-color: rgba(255, 255, 255, 0.1);
    --ifm-navbar-search-input-placeholder-color: rgba(255, 255, 255, 0.5);

    color: var(--ifm-color-white);
  }

.navbar--dark {
    --ifm-navbar-background-color: #242526;
    --ifm-navbar-link-hover-color: var(--ifm-color-primary);
    --ifm-menu-color-background-active: rgba(255, 255, 255, 0.05);
    --ifm-navbar-search-input-color: var(--ifm-color-white);
  }

.navbar--primary {
    --ifm-navbar-background-color: var(--ifm-color-primary);
    --ifm-navbar-link-hover-color: var(--ifm-color-white);
    --ifm-menu-color-active: var(--ifm-color-white);
    --ifm-navbar-search-input-color: var(--ifm-color-emphasis-500);
  }

.navbar__search-input {
      appearance: none; /* Algolia will add type="search" to the input in Safari and Safari's styling will override the styling here. */
      background: var(--ifm-navbar-search-input-background-color)
        var(--ifm-navbar-search-input-icon) no-repeat 0.75rem center / 1rem 1rem;
      border: none;
      border-radius: 2rem;
      color: var(--ifm-navbar-search-input-color);
      cursor: text;
      display: inline-block;
      font-size: 1rem;
      height: 2rem;
      padding: 0 0.5rem 0 2.25rem;
      width: 12.5rem;
    }

.navbar__search-input::placeholder {
        color: var(--ifm-navbar-search-input-placeholder-color);
      }

.navbar-sidebar {
    background-color: var(--ifm-navbar-background-color);
    bottom: 0;
    box-shadow: var(--ifm-global-shadow-md);
    left: 0;
    opacity: 0;
    overflow-x: hidden;
    position: fixed;
    top: 0;
    transform: translate3d(-100%, 0, 0);
    visibility: hidden;
    width: var(--ifm-navbar-sidebar-width);
    transition-property: opacity, visibility, transform;
    transition-duration: var(--ifm-transition-fast);
    transition-timing-function: ease-in-out;
  }

.navbar-sidebar--show .navbar-sidebar,
      .navbar-sidebar--show .navbar-sidebar__backdrop {
        opacity: 1;
        visibility: visible;
      }

.navbar-sidebar--show .navbar-sidebar {
        transform: translate3d(0, 0, 0);
      }

.navbar-sidebar__backdrop {
      background-color: rgba(0, 0, 0, 0.6);
      bottom: 0;
      left: 0;
      opacity: 0;
      position: fixed;
      right: 0;
      top: 0;
      visibility: hidden;
      transition-property: opacity, visibility;
      transition-duration: var(--ifm-transition-fast);
      transition-timing-function: ease-in-out;
    }

.navbar-sidebar__brand {
      align-items: center;
      box-shadow: var(--ifm-navbar-shadow);
      display: flex;
      flex: 1;
      height: var(--ifm-navbar-height);
      padding: var(--ifm-navbar-padding-vertical)
        var(--ifm-navbar-padding-horizontal);
    }

.navbar-sidebar__items {
      display: flex;
      height: calc(100% - var(--ifm-navbar-height));
      transform: translateZ(0);
      transition: transform var(--ifm-transition-fast) ease-in-out;
    }

.navbar-sidebar__items--show-secondary {
        transform: translate3d(
          calc((var(--ifm-navbar-sidebar-width)) * -1),
          0,
          0
        );
      }

.navbar-sidebar__item {
      flex-shrink: 0;
      padding: 0.5rem;
      width: calc(var(--ifm-navbar-sidebar-width));
    }

.navbar-sidebar__back {
      background: var(--ifm-menu-color-background-active);
      font-size: 15px;
      font-weight: var(--ifm-button-font-weight);
      margin: 0 0 0.2rem -0.5rem;
      padding: 0.6rem 1.5rem;
      position: relative;
      text-align: left;
      top: -0.5rem;
      width: calc(100% + 1rem);
    }

.navbar-sidebar__close {
      display: flex;
      margin-left: auto;
    }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.pagination {
  column-gap: var(--ifm-pagination-page-spacing);
  display: flex;
  font-size: var(--ifm-pagination-font-size);
  padding-left: 0;
}

.pagination--sm {
    --ifm-pagination-font-size: 0.8rem;
    --ifm-pagination-padding-horizontal: 0.8rem;
    --ifm-pagination-padding-vertical: 0.2rem;
  }

.pagination--lg {
    --ifm-pagination-font-size: 1.2rem;
    --ifm-pagination-padding-horizontal: 1.2rem;
    --ifm-pagination-padding-vertical: 0.3rem;
  }

.pagination__item {
    display: inline-flex;
  }

.pagination__item > span {
      padding: var(--ifm-pagination-padding-vertical);
    }

.pagination__item--active .pagination__link {
        background: var(--ifm-pagination-item-active-background);
        color: var(--ifm-pagination-color-active);
      }

.pagination__item:not(.pagination__item--active):hover .pagination__link {
        background: var(--ifm-pagination-item-active-background);
      }

.pagination__item--disabled,
    .pagination__item[disabled] {
      opacity: 0.25;
      pointer-events: none;
    }

.pagination__link {
    border-radius: var(--ifm-pagination-border-radius);
    color: var(--ifm-font-color-base);
    display: inline-block;
    padding: var(--ifm-pagination-padding-vertical)
      var(--ifm-pagination-padding-horizontal);
    transition: background var(--ifm-transition-fast) var(--ifm-transition-timing-default);
  }

.pagination__link:hover {
      -webkit-text-decoration: none;
      text-decoration: none;
    }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.pagination-nav {
  display: grid;
  grid-gap: var(--ifm-spacing-horizontal);
  gap: var(--ifm-spacing-horizontal);
  grid-template-columns: repeat(2, 1fr);
}

.pagination-nav__link {
    border: 1px solid var(--ifm-color-emphasis-300);
    border-radius: var(--ifm-pagination-nav-border-radius);
    display: block;
    height: 100%;
    line-height: var(--ifm-heading-line-height);
    padding: var(--ifm-global-spacing);
    transition: border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default);
  }

.pagination-nav__link:hover {
      border-color: var(--ifm-pagination-nav-color-hover);
      -webkit-text-decoration: none;
      text-decoration: none;
    }

.pagination-nav__link--next {
      grid-column: 2/3;
      text-align: right;
    }

.pagination-nav__label {
    font-size: var(--ifm-h4-font-size);
    font-weight: var(--ifm-heading-font-weight);
    word-break: break-word;
  }

.pagination-nav__link--prev .pagination-nav__label::before {
      content: '« ';
    }

.pagination-nav__link--next .pagination-nav__label::after {
      content: ' »';
    }

.pagination-nav__sublabel {
    color: var(--ifm-color-content-secondary);
    font-size: var(--ifm-h5-font-size);
    font-weight: var(--ifm-font-weight-semibold);
    margin-bottom: 0.25rem;
  }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.pills {
  display: flex;
  gap: var(--ifm-pills-spacing);
  padding-left: 0;
}

.pills__item {
    border-radius: 0.5rem;
    cursor: pointer;
    display: inline-block;
    font-weight: var(--ifm-font-weight-bold);
    padding: 0.25rem 1rem;
    transition: background var(--ifm-transition-fast) var(--ifm-transition-timing-default);
  }

.pills__item--active {
      background: var(--ifm-pills-color-background-active);
      color: var(--ifm-pills-color-active);
    }

.pills__item:not(.pills__item--active):hover {
      background: var(--ifm-pills-color-background-active);
    }

.pills--block {
    justify-content: stretch;
  }

.pills--block .pills__item {
      flex-grow: 1;
      text-align: center;
    }

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.tabs {
  color: var(--ifm-tabs-color);
  display: flex;
  font-weight: var(--ifm-font-weight-bold);
  margin-bottom: 0;
  overflow-x: auto;
  padding-left: 0;
}

.tabs__item {
    border-bottom: 3px solid transparent;
    border-radius: var(--ifm-global-radius);
    cursor: pointer;
    display: inline-flex;
    padding: var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);
    transition: background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default);
  }

.tabs__item--active {
      border-bottom-color: var(--ifm-tabs-color-active-border);
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      color: var(--ifm-tabs-color-active);
    }

.tabs__item:hover {
      background-color: var(--ifm-hover-overlay);
    }

.tabs--block {
    justify-content: stretch;
  }

.tabs--block .tabs__item {
      flex-grow: 1;
      justify-content: center;
    }

/* Mode */

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

html[data-theme='dark'] {
  --ifm-color-scheme: dark;

  --ifm-color-emphasis-0: var(--ifm-color-gray-1000);
  --ifm-color-emphasis-100: var(--ifm-color-gray-900);
  --ifm-color-emphasis-200: var(--ifm-color-gray-800);
  --ifm-color-emphasis-300: var(--ifm-color-gray-700);
  --ifm-color-emphasis-400: var(--ifm-color-gray-600);
  --ifm-color-emphasis-500: var(--ifm-color-gray-500);
  --ifm-color-emphasis-600: var(--ifm-color-gray-400);
  --ifm-color-emphasis-700: var(--ifm-color-gray-300);
  --ifm-color-emphasis-800: var(--ifm-color-gray-200);
  --ifm-color-emphasis-900: var(--ifm-color-gray-100);
  --ifm-color-emphasis-1000: var(--ifm-color-gray-0);

  --ifm-background-color: #1b1b1d;
  --ifm-background-surface-color: #242526;

  --ifm-hover-overlay: rgba(255, 255, 255, 0.05);

  --ifm-color-content: #e3e3e3;
  --ifm-color-content-secondary: rgba(255, 255, 255, 1);

  --ifm-breadcrumb-separator-filter: invert(64%) sepia(11%) saturate(0%)
    hue-rotate(149deg) brightness(99%) contrast(95%);

  --ifm-code-background: rgba(255, 255, 255, 0.1);

  --ifm-scrollbar-track-background-color: #444444;
  --ifm-scrollbar-thumb-background-color: #686868;
  --ifm-scrollbar-thumb-hover-background-color: #7a7a7a;

  --ifm-table-stripe-background: rgba(255, 255, 255, 0.07);

  --ifm-toc-border-color: var(--ifm-color-emphasis-200);
    --ifm-color-primary-contrast-background: rgb(16, 36, 69);
    --ifm-color-primary-contrast-foreground: rgb(235, 242, 252);
    --ifm-color-secondary-contrast-background: rgb(71, 71, 72);
    --ifm-color-secondary-contrast-foreground: rgb(253, 253, 254);
    --ifm-color-success-contrast-background: rgb(0, 49, 0);
    --ifm-color-success-contrast-foreground: rgb(230, 246, 230);
    --ifm-color-info-contrast-background: rgb(25, 60, 71);
    --ifm-color-info-contrast-foreground: rgb(238, 249, 253);
    --ifm-color-warning-contrast-background: rgb(77, 56, 0);
    --ifm-color-warning-contrast-foreground: rgb(255, 248, 230);
    --ifm-color-danger-contrast-background: rgb(75, 17, 19);
    --ifm-color-danger-contrast-foreground: rgb(255, 235, 236)
}

@media (min-width: 1440px) {
    .container {
      max-width: var(--ifm-container-width-xl);
    }
}

@media (max-width: 996px) {
    .col {
      --ifm-col-width: 100%;
      flex-basis: var(--ifm-col-width);
      margin-left: 0;
    }

.footer {
    --ifm-footer-padding-horizontal: 0
}

    .footer__link-separator {
      display: none;
    }

    .footer__col {
      margin-bottom: calc(var(--ifm-spacing-vertical) * 3);
    }

    .footer__link-item {
      display: block;
      width: max-content;
    }

.hero {
    padding-left: 0;
    padding-right: 0
}

.navbar > .container,
  .navbar > .container-fluid {
      padding: 0
  }

.navbar__toggle {
      display: inherit
  }

.navbar__item {
      display: none
  }

.navbar__search-input {
        width: 9rem
    }

.pills--block {
      flex-direction: column
  }

.tabs--block {
      flex-direction: column
  }
}

@media (max-width: 576px) {
    .markdown h1:first-child {
      --ifm-h1-font-size: 2rem;
    }
    .markdown > h2 {
      --ifm-h2-font-size: 1.5rem;
    }
    .markdown > h3 {
      --ifm-h3-font-size: 1.25rem;
    }
}

@media (pointer: fine) {
  .thin-scrollbar {
    scrollbar-width: thin;
  }
  .thin-scrollbar::-webkit-scrollbar {
    height: var(--ifm-scrollbar-size);
    width: var(--ifm-scrollbar-size);
  }
  .thin-scrollbar::-webkit-scrollbar-track {
    background: var(--ifm-scrollbar-track-background-color);
    border-radius: 10px;
  }
  .thin-scrollbar::-webkit-scrollbar-thumb {
    background: var(--ifm-scrollbar-thumb-background-color);
    border-radius: 10px;
  }
  .thin-scrollbar::-webkit-scrollbar-thumb:hover {
    background: var(--ifm-scrollbar-thumb-hover-background-color);
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --ifm-transition-fast: 0ms;
    --ifm-transition-slow: 0ms;
  }
}

@media print {

.table-of-contents {
    display: none
}

.footer {
    display: none
}

.menu {
    display: none
}

.navbar {
    display: none
}

.pagination-nav {
    display: none
}

.tabs {
    page-break-inside: avoid
}
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/**
 * Styles for NProgress
 * Copied over to remove unused styles for the spinner.
 * https://github.com/rstacruz/nprogress/blob/master/nprogress.css
 */

:root {
  --docusaurus-progress-bar-color: var(--ifm-color-primary);
}

#nprogress {
  pointer-events: none;
}

#nprogress .bar {
  background: var(--docusaurus-progress-bar-color);
  position: fixed;
  z-index: 1031;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
}

#nprogress .peg {
  position: absolute;
  right: 0;
  width: 100px;
  height: 100%;
  box-shadow: 0 0 10px var(--docusaurus-progress-bar-color),
    0 0 5px var(--docusaurus-progress-bar-color);
  opacity: 1;
  transform: rotate(3deg) translate(0, -4px);
}

/* Related Topics Component Styles */

.related-topics {
  margin-top: 3rem;
  margin-bottom: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--ifm-color-emphasis-300);
}

.related-topics h2 {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  color: var(--ifm-heading-color);
}

.related-topics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
  margin-top: 1rem;
}

.related-topic-card {
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 8px;
  transition: all 0.2s ease-in-out;
  -webkit-text-decoration: none;
  text-decoration: none;
  color: inherit;
  background-color: var(--ifm-background-surface-color);
  height: 100%;
}

.related-topic-card:hover {
  border-color: var(--ifm-color-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  -webkit-text-decoration: none;
  text-decoration: none;
  transform: translateY(-2px);
}

.related-topic-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.75rem;
}

.related-topic-type {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 12px;
  background-color: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-emphasis-800);
}

/* Different colors for different content types */
.related-topic-card:has(.related-topic-type:contains("Solution")) .related-topic-type {
  background-color: #e3f2fd;
  color: #1565c0;
}

.related-topic-card:has(.related-topic-type:contains("Capability")) .related-topic-type {
  background-color: #f3e5f5;
  color: #6a1b9a;
}

.related-topic-card:has(.related-topic-type:contains("How-to")) .related-topic-type {
  background-color: #e8f5e9;
  color: #2e7d32;
}

.related-topic-card:has(.related-topic-type:contains("Integration")) .related-topic-type {
  background-color: #fff3e0;
  color: #e65100;
}

.related-topic-card:has(.related-topic-type:contains("Concept")) .related-topic-type {
  background-color: #fce4ec;
  color: #c2185b;
}

.related-topic-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  line-height: 1.4;
  color: var(--ifm-heading-color);
}

.related-topic-card:hover .related-topic-title {
  color: var(--ifm-color-primary);
}

.related-topic-description {
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--ifm-color-emphasis-700);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Dark mode adjustments */
[data-theme='dark'] .related-topic-card {
  border-color: var(--ifm-color-emphasis-300);
  background-color: var(--ifm-background-surface-color);
}

[data-theme='dark'] .related-topic-card:hover {
  border-color: var(--ifm-color-primary-light);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

[data-theme='dark'] .related-topic-type {
  background-color: var(--ifm-color-emphasis-300);
  color: var(--ifm-color-emphasis-900);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .related-topics-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .related-topics {
    margin-top: 2rem;
  }

  .related-topics h2 {
    font-size: 1.25rem;
  }
}

/* =========================================================
   DEVELOPER THEME OVERLAY
   Adds a developer-focused aesthetic and fixes dark-mode
   contrast issues. Loaded after custom.css so its rules win.

   Strategy:
   - Keep SecureAuth brand identity (Sky blue primary)
   - GitHub Dark / Linear-inspired dark palette for contrast
   - JetBrains Mono for code, tighter density, bordered code
   - Filename-tab style for code block titles
   ========================================================= */

:root {
  --ifm-font-family-monospace: 'JetBrains Mono', 'SF Mono', Monaco, 'Cascadia Code', Consolas, monospace;

  /* Code tokens */
  --dev-code-bg: #f6f8fa;
  --dev-code-border: #d0d7de;
  --dev-inline-code-bg: rgba(40, 152, 255, 0.08);
  --dev-inline-code-color: #0550ae;
  --dev-inline-code-border: rgba(40, 152, 255, 0.2);
}

/* =========================================================
   DARK MODE — GitHub Dark inspired, high-contrast
   ========================================================= */
[data-theme='dark'] {
  /* Canvas — pure black, no blue tint */
  --ifm-background-color: #000000;
  --ifm-background-surface-color: #0a0a0a;

  /* Text — max contrast */
  --ifm-color-content: #ffffff;
  --ifm-color-content-secondary: #a3a3a3;

  /* Emphasis scale — neutral grays, visible borders */
  --ifm-color-emphasis-0: #000000;
  --ifm-color-emphasis-100: #0a0a0a;
  --ifm-color-emphasis-200: #141414;
  --ifm-color-emphasis-300: #262626;
  --ifm-color-emphasis-400: #404040;
  --ifm-color-emphasis-500: #737373;
  --ifm-color-emphasis-600: #a3a3a3;
  --ifm-color-emphasis-700: #d4d4d4;
  --ifm-color-emphasis-800: #e5e5e5;
  --ifm-color-emphasis-900: #f5f5f5;
  --ifm-color-emphasis-1000: #ffffff;

  /* Accent — single bright blue, no brand tint variants */
  --ifm-color-primary: #3b9eff;
  --ifm-color-primary-dark: #1a8bff;
  --ifm-color-primary-darker: #0077e6;
  --ifm-color-primary-darkest: #0066cc;
  --ifm-color-primary-light: #5cafff;
  --ifm-color-primary-lighter: #7dc0ff;
  --ifm-color-primary-lightest: #a3d2ff;

  /* Code */
  --dev-code-bg: #0a0a0a;
  --dev-code-border: #262626;
  --dev-inline-code-bg: #141414;
  --dev-inline-code-color: #7dc0ff;
  --dev-inline-code-border: #262626;

  --ifm-toc-border-color: #262626;
  --ifm-hr-background-color: #262626;
  --ifm-navbar-background-color: #000000;
  --ifm-footer-background-color: #000000;
}

/* Force pure black everywhere, beating prior !important rules */
[data-theme='dark'] body,
[data-theme='dark'] html,
[data-theme='dark'] main,
[data-theme='dark'] .main-wrapper,
[data-theme='dark'] .theme-doc-markdown,
[data-theme='dark'] article,
[data-theme='dark'] .container {
  background-color: #000000 !important;
  color: #ffffff !important;
}

[data-theme='dark'] .navbar,
[data-theme='dark'] .footer,
[data-theme='dark'] .footer .container {
  background-color: #0a0a0a !important;
}
[data-theme='dark'] .footer {
  border-top: 1px solid #404040 !important;
  border-bottom: none !important;
}

/* Sidebar — pure black with subtle border */
[data-theme='dark'] .theme-doc-sidebar-container,
[data-theme='dark'] .theme-doc-sidebar-container > div {
  background-color: #000000 !important;
  border-right: 1px solid #262626 !important;
}

[data-theme='dark'] .menu,
[data-theme='dark'] .menu__list,
[data-theme='dark'] .theme-doc-sidebar-menu {
  background-color: #000000 !important;
}

[data-theme='dark'] .menu__link,
[data-theme='dark'] .theme-doc-sidebar-item-link,
[data-theme='dark'] .theme-doc-sidebar-item-link > a,
[data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link {
  color: #d4d4d4 !important;
  background-color: transparent !important;
}

[data-theme='dark'] .menu__link:hover,
[data-theme='dark'] .theme-doc-sidebar-item-link:hover,
[data-theme='dark'] .menu__list-item-collapsible:hover {
  background-color: #141414 !important;
  color: #ffffff !important;
}

[data-theme='dark'] .menu__link--active,
[data-theme='dark'] .theme-doc-sidebar-item-link--active,
[data-theme='dark'] .theme-doc-sidebar-item-link--active > .menu__link,
[data-theme='dark'] .theme-doc-sidebar-item-link--active .menu__link,
[data-theme='dark'] .menu__list .menu__list .menu__link--active {
  background-color: #1a2332 !important;
  color: #3b9eff !important;
  border-left: none !important;
}

/* Strip SecureAuth navy icon tint in dark mode (icons were hardcoded #06223B) */
[data-theme='dark'] [class*='theme-doc-sidebar-item-category'] > .menu__list-item-collapsible > .menu__link::before {
  filter: invert(1) brightness(2) !important;
  opacity: 0.7;
}

/* TOC */
[data-theme='dark'] .table-of-contents {
  border-left: 1px solid #262626;
}
[data-theme='dark'] .table-of-contents__link {
  color: #737373 !important;
}
[data-theme='dark'] .table-of-contents__link:hover,
[data-theme='dark'] .table-of-contents__link--active {
  color: #3b9eff !important;
}

/* Links */
[data-theme='dark'] .markdown a,
[data-theme='dark'] a {
  color: #3b9eff !important;
  -webkit-text-decoration: none;
  text-decoration: none;
}
[data-theme='dark'] .markdown a:hover,
[data-theme='dark'] a:hover {
  color: #7dc0ff !important;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

/* Headings — pure white */
[data-theme='dark'] h1,
[data-theme='dark'] h2,
[data-theme='dark'] h3,
[data-theme='dark'] h4,
[data-theme='dark'] h5,
[data-theme='dark'] h6,
[data-theme='dark'] .markdown h1,
[data-theme='dark'] .markdown h2,
[data-theme='dark'] .markdown h3,
[data-theme='dark'] .markdown h4,
[data-theme='dark'] .markdown h5,
[data-theme='dark'] .markdown h6 {
  color: #ffffff !important;
}

/* Tables */
[data-theme='dark'] .markdown table,
[data-theme='dark'] .table {
  border: 1px solid #262626 !important;
  background-color: #000000 !important;
}
[data-theme='dark'] .markdown table thead th,
[data-theme='dark'] .table thead th {
  background-color: #0a0a0a !important;
  color: #ffffff !important;
  border-color: #262626 !important;
}
[data-theme='dark'] .markdown table tbody td,
[data-theme='dark'] .table tbody td {
  color: #d4d4d4 !important;
  border-color: #262626 !important;
  background-color: #000000 !important;
}
[data-theme='dark'] .markdown table tbody tr:hover td {
  background-color: #0a0a0a !important;
}

/* Navbar links */
[data-theme='dark'] .navbar__title,
[data-theme='dark'] .navbar__link {
  color: #ffffff !important;
}
[data-theme='dark'] .navbar__link:hover {
  color: #3b9eff !important;
}
[data-theme='dark'] .navbar__search input {
  background-color: #0a0a0a !important;
  border: 1px solid #262626 !important;
  color: #ffffff !important;
}

/* =========================================================
   DEVELOPER AESTHETIC — typography + code
   ========================================================= */

/* Headings get a slightly tighter, more technical feel */
.markdown h1 {
  font-weight: 700;
  letter-spacing: -0.02em;
}
.markdown h2 {
  font-weight: 650;
  letter-spacing: -0.015em;
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
  padding-bottom: 0.4rem;
  margin-top: 2.5rem;
}
.markdown h3 {
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-top: 2rem;
}

[data-theme='dark'] .markdown h2 {
  border-bottom-color: #262626;
}

/* Inline code — bordered, tinted, monospace */
.markdown :not(pre) > code {
  font-family: var(--ifm-font-family-monospace);
  font-size: 0.875em;
  font-weight: 500;
  background-color: var(--dev-inline-code-bg) !important;
  color: var(--dev-inline-code-color) !important;
  border: 1px solid var(--dev-inline-code-border);
  border-radius: 4px;
  padding: 0.15em 0.4em;
}

/* Code blocks — bordered panels with filename tab feel */
.theme-code-block {
  border-radius: 8px;
  border: 1px solid var(--dev-code-border);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  margin: 1.25rem 0;
  overflow: hidden;
}

[data-theme='dark'] .theme-code-block {
  border-color: #262626;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
}

[data-theme='dark'] .prism-code {
  background-color: #0a0a0a !important;
}

.prism-code {
  border-left: none !important;
  border-radius: 0 !important;
  font-family: var(--ifm-font-family-monospace) !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  padding: 1rem 1.15rem !important;
}

/* Code block filename / title bar */
.theme-code-block > .codeBlockTitle_src-theme-CodeBlock-Container-styles-module,
.theme-code-block [class*='codeBlockTitle'] {
  font-family: var(--ifm-font-family-monospace) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 0.5rem 1rem !important;
  background-color: var(--dev-code-bg) !important;
  border-bottom: 1px solid var(--dev-code-border) !important;
  color: var(--ifm-color-content-secondary) !important;
}

[data-theme='dark'] .theme-code-block [class*='codeBlockTitle'] {
  background-color: #000000 !important;
  border-bottom-color: #262626 !important;
  color: #a3a3a3 !important;
}

/* Mac-window style dots on the title bar — subtle developer feel */
.theme-code-block [class*='codeBlockTitle']::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff5f57;
  margin-right: 6px;
  vertical-align: middle;
  box-shadow:
    16px 0 0 #febc2e,
    32px 0 0 #28c840;
}

.theme-code-block [class*='codeBlockTitle'] {
  padding-left: 3.75rem !important;
  position: relative;
}

.theme-code-block [class*='codeBlockTitle']::before {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
}

/* Copy button — flatter, more terminal */
.theme-code-block button[class*='copyButton'] {
  font-family: var(--ifm-font-family-monospace) !important;
  border-radius: 4px !important;
}

/* Admonitions — dev-flavored left-accent */
.theme-admonition,
.alert {
  border-left-width: 3px !important;
  border-radius: 6px !important;
  font-size: 0.95em;
}

[data-theme='dark'] .theme-admonition,
[data-theme='dark'] .alert {
  background-color: #0a0a0a !important;
  border-color: #262626 !important;
  color: #d4d4d4 !important;
}

/* Pagination and cards */
[data-theme='dark'] .pagination-nav__link,
[data-theme='dark'] .card {
  background-color: #0a0a0a !important;
  border: 1px solid #262626 !important;
  color: #d4d4d4 !important;
}
[data-theme='dark'] .pagination-nav__link:hover,
[data-theme='dark'] .card:hover {
  border-color: #3b9eff !important;
  background-color: #141414 !important;
}

/* Breadcrumbs */
[data-theme='dark'] .breadcrumbs__link {
  color: #a3a3a3 !important;
}
[data-theme='dark'] .breadcrumbs__item--active .breadcrumbs__link {
  color: #ffffff !important;
  background-color: #141414 !important;
}

/* Horizontal rules */
[data-theme='dark'] hr {
  background-color: #262626 !important;
  border-color: #262626 !important;
}

/* Blockquotes */
[data-theme='dark'] blockquote {
  background-color: #0a0a0a !important;
  border-left: 3px solid #3b9eff !important;
  color: #d4d4d4 !important;
}

/* Inline code override for dark mode — beat any earlier !important */
[data-theme='dark'] .markdown :not(pre) > code {
  background-color: #141414 !important;
  color: #7dc0ff !important;
  border: 1px solid #262626 !important;
}

/* =========================================================
   CONTENT WIDTH — reclaim horizontal space
   Docusaurus default caps .container at 75rem. Push it out.
   ========================================================= */
@media (min-width: 997px) {
  /* Doc pages: let the main column fill available width */
  .container {
    max-width: none !important;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  /* Article column — padding gives article-format breathing room */
  .theme-doc-markdown,
  article {
    max-width: none !important;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  /* Full-width for visual elements */
  .markdown > pre,
  .markdown > .theme-code-block,
  .markdown > table,
  .markdown > .tabs-container,
  .markdown > details {
    max-width: none;
  }
}

/* Very wide screens: trim the TOC and sidebar a touch so content gets more */
@media (min-width: 1400px) {
  .theme-doc-toc-desktop {
    max-width: 220px;
  }
}

/* =========================================================
   KILL LEFTOVER GREYS — custom.css hardcodes #2d2d2d and
   #3a3a3a on many containers for dark mode. Force them black.
   ========================================================= */
[data-theme='dark'] .stat-card,
[data-theme='dark'] .capability-card,
[data-theme='dark'] .navbar-sidebar,
[data-theme='dark'] .navbar-sidebar__brand,
[data-theme='dark'] .navbar-sidebar__items,
[data-theme='dark'] .navbar-sidebar__item,
[data-theme='dark'] .theme-doc-sidebar-menu,
[data-theme='dark'] .menu,
[data-theme='dark'] aside,
[data-theme='dark'] .theme-doc-sidebar-container,
[data-theme='dark'] .theme-doc-markdown,
[data-theme='dark'] .docItemContainer,
[data-theme='dark'] [class*='docItemContainer'],
[data-theme='dark'] [class*='docMainContainer'],
[data-theme='dark'] [class*='docRoot'],
[data-theme='dark'] [class*='docPage'] {
  background-color: #000000 !important;
}

[data-theme='dark'] .stat-card,
[data-theme='dark'] .capability-card {
  border: 1px solid #262626 !important;
  box-shadow: none !important;
}

/* Table header was forced to #3a3a3a in custom.css — override */
[data-theme='dark'] .markdown table thead th,
[data-theme='dark'] .table thead th {
  background-color: #0a0a0a !important;
  color: #ffffff !important;
}

/* Mermaid diagram backgrounds */
[data-theme='dark'] .docusaurus-mermaid-container,
[data-theme='dark'] [class*='mermaid'] {
  background-color: #0a0a0a !important;
}

/* Mermaid dark mode — aggressive overrides.
   Mermaid writes inline styles on SVG elements, so we need high
   specificity + !important to beat them. */

[data-theme='dark'] .mermaid svg {
  background-color: transparent !important;
}

/* Subgraph / cluster containers — navy with cyan accent */
[data-theme='dark'] .mermaid .cluster > rect,
[data-theme='dark'] .mermaid g.cluster rect,
[data-theme='dark'] .mermaid .cluster rect.outer {
  fill: #0a1f3d !important;
  stroke: rgba(34, 211, 238, 0.35) !important;
  stroke-width: 1px !important;
}

/* All text labels — nodes, clusters, edges */
[data-theme='dark'] .mermaid .nodeLabel,
[data-theme='dark'] .mermaid .cluster-label,
[data-theme='dark'] .mermaid .cluster-label span,
[data-theme='dark'] .mermaid .cluster-label p,
[data-theme='dark'] .mermaid .edgeLabel,
[data-theme='dark'] .mermaid .edgeLabel span,
[data-theme='dark'] .mermaid .edgeLabel p,
[data-theme='dark'] .mermaid text,
[data-theme='dark'] .mermaid foreignObject div {
  color: #e6edf3 !important;
  fill: #e6edf3 !important;
  background-color: transparent !important;
}

/* Edge label backgrounds (the pill behind text on arrows) */
[data-theme='dark'] .mermaid .edgeLabel rect,
[data-theme='dark'] .mermaid .edgeLabel .label-container {
  fill: #0a0a0a !important;
  background-color: #0a0a0a !important;
}

/* Node fills and borders — lighter navy, cyan border */
[data-theme='dark'] .mermaid .node rect,
[data-theme='dark'] .mermaid .node circle,
[data-theme='dark'] .mermaid .node ellipse,
[data-theme='dark'] .mermaid .node polygon,
[data-theme='dark'] .mermaid .node path {
  fill: #142850 !important;
  stroke: #22d3ee !important;
  stroke-width: 1.25px !important;
}

/* Edges — muted cyan-tinted blue */
[data-theme='dark'] .mermaid .edgePath .path,
[data-theme='dark'] .mermaid .flowchart-link,
[data-theme='dark'] .mermaid path.flowchart-link,
[data-theme='dark'] .mermaid marker path {
  stroke: #6cb9ff !important;
  fill: #6cb9ff !important;
}

/* Sequence diagram actor boxes and message arrows */
[data-theme='dark'] .mermaid .actor {
  fill: #142850 !important;
  stroke: #22d3ee !important;
}
[data-theme='dark'] .mermaid text.actor {
  fill: #e6edf3 !important;
}
[data-theme='dark'] .mermaid .messageText {
  fill: #e6edf3 !important;
  stroke: none !important;
}
[data-theme='dark'] .mermaid .messageLine0,
[data-theme='dark'] .mermaid .messageLine1 {
  stroke: #6cb9ff !important;
}
[data-theme='dark'] .mermaid .labelBox {
  fill: #0a1f3d !important;
  stroke: rgba(34, 211, 238, 0.35) !important;
}
[data-theme='dark'] .mermaid .labelText,
[data-theme='dark'] .mermaid .loopText {
  fill: #e6edf3 !important;
}
[data-theme='dark'] .mermaid .note {
  fill: #0a1f3d !important;
  stroke: rgba(34, 211, 238, 0.35) !important;
}

/* =========================================================
   NUCLEAR — force every article-page wrapper to pure black
   Catches Docusaurus internal containers that are otherwise
   translucent or tinted grey by default.
   ========================================================= */
[data-theme='dark'] #__docusaurus,
[data-theme='dark'] #__docusaurus_skipToContent_fallback,
[data-theme='dark'] .theme-doc-root,
[data-theme='dark'] .theme-doc-page,
[data-theme='dark'] [class*='docPage_'],
[data-theme='dark'] [class*='docMainContainer_'],
[data-theme='dark'] [class*='docMainContainerEnhanced'],
[data-theme='dark'] [class*='docItemCol_'],
[data-theme='dark'] [class*='docItemContainer_'],
[data-theme='dark'] [class*='docItemWrapper'],
[data-theme='dark'] [class*='docRoot_'],
[data-theme='dark'] [class*='docsWrapper_'],
[data-theme='dark'] [class*='mainWrapper_'],
[data-theme='dark'] [class*='row_'] > main,
[data-theme='dark'] .col.docItemCol_,
[data-theme='dark'] .col {
  background-color: #000000 !important;
  background: #000000 !important;
}

/* Kill any background-image / gradient on wrappers that might render grey */
[data-theme='dark'] .theme-doc-markdown,
[data-theme='dark'] .main-wrapper {
  background-image: none !important;
}

/* =========================================================
   DARK-MODE IMAGES — keep transparent/white-background
   images legible by giving them a white backing plate.
   Applies to content images in docs + blog; logos, avatars,
   and icons are excluded by size + class.
   ========================================================= */
[data-theme='dark'] .markdown img:not(.no-bg):not(.avatar__photo):not([class*='logo']):not([class*='icon']),
[data-theme='dark'] article .markdown img:not(.no-bg),
[data-theme='dark'] .blog-wrapper .markdown img:not(.no-bg) {
  background-color: #f5f7fa;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #1a1a1a;
}

/* Opt-out helper: add `class="no-bg"` to an image to keep it transparent */
[data-theme='dark'] .markdown img.no-bg {
  background-color: transparent !important;
  padding: 0 !important;
  border: none !important;
}

/* Keep avatars/icons small-and-round — never give them a plate */
[data-theme='dark'] .avatar__photo,
[data-theme='dark'] img[class*='avatar'],
[data-theme='dark'] img[src*='/logos/'],
[data-theme='dark'] .markdown img.img-icon {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

/* Blog card thumbnails — CSS-module hashed class is `thumb_XXXX`.
   Match the localname prefix so the white backing plate skips these. */
[data-theme='dark'] img[class^='thumb_'],
[data-theme='dark'] img[class*=' thumb_'],
[data-theme='dark'] [class^='card_'] img,
[data-theme='dark'] [class*=' card_'] img {
  background-color: transparent !important;
  padding: 0 !important;
  border: none !important;
}

/* =========================================================
   CENTER NAVBAR SEARCH — desktop only
   Algolia DocSearch normally sits on the far right.
   Absolute-position it so it lands dead-center regardless of
   how many nav items live on either side.
   ========================================================= */
@media (min-width: 997px) {
  .navbar__inner {
    position: relative;
  }

  .navbar .navbar__search,
  .navbar .DocSearch-Button {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 2;
  }

  /* Widen the centered search button so it feels substantial */
  .navbar .DocSearch-Button {
    min-width: 320px !important;
    max-width: 480px !important;
    width: 30vw !important;
    justify-content: flex-start !important;
    padding: 0 12px !important;
    height: 36px !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px !important;
  }

  .navbar .DocSearch-Button:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: #22d3ee !important;
    box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.15);
  }

  /* Make the right-side items hug the right edge again */
  .navbar__items--right {
    margin-left: auto;
  }
}

/* Mobile: keep default right-side placement */
@media (max-width: 996px) {
  .navbar .navbar__search,
  .navbar .DocSearch-Button {
    position: static !important;
    transform: none !important;
  }
}

/* =========================================================
   ALGOLIA DOCSEARCH MODAL

   Only a few DocSearch variables can be set from here. Docusaurus ships its own
   :root block of --docsearch-* values that loads after this file, and at equal
   specificity the later block wins. Anything Docusaurus also declares is
   silently ignored here, so this block keeps only the variables Docusaurus
   leaves alone. Measured in the browser, not inferred.

   To override a variable Docusaurus does declare, use html:root (see the
   --docsearch-muted-color rule below) so the extra specificity wins.
   ========================================================= */
:root {
  /* Ring around the search input. Now follows the brand primary (link blue in
     light mode, Blue 60 in dark) instead of the off-palette cyan #22d3ee this
     file used before. DocSearch did not appear to paint this ring when it was
     checked, so treat the value as correct-if-used rather than something you
     can see on screen today. */
  --docsearch-searchbox-shadow: inset 0 0 0 2px var(--ifm-color-primary);
  --docsearch-hit-shadow: 0 1px 3px 0 rgba(10, 31, 68, 0.08);
  --docsearch-key-gradient: linear-gradient(-180deg, #eef2f7, #ffffff);
  --docsearch-key-shadow: inset 0 -2px 0 0 rgba(10, 31, 68, 0.08),
    inset 0 0 1px 1px #ffffff, 0 1px 2px 1px rgba(10, 31, 68, 0.08);
}

[data-theme='dark'] {
  --docsearch-hit-shadow: none;
  --docsearch-key-gradient: linear-gradient(-180deg, #262626, #141414);
  --docsearch-key-shadow: inset 0 -2px 0 0 #000000,
    inset 0 0 1px 1px #262626, 0 1px 2px 1px rgba(0, 0, 0, 0.5);
}

/* Muted text in the search modal ("See all N results", empty states).
   DocSearch's default #9698c3 sits at 2.6:1 on the modal background, below the
   4.5:1 minimum. Neutral 60 clears it at 5.6:1.
   This needs html:root rather than :root: DocSearch ships its own :root block
   that loads after this file, so a plain :root here is silently outranked. */
html:root {
  --docsearch-muted-color: #52647c;
}

/* Structural tweaks the variables don't cover */
.DocSearch-Modal {
  border-radius: 14px !important;
  overflow: hidden;
  border: 1px solid transparent;
}

[data-theme='dark'] .DocSearch-Modal {
  border: 1px solid #262626;
}

.DocSearch-SearchBar {
  padding: 18px 20px 0 !important;
}

.DocSearch-Form {
  border-radius: 10px !important;
  height: 48px !important;
}

.DocSearch-Input {
  font-family: var(--ifm-font-family-base) !important;
  font-size: 1rem !important;
}

/* Active hit (hover and keyboard selection).
   A two-color gradient cannot work here: the row text is a single color,
   so one end of the gradient always collapses to roughly 1:1 contrast.
   Use one flat brand tint per theme and let the text keep its own color.
   Brand Blue 100 (#e6eef9) and Blue -40 (#172c6a). */
.DocSearch-Hit[aria-selected='true'] a {
  background: #e6eef9 !important;
}

[data-theme='dark'] .DocSearch-Hit[aria-selected='true'] a {
  background: #172c6a !important;
}

/* Matched search term on the active row. The default blue sits at 3.4:1 on
   the dark tint above, so lift it to brand Signal Blue (9.1:1). */
[data-theme='dark'] .DocSearch-Hit[aria-selected='true'] mark {
  color: #75e7ff !important;
}

.DocSearch-Hit a {
  border-radius: 8px !important;
  transition: background 120ms ease;
}

/* Source headings (section labels like "Documentation") */
.DocSearch-Hit-source {
  font-family: var(--ifm-font-family-monospace) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
}

[data-theme='dark'] .DocSearch-Hit-source {
  color: #22d3ee !important;
  background: #0a0a0a !important;
}

/* Path breadcrumb inside results */
.DocSearch-Hit-path {
  font-size: 12px !important;
  opacity: 0.75;
}

/* Keyboard shortcut hints in footer */
.DocSearch-Commands-Key {
  font-family: var(--ifm-font-family-monospace) !important;
  font-size: 11px !important;
}

/* Keyboard hints in the modal footer. #a3a3a3 on the key background is 4.4:1,
   just under the 4.5:1 minimum. Neutral 90 clears it at 6.5:1. */
[data-theme='dark'] .DocSearch-Commands-Key {
  color: #b8c8d8 !important;
}

/* No-results state */
.DocSearch-NoResults-Prefill-List {
  padding: 12px 20px !important;
}

[data-theme='dark'] .DocSearch-NoResults,
[data-theme='dark'] .DocSearch-StartScreen {
  color: #a3a3a3 !important;
}

/* Reset button (clear input) */
.DocSearch-Reset:hover,
.DocSearch-Cancel:hover {
  color: #22d3ee !important;
}

/* =========================================================
   QUICKSTART FLOW — inline 4-step infographic
   Reusable class for any quickstart page that wants a
   numbered step overview at the top.
   ========================================================= */
.quickstart-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 2rem 0 2.5rem;
  position: relative;
}

.qs-step {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.1rem 0.9rem 1rem;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f7fa 100%);
  border: 1px solid rgba(10, 31, 68, 0.1);
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  color: inherit !important;
  position: relative;
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
  box-shadow: 0 1px 2px rgba(10, 31, 68, 0.04);
}

.qs-step:hover {
  transform: translateY(-2px);
  border-color: #22d3ee !important;
  box-shadow:
    0 8px 20px -6px rgba(34, 211, 238, 0.3),
    0 1px 3px rgba(10, 31, 68, 0.08);
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}

/* Number badge */
.qs-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #22d3ee;
  padding: 2px 8px;
  border: 1px solid rgba(34, 211, 238, 0.3);
  border-radius: 999px;
  background-color: rgba(34, 211, 238, 0.08);
  align-self: flex-start;
}

.qs-title {
  font-size: 1rem;
  font-weight: 650;
  color: #0a1f44;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.qs-desc {
  font-size: 0.8rem;
  color: #64748b;
  line-height: 1.45;
}

/* Connector arrows between cards (desktop only) */
@media (min-width: 768px) {
  .qs-step:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -0.65rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0.55rem;
    height: 1px;
    background: linear-gradient(90deg, transparent, #22d3ee);
    z-index: 1;
  }
  .qs-step:not(:last-child)::before {
    content: '';
    position: absolute;
    right: -0.9rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid #22d3ee;
    z-index: 1;
    opacity: 0.7;
  }
}

/* Responsive collapse */
@media (max-width: 1100px) {
  .quickstart-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .quickstart-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .qs-step:not(:last-child)::after,
  .qs-step:not(:last-child)::before {
    display: none;
  }
}
@media (max-width: 480px) {
  .quickstart-flow {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   QUICKSTART FLOW — dark mode
   ========================================================= */
[data-theme='dark'] .qs-step {
  background: linear-gradient(180deg, #0a0a0a 0%, #050505 100%);
  border-color: #262626;
  box-shadow: none;
}

[data-theme='dark'] .qs-step:hover {
  border-color: #22d3ee !important;
  box-shadow:
    0 0 0 1px rgba(34, 211, 238, 0.3),
    0 12px 30px -8px rgba(34, 211, 238, 0.35);
}

[data-theme='dark'] .qs-num {
  color: #67e8f9;
  border-color: rgba(34, 211, 238, 0.35);
  background-color: rgba(34, 211, 238, 0.1);
}

[data-theme='dark'] .qs-title {
  color: #ffffff;
}

[data-theme='dark'] .qs-desc {
  color: #a3a3a3;
}

/* =========================================================
   SIDEBAR COLLAPSE CARET — shrink the oversized chevron
   ========================================================= */
.menu__caret {
  padding: 0.25rem !important;
  border-radius: 4px;
}

.menu__caret::before {
  height: 0.85rem !important;
  width: 0.85rem !important;
  background-size: 1.4rem 1.4rem !important;
  opacity: 0.7;
}

.menu__caret:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

[data-theme='dark'] .menu__caret:hover {
  background-color: rgba(255, 255, 255, 0.06);
}

.menu__link--sublist-caret::after {
  height: 0.85rem !important;
  width: 0.85rem !important;
  background-size: 1.4rem 1.4rem !important;
  min-width: 0.85rem !important;
  opacity: 0.7;
}

/* =========================================================
   KILL BLUE LEFT BAR ON ACTIVE SIDEBAR ITEMS
   custom.css uses `border-left: 3px solid ...` with 0 6px 6px 0
   radius, which reads as a "blue brace" on the left edge.
   ========================================================= */
.theme-doc-sidebar-item-link--active,
.menu__link--active,
.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link--active,
.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link--active,
.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link--active {
  border-left: none !important;
  border-radius: 6px !important;
}

/* =========================================================
   DROP SIDEBAR CATEGORY ICONS — text-only navigation
   Custom.css injects SVG icons via ::before pseudo-elements
   on each category. Neutralize them site-wide.
   ========================================================= */
.theme-doc-sidebar-item-category[class*='theme-doc-sidebar-item-category-'] > .menu__list-item-collapsible > .menu__link::before,
.sidebar-overview .menu__link::before,
.sidebar-api .menu__link::before {
  content: none !important;
  background: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  display: none !important;
}

/* =========================================================
   MODERN TABLES — navy base + electric cyan pop accent
   Navy: #0a1f44, Cyan: #22d3ee, Bright cyan: #67e8f9
   ========================================================= */

.markdown table,
.table {
  width: 100% !important;
  margin: 1.75rem 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  font-size: 14px !important;
  position: relative;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, #0a1f44 0%, #22d3ee 50%, #0a1f44 100%) border-box !important;
  border: 1px solid transparent !important;
  box-shadow:
    0 1px 3px rgba(10, 31, 68, 0.12),
    0 8px 24px -8px rgba(34, 211, 238, 0.18);
}

/* Header — styling for both modes */
.markdown table thead th,
.table thead th {
  padding: 14px 18px !important;
  text-align: left !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #1a1a1f !important;
  background-color: #f5f5f5 !important;
  border: none !important;
  border-bottom: 1px solid #d0d7de !important;
  white-space: nowrap;
  position: relative;
}

/* Bright cyan accent glow line across top of header */
.markdown table thead th:first-child::before,
.table thead th:first-child::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  width: 9999px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    #22d3ee 15%,
    #67e8f9 50%,
    #22d3ee 85%,
    transparent 100%
  );
  box-shadow: 0 0 12px rgba(34, 211, 238, 0.6);
}

/* Body cells — generous padding, row separators only */
.markdown table tbody td,
.table tbody td {
  padding: 14px 18px !important;
  vertical-align: top !important;
  color: var(--ifm-color-content) !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--ifm-color-emphasis-200) !important;
  line-height: 1.6 !important;
  transition: background 160ms ease;
}

.markdown table tbody tr:last-child td,
.table tbody tr:last-child td {
  border-bottom: none !important;
}

/* Row hover — cyan gradient sweep */
.markdown table tbody tr:hover td,
.table tbody tr:hover td {
  background: linear-gradient(
    90deg,
    rgba(34, 211, 238, 0.08) 0%,
    rgba(34, 211, 238, 0.02) 100%
  ) !important;
  box-shadow: inset 2px 0 0 #22d3ee;
}

/* First column emphasis */
.markdown table tbody td:first-child,
.table tbody td:first-child {
  font-weight: 500;
  color: var(--ifm-color-emphasis-900) !important;
}

/* Inline code sized down in tables */
.markdown table code,
.table code {
  font-size: 12.5px !important;
  padding: 0.1em 0.4em !important;
}

/* =========================================================
   DARK MODE — richer gradients against pure black
   ========================================================= */
[data-theme='dark'] .markdown table,
[data-theme='dark'] .table {
  background:
    linear-gradient(#050505, #050505) padding-box,
    linear-gradient(135deg, #1e40af 0%, #22d3ee 50%, #1e40af 100%) border-box !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.02) inset,
    0 12px 40px -10px rgba(34, 211, 238, 0.3),
    0 2px 8px rgba(0, 0, 0, 0.8) !important;
}

[data-theme='dark'] .markdown table thead th,
[data-theme='dark'] .table thead th {
  background: linear-gradient(
    180deg,
    #0a1f44 0%,
    #061329 100%
  ) !important;
  color: #67e8f9 !important;
  border-bottom: 2px solid #22d3ee !important;
  text-shadow: 0 0 16px rgba(103, 232, 249, 0.6);
}

[data-theme='dark'] .markdown table thead th:first-child::before,
[data-theme='dark'] .table thead th:first-child::before {
  background: linear-gradient(
    90deg,
    transparent 0%,
    #22d3ee 15%,
    #a5f3fc 50%,
    #22d3ee 85%,
    transparent 100%
  );
  box-shadow: 0 0 16px rgba(34, 211, 238, 0.9);
  height: 2px;
}

[data-theme='dark'] .markdown table tbody td,
[data-theme='dark'] .table tbody td {
  border-bottom-color: rgba(255, 255, 255, 0.05) !important;
  color: #d4d4d4 !important;
}

[data-theme='dark'] .markdown table tbody td:first-child,
[data-theme='dark'] .table tbody td:first-child {
  color: #ffffff !important;
}

[data-theme='dark'] .markdown table tbody tr:hover td,
[data-theme='dark'] .table tbody tr:hover td {
  background: linear-gradient(
    90deg,
    rgba(34, 211, 238, 0.14) 0%,
    rgba(34, 211, 238, 0.02) 100%
  ) !important;
  box-shadow: inset 2px 0 0 #22d3ee;
}

/* Scroll horizontally on narrow screens */
@media (max-width: 768px) {
  .markdown table,
  .table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap;
  }
}

/* SecureAuth Branded Documentation Styling - FIXED VERSION */
/* Add this to your src/css/custom.css file */

/* Import Inter font - modern, highly readable for interfaces */

/* Import Related Topics component styles */

/* Developer theme overlay — dark-mode contrast + dev aesthetic */

/* =========================================================
   SECUREAUTH BRAND COLOR SYSTEM
   Complete palette from SecureAuth Style Guide
   
   USAGE GUIDELINES:
   - Primary: Use Sky colors for main actions, links, buttons
   - Secondary: Use Pear (success), Lemon (warning), Tangelo (error)
   - Neutral: Use for backgrounds, text, borders
   - Always maintain proper contrast ratios for accessibility
   
   SEMANTIC ASSIGNMENTS:
   --sa-sky/sky-dark/sky-light: Primary branding, CTAs, links
   --sa-night: Dark text, navbar backgrounds
   --sa-pear/pear variants: Success states, confirmations
   --sa-lemon/lemon variants: Warning states, cautions  
   --sa-tangelo/tangelo variants: Error states, destructive actions
   --sa-slate → --sa-chalk: Text hierarchy (darkest to lightest)
   ========================================================= */
:root {
  /* PRIMARY BRAND COLORS
     The previous primary (#2898FF) failed WCAG AA as a link color on white at
     2.99:1. This is the same blue the aisecurity docs use, and it clears AA at
     4.59:1 while still reading as a link.
     Note it is not a 2026 palette value: the brand ramp has no blue between
     Cobalt (9.1:1, too dark to read as a link) and Blue 40 (2.9:1, fails). */
  --sa-sky: #0074E0;           /* Link blue, matches aisecurity */
  --sa-sky-dark: #234394;      /* Cobalt, hover */
  --sa-sky-light: #96B8EC;     /* Blue 60. Doubles as the dark-mode primary, so
                                  it has to stay light enough for dark surfaces. */
  --sa-night: #06223B;         /* Dark navy */
  --sa-white: #FFFFFF;         /* Pure white */
  
  /* SECONDARY BRAND COLORS */
  --sa-pear: #9EE345;          /* Success green */
  --sa-pear-dark: #85B746;     /* Dark green */
  --sa-pear-light: #C1F87C;    /* Light green */
  --sa-lemon: #FCDA27;         /* Warning yellow */
  --sa-lemon-dark: #EEB628;    /* Dark yellow */
  --sa-lemon-light: #FFEB3C;   /* Light yellow */
  
  /* TERTIARY BRAND COLORS */
  --sa-tangelo: #FC6727;       /* Error orange */
  --sa-tangelo-dark: #D45823;  /* Dark orange */
  --sa-tangelo-light: #FF823C; /* Light orange */
  
  /* NEUTRAL COLORS */
  --sa-slate: #213D55;         /* Dark gray-blue */
  --sa-concrete: #909EAA;      /* Medium gray */
  --sa-cement: #BFC7CE;        /* Light gray */
  --sa-clay: #DCE0E4;          /* Very light gray */
  --sa-chalk: #FAFCFC;         /* System White */
  
  /* Light Mode Colors */
  --ifm-color-primary: var(--sa-sky);
  --ifm-color-primary-dark: var(--sa-sky-dark);
  --ifm-color-primary-darker: #1D3880;   /* Blue -20 */
  --ifm-color-primary-darkest: #172C6A;  /* Blue -40 */
  --ifm-color-primary-light: var(--sa-sky-light);
  --ifm-color-primary-lighter: #C4D7F4;  /* Blue 80 */
  --ifm-color-primary-lightest: #E6EEF9; /* Blue 100 */
  
  /* Text Colors for Light Mode */
  --ifm-color-content: var(--sa-night);
  --ifm-color-content-secondary: var(--sa-slate);
  --ifm-color-emphasis-500: var(--sa-concrete);
  --ifm-color-emphasis-400: var(--sa-cement);
  --ifm-color-emphasis-300: var(--sa-clay);
  --ifm-color-emphasis-200: var(--sa-chalk);
  
  /* Background Colors */
  --ifm-background-color: #ffffff;
  --ifm-background-surface-color: var(--sa-chalk);

  /* The last breadcrumb is the current page, not a link, so it should not be
     link-colored. Using body text here also clears the contrast problem the
     link blue had against Infima's tinted breadcrumb background. */
  --ifm-breadcrumb-item-background-active: rgba(35, 67, 148, 0.05);
  --ifm-breadcrumb-color-active: var(--sa-night);
  
  /* Typography */
  --ifm-font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
  --ifm-font-family-monospace: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
  
  /* Improved readability settings */
  --ifm-line-height-base: 1.6;
  /* 14px root. The API stylesheet used to force this sitewide with a bare
     html { font-size } rule; that rule is gone, so the size is set here
     instead. Most sizing on the site is in rem, so changing this rescales
     nearly everything. */
  --ifm-font-size-base: 14px;
  
  /* Navbar styling */
  --ifm-navbar-background-color: var(--sa-night);
  --ifm-navbar-link-color: #ffffff;
  --ifm-navbar-link-hover-color: var(--sa-sky-light);

  /* IMPORTANT: Keep color mode toggle visible */
  --ifm-color-mode-toggle-display: flex;
}

/* Dark Mode Overrides */
[data-theme='dark'] {
  /* Primary colors stay the same but adjust contrast */
  --ifm-color-primary: var(--sa-sky-light);
  --ifm-color-primary-dark: var(--sa-sky);
  --ifm-color-primary-darker: var(--sa-sky-dark);
  
  /* Dark mode backgrounds and text - IMPROVED CONTRAST */
  --ifm-background-color: #1a1a1a;
  --ifm-background-surface-color: #2d2d2d;
  --ifm-color-content: #f8f9fa;
  --ifm-color-content-secondary: #d1d5db;
  
  /* Better contrast emphasis colors */
  --ifm-color-emphasis-600: #9ca3af;
  --ifm-color-emphasis-700: #6b7280;
  --ifm-color-emphasis-500: #9ca3af;
  --ifm-color-emphasis-400: #6b7280;
  --ifm-color-emphasis-300: #4a4a4a;
  --ifm-color-emphasis-200: #3a3a3a;
}

/* Enhanced Navigation Styling with SecureAuth Colors */
.theme-doc-sidebar-item-link {
  color: var(--sa-night) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  font-family: var(--ifm-font-family-base) !important;
}

/* Category labels (main sections) */
.theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link {
  color: var(--sa-night) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 10px 12px !important;
  border-radius: 6px !important;
}

/* Category labels (main sections) */
.theme-doc-sidebar-item-category-overview > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9,22 9,12 15,12 15,22'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}


/* Solutions */
.theme-doc-sidebar-item-category-solutions > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Crect x='8' y='8' width='8' height='8' rx='2'/%3E%3Cpath d='M3 3h6v6H3zM15 3h6v6h-6zM3 15h6v6H3zM15 15h6v6h-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Platform Capabilities */
.theme-doc-sidebar-item-category-platform-capabilities > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2 7h7l-5.5 4 2 7-5.5-4L7 20l2-7L3.5 9H11z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Get Started */
.theme-doc-sidebar-item-category-get-started > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M4 13V6a2 2 0 0 1 2-2h6l8 8v6a2 2 0 0 1-2 2h-6z'/%3E%3Cline x1='12' y1='22' x2='12' y2='13'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Explore */
.theme-doc-sidebar-item-category-explore > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M4 10l8-3 8 3-8 7z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Authentication */
.theme-doc-sidebar-item-category-authentication > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z'/%3E%3Ccircle cx='16.5' cy='7.5' r='.5' fill='%2306223B'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Secure */
.theme-doc-sidebar-item-category-secure > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Integrate */
.theme-doc-sidebar-item-category-integrate > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M10 13a5 5 0 0 1 7.07 0L21 17l-3.93 4a5 5 0 0 1-7.07 0L3 13l4-4 3 3z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Maintain */
.theme-doc-sidebar-item-category-maintain > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09a1.65 1.65 0 0 0-1-1.51 1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09a1.65 1.65 0 0 0 1.51-1 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33h.09a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51h.09a1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82v.09a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Develop */
.theme-doc-sidebar-item-category-develop > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M16 18l6-6-6-6M8 6l-6 6 6 6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Learn */
.theme-doc-sidebar-item-category-learn > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M20 22H6.5A2.5 2.5 0 0 1 4 19.5V5.5A2.5 2.5 0 0 1 6.5 3H20v19z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Platform Insights */
.theme-doc-sidebar-item-category-platofrm-insights > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cline x1='12' y1='20' x2='12' y2='10'/%3E%3Cline x1='18' y1='20' x2='18' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='16'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* API Reference */
.theme-doc-sidebar-item-category-api-reference > .menu__list-item-collapsible > .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M16 18l6-6-6-6M8 6l-6 6 6 6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}


/* Hover states using SecureAuth Sky color */
.theme-doc-sidebar-item-link:hover {
  color: var(--sa-sky-dark) !important;
  background-color: var(--sa-chalk) !important;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  border-radius: 6px !important;
}

/* Active/current page with SecureAuth branding */
.theme-doc-sidebar-item-link--active {
  color: var(--sa-sky-dark) !important;
  font-weight: 600 !important;
  background-color: var(--sa-clay) !important;
  border-left: 3px solid var(--sa-sky) !important;
  border-radius: 0 6px 6px 0 !important;
}

/* Dark mode navigation adjustments */
[data-theme='dark'] .theme-doc-sidebar-item-link {
  color: #e3e3e3 !important;
}

[data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link {
  color: #ffffff !important;
}

[data-theme='dark'] .theme-doc-sidebar-item-link:hover {
  color: var(--sa-sky-light) !important;
  background-color: #3a3a3a !important;
}

[data-theme='dark'] .theme-doc-sidebar-item-link--active {
  color: var(--sa-sky-light) !important;
  background-color: #2d2d2d !important;
  border-left-color: var(--sa-sky-light) !important;
}

/* BARELY-THERE INDENTATION - Very subtle hierarchy */

/* Level 0: Main categories (🏠 Overview, 🚀 Get Started, ⚙️ Configure, etc.) */
.theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link {
  color: var(--sa-night) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 10px 12px !important;
  border-radius: 6px !important;
}

/* Level 1: Doc links directly under main categories */
.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link {
  padding-left: 18px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--sa-slate) !important;
}

/* Level 1: Nested categories (e.g., Social login) - padding on wrapper to match doc link <li> padding */
.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list-item-collapsible {
  padding-left: 18px !important;
}

.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--sa-slate) !important;
}


/* Level 2: Items under subcategories - SMALL indent */
.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link {
  padding-left: 24px !important; /* Just 12px more than default 12px */
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--sa-concrete) !important;
}

/* All the same hover, active, and dark mode states */
.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link:hover,
.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link:hover {
  color: var(--sa-sky-dark) !important;
  background-color: var(--sa-chalk) !important;
  border-radius: 6px !important;
}

.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link:hover {
  color: var(--sa-sky-dark) !important;
  background-color: var(--sa-chalk) !important;
  border-radius: 6px !important;
}

.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link--active,
.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link--active {
  color: var(--sa-sky-dark) !important;
  font-weight: 600 !important;
  background-color: var(--sa-clay) !important;
  border-left: 3px solid var(--sa-sky) !important;
  border-radius: 0 6px 6px 0 !important;
}

.theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link--active {
  color: var(--sa-sky-dark) !important;
  font-weight: 600 !important;
  background-color: var(--sa-clay) !important;
  border-left: 3px solid var(--sa-sky) !important;
  border-radius: 0 6px 6px 0 !important;
}

/* Dark mode adjustments */
[data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link,
[data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link {
  color: #e3e3e3 !important;
}

[data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link {
  color: #d1d5db !important;
}

[data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link:hover,
[data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link:hover,
[data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link:hover {
  color: var(--sa-sky-light) !important;
  background-color: #3a3a3a !important;
}

[data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link--active,
[data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link--active,
[data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link--active {
  color: var(--sa-sky-light) !important;
  background-color: #2d2d2d !important;
  border-left-color: var(--sa-sky-light) !important;
}

/* Text wrapping and sidebar width */
.theme-doc-sidebar-item-link,
.menu__link {
  white-space: normal !important;
  word-wrap: break-word !important;
  line-height: 1.4 !important;
}

.theme-doc-sidebar-container {
  width: 300px !important;
  min-width: 300px !important;
}

/* Mobile responsive adjustments */
@media (max-width: 996px) {
  .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link,
  .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link {
    padding-left: 16px !important;
  }
  
  .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-category > .menu__list > .theme-doc-sidebar-item-link {
    padding-left: 20px !important;
  }
  
  .theme-doc-sidebar-container {
    width: 100% !important;
    min-width: auto !important;
  }
  
  
  /* Light mode mobile navigation */
  .menu__link {
    color: var(--sa-night) !important;
  }
  
  .theme-doc-sidebar-item-link {
    color: var(--sa-night) !important;
  }
  
  .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link {
    color: var(--sa-night) !important;
  }
  
  .navbar__sidebar {
    background-color: var(--sa-chalk) !important;
  }
  
  .menu__list {
    background-color: var(--sa-chalk) !important;
  }
  
  .navbar-sidebar__backdrop {
    background-color: rgba(0, 0, 0, 0.5) !important;
  }
  
  /* Mobile dark mode navigation improvements */
  [data-theme='dark'] .menu__link {
    color: #f8f9fa !important;
  }
  
  [data-theme='dark'] .theme-doc-sidebar-item-link {
    color: #f8f9fa !important;
  }
  
  [data-theme='dark'] .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link {
    color: #f8f9fa !important;
  }
  
  [data-theme='dark'] .navbar__sidebar {
    background-color: #2d2d2d !important;
  }
  
  [data-theme='dark'] .menu__list {
    background-color: #2d2d2d !important;
  }
  
  [data-theme='dark'] .navbar-sidebar__backdrop {
    background-color: rgba(0, 0, 0, 0.6) !important;
  }
}
/* END SIDEBAR INDENTATION */ 

/* Typography improvements */
.markdown h1, .markdown h2, .markdown h3, .markdown h4, .markdown h5, .markdown h6 {
  font-family: var(--ifm-font-family-base);
  font-weight: 600;
  color: var(--sa-night);
  line-height: 1.3;
  scroll-margin-top: 90px;
}

/* Right-hand "On this page" table of contents.

   Docusaurus sizes this at 0.8rem, which would shrink it to 11.2px against the
   14px root. Pinned in px to hold the slightly larger size. */
.table-of-contents {
  font-size: 12.8px;
}

/* Heading sizes in the content area.

   These are the sizes the site rendered before the API stylesheet stopped
   leaking sitewide, kept deliberately. Docusaurus's own markdown defaults are
   larger (3rem for h1, 2rem for h2), so they are pinned here instead. */
.markdown h1 {
  font-size: 2.25rem;
}

.markdown h2 {
  font-size: 1.875rem;
}

.markdown h3 {
  font-size: 1.5rem;
}

.markdown h4 {
  font-size: 1.125rem;
}

/* Dark mode headings - improved contrast */
[data-theme='dark'] .markdown h1,
[data-theme='dark'] .markdown h2,
[data-theme='dark'] .markdown h3,
[data-theme='dark'] .markdown h4,
[data-theme='dark'] .markdown h5,
[data-theme='dark'] .markdown h6 {
  color: #f8f9fa !important;
}

/* Ensure all headings are readable in dark mode and have proper scroll offset */
h1, h2, h3, h4, h5, h6 {
  scroll-margin-top: 90px;
}

[data-theme='dark'] h1,
[data-theme='dark'] h2,
[data-theme='dark'] h3,
[data-theme='dark'] h4,
[data-theme='dark'] h5,
[data-theme='dark'] h6 {
  color: #f8f9fa !important;
}

/* NESTED ORDERED LIST STYLING */

/* First level: Numbers (1, 2, 3) - default */
.markdown ol {
  list-style-type: decimal;
}

/* Second level: Lowercase letters (a, b, c) */
.markdown ol ol {
  list-style-type: lower-alpha !important;
}

/* Third level: Lowercase Roman numerals (i, ii, iii) */
.markdown ol ol ol {
  list-style-type: lower-roman !important;
}

/* Fourth level: Uppercase letters (A, B, C) */
.markdown ol ol ol ol {
  list-style-type: upper-alpha !important;
}

/* Alternative: If you want ALL nested levels to use lowercase letters */
/*
.markdown ol ol,
.markdown ol ol ol,
.markdown ol ol ol ol {
  list-style-type: lower-alpha !important;
}
*/

/* Ensure proper spacing and indentation */
.markdown ol ol {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
}

/* Dark mode compatibility - inherits the list styling */
[data-theme='dark'] .markdown ol ol {
  list-style-type: lower-alpha !important;
}

/* IMAGE SIZING - Default and size classes for images with Snagit drop shadows */
/* Default sizing for images - standard 600px max width */
.markdown img[src*="/images/"] {
  max-width: 600px;
  width: auto;
  height: auto;
  display: block;
  margin: 1rem 0;
}

/* Full-width image container - force full width and centering */
.full-width-image-container {
  width: 100% !important;
  text-align: center !important;
  margin: 1rem 0 !important;
}

.full-width-image-container img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  display: inline-block !important;
  margin: 0 auto !important;
}

/* Size variation classes that actually work - targeting img elements within markdown */
.markdown img.img-small { width: 200px !important; max-width: 200px !important; }
.markdown img.img-medium { width: 500px !important; max-width: 500px !important; }
.markdown img.img-large { width: 700px !important; max-width: 700px !important; }
.markdown img.img-full { width: 100% !important; max-width: none !important; }

/* Mobile screenshot sizing - portrait screenshots at 300px width */
.markdown img.img-mobile { width: 100px !important; max-width: 100px !important; }

/* Special cases */
.markdown img.img-icon { width: 24px !important; height: 24px !important; }
.markdown img.img-center { margin: 0 auto !important; display: block !important; }

/* Responsive - ensure images don't overflow on mobile */
@media (max-width: 768px) {
  .markdown img[src*="/images/"] {
    max-width: 100% !important;
  }
  
  .markdown img.img-small,
  .markdown img.img-medium,
  .markdown img.img-large {
    max-width: 100% !important;
  }
}

/* Also apply sizing to /img/ directory images */
.markdown img[src*="/img/"] {
  max-width: 600px;
  width: auto;
  height: auto;
  display: block;
  margin: 1rem 0;
}

/* Size variation classes for /img/ directory */
.markdown img.img-small[src*="/img/"] { width: 200px !important; max-width: 200px !important; }
.markdown img.img-medium[src*="/img/"] { width: 500px !important; max-width: 500px !important; }
.markdown img.img-large[src*="/img/"] { width: 700px !important; max-width: 700px !important; }
.markdown img.img-full[src*="/img/"] { width: 100% !important; max-width: none !important; }

/* Responsive for /img/ directory */
@media (max-width: 768px) {
  .markdown img[src*="/img/"] {
    max-width: 100% !important;
  }
}

/* Mobile pairing screenshots - constrain portrait screenshots to 300px */
/* Only size the actual mobile screenshots, not the web/portal screenshots */
.markdown img[src*="mobile-pairing-004"],
.markdown img[src*="mobile-pairing-005"],
.markdown img[src*="mobile-pairing-006"],
.markdown img[src*="mobile-pairing-007"],
.markdown img[src*="mobile-pairing-012"],
.markdown img[src*="mobile-pairing-014"] {
  width: 200px !important;
  max-width: 200px !important;
  height: auto !important;
}

/* Social provider card grid */
.social-provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 2rem 0;
}

.social-provider-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.25rem 1rem;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 8px;
  background: var(--ifm-card-background-color);
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  color: var(--ifm-font-color-base);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.social-provider-card:hover {
  border-color: var(--ifm-color-primary);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  color: var(--ifm-font-color-base);
}

.social-provider-card img {
  width: 40px !important;
  height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  object-fit: contain;
}

.social-provider-card span {
  font-weight: 500;
  font-size: 0.95rem;
}

/* Code blocks with SecureAuth accent */
.prism-code {
  border-left: 3px solid var(--sa-sky);
  border-radius: 6px;
}

/* Improve link colors

   Links rest on the bright link blue (--sa-sky) and darken to Cobalt on hover.
   This used to be the other way around, which meant content links ignored the
   link color set on --ifm-color-primary and rendered dark. */
.markdown a {
  color: var(--sa-sky);
  -webkit-text-decoration: none;
  text-decoration: none;
  text-decoration-color: var(--sa-sky-light);
}

.markdown a:hover {
  color: var(--sa-sky-dark);
  text-decoration-color: var(--sa-sky-dark);
}

[data-theme='dark'] .markdown a {
  color: var(--sa-sky-light);
}

/* Button styling with SecureAuth colors */
.button--primary {
  background-color: var(--sa-sky);
  border-color: var(--sa-sky);
}

.button--primary:hover {
  background-color: var(--sa-sky-dark);
  border-color: var(--sa-sky-dark);
}

/* Navbar with SecureAuth Night background */
.navbar {
  background-color: var(--sa-night);
  box-shadow: 0 2px 4px rgba(6, 34, 59, 0.1);
}

.navbar__title {
  color: #ffffff !important;
  font-weight: 600;
  font-family: var(--ifm-font-family-base);
  font-size: 1.25rem !important;
}

.navbar__link {
  color: #ffffff !important;
  font-weight: 500;
}

.navbar__link:hover {
  color: var(--sa-sky-light) !important;
}

/* Search box styling */
.navbar__search input {
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 6px;
}

.navbar__search input::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

/* Sidebar container improvements */
.theme-doc-sidebar-container {
  background-color: var(--sa-chalk);
  border-right: 1px solid var(--sa-cement);
}

[data-theme='dark'] .theme-doc-sidebar-container {
  background-color: #2d2d2d;
  border-right-color: #4a4a4a;
}


/* Mobile navigation fixes for both light and dark modes */
@media (max-width: 996px) {
  /* Light mode mobile navigation - revert to original working version */
  .navbar-sidebar__brand,
  .navbar-sidebar__items {
    background-color: var(--sa-chalk) !important;
  }
  
  .navbar-sidebar {
    background-color: var(--sa-chalk) !important;
  }
  
  .navbar-sidebar__item {
    color: var(--sa-night) !important;
  }
  
  .menu {
    background-color: var(--sa-chalk) !important;
  }
  
  .menu__caret,
  .menu__list-item-collapsible--active .menu__caret {
    color: var(--sa-night) !important;
  }
  
  /* Fix mobile sidebar logo visibility - use dark logo */
  .navbar-sidebar__brand .navbar__logo {
    filter: brightness(0) !important;
  }
  
  /* Dark mode mobile navigation overrides */
  [data-theme='dark'] .navbar-sidebar__brand,
  [data-theme='dark'] .navbar-sidebar__items {
    background-color: #2d2d2d !important;
  }
  
  [data-theme='dark'] .navbar-sidebar {
    background-color: #2d2d2d !important;
  }
  
  [data-theme='dark'] .navbar-sidebar__item {
    color: #f8f9fa !important;
  }
  
  [data-theme='dark'] .menu {
    background-color: #2d2d2d !important;
  }
  
  [data-theme='dark'] .menu__caret,
  [data-theme='dark'] .menu__list-item-collapsible--active .menu__caret {
    color: #f8f9fa !important;
  }
}

/* CLEAN TABLE STYLING - Updated with compact padding */

/* Remove all table borders and alternating row shading */
.markdown table,
.table,
.theme-doc-markdown table,
article table {
  border: none !important;
  border-collapse: collapse !important;
  width: 100% !important;
  margin: 2rem 0 !important;
  background: transparent !important;
  display: table !important;
}

/* Remove all cell borders - REDUCED PADDING */
.markdown table td,
.markdown table th,
.table td,
.table th {
  border: none !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
  padding: 8px 12px !important; /* Reduced from 12px 16px */
}

/* Light blue header with dark text - REDUCED PADDING */
.markdown table thead th,
.table thead th {
  background-color: var(--sa-clay) !important; /* Light gray-blue */
  color: var(--sa-night) !important; /* Dark blue text */
  font-weight: 600 !important;
  text-align: left !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  padding: 8px 12px !important; /* Further reduced to match body cells */
}

/* Clean white rows - no alternating colors */
.markdown table tbody tr,
.table tbody tr {
  background-color: transparent !important;
  background: transparent !important;
}

/* Remove hover effects and zebra striping */
.markdown table tbody tr:nth-child(2n),
.table tbody tr:nth-child(2n),
.markdown table tbody tr:nth-child(odd),
.table tbody tr:nth-child(odd),
.markdown table tbody tr:nth-child(even),
.table tbody tr:nth-child(even) {
  background-color: transparent !important;
  background: transparent !important;
}

/* Clean body cells */
.markdown table tbody td,
.table tbody td {
  color: var(--sa-night) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  vertical-align: top !important;
}

/* Add border after last row */
.markdown table tbody tr:last-child td,
.table tbody tr:last-child td {
  border-bottom: 1px solid var(--sa-clay) !important;
}

/* Links in tables. Same rest/hover order as body links above. */
.markdown table a,
.table a {
  color: var(--sa-sky) !important;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

.markdown table a:hover,
.table a:hover {
  color: var(--sa-sky-dark) !important;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
}

/* Dark mode adjustments */
[data-theme='dark'] .markdown table thead th,
[data-theme='dark'] .table thead th {
  background-color: #3a3a3a !important; /* Medium gray for dark mode */
  color: var(--sa-sky-light) !important; /* Light blue text for contrast */
}

[data-theme='dark'] .markdown table tbody td,
[data-theme='dark'] .table tbody td {
  color: #e3e3e3 !important;
}

[data-theme='dark'] .markdown table tbody tr:last-child td,
[data-theme='dark'] .table tbody tr:last-child td {
  border-bottom: 1px solid #3a3a3a !important;
}

[data-theme='dark'] .markdown table a,
[data-theme='dark'] .table a {
  color: var(--sa-sky-light) !important;
}

[data-theme='dark'] .markdown table a:hover,
[data-theme='dark'] .table a:hover {
  color: var(--sa-sky) !important;
}

/* Responsive table improvements - ALREADY COMPACT */
@media (max-width: 768px) {
  .markdown table,
  .table {
    font-size: 13px !important;
  }
  
  .markdown table td,
  .markdown table th,
  .table td,
  .table th {
    padding: 6px 8px !important; /* Even more compact on mobile */
  }
  
  .markdown table thead th,
  .table thead th {
    padding: 10px !important; /* Slightly reduced for mobile */
    font-size: 13px !important;
  }
}
/* END CLEAN TABLE STYLING */

/* Admonitions with SecureAuth brand colors */
.alert--info {
  border-left-color: var(--sa-sky);
}

.alert--warning {
  border-left-color: var(--sa-lemon);
}

.alert--danger {
  border-left-color: var(--sa-tangelo);
}

.alert--success {
  border-left-color: var(--sa-pear);
}

/* HERO SECTION STYLING - For landing page */
.hero {
  background: linear-gradient(135deg, var(--sa-sky) 0%, var(--sa-sky-dark) 100%);
  color: white;
  padding: 4rem 2rem;
  text-align: center;
  margin-bottom: 2rem;
}

.hero__title {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: white !important;
}

.hero__subtitle {
  font-size: 1.25rem;
  opacity: 0.9;
  max-width: 600px;
  margin: 0 auto;
}

/* STATISTICS CARDS STYLING */
.stats-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  margin: 3rem 0;
  padding: 0 1rem;
}

.stat-card {
  background: white;
  padding: 2rem 1.5rem;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
  border-top: 4px solid var(--sa-sky);
}

.stat-number {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--sa-sky);
  display: block;
  margin-bottom: 0.5rem;
}

.stat-label {
  color: var(--sa-slate);
  font-size: 0.9rem;
  font-weight: 500;
}

/* CAPABILITIES GRID */
.capabilities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin: 3rem 0;
}

.capability-card {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  border-left: 4px solid var(--sa-sky);
}

.capability-icon {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: var(--sa-sky);
}

.capability-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--sa-night);
  margin-bottom: 1rem;
}

.capability-description {
  color: var(--sa-slate);
  line-height: 1.6;
}

/* DARK MODE ADJUSTMENTS FOR CUSTOM COMPONENTS */
[data-theme='dark'] .stat-card,
[data-theme='dark'] .capability-card {
  background: #2d2d2d;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

[data-theme='dark'] .capability-title {
  color: #ffffff;
}

[data-theme='dark'] .stat-label,
[data-theme='dark'] .capability-description {
  color: #d1d5db;
}

/* Mobile optimizations */
@media (max-width: 768px) {
  .theme-doc-sidebar-item-link {
    font-size: 15px !important;
    padding: 12px !important;
  }
  
  .theme-doc-sidebar-item-category > .menu__list-item-collapsible > .menu__link {
    font-size: 16px !important;
    padding: 12px !important;
  }
  
  .navbar__title {
    font-size: 18px;
  }
  
  .navbar {
    min-height: 60px !important;
    padding: 0.5rem 0 !important;
  }
  
  .navbar__logo {
    height: 36px !important;
  }
  
  .navbar__brand svg,
  .navbar__logo svg {
    height: 36px !important;
  }
  
  /* Mobile navbar - back to original size */
  .navbar {
    background-color: var(--sa-night) !important;
    box-shadow: none !important;
    min-height: 60px !important;
    padding: 0.5rem 0 !important;
  }
  
  .hero__title {
    font-size: 2rem;
  }
  
  .hero {
    padding: 3rem 1rem;
  }
  
  .stats-container {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
  }
  
  .stat-card {
    padding: 1.5rem 1rem;
  }
  
  .capabilities-grid {
    grid-template-columns: 1fr;
  }
  
  /* Enhanced mobile light mode navigation - revert to working version */
  .menu__link {
    color: var(--sa-night) !important;
  }
  
  .theme-doc-sidebar-item-link {
    color: var(--sa-night) !important;
  }
  
  .theme-doc-sidebar-container {
    background-color: var(--sa-chalk) !important;
  }
  
  .menu__list-item-collapsible > .menu__link {
    color: var(--sa-night) !important;
  }
  
  /* Enhanced mobile dark mode navigation */
  [data-theme='dark'] .menu__link {
    color: #f8f9fa !important;
  }
  
  [data-theme='dark'] .theme-doc-sidebar-item-link {
    color: #f8f9fa !important;
  }
  
  [data-theme='dark'] .theme-doc-sidebar-container {
    background-color: var(--sa-night) !important;
    border-right-color: var(--sa-sky-dark) !important;
  }
  
  [data-theme='dark'] .menu__list-item-collapsible > .menu__link {
    color: #f8f9fa !important;
  }
  
  /* Mobile sidebar header area in dark mode */
  [data-theme='dark'] .navbar-sidebar__brand {
    background-color: var(--sa-night) !important;
    border-bottom: 1px solid var(--sa-sky-dark) !important;
  }
}

/* CLEAN NAVBAR CSS - Replace the entire navbar section */

/* Remove the hamburger menu in desktop mode */
.navbar__toggle {
  display: none !important;
}

/* Fix navbar layout - keep items properly aligned */
.navbar__inner {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 2rem !important;
}

/* Left side - brand and nav items */
.navbar__items--left {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  margin-right: 2rem !important;
}

/* Center - search bar */
.navbar__search {
  flex: 1 !important;
  max-width: 400px !important;
  margin: 0 auto !important;
  position: relative !important;
}

/* Right side - links and toggle */
.navbar__items--right {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  gap: 1rem !important;
}

/* Beautiful search input styling */
.navbar__search input {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: 25px !important;
  padding: 8px 16px 8px 40px !important;
  color: #ffffff !important;
  font-size: 14px !important;
  width: 100% !important;
  transition: all 0.3s ease !important;
  backdrop-filter: blur(10px) !important;
}

.navbar__search input::placeholder {
  color: rgba(255, 255, 255, 0.8) !important;
  font-weight: 400 !important;
}

.navbar__search input:focus {
  background: rgba(255, 255, 255, 0.25) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(40, 152, 255, 0.3) !important;
  transform: scale(1.02) !important;
}

/* Search icon */
.navbar__search::before {
  content: "🔍";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, 0.8);
  z-index: 10;
  pointer-events: none;
  font-size: 14px;
}

/* LEAVE DARK MODE TOGGLE COMPLETELY ALONE - Let Docusaurus handle it */
/* Remove all custom toggle styling to fix corruption */

/* DocSearch accessibility improvements for dark navbar */
.DocSearch-Button {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.DocSearch-Button:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

.DocSearch-Button-Placeholder {
  color: rgba(255, 255, 255, 0.8) !important;
}

.DocSearch-Search-Icon {
  color: rgba(255, 255, 255, 0.7) !important;
}

.DocSearch-Button-Keys {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: rgba(255, 255, 255, 0.6) !important;
}

/* DocSearch dark mode styling */
[data-theme='dark'] .DocSearch-Button {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

[data-theme='dark'] .DocSearch-Button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
}

[data-theme='dark'] .DocSearch-Button-Placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
}

[data-theme='dark'] .DocSearch-Search-Icon {
  color: rgba(255, 255, 255, 0.6) !important;
}

[data-theme='dark'] .DocSearch-Button-Keys {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

/* Mobile responsive - hide search on smaller screens */
@media (max-width: 996px) {
  .navbar__search,
  .DocSearch-Button {
    display: none !important;
  }
  
  .navbar__inner {
    padding: 0 1rem !important;
  }
  
  /* Show hamburger menu on mobile only - make it more prominent */
  .navbar__toggle {
    display: flex !important;
    padding: 0.75rem !important;
    border-radius: 6px !important;
    transition: background-color 0.2s ease !important;
  }
  
  .navbar__toggle:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
  }
  
  /* Make hamburger icon larger and more visible */
  .navbar__toggle svg {
    width: 24px !important;
    height: 24px !important;
    stroke-width: 2 !important;
    color: #ffffff !important;
  }
}

/* Remove any extra spacing/margin issues */
.navbar__item {
  margin: 0 !important;
}

.navbar__link {
  margin: 0 !important;
}

/* CLEAN NAVBAR BUTTONS - No borders, minimal styling */

/* Free Trial button - clean, no borders */
.navbar__items--right .navbar__link:not([class*="toggle"]):not([aria-label*="Switch"]) {
  background: transparent !important;
  border: none !important;
  padding: 8px 16px !important;
  transition: all 0.2s ease !important;
  color: #ffffff !important;
}

.navbar__items--right .navbar__link:not([class*="toggle"]):not([aria-label*="Switch"]):hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

/* Dark mode toggle - clean, let Docusaurus handle functionality */
.navbar__items--right button[class*="toggle"],
.navbar__items--right button[class*="colorModeToggle"],
.navbar__items--right [aria-label*="Switch"] {
  background: transparent !important;
  border: none !important;
  color: #ffffff !important;
  opacity: 0.8 !important;
  transition: all 0.2s ease !important;
}

.navbar__items--right button[class*="toggle"]:hover,
.navbar__items--right button[class*="colorModeToggle"]:hover,
.navbar__items--right [aria-label*="Switch"]:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  opacity: 1 !important;
}

/* Ensure toggle icon is visible */
.navbar__items--right button[class*="toggle"] svg,
.navbar__items--right button[class*="colorModeToggle"] svg,
.navbar__items--right [aria-label*="Switch"] svg {
  fill: #ffffff !important;
}

/* =========================================================
   Sidebar Category Icons - Lucide Style Icons
   Organized in sidebar display order
   ========================================================= */

/* 1. Overview - Home icon */
.sidebar-overview .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9,22 9,12 15,12 15,22'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* 2. Solutions - Layout Grid icon */
.sidebar-solutions .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* 3. Platform Capabilities - Star icon */
.sidebar-platform-capabilities .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* 4. Get Started - Rocket icon */
.sidebar-get-started .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16.5c-1.5 1.5-1.5 3.5 0 5s3.5 1.5 5 0c1.5-1.5 1.5-3.5 0-5s-3.5-1.5-5 0'/%3E%3Cpath d='m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0'/%3E%3Cpath d='M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Authentication - Key Round icon */
.sidebar-authentication .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z'/%3E%3Ccircle cx='16.5' cy='7.5' r='.5' fill='%2306223B'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* 5. Explore - Compass icon */
.sidebar-explore .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* 6. Secure - Shield Check icon */
.sidebar-secure .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* 7. Integrate - Link icon */
.sidebar-integrate .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* 8. Maintain - Wrench icon */
.sidebar-maintain .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* 9. Develop - Code icon */
.sidebar-develop .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'/%3E%3Cpolyline points='8 6 2 12 8 18'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* 10. Learn - Book icon */
.sidebar-learn .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* 11. Platform Insights - Bar Chart icon */
.sidebar-platform-insights .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='20' x2='12' y2='10'/%3E%3Cline x1='18' y1='20' x2='18' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='16'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* 12. API Reference - Braces icon */
.sidebar-api .menu__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2306223B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1'/%3E%3Cpath d='M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* =========================================================
   Dark Mode Icon Versions
   ========================================================= */

[data-theme='dark'] .sidebar-overview .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9,22 9,12 15,12 15,22'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-solutions .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-platform-capabilities .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-get-started .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16.5c-1.5 1.5-1.5 3.5 0 5s3.5 1.5 5 0c1.5-1.5 1.5-3.5 0-5s-3.5-1.5-5 0'/%3E%3Cpath d='m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0'/%3E%3Cpath d='M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-explore .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-authentication .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z'/%3E%3Ccircle cx='16.5' cy='7.5' r='.5' fill='%23ffffff'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-secure .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-integrate .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-maintain .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-develop .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'/%3E%3Cpolyline points='8 6 2 12 8 18'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-learn .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-platform-insights .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='20' x2='12' y2='10'/%3E%3Cline x1='18' y1='20' x2='18' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='16'/%3E%3C/svg%3E");
}

[data-theme='dark'] .sidebar-api .menu__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1'/%3E%3Cpath d='M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1'/%3E%3C/svg%3E");
}


/* =========================================================
   SecureAuth Overview Page Styles
   Extracted from inline <style jsx> blocks into CSS
   ========================================================= */

/* ---------- Shared icon ---------- */

/* =========================================================
   Key Capabilities
   ========================================================= */
.cap-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 14px 0 6px;
}

.cap-card {
  position: relative;
  background: #fff;
  border: 1px solid rgba(33,61,85,.12);
  border-radius: 14px;
  padding: 18px 16px 16px 16px;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.cap-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  border-color: rgba(33,61,85,.18);
}

.cap-title {
  margin: 0 0 6px 0;
  font-size: 1.05rem;
  line-height: 1.25;
  color: var(--sa-night);
  font-weight: 650;
}

.cap-desc {
  margin: 0;
  color: var(--sa-slate);
  line-height: 1.45;
  font-size: .96rem;
}

/* Dark mode (capabilities) */
[data-theme='dark'] .cap-card {
  background: #1f2630;
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 2px 6px rgba(0,0,0,.35);
}
[data-theme='dark'] .cap-card:hover {
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 12px 28px rgba(0,0,0,.45);
}
[data-theme='dark'] .cap-title { color: #eef3f8; }
[data-theme='dark'] .cap-desc  { color: #d1d5db; }

/* Responsive (capabilities) */
@media (max-width: 1100px) { .cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px)  { .cap-grid { grid-template-columns: 1fr; } }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) { .cap-card { transition: none; } }

/* =========================================================
   Deployment Models
   ========================================================= */
.deploy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 12px 0 6px;
}

.deploy-card {
  background: #fff;
  border: 1px solid rgba(33,61,85,.12);
  border-radius: 14px;
  padding: 18px 16px 16px;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.deploy-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  border-color: rgba(33,61,85,.18);
}

.deploy-title {
  margin: 0 0 6px 0;
  font-size: 1.05rem;
  line-height: 1.25;
  color: var(--sa-night);
  font-weight: 650;
}

.deploy-desc {
  margin: 0;
  color: var(--sa-slate);
  line-height: 1.45;
  font-size: .96rem;
}

.deploy-badge {
  display: inline-block;
  background: linear-gradient(90deg, var(--sa-sky-light), #91e5c2);
  color: #003b5c;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  margin-bottom: 10px;
}

/* Dark mode (deployment) */
[data-theme='dark'] .deploy-card {
  background: #1f2630;
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 2px 6px rgba(0,0,0,.35);
}
[data-theme='dark'] .deploy-card:hover {
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 12px 28px rgba(0,0,0,.45);
}
[data-theme='dark'] .deploy-title { color: #eef3f8; }
[data-theme='dark'] .deploy-desc  { color: #d1d5db; }

/* Responsive (deployment) */
@media (max-width: 1100px) { .deploy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px)  { .deploy-grid { grid-template-columns: 1fr; } }

/* =========================================================
   Security & Compliance
   ========================================================= */
.compliance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 12px 0 6px;
}

.compliance-card {
  background: #fff;
  border: 1px solid rgba(33,61,85,.12);
  border-radius: 14px;
  padding: 18px 16px 16px;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.compliance-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  border-color: rgba(33,61,85,.18);
}

.compliance-title {
  margin: 0 0 6px 0;
  font-size: 1.05rem;
  line-height: 1.25;
  color: var(--sa-night);
  font-weight: 650;
}

.compliance-desc {
  margin: 0;
  color: var(--sa-slate);
  line-height: 1.45;
  font-size: .96rem;
}

.compliance-badge {
  display: inline-block;
  background: linear-gradient(90deg, var(--sa-sky-light), #91e5c2);
  color: #003b5c;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  margin-bottom: 10px;
}

/* Dark mode (compliance) */
[data-theme='dark'] .compliance-card {
  background: #1f2630;
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 2px 6px rgba(0,0,0,.35);
}
[data-theme='dark'] .compliance-card:hover {
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 12px 28px rgba(0,0,0,.45);
}
[data-theme='dark'] .compliance-title { color: #eef3f8; }
[data-theme='dark'] .compliance-desc  { color: #d1d5db; }

/* Responsive (compliance) */
@media (max-width: 1100px) { .compliance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px)  { .compliance-grid { grid-template-columns: 1fr; } }


/* =========================================================
   Workspace Pills - 3-Category Color System

/* Ensure Tailwind color utilities work properly */
.text-yellow-600 {
  color: #d97706 !important;
}

.text-green-600 {
  color: #16a34a !important;
}

.text-red-600 {
  color: #dc2626 !important;
}

/* Dark mode versions */
[data-theme='dark'] .text-yellow-600 {
  color: #fbbf24 !important;
}

[data-theme='dark'] .text-green-600 {
  color: #22c55e !important;
}

[data-theme='dark'] .text-red-600 {
  color: #ef4444 !important;
}

/* Fix Lucide icon alignment in tables */
.markdown table td svg,
.markdown table th svg {
  vertical-align: middle !important;
  margin-top: -1px !important;
}

/* Ensure inline SVG icons are properly centered */
svg.inline {
  vertical-align: middle !important;
  margin-top: -2px !important;
}

/* Fix dark mode page background and footer issues */
[data-theme='dark'] .main-wrapper,
[data-theme='dark'] main {
  background-color: var(--ifm-background-color) !important;
}

[data-theme='dark'] .footer,
[data-theme='dark'] .footer .container {
  background-color: var(--ifm-background-color) !important;
}

[data-theme='dark'] .theme-doc-footer {
  background-color: var(--ifm-background-color) !important;
}

/* Ensure consistent dark mode text colors */
[data-theme='dark'] .markdown > *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  color: var(--ifm-color-content-secondary) !important;
}

[data-theme='dark'] .markdown p {
  color: var(--ifm-color-content-secondary) !important;
}

[data-theme='dark'] .markdown li {
  color: var(--ifm-color-content-secondary) !important;
}






/* Dark mode icon fixes - simple approach */
[data-theme="dark"] .theme-doc-sidebar-item-category-overview > .menu__list-item-collapsible > .menu__link::before {
  filter: brightness(0) invert(1);
}

[data-theme="dark"] .sidebar-quickstarts .menu__link::before {
  filter: brightness(0) invert(1);
}

.sidebar-api .menu__link {
  color: var(--sa-night) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .sidebar-api .menu__link {
  color: #ffffff !important;
}

[data-theme="dark"] .sidebar-api .menu__link::before {
  filter: brightness(0) invert(1);
}

/* Remove icons from child/nested items only (keep main category icons) */
.theme-doc-sidebar-item-category .menu__list .theme-doc-sidebar-item-link .menu__link::before,
.theme-doc-sidebar-item-category .menu__list .menu__list-item-collapsible .menu__link::before,
.menu__list .menu__list .menu__link::before {
  display: none !important;
}

/* Blog post dark mode styling */
[data-theme='dark'] .theme-blog-wrapper,
[data-theme='dark'] .blog-wrapper {
  background-color: var(--ifm-background-color) !important;
}

[data-theme='dark'] .theme-blog-list-page {
  background-color: var(--ifm-background-color) !important;
}

/* Blog post paginator + legacy previews (list-page cards are
   handled by BlogPostItems/styles.module.css) */
[data-theme='dark'] .theme-blog-post-paginator,
[data-theme='dark'] .blogPostPreview_node_modules {
  background-color: #0a0a0a !important;
  border: 1px solid #262626 !important;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 2rem;
}

[data-theme='dark'] .blog-wrapper article h2,
[data-theme='dark'] .blog-wrapper article h3,
[data-theme='dark'] .blogPostTitle_node_modules {
  color: #eef3f8 !important;
}

[data-theme='dark'] .blog-wrapper article p,
[data-theme='dark'] .blogPostPreview_node_modules p {
  color: #d1d5db !important;
}

[data-theme='dark'] article a,
[data-theme='dark'] .blogPostPreview_node_modules a {
  color: var(--sa-sky-light) !important;
}

[data-theme='dark'] article a:hover,
[data-theme='dark'] .blogPostPreview_node_modules a:hover {
  color: var(--sa-sky) !important;
}

/* Blog post metadata */
[data-theme='dark'] .theme-blog-post-metadata,
[data-theme='dark'] .blogPostData_node_modules,
[data-theme='dark'] time,
[data-theme='dark'] .avatar__intro {
  color: #9ca3af !important;
}

/* Blog post date and metadata spacing */
.theme-blog-post-metadata,
.blogPostData_node_modules {
  margin-bottom: 0.75rem;
}

.theme-blog-post-metadata time,
.blogPostData_node_modules time {
  margin-right: 1rem;
  display: inline-block;
}

/* Add space after time elements to separate from tags */
time::after {
  content: "";
  display: inline-block;
  width: 1rem;
}

/* Blog post tags */
[data-theme='dark'] .theme-blog-post-tags,
[data-theme='dark'] .blogPostTags_node_modules {
  color: #9ca3af !important;
}

.theme-blog-post-tags,
.blogPostTags_node_modules {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

[data-theme='dark'] .theme-blog-post-tags a,
[data-theme='dark'] .blogPostTags_node_modules a {
  background-color: rgba(108,185,255,.15) !important;
  color: var(--sa-sky-light) !important;
  border: 1px solid rgba(108,185,255,.3);
}

/* Fix tag text (span) visibility in dark mode */
[data-theme='dark'] .theme-blog-post-tags a span,
[data-theme='dark'] .blogPostTags_node_modules a span,
[data-theme='dark'] .theme-blog-post-tags a *,
[data-theme='dark'] .blogPostTags_node_modules a *,
[data-theme='dark'] .theme-blog-post-tags span,
[data-theme='dark'] .blogPostTags_node_modules span,
[data-theme='dark'] a[class*='tagInline'] span,
[data-theme='dark'] a[class*='tag_'] span,
[data-theme='dark'] [class*='tagInline'] *,
[data-theme='dark'] [class*='tag_'] *,
[data-theme='dark'] .blog-wrapper a[href*='/blog/tags/'] span,
[data-theme='dark'] article a[href*='/blog/tags/'] span,
[data-theme='dark'] article a[href*='/blog/tags/'],
[data-theme='dark'] time + span span {
  color: #6cb9ff !important;
  opacity: 1 !important;
}

/* Blog post read more links */
[data-theme='dark'] .theme-blog-post-preview-link,
[data-theme='dark'] .blogPostPreviewLink_node_modules {
  color: var(--sa-sky-light) !important;
}

/* =========================================================
   SIDEBAR BOTTOM PADDING FIX
   Add bottom padding to prevent URL tooltip overlap
   ========================================================= */

/* Add bottom padding to prevent URL tooltip overlap */
.theme-doc-sidebar-container .menu {
  padding-bottom: 2rem;
}

/* =========================================================
   BLOG AUTHOR NAME STYLING
   Make author name stand out without clashing with title
   ========================================================= */

/* Blog post author name - make it stand out */
.avatar__name {
  font-weight: 700 !important;
  font-size: 1.125rem !important;
  color: var(--sa-night) !important;
  margin-bottom: 0.25rem !important;
}

[data-theme='dark'] .avatar__name {
  color: var(--sa-sky-light) !important;
  font-weight: 700 !important;
}

/* Keep date and time more subtle */
.theme-blog-post-metadata time,
.blogPostData_node_modules time {
  color: var(--sa-concrete) !important;
  font-size: 0.875rem;
}

[data-theme='dark'] .theme-blog-post-metadata time,
[data-theme='dark'] .blogPostData_node_modules time {
  color: #9ca3af !important;
}

/* Read time and all metadata text styling - force visibility */
.theme-blog-post-metadata *:not(.avatar__name),
.blogPostData_node_modules *:not(.avatar__name) {
  color: var(--sa-concrete) !important;
}

[data-theme='dark'] .theme-blog-post-metadata *:not(.avatar__name),
[data-theme='dark'] .blogPostData_node_modules *:not(.avatar__name) {
  color: #9ca3af !important;
  opacity: 1 !important;
}

/* Specifically target reading time text */
[data-theme='dark'] .theme-blog-post-metadata > *,
[data-theme='dark'] .blogPostData_node_modules > *,
[data-theme='dark'] [class*='readingTime'],
[data-theme='dark'] article [class*='readingTime'],
[data-theme='dark'] .blog-wrapper [class*='readingTime'],
[data-theme='dark'] article [class*='container_'] div,
[data-theme='dark'] article header [class*='margin-vert'] {
  color: #9ca3af !important;
  opacity: 1 !important;
}

/* Add middle dot separator between date and read time */
.theme-blog-post-metadata time::after,
.blogPostData_node_modules time::after {
  content: " · ";
  color: var(--sa-concrete);
  margin: 0 0.25rem;
}

[data-theme='dark'] .theme-blog-post-metadata time::after,
[data-theme='dark'] .blogPostData_node_modules time::after {
  color: #9ca3af;
}

/* Author subtitle (if any) stays subtle */
.avatar__subtitle {
  font-size: 0.875rem;
  color: var(--sa-concrete);
}

[data-theme='dark'] .avatar__subtitle {
  color: #9ca3af;
}

/* Fix "Recent posts" heading visibility in dark mode */
[data-theme='dark'] aside h2,
[data-theme='dark'] aside h3,
[data-theme='dark'] .theme-blog-sidebar h2,
[data-theme='dark'] .theme-blog-sidebar h3,
[data-theme='dark'] .blog-wrapper aside h2,
[data-theme='dark'] .blog-wrapper aside h3,
[data-theme='dark'] aside.col--3 h2,
[data-theme='dark'] aside.col--3 h3,
[data-theme='dark'] aside [class*='sidebarItemTitle'],
[data-theme='dark'] .col--3 [class*='sidebarItemTitle'] {
  color: #eef3f8 !important;
  opacity: 1 !important;
}

/* Fix blog list page year headings in dark mode */
[data-theme='dark'] .blog-wrapper h3,
[data-theme='dark'] main h3 {
  color: #eef3f8 !important;
}


/* Fix Redoc sidebar nav highlighting when clicking section groups */
.redoc-page {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 60px;
  bottom: 0;
  left: 0;
  right: 0;
  overflow-y: scroll;
}

/* Redoc center column adjustments */
.redoc-page .redoc-wrap .api-content,
.redoc-page .redoc-wrap .api-content .content,
.redoc-page .redoc-wrap .middle-panel,
.redoc-page .redoc-wrap .redoc-markdown,
.redoc-page .redoc-wrap .api-content .section {
  background-color: var(--ifm-background-color) !important;
  color: var(--ifm-color-content) !important;
}

.redoc-page .redoc-wrap .api-content table,
.redoc-page .redoc-wrap .api-content .redoc-table-wrap {
  background-color: inherit !important;
}

.redoc-page .redoc-wrap .api-content .tab-panel,
.redoc-page .redoc-wrap .api-content pre,
.redoc-page .redoc-wrap .api-content code,
.redoc-page .redoc-wrap .api-content .example {
  background-color: var(--ifm-background-surface-color) !important;
  color: inherit !important;
}

.redoc-page .redoc-wrap .api-content .components-collapse-control,
.redoc-page .redoc-wrap .api-content .authorization__sub-title,
.redoc-page .redoc-wrap .api-content .authorization__value {
  color: var(--ifm-color-content) !important;
}

[data-theme='dark'] .redoc-page .redoc-wrap .api-content,
[data-theme='dark'] .redoc-page .redoc-wrap .api-content .content,
[data-theme='dark'] .redoc-page .redoc-wrap .middle-panel,
[data-theme='dark'] .redoc-page .redoc-wrap .redoc-markdown,
[data-theme='dark'] .redoc-page .redoc-wrap .api-content .section {
  background-color: #1f1f1f !important;
  color: #f2f4f7 !important;
}

[data-theme='dark'] .redoc-page .redoc-wrap .api-content table,
[data-theme='dark'] .redoc-page .redoc-wrap .api-content .redoc-table-wrap {
  background-color: #242424 !important;
}

[data-theme='dark'] .redoc-page .redoc-wrap .api-content pre,
[data-theme='dark'] .redoc-page .redoc-wrap .api-content code,
[data-theme='dark'] .redoc-page .redoc-wrap .api-content .tab-panel,
[data-theme='dark'] .redoc-page .redoc-wrap .api-content .example {
  background-color: #2a2a2a !important;
  border-color: #3a3a3a !important;
}

[data-theme='dark'] .redoc-page .redoc-wrap .api-content svg {
  color: #f2f4f7 !important;
  fill: #f2f4f7 !important;
  stroke: #f2f4f7 !important;
}

[data-theme='dark'] .redoc-page .redoc-wrap .api-content .components-collapse-control,
[data-theme='dark'] .redoc-page .redoc-wrap .api-content .authorization__sub-title,
[data-theme='dark'] .redoc-page .redoc-wrap .api-content .authorization__value {
  color: #f2f4f7 !important;
}




.githubCard_Lcrp {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  background-color: var(--ifm-color-gray-100);
  border-left: 3px solid var(--ifm-color-gray-400);
  border-radius: 4px;
  margin: 1.5rem 0;
}

[data-theme='dark'] .githubCard_Lcrp {
  background-color: var(--ifm-color-gray-900);
  border-left-color: var(--ifm-color-gray-600);
}

.githubCardIcon_lhLV {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  padding-top: 0.125rem;
}

.githubCardIcon_lhLV svg {
  fill: var(--ifm-color-gray-700);
}

[data-theme='dark'] .githubCardIcon_lhLV svg {
  fill: var(--ifm-color-gray-400);
}

.githubCardContent_HD7s {
  flex: 1;
  min-width: 0;
}

.githubCardTitle_Fjlr {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 0.5rem;
  color: var(--ifm-color-emphasis-900);
}

[data-theme='dark'] .githubCardTitle_Fjlr {
  color: var(--ifm-color-gray-100);
}

.githubCardDescription_B6iw {
  margin-bottom: 0.5rem;
  color: var(--ifm-color-emphasis-800);
  line-height: 1.6;
  font-size: 1rem;
}

[data-theme='dark'] .githubCardDescription_B6iw {
  color: var(--ifm-color-emphasis-700);
}

.githubCardLink_TSHv {
  color: var(--ifm-color-primary);
  font-weight: 600;
  -webkit-text-decoration: none;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 1rem;
}

.githubCardLink_TSHv:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
  color: var(--ifm-color-primary-dark);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.container_UJDL {
  padding: 20px;
  padding-top: 80px;
  overflow-x: hidden;
  background-color: #18191a;
  color: white;
  min-height: 100vh;
}

.container_UJDL code {
  color: white;
  background-color: #444950;
}

.nav_uyzg {
  position: fixed;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  height: 3.75rem;
  background-color: #242526;
  width: 100%;
  z-index: 1;
}

.navlink_fkkq {
  color: white;
  font-weight: 500;
  font-size: clamp(12px, 4vw, 16px);
  text-align: center;
  border-radius: 4px;
  padding: 6px;
}

.navlink_fkkq:hover {
  -webkit-text-decoration: none;
  text-decoration: none;
  background-color: #292a2b;
}

.active_YJyX {
  background-color: #363739;
}

@media screen and (min-width: 800px) {
  .nav_uyzg {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 100vh;
    width: 200px;
    float: left;
    background-color: #18191a;
    border-right: 1px solid #606770;
    padding-top: 20px;
  }

  .navlink_fkkq {
    width: 80%;
    margin-top: 20px;
    text-align: left;
  }

  .container_UJDL {
    padding-top: 40px;
    float: right;
    width: calc(100% - 200px);
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.containerParaiso_cQJv {
  font-family: monospace;
  cursor: default;
  background-color: rgb(41 42 43);
  position: relative;
  margin-top: 10px;
  padding: 10px;
  border-radius: 4px;
  font-size: 13px;
}

.basicElementParaiso_QZsA {
  color: white;
  padding: 3px 5px 3px 20px;
  border-left: 1px solid rgb(79 66 76);
}

.labelParaiso_wRN4 {
  color: rgb(231 233 219);
  letter-spacing: 0.5px;
  margin-right: 3px;
}

.nullValueParaiso_AoA7 {
  display: inline-block;
  color: rgb(254 196 24);
  font-size: 11px;
  font-weight: bold;
  background-color: rgb(79 66 76);
  padding: 1px 2px;
  border-radius: 3px;
  text-transform: uppercase;
}

.undefinedValueParaiso_FhTI {
  color: rgb(141 134 135);
}

.stringValueParaiso_V3BI {
  color: rgb(249 155 21);
}

.booleanValueParaiso_DtTx {
  color: rgb(129 91 164);
}

.numberValueParaiso_QJS7 {
  color: rgb(233 107 168);
}

.otherValueParaiso_LEJn {
  color: white;
}

.punctuationParaiso_IgdH {
  color: white;
}

.expandIconParaiso_FXv1 {
  display: inline-block;
  color: rgb(129 91 164);
  font-size: 22px;
  vertical-align: baseline;
  margin-right: 3px;
  line-height: 10px;
}

.collapseIconParaiso_vUhq::after {
  content: '\25BE';
}

.collapseIconParaiso_vUhq {
  display: inline-block;
  color: rgb(6 182 239);
  font-size: 22px;
  vertical-align: baseline;
  margin-right: 3px;
  line-height: 10px;
}

.expandIconParaiso_FXv1::after {
  content: '\25B8';
}

.collapseContentParaiso_r7rr {
  color: rgb(249 155 21);
  font-size: 18px;
  line-height: 10px;
  cursor: pointer;
}

.collapseContentParaiso_r7rr::after {
  content: '...';
}

/*
Overrides default ul style from Infima
See https://github.com/AnyRoad/react-json-view-lite/issues/38
*/
.childFieldsContainerParaiso_hs_3 {
  margin: 0;
  padding: 0;
}

/* Homepage component styles */

.homepage {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1rem 3rem;
}

/* Section spacing */
.homepage section {
  margin-bottom: 3rem;
}

.homepage h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--ifm-color-content);
}

/* =====================
   Role picker cards
   ===================== */
.homepage__role-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.homepage__role-card {
  padding: 1.5rem;
  border: 2px solid var(--sa-clay);
  border-radius: 8px;
  background: var(--ifm-background-surface-color);
}

.homepage__role-card h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
  color: var(--ifm-color-content);
}

.homepage__role-card p {
  font-size: 0.9rem;
  margin: 0;
  color: var(--ifm-color-content-secondary);
  line-height: 1.5;
}

/* =====================
   Task link columns
   ===================== */
.homepage__task-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.homepage__task-column h3 {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--ifm-color-content);
}

.homepage__task-column-lead {
  font-size: 0.9rem;
  color: var(--ifm-color-content-secondary);
  line-height: 1.5;
  margin: 0 0 0.75rem;
}

.homepage__task-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.homepage__task-column li {
  padding: 0.4rem 0;
}

.homepage__task-column li a {
  color: var(--ifm-color-primary);
  -webkit-text-decoration: none;
  text-decoration: none;
  font-size: 0.95rem;
}

.homepage__task-column li a:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

/* =====================
   Capabilities at a glance
   ===================== */
.homepage__capabilities-table {
  width: 100%;
  font-size: 0.95rem;
  border-collapse: collapse;
}

.homepage__capabilities-table th,
.homepage__capabilities-table td {
  text-align: left;
  padding: 0.75rem 0;
  vertical-align: top;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
}

.homepage__capabilities-table th {
  font-weight: 600;
  color: var(--ifm-color-content);
  width: 160px;
  white-space: nowrap;
}

.homepage__capabilities-table td {
  color: var(--ifm-color-content-secondary);
}

.homepage__capabilities-table tr:last-child th,
.homepage__capabilities-table tr:last-child td {
  border-bottom: none;
}

/* =====================
   Use case cards
   ===================== */
.homepage__usecase-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.homepage__usecase-card {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  border: 1px solid var(--sa-clay);
  border-radius: 8px;
  /* White, not the tinted surface: the tint costs the link inside the card
     enough contrast to drop it below 4.5:1. The border carries the card edge. */
  background: #ffffff;
  -webkit-text-decoration: none;
  text-decoration: none;
  color: var(--ifm-color-content);
  transition: border-color 0.15s, box-shadow 0.15s;
}

.homepage__usecase-card:hover {
  border-color: var(--sa-sky);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  -webkit-text-decoration: none;
  text-decoration: none;
  color: var(--ifm-color-content);
}

[data-theme='dark'] .homepage__usecase-card {
  background: #232832;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

[data-theme='dark'] .homepage__usecase-card:hover {
  border-color: var(--sa-sky-light);
  box-shadow: 0 4px 16px rgba(40, 152, 255, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  color: var(--ifm-color-content);
}

.homepage__usecase-card h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
}

.homepage__usecase-subtitle {
  font-size: 0.85rem;
  color: var(--ifm-color-content-secondary);
  margin-bottom: 0.75rem;
}

.homepage__usecase-card p {
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--ifm-color-content-secondary);
  flex: 1;
}

.homepage__usecase-cta {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--ifm-color-primary);
  margin-top: 0.5rem;
}

/* =====================
   Auth methods table
   ===================== */
.homepage__auth-methods > p {
  color: var(--ifm-color-content-secondary);
  font-size: 0.95rem;
  margin-bottom: 1rem;
}

.homepage__table-wrapper {
  overflow-x: auto;
}

.homepage__table-wrapper table {
  width: 100%;
  font-size: 0.9rem;
}

.homepage__table-wrapper th {
  text-align: left;
  white-space: nowrap;
}

/* =====================
   Quick links strip
   ===================== */
.homepage__quicklinks {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--sa-clay);
  font-size: 0.95rem;
}

.homepage__quicklink-separator {
  color: var(--sa-concrete);
}

/* =====================
   Responsive
   ===================== */
@media (max-width: 768px) {
  .homepage__role-cards {
    grid-template-columns: 1fr;
  }

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

  .homepage__usecase-cards {
    grid-template-columns: 1fr;
  }

  .homepage__quicklinks {
    flex-wrap: wrap;
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.listItem_UIrj {
  background-color: #242526;
  padding: 10px;
  border-radius: 4px;
  margin-bottom: 20px;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.sectionTitle_gpPX {
  margin-top: 20px;
}

.listItem_KhP1 {
  background-color: #242526;
  padding: 10px;
  border-radius: 4px;
  margin-bottom: 20px;
}

.version_eAdG {
  float: right;
}

.name_omfq {
  font-weight: 800;
  color: #e06b6b;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.tabList__CuJ {
  margin-bottom: var(--ifm-leading);
}

.tabItem_LNqP {
  margin-top: 0 !important;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.tabItem_Ymn6 > *:last-child {
  margin-bottom: 0;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.listItem_Ild6 {
  background-color: #242526;
  padding: 10px;
  border-radius: 4px;
  margin-bottom: 20px;
}

.route_NfVu {
  margin-bottom: 10px;
}

.routeName_Q1Ui {
  color: #e06b6b;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.backToTopButton_sjWU {
  position: fixed;
  right: 1.3rem;
  bottom: 1.3rem;
  border-radius: 50%;
  background-color: var(--ifm-color-emphasis-200);
  width: 3rem;
  height: 3rem;
  z-index: calc(var(--ifm-z-index-fixed) - 1);
  box-shadow: var(--ifm-global-shadow-lw);
  transition: all var(--ifm-transition-fast)
    var(--ifm-transition-timing-default);
  opacity: 0;
  transform: scale(0);
  visibility: hidden;
}

.backToTopButton_sjWU::after {
  content: ' ';
  display: inline-block;
  -webkit-mask: var(--ifm-menu-link-sublist-icon) 50% / 2rem 2rem no-repeat;
          mask: var(--ifm-menu-link-sublist-icon) 50% / 2rem 2rem no-repeat;
  background-color: var(--ifm-color-emphasis-1000);
  width: 100%;
  height: 100%;
}

@media (hover: hover) {
  .backToTopButton_sjWU:hover {
    background-color: var(--ifm-color-emphasis-300);
  }
}

.backToTopButtonShow_xfvO {
  opacity: 1;
  transform: scale(1);
  visibility: visible;
}

/*! @docsearch/css 4.6.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */
:root{--docsearch-primary-color:#003dff;--docsearch-soft-primary-color:rgba(0,61,255,.1);--docsearch-subtle-color:#d6d6e7;--docsearch-text-color:#36395a;--docsearch-error-color:#ef5350;--docsearch-success-color:#e8f5e9;--docsearch-secondary-text-color:#5a5e9a;--docsearch-background-color:#f5f5fa;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-focus-color:#005fcc;--docsearch-highlight-color:#003dff;--docsearch-muted-color:#9698c3;--docsearch-muted-color-darker:rgba(120,122,165,.25);--docsearch-icon-color:#5a5e9a;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#003dff;--docsearch-border-radius:4px;--docsearch-search-button-background:#fff;--docsearch-search-button-text-color:var(--docsearch-secondary-text-color);--docsearch-modal-width:800px;--docsearch-modal-height:600px;--docsearch-modal-variable-height:60dvh;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:rgba(0,0,0,.2) 0px 12px 28px 0px,rgba(0,0,0,.1) 0px 2px 4px 0px,hsla(0,0%,100%,.05) 0px 0px 0px 1px inset;--docsearch-searchbox-height:56px;--docsearch-searchbox-initial-height:56px;--docsearch-searchbox-background:#ffffffa6;--docsearch-searchbox-focus-background:#ffffffa6;--docsearch-actions-width:99px;--docsearch-actions-height:44px;--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-highlight-color:rgba(0,61,255,.1);--docsearch-hit-background:#fff;--docsearch-key-background:#f5f5fa;--docsearch-key-color:#5a5e9a;--docsearch-key-pressed-shadow:inset 0 2px 4px rgba(120,122,165,.25);--docsearch-footer-height:52px;--docsearch-footer-background:#ffffffa6;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12);--fav-out-dur:160ms;--del-dur:150ms;--ease-smooth:cubic-bezier(0.25,0.8,0.4,1);--ease-fast:cubic-bezier(0.45,0.15,0.6,0.9);--shadow-pop:0 4px 12px rgba(0,0,0,.06);--shimmer-bg:linear-gradient(90deg,#e0e3e8 0%,var(--docsearch-muted-color) 20%,var(--docsearch-muted-color) 60%,#e0e3e8 95%);--docsearch-dropdown-menu-background:var(--docsearch-hit-background);--docsearch-dropdown-menu-item-hover-background:var(--docsearch-modal-background)}html[data-theme=dark]{--docsearch-text-color:#c4c7dc;--docsearch-secondary-text-color:#b6b7d5;--docsearch-subtle-color:#212139;--docsearch-error-color:#ef5350;--docsearch-success-color:rgba(67,160,71,.2);--docsearch-highlight-color:#457aff;--docsearch-focus-color:#9ac8ff;--docsearch-background-color:#36395a;--docsearch-icon-color:#b6b7d5;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#000000a6;--docsearch-searchbox-focus-background:#000000a6;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-background:#36395a;--docsearch-key-color:#b6b7d5;--docsearch-key-pressed-shadow:inset 0 2px 4px rgba(12,13,20,.4);--docsearch-footer-background:#000000a6;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497;--shimmer-bg:linear-gradient(90deg,#e0e3e8 0%,var(--docsearch-muted-color) 20%,var(--docsearch-muted-color) 60%,#e0e3e8 95%);--docsearch-dropdown-menu-background:var(--docsearch-hit-background);--docsearch-dropdown-menu-item-hover-background:var(--docsearch-modal-background);--docsearch-search-button-background:var(--docsearch-modal-background);--docsearch-search-button-text-color:var(--docsearch-text-color)}.DocSearch-Button{all:unset;align-items:center;background-color:var(--docsearch-search-button-background);border:1px solid var(--docsearch-subtle-color);border-radius:.5rem;color:var(--docsearch-search-button-text-color);cursor:pointer;display:flex;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button-Container{align-items:center;display:flex;height:100%}.DocSearch-Button-Container svg{color:currentColor}.DocSearch-Back-Icon,.DocSearch-Search-Icon{color:var(--docsearch-highlight-color);stroke-width:1.6}.DocSearch-Button-Placeholder{color:currentColor;display:inline-block;font-size:1rem;line-height:normal;padding-block:0;padding-inline:8px 12px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-background);border:0;border-radius:4px;box-shadow:none!important;color:var(--docsearch-key-color);display:flex;font-family:system-ui,-apple-system,sans-serif;font-size:14px;height:24px;justify-content:center;position:relative;transition-duration:.1s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:24px}@supports (color: color-mix(in lch, red, blue)){
.DocSearch-Button-Key{border:1px solid color-mix(in srgb,var(--docsearch-subtle-color) 20%,transparent)}
}.DocSearch-Button-Key--ctrl{width:33px}.DocSearch-Button-Key:first-child{margin-inline-end:.4em}@media (prefers-reduced-motion){.DocSearch-Button-Key{transition:none}}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow)!important;transform:translateY(1px)}@media (max-width:768px){.DocSearch-Button{width:auto}.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{backdrop-filter:blur(4px);background-color:var(--docsearch-container-background);height:100vh;inset-block-start:0;inset-inline-start:0;position:fixed;width:100vw;z-index:400}.DocSearch-Container a{-webkit-text-decoration:none;text-decoration:none}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:4px;box-shadow:var(--docsearch-modal-shadow);display:flex;flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex}.DocSearch-SearchBar-Magnifier{color:var(--docsearch-highlight-color)}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-block-end:1px solid var(--docsearch-subtle-color);border-radius:4px 4px 0 0;display:flex;height:var(
    --docsearch-searchbox-height,var(--docsearch-searchbox-initial-height)
  );margin:0;min-height:var(--docsearch-searchbox-initial-height);padding-block:var(--docsearch-spacing);padding-inline:16px;position:relative;width:100%}.DocSearch-Input,.DocSearch-Modal-heading{appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;font-weight:300;height:100%;line-height:1.4;outline:none;overflow-y:hidden;padding-block-start:0;padding-inline-start:8px;resize:none;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-Actions{align-items:center;display:flex;gap:8px;height:var(--docsearch-actions-height);justify-content:flex-end;padding:0 2px;width:var(--docsearch-actions-width)}.DocSearch-Divider{border-inline-start:1px solid var(--docsearch-subtle-color);height:16px}.DocSearch-Action{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center;min-height:24px;min-width:24px}.DocSearch-Action,.DocSearch-AskAi-Return,.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel{margin:0;padding:0}.DocSearch-AskAi-Return{cursor:pointer}.DocSearch-AskAi-Return,.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Action{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;inset-inline-end:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Action,.DocSearch-AskAi-Return{animation:fade-in .1s ease-in forwards;appearance:none;background:none;border:none;border-radius:var(--docsearch-border-radius);color:var(--docsearch-icon-color);cursor:pointer;inset-inline-end:0;padding:2px;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-AskAi-Return[hidden],.DocSearch-Close[hidden],.DocSearch-Input[hidden],.DocSearch-StreamingIndicator[hidden]{display:none}.DocSearch-Action:hover,.DocSearch-AskAi-Return:hover{background:var(--docsearch-soft-primary-color);color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{color:var(--docsearch-icon-color);height:24px;width:24px}.DocSearch-Form:focus-within .DocSearch-MagnifierLabel svg{color:var(--docsearch-highlight-color)}.DocSearch-Clear{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;flex:none;font:inherit;font-size:.9em;font-weight:300;height:28px;margin-inline-start:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Clear:focus-visible,.DocSearch-Close:focus-visible{border-radius:4px;outline:2px solid var(--docsearch-focus-color);outline-offset:1px}.DocSearch-Dropdown{height:var(--docsearch-modal-variable-height);max-height:calc(var(--docsearch-modal-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown-Container ul{list-style:none;margin:0;padding:0}.DocSearch-Label{color:var(--docsearch-secondary-text-color);font-size:.875em;font-weight:400;line-height:1.6em}.DocSearch-Help,.DocSearch-NoResults-Help{color:var(--docsearch-secondary-text-color);font-size:.8em;font-weight:300;line-height:1.5em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{color:var(--docsearch-text-color);font-size:1.1em;font-weight:300;line-height:.5em;vertical-align:middle}.DocSearch-Title strong{font-weight:500}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-inline-start:8px}.DocSearch-Hits:last-of-type{margin-block-end:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-block-end:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-block-end:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-block-end:4px;position:relative;scroll-margin-block-start:40px}.DocSearch-Hit:first-of-type{margin-block-start:4px}.DocSearch-Hit a,.DocSearch-Hit--AskAI{background:var(--docsearch-hit-background);border-radius:4px;cursor:pointer;display:block;padding-inline-start:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-text-color);font-size:.9em;font-weight:600;inset-block-start:0;line-height:32px;margin:0 -4px;padding:8px 4px 4px;position:sticky;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit--AskAI,.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-hit-highlight-color)}.DocSearch-Conversation-History .DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-hit-background)}.DocSearch-Hit mark{color:var(--docsearch-highlight-color);-webkit-text-decoration:underline;text-decoration:underline;text-underline-offset:.3em}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-text-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{color:var(--docsearch-secondary-text-color);height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;color:var(--docsearch-muted-color);display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-inline-start:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:400;gap:4px;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-secondary-text-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title{color:var(--docsearch-text-color)}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-highlight-color)}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-AskAiScreen,.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{align-items:center;color:var(--docsearch-secondary-text-color);display:flex;flex-direction:column;font-size:1.25em;font-weight:400;justify-content:center;margin:0 auto;text-align:center;width:80%}.DocSearch-AskAiScreen,.DocSearch-ErrorScreen,.DocSearch-NoResults{max-height:80%}.DocSearch-StartScreen{height:100%}.DocSearch-NoResults{gap:.8em;margin-block-start:2em}.DocSearch-NoResults--withAskAi{justify-content:flex-start;margin-block-start:0}.DocSearch-AskAiScreen,.DocSearch-ErrorScreen,.DocSearch-StartScreen{gap:24px}.DocSearch-StartScreen-Icon{height:64px;stroke:var(--docsearch-icon-color);width:64px}.DocSearch-Screen-Icon{color:var(--docsearch-icon-color)}.DocSearch-NoResults-Prefill-List{display:flex;flex-direction:column;gap:12px;text-align:center}.DocSearch-NoResults-Prefill-List-Items{display:flex;flex-direction:column;gap:2px}.DocSearch-NoResults-Prefill-List-Items p{align-items:center;display:flex;margin:0;text-align:start}.DocSearch-Prefill{align-items:center;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-flex;font-size:.8em;font-weight:300;gap:4px;height:40px;padding:0 4px}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;-webkit-text-decoration:underline;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-block-start:1px solid var(--docsearch-subtle-color);border-radius:0 0 4px 4px;display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;gap:16px;list-style:none;margin:0;padding:0}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands-Key{background-color:var(--docsearch-background-color);border:0;border-radius:2px;box-shadow:none!important;color:var(--docsearch-icon-color);height:24px;justify-content:center;margin-inline-end:4px;width:24px}.DocSearch-Commands-Key:last-of-type{margin-inline-end:8px}.DocSearch-Escape-Key{font-size:10px;font-weight:300;letter-spacing:normal;line-height:16px;text-align:center;text-transform:uppercase}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.DocSearch-AskAi-Section{display:flex;flex-direction:column;gap:8px;padding:12px 0}.DocSearch-Hit-AskAIButton{align-items:center;color:var(--docsearch-text-color);display:flex;flex-direction:row}.DocSearch-Hit-AskAIButton-icon{color:var(--docsearch-icon-color);flex-shrink:0;margin-inline-end:12px}.DocSearch-Hit-AskAIButton-title{color:var(--docsearch-hit-color);display:flex;flex:1 1 auto;font-weight:400;gap:4px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-AskAIButton-title-query{background:none;margin-inline-start:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.DocSearch-Hit-AskAIButton-title mark{-webkit-text-decoration:none;text-decoration:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.DocSearch-AskAiScreen-Container{display:flex;flex-direction:column;gap:0;height:100%;justify-content:flex-start;padding:0;text-align:start;width:100%}.DocSearch-AskAiScreen-Disclaimer{align-self:flex-start;display:flex;font-size:.6em;font-weight:300;margin:0;padding-block:1.5em .5em;padding-inline:0;text-align:start}.DocSearch-AskAiScreen-Body{gap:24px;width:100%}.DocSearch-AskAiScreen-Body,.DocSearch-AskAiScreen-Response,.DocSearch-AskAiScreen-Response-Container{display:flex;flex-direction:column}.DocSearch-AskAiScreen-Response{align-self:flex-start;background:var(--docsearch-hit-background);border-radius:4px;color:var(--docsearch-text-color);font-size:.8em;gap:1em;margin-block-end:8px;padding:24px;width:100%}.DocSearch-AskAiScreen-Query{font-size:1.25em;font-weight:600;line-break:loose;line-height:1.4;margin:0}.DocSearch-AskAiScreen-Answer{line-height:1.5}.DocSearch-AskAiScreen-Answer,.DocSearch-AskAiScreen-ThinkingDots{color:var(--docsearch-secondary-text-color);font-weight:400;margin:0}.DocSearch-AskAiScreen-ThinkingDots{font-size:.8em}.DocSearch-AskAiScreen-Answer-Footer{align-items:center;display:flex;flex-direction:row;gap:8px;justify-content:space-between}.DocSearch-AskAiScreen-Actions{align-items:center;display:flex;flex-direction:row;gap:12px;margin-inline-start:auto}.DocSearch-AskAiScreen-ActionButton{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;margin:0;padding:4px;transition:background-color .2s ease;width:24px}.DocSearch-AskAiScreen-ActionButton:hover{background:var(--docsearch-hit-highlight-color)}.DocSearch-AskAiScreen-ActionButton svg{color:var(--docsearch-icon-color);height:20px;stroke-width:1.5;width:20px}.DocSearch-AskAiScreen-CopyButton--copied{background-color:var(--docsearch-success-color);cursor:default}.DocSearch-AskAiScreen-MessageContent{display:flex;flex-direction:column;row-gap:1em}.DocSearch-AskAiScreen-Error{background-color:rgba(239,83,80,.1);border-radius:4px;color:var(--docsearch-error-color);flex-direction:row;font-size:1em;font-weight:400;gap:8px;padding:1em}.DocSearch-AskAiScreen-Error svg{margin-top:.25rem}.DocSearch-AskAiScreen-Error svg,.DocSearch-AskAiScreen-MessageContent-Tool svg{flex-shrink:0;height:16px;width:16px}.DocSearch-AskAiScreen-Error p{margin:0}.DocSearch-AskAiScreen-Error-Content{display:flex;flex:1 1 0%;flex-direction:column}.DocSearch-AskAiScreen-Error-Title{font-weight:700;margin-bottom:4px}.DocSearch-AskAiScreen-Error .DocSearch-Markdown-Content{color:var(--docsearch-error-color)}.DocSearch-AskAiScreen-Error--ThreadDepth{animation:slideDown .3s ease-out;border:1px solid #febdc5;color:var(--docsearch-text-color);font-size:12px;margin:12px 0 8px;width:100%}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.DocSearch-ThreadDepthError-Link{background:none;border:none;color:var(--docsearch-highlight-color);cursor:pointer;font-family:inherit;font-size:inherit;padding:0;-webkit-text-decoration:underline;text-decoration:underline}.DocSearch-ThreadDepthError-Link:hover{opacity:.8}.DocSearch-ThreadDepthError-Link:active{color:#991b1b}.DocSearch-AskAiScreen-FeedbackText{color:var(--docsearch-muted-color);font-size:.7em;font-weight:400;margin:0}.DocSearch-AskAiScreen-FeedbackText--visible{animation:fade-in .3s ease-in forwards}.DocSearch-AskAiScreen-RelatedSources{display:flex;flex-direction:column;gap:4px;width:100%}.DocSearch-AskAiScreen-RelatedSources-List{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;width:100%}.DocSearch-AskAiScreen-RelatedSources-Title{color:var(--docsearch-secondary-text-color);font-size:.7em;font-weight:400;margin:0;padding:6px 0}.DocSearch-AskAiScreen-RelatedSources-NoResults{color:var(--docsearch-text-color);font-size:.8rem;font-weight:400;margin:0}.DocSearch-AskAiScreen-RelatedSources-Error{color:var(--docsearch-error-color);font-size:.8rem;font-weight:400;margin:0}.DocSearch-AskAiScreen-RelatedSources-Item-Link{align-items:center;background:var(--docsearch-hit-background);border-radius:4px;color:var(--docsearch-text-color);display:flex;font-size:.75em;gap:6px;max-width:70%;padding:12px 8px;-webkit-text-decoration:none;text-decoration:none;transition:background-color .2s ease}.DocSearch-AskAiScreen-RelatedSources-Item-Link svg{color:var(--docsearch-icon-color);flex-shrink:0;stroke-width:1.2}.DocSearch-AskAiScreen-RelatedSources-Item-Link span{flex:1 1 0;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.DocSearch-AskAiScreen-ExchangesList{display:flex;flex-direction:column;gap:24px;margin:8px 0}.DocSearch-AskAiScreen-RelatedSources-Item-Link:hover{background:var(--docsearch-hit-highlight-color)}.DocSearch-Markdown-Content{color:var(--docsearch-text-color);font-size:.9355em;line-height:1.6;word-wrap:break-word}.DocSearch-Markdown-Content--streaming{animation:fade-in .3s ease-in-out both}.DocSearch-Markdown-Content p{margin:1em 0}.DocSearch-Markdown-Content p:last-child{margin-block-end:0}.DocSearch-Markdown-Content p:first-child{margin-block-start:0}.DocSearch-Markdown-Content code{border-radius:3px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.9em;letter-spacing:normal;margin:0;padding:.2em 0}.DocSearch-Markdown-Content code,.DocSearch-Markdown-Content pre{background-color:var(--docsearch-key-background);color:var(--docsearch-text-color)}.DocSearch-Markdown-Content pre{border-radius:6px;margin:1.5em 0;overflow-x:auto;padding:1.2em}.DocSearch-Markdown-Content pre code{background-color:transparent;border-radius:0;color:inherit;font-size:.8em;margin:0;padding:0;white-space:pre-wrap;word-wrap:break-word;line-height:1.5}.DocSearch-Markdown-Content h1,.DocSearch-Markdown-Content h2,.DocSearch-Markdown-Content h3,.DocSearch-Markdown-Content h4,.DocSearch-Markdown-Content h5,.DocSearch-Markdown-Content h6{color:var(--docsearch-text-color);font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:1em 0}.DocSearch-Markdown-Content h1{font-size:1.5em}.DocSearch-Markdown-Content h2{font-size:1.2em}.DocSearch-Markdown-Content h3{font-size:1em}.DocSearch-Markdown-Content h4{font-size:.9em}.DocSearch-Markdown-Content h5,.DocSearch-Markdown-Content h6{font-size:.8em}.DocSearch-Markdown-Content ol,.DocSearch-Markdown-Content ul{color:var(--docsearch-text-color);margin:1.2em 0;padding-inline-start:1.5em}.DocSearch-Markdown-Content ul{list-style-type:disc}.DocSearch-Markdown-Content ol{list-style-type:decimal}.DocSearch-Markdown-Content li{color:var(--docsearch-text-color);line-height:1.6;margin:.8em 0;padding-inline-start:.3em}.DocSearch-Markdown-Content li>ol,.DocSearch-Markdown-Content li>ul{margin:.5em}.DocSearch-Markdown-Content li::marker{color:var(--docsearch-muted-color)}.DocSearch-Markdown-Content a{color:var(--docsearch-highlight-color);-webkit-text-decoration:none;text-decoration:none;transition:all .2s ease}.DocSearch-Markdown-Content a:hover{opacity:.9;-webkit-text-decoration:underline;text-decoration:underline}.DocSearch-Markdown-Content blockquote{border-inline-start:4px solid var(--docsearch-hit-highlight-color);color:var(--docsearch-secondary-text-color);font-style:italic;margin:1.5em 0;padding-block:.5em;padding-inline:1em 0}.DocSearch-Markdown-Content hr{border:none;border-block-start:1px solid var(--docsearch-subtle-color);margin:1em 0}.DocSearch-Markdown-Content table{border-collapse:collapse;margin:1.5em 0;width:100%}.DocSearch-Markdown-Content td,.DocSearch-Markdown-Content th{border:1px solid var(--docsearch-subtle-color);padding:.75em;text-align:start}.DocSearch-Markdown-Content th{background-color:var(--docsearch-hit-background);font-weight:600}.DocSearch-AskAiScreen-MessageContent-Reasoning{align-items:center;color:var(--docsearch-muted-color);display:flex;font-size:1em;gap:4px}.DocSearch-AskAiScreen-MessageContent-Reasoning svg{color:var(--docsearch-icon-color)}.DocSearch-AskAiScreen-MessageContent-Tool{align-items:center;color:var(--docsearch-muted-color);display:flex;line-height:1.2;width:100%}.DocSearch-AskAiScreen-MessageContent-Tool.Tool--Result{padding-block-start:0}.DocSearch-AskAiScreen-MessageContent-Tool>svg{color:var(--docsearch-icon-color);margin-inline-end:8px}.DocSearch-AskAiScreen-MessageContent-Tool-Query{color:var(--docsearch-muted-color);transition:box-shadow .2s ease}.DocSearch-AskAiScreen-MessageContent-Tool-Query svg{color:var(--docsearch-muted-color)}.DocSearch-AskAiScreen-MessageContent-Tool-Query:hover{box-shadow:0 1px 0 0 var(--docsearch-highlight-color);color:var(--docsearch-highlight-color);cursor:pointer}.DocSearch-AskAiScreen-MessageContent-Tool-Query:hover svg{color:var(--docsearch-highlight-color)}.DocSearck-AskAiScreen-MessageContent-Stopped{color:var(--docsearch-muted-color);font-style:italic;margin-block-start:1em}.DocSearch-AskAiScreen-SmallerLoadingIcon{height:16px;width:16px}.shimmer{background:var(--shimmer-bg);background-clip:text;-webkit-background-clip:text;background-size:200% auto;color:transparent;display:flex;-webkit-text-fill-color:transparent;animation:shimmerText 2.5s linear infinite;pointer-events:none}@keyframes shimmerText{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:.3}50%{opacity:.6}}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:48px}.DocSearch-Input{font-size:1rem}.DocSearch-Hit-AskAIButton-icon{margin-inline-end:8px}body:has(.DocSearch-Container){overflow:hidden;position:fixed}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:calc(var(--docsearch-vh, 1vh)*100);height:100dvh}.DocSearch-Footer{border-radius:0;inset-block-end:0;position:static}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:calc(var(--docsearch-vh, 1vh)*100);height:100dvh;margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:none}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}.DocSearch-AskAiScreen-Response-Container{flex-direction:column}.DocSearch-AskAiScreen-RelatedSources,.DocSearch-AskAiScreen-Response{width:100%}}.DocSearch-CodeSnippet{position:relative}.DocSearch-CodeSnippet-CopyButton{align-items:center;background:var(--docsearch-key-background);border:none;border-radius:4px;color:var(--docsearch-text-color);cursor:pointer;display:flex;font-size:.75em;inset-block-start:8px;inset-inline-end:8px;padding:.2em .6em;position:absolute;transition:opacity .2s ease}.DocSearch-CodeSnippet-CopyButton:hover{opacity:.8}.DocSearch-CodeSnippet-CopyButton:active{opacity:.6}.DocSearch-CodeSnippet-CopyButton svg{height:16px;margin-inline-end:4px;width:16px}.DocSearch-CodeSnippet-CheckIcon,.DocSearch-CodeSnippet-CopyButton--copied .DocSearch-CodeSnippet-CopyIcon{display:none}.DocSearch-CodeSnippet-CopyButton--copied .DocSearch-CodeSnippet-CheckIcon{display:inline-block}.DocSearch-Markdown-Content--streaming .DocSearch-CodeSnippet-CopyButton{display:none}.DocSearch-NewConversationScreen{padding:3em var(--docsearch-spacing)}.DocSearch-NewConversationScreen-Title{color:var(--docsearch-text-color);font-size:26px;font-weight:600;margin-block-end:.15em}.DocSearch-NewConversationScreen-Description{color:var(--docsearch-muted-color);font-size:14px}.DocSearch-NewConversationScreen-SuggestedQuestions{align-items:start;display:flex;flex-direction:column;gap:var(--docsearch-spacing);margin-block-start:1.5em}.DocSearch-NewConversationScreen-SuggestedQuestion{align-items:center;background-color:var(--docsearch-searchbox-background);border:1px solid var(--docsearch-subtle-color);border-radius:var(--docsearch-border-radius);color:var(--docsearch-text-color);cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:12px}.DocSearch-Menu{position:relative}.DocSearch-Menu-content{background-color:var(--docsearch-dropdown-menu-background);border-radius:var(--docsearch-border-radius);box-shadow:0 0 0 1px #21243d0d,0 8px 16px -4px #21243d40;display:none;flex-direction:column;inset-block-start:calc(100% + 12px);inset-inline-end:0;min-width:195px;padding:8px 0;position:absolute;z-index:422}.DocSearch-Menu-content.open{display:flex}.DocSearch-Menu-item{align-items:center;background-color:transparent;border:0;color:var(--docsearch-text-color);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 16px;white-space:nowrap}.DocSearch-Menu-item:hover{background-color:var(--docsearch-dropdown-menu-item-hover-background)}
/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

:root {
  --docsearch-primary-color: var(--ifm-color-primary);
  --docsearch-text-color: var(--ifm-font-color-base);
}

.DocSearch-Button {
  margin: 0;
  transition: all var(--ifm-transition-fast)
    var(--ifm-transition-timing-default);
}

.DocSearch-Container {
  z-index: calc(var(--ifm-z-index-fixed) + 1);
}

.DocSearch-Button-Key {
  padding: 0;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

body:not(.navigation-with-keyboard) *:not(input):focus {
  outline: none;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

#__docusaurus-base-url-issue-banner-container {
  display: none;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.skipToContent_fXgn {
  position: fixed;
  top: 1rem;
  left: 100%;
  z-index: calc(var(--ifm-z-index-fixed) + 1);
  padding: calc(var(--ifm-global-spacing) / 2) var(--ifm-global-spacing);
  color: var(--ifm-color-emphasis-900);
  background-color: var(--ifm-background-surface-color);
}

.skipToContent_fXgn:focus {
  left: 1rem;
  box-shadow: var(--ifm-global-shadow-md);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.closeButton_CVFx {
  padding: 0;
  line-height: 0;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.content_knG7 {
  font-size: 85%;
  text-align: center;
  padding: 5px 0;
}

.content_knG7 a {
  color: inherit;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

:root {
  --docusaurus-announcement-bar-height: auto;
}

.announcementBar_mb4j {
  display: flex;
  align-items: center;
  height: var(--docusaurus-announcement-bar-height);
  background-color: var(--ifm-color-white);
  color: var(--ifm-color-black);

  /*
  Unfortunately we can't make announcement bar render above the navbar
  IE need to use border-bottom instead of shadow
  See https://github.com/facebookincubator/infima/issues/275

  box-shadow: var(--ifm-global-shadow-lw);
  z-index: calc(var(--ifm-z-index-fixed) + 1);
  */
  border-bottom: 1px solid var(--ifm-color-emphasis-100);
}

html[data-announcement-bar-initially-dismissed='true'] .announcementBar_mb4j {
  display: none;
}

.announcementBarPlaceholder_vyr4 {
  flex: 0 0 10px;
}

.announcementBarClose_gvF7 {
  flex: 0 0 30px;
  align-self: stretch;
}

.announcementBarContent_xLdY {
  flex: 1 1 auto;
}

@media print {
  .announcementBar_mb4j {
    display: none;
  }
}

@media (min-width: 997px) {
  :root {
    --docusaurus-announcement-bar-height: 30px;
  }

  .announcementBarPlaceholder_vyr4,
  .announcementBarClose_gvF7 {
    flex-basis: 50px;
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.toggle_vylO {
  width: 2rem;
  height: 2rem;
}

.toggleButton_gllP {
  -webkit-tap-highlight-color: transparent;
  align-items: center;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transition: background var(--ifm-transition-fast);
}

.toggleButton_gllP:hover {
  background: var(--ifm-color-emphasis-200);
}

.toggleIcon_g3eP {
  display: none;
}

[data-theme-choice='system'] .systemToggleIcon_QzmC,
[data-theme-choice='light'] .lightToggleIcon_pyhR,
[data-theme-choice='dark'] .darkToggleIcon_wfgR {
  display: initial;
}

.toggleButtonDisabled_aARS {
  cursor: not-allowed;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.darkNavbarColorModeToggle_X3D1:hover {
  background: var(--ifm-color-gray-800);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.themedComponent_mlkZ {
  display: none;
}

[data-theme='light'] .themedComponent--light_NVdE {
  display: initial;
}

[data-theme='dark'] .themedComponent--dark_xIcU {
  display: initial;
}

/*
JS disabled??? Show light version by default => better than showing nothing
TODO bad, but we currently always show light mode when there's no data-theme
 */
html:not([data-theme]) .themedComponent--light_NVdE {
  display: initial;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

:root {
  --docusaurus-collapse-button-bg: transparent;
  --docusaurus-collapse-button-bg-hover: rgb(0 0 0 / 10%);
}

[data-theme='dark']:root {
  --docusaurus-collapse-button-bg: rgb(255 255 255 / 5%);
  --docusaurus-collapse-button-bg-hover: rgb(255 255 255 / 10%);
}

@media (min-width: 997px) {
  .collapseSidebarButton_PEFL {
    display: block !important;
    background-color: var(--docusaurus-collapse-button-bg);
    height: 40px;
    position: sticky;
    bottom: 0;
    border-radius: 0;
    border: 1px solid var(--ifm-toc-border-color);
  }

  .collapseSidebarButtonIcon_kv0_ {
    transform: rotate(180deg);
    margin-top: 4px;
  }

  [dir='rtl'] .collapseSidebarButtonIcon_kv0_ {
    transform: rotate(0);
  }

  .collapseSidebarButton_PEFL:hover,
  .collapseSidebarButton_PEFL:focus {
    background-color: var(--docusaurus-collapse-button-bg-hover);
  }
}

.collapseSidebarButton_PEFL {
  display: none;
  margin: 0;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.iconExternalLink_nPIU {
  margin-left: 0.3rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.menuExternalLink_NmtK {
  align-items: center;
}

.linkLabel_WmDU {
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.categoryLink_byQd {
  overflow: hidden;
}

/*
TODO merge this logic back in Infima?
 */
.menu__link--sublist-caret::after {
  margin-left: var(--ifm-menu-link-padding-vertical);
}

.categoryLinkLabel_W154 {
  flex: 1;
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

@media (min-width: 997px) {
  .menuHtmlItem_M9Kj {
    padding: var(--ifm-menu-link-padding-vertical)
      var(--ifm-menu-link-padding-horizontal);
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

@media (min-width: 997px) {
  .menu_SIkG {
    flex-grow: 1;
    padding: 0.5rem;
  }
  @supports (scrollbar-gutter: stable) {
    .menu_SIkG {
      padding: 0.5rem 0 0.5rem 0.5rem;
      scrollbar-gutter: stable;
    }
  }

  .menuWithAnnouncementBar_GW3s {
    margin-bottom: var(--docusaurus-announcement-bar-height);
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

@media (min-width: 997px) {
  .sidebar_njMd {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-top: var(--ifm-navbar-height);
    width: var(--doc-sidebar-width);
  }

  .sidebarWithHideableNavbar_wUlq {
    padding-top: 0;
  }

  .sidebarHidden_VK0M {
    opacity: 0;
    visibility: hidden;
  }

  .sidebarLogo_isFc {
    display: flex !important;
    align-items: center;
    margin: 0 var(--ifm-navbar-padding-horizontal);
    min-height: var(--ifm-navbar-height);
    max-height: var(--ifm-navbar-height);
    color: inherit !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
  }

  .sidebarLogo_isFc img {
    margin-right: 0.5rem;
    height: 2rem;
  }
}

.sidebarLogo_isFc {
  display: none;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

@media (min-width: 997px) {
  .expandButton_TmdG {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color var(--ifm-transition-fast) ease;
    background-color: var(--docusaurus-collapse-button-bg);
  }

  .expandButton_TmdG:hover,
  .expandButton_TmdG:focus {
    background-color: var(--docusaurus-collapse-button-bg-hover);
  }

  .expandButtonIcon_i1dp {
    transform: rotate(0);
  }

  [dir='rtl'] .expandButtonIcon_i1dp {
    transform: rotate(180deg);
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

:root {
  --doc-sidebar-width: 300px;
  --doc-sidebar-hidden-width: 30px;
}

.docSidebarContainer_YfHR {
  display: none;
}

@media (min-width: 997px) {
  .docSidebarContainer_YfHR {
    display: block;
    width: var(--doc-sidebar-width);
    margin-top: calc(-1 * var(--ifm-navbar-height));
    border-right: 1px solid var(--ifm-toc-border-color);
    will-change: width;
    transition: width var(--ifm-transition-fast) ease;
    clip-path: inset(0);
  }

  .docSidebarContainerHidden_DPk8 {
    width: var(--doc-sidebar-hidden-width);
    cursor: pointer;
  }

  .sidebarViewport_aRkj {
    top: 0;
    position: sticky;
    height: 100%;
    max-height: 100vh;
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.docMainContainer_TBSr {
  display: flex;
  width: 100%;
}

@media (min-width: 997px) {
  .docMainContainer_TBSr {
    flex-grow: 1;
    max-width: calc(100% - var(--doc-sidebar-width));
  }

  .docMainContainerEnhanced_lQrH {
    max-width: calc(100% - var(--doc-sidebar-hidden-width));
  }

  .docItemWrapperEnhanced_JWYK {
    max-width: calc(
      var(--ifm-container-width) + var(--doc-sidebar-width)
    ) !important;
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.docRoot_UBD9 {
  display: flex;
  width: 100%;
}

.docsWrapper_hBAB {
  display: flex;
  flex: 1 0 auto;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.anchorTargetStickyNavbar_Vzrq {
  scroll-margin-top: calc(var(--ifm-navbar-height) + 0.5rem);
}

.anchorTargetHideOnScrollNavbar_vjPI {
  scroll-margin-top: 0.5rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.hash-link {
  opacity: 0;
  padding-left: 0.5rem;
  transition: opacity var(--ifm-transition-fast);
  -webkit-user-select: none;
          user-select: none;
}

.hash-link::before {
  content: '#';
}

.hash-link:focus,
*:hover > .hash-link {
  opacity: 1;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.cardContainer_fWXF {
  --ifm-link-color: var(--ifm-color-emphasis-800);
  --ifm-link-hover-color: var(--ifm-color-emphasis-700);
  --ifm-link-hover-decoration: none;

  box-shadow: 0 1.5px 3px 0 rgb(0 0 0 / 15%);
  border: 1px solid var(--ifm-color-emphasis-200);
  transition: all var(--ifm-transition-fast) ease;
  transition-property: border, box-shadow;
}

.cardContainer_fWXF:hover {
  border-color: var(--ifm-color-primary);
  box-shadow: 0 3px 6px 0 rgb(0 0 0 / 20%);
}

.cardContainer_fWXF *:last-child {
  margin-bottom: 0;
}

.cardTitle_rnsV {
  font-size: 1.2rem;
}

.cardDescription_PWke {
  font-size: 0.8rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.docCardListItem_W1sv {
  margin-bottom: 2rem;
}

.docCardListItem_W1sv > * {
  height: 100%;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.dropdownNavbarItemMobile_J0Sd {
  cursor: pointer;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.iconLanguage_nlXk {
  vertical-align: text-bottom;
  margin-right: 5px;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/*
Workaround to avoid rendering empty search container
See https://github.com/facebook/docusaurus/pull/9385
*/
.navbarSearchContainer_Bca1:empty {
  display: none;
}

@media (max-width: 996px) {
  .navbarSearchContainer_Bca1 {
    position: absolute;
    right: var(--ifm-navbar-padding-horizontal);
  }
}

@media (min-width: 997px) {
  .navbarSearchContainer_Bca1 {
    padding: 0 var(--ifm-navbar-item-padding-horizontal);
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.navbarHideable_m1mJ {
  transition: transform var(--ifm-transition-fast) ease;
}

.navbarHidden_jGov {
  transform: translate3d(0, calc(-100% - 2px), 0);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.errorBoundaryError_a6uf {
  white-space: pre-wrap;
  color: red;
}

.errorBoundaryFallback_VBag {
  color: red;
  padding: 0.55rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/*
Hide color mode toggle in small viewports
 */
@media (max-width: 996px) {
  .colorModeToggle_DEke {
    display: none;
  }
}

/*
Restore some Infima style that broke with CSS Cascade Layers
See https://github.com/facebook/docusaurus/pull/11142
 */
.navbar__items--right > :last-child {
  padding-right: 0;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.footerLogoLink_BH7S {
  opacity: 0.5;
  transition: opacity var(--ifm-transition-fast)
    var(--ifm-transition-timing-default);
}

.footerLogoLink_BH7S:hover {
  opacity: 1;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

html,
body {
  height: 100%;
}

.mainWrapper_z2l0 {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

/* Docusaurus-specific utility class */
.docusaurus-mt-lg {
  margin-top: 3rem;
}

#__docusaurus {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.sidebar_re4s {
  max-height: calc(100vh - (var(--ifm-navbar-height) + 2rem));
  overflow-y: auto;
  position: sticky;
  top: calc(var(--ifm-navbar-height) + 2rem);
}

.sidebarItemTitle_pO2u {
  font-size: var(--ifm-h3-font-size);
  font-weight: var(--ifm-font-weight-bold);
}

.sidebarItemList_Yudw {
  font-size: 0.9rem;
}

.sidebarItem__DBe {
  margin-top: 0.7rem;
}

.sidebarItemLink_mo7H {
  color: var(--ifm-font-color-base);
  display: block;
}

.sidebarItemLink_mo7H:hover {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.sidebarItemLinkActive_I1ZP {
  color: var(--ifm-color-primary) !important;
}

@media (max-width: 996px) {
  .sidebar_re4s {
    display: none;
  }
}

.yearGroupHeading_rMGB {
  margin-top: 1.6rem;
  margin-bottom: 0.4rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.yearGroupHeading_QT03 {
  margin: 1rem 0.75rem 0.5rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.searchQueryInput_u2C7,
.searchVersionInput_m0Ui {
  border-radius: var(--ifm-global-radius);
  border: 2px solid var(--ifm-toc-border-color);
  font: var(--ifm-font-size-base) var(--ifm-font-family-base);
  padding: 0.8rem;
  width: 100%;
  background: var(--docsearch-searchbox-focus-background);
  color: var(--docsearch-text-color);
  margin-bottom: 0.5rem;
  transition: border var(--ifm-transition-fast) ease;
}

.searchQueryInput_u2C7:focus,
.searchVersionInput_m0Ui:focus {
  border-color: var(--docsearch-primary-color);
  outline: none;
}

.searchQueryInput_u2C7::placeholder {
  color: var(--docsearch-muted-color);
}

.searchResultsColumn_JPFH {
  font-size: 0.9rem;
  font-weight: bold;
}

.searchLogoColumn_rJIA {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: flex-end;
}

.searchLogoColumn_rJIA a {
  display: flex;
}

.searchLogoColumn_rJIA span {
  color: var(--docsearch-muted-color);
  font-weight: normal;
}

.searchResultItem_Tv2o {
  padding: 1rem 0;
  border-bottom: 1px solid var(--ifm-toc-border-color);
}

.searchResultItemHeading_KbCB {
  font-weight: 400;
  margin-bottom: 0;
}

.searchResultItemPath_lhe1 {
  font-size: 0.8rem;
  color: var(--ifm-color-content-secondary);
  --ifm-breadcrumb-separator-size-multiplier: 1;
}

.searchResultItemSummary_AEaO {
  margin: 0.5rem 0 0;
  font-style: italic;
}

@media only screen and (max-width: 996px) {
  .searchQueryColumn_RTkw {
    max-width: 60% !important;
  }

  .searchVersionColumn_ypXd {
    max-width: 40% !important;
  }

  .searchResultsColumn_JPFH {
    max-width: 60% !important;
  }

  .searchLogoColumn_rJIA {
    max-width: 40% !important;
    padding-left: 0 !important;
  }
}

@media screen and (max-width: 576px) {
  .searchQueryColumn_RTkw {
    max-width: 100% !important;
  }

  .searchVersionColumn_ypXd {
    max-width: 100% !important;
    padding-left: var(--ifm-spacing-horizontal) !important;
  }
}

.loadingSpinner_XVxU {
  width: 3rem;
  height: 3rem;
  border: 0.4em solid #eee;
  border-top-color: var(--ifm-color-primary);
  border-radius: 50%;
  animation: loading-spin_vzvp 1s linear infinite;
  margin: 0 auto;
}

@keyframes loading-spin_vzvp {
  100% {
    transform: rotate(360deg);
  }
}

.loader_vvXV {
  margin-top: 2rem;
}

.search-result-match {
  color: var(--docsearch-hit-color);
  background: rgb(255 215 142 / 25%);
  padding: 0.09em 0;
}

/* =========================================================
   BLOG POST GRID — modern dark-mode-first card design
   ========================================================= */
.grid_d450 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.75rem;
  padding: 1rem 0 2rem;
}

@media (min-width: 768px) {
  .grid_d450 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .grid_d450 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Card shell */
.card_B9mC {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  border: 1px solid rgba(10, 31, 68, 0.1);
  border-radius: 14px;
  overflow: hidden;
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
  box-shadow: 0 1px 3px rgba(10, 31, 68, 0.06);
}

.card_B9mC:hover {
  transform: translateY(-3px);
  border-color: #22d3ee;
  box-shadow:
    0 10px 30px -10px rgba(34, 211, 238, 0.35),
    0 2px 8px rgba(10, 31, 68, 0.1);
}

/* Stretched anchor that makes whole card clickable */
.stretchedLink_GRcH {
  position: absolute;
  inset: 0;
  z-index: 1;
  font-size: 0;
  color: transparent;
}

/* Thumbnail — fixed aspect ratio, covers cleanly */
.thumb_t8vd {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  background-color: #f5f7fa;
  border-bottom: 1px solid rgba(10, 31, 68, 0.08);
}

.thumbPlaceholder_jxEX {
  width: 100%;
  aspect-ratio: 16 / 9;
  background:
    linear-gradient(135deg, #0a1f44 0%, #142850 40%, #22d3ee 100%);
  position: relative;
  border-bottom: 1px solid rgba(10, 31, 68, 0.08);
}

.thumbPlaceholder_jxEX::after {
  content: 'SecureAuth';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-family: 'JetBrains Mono', monospace;
}

/* Card body */
.body_gHan {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.25rem 1.25rem 1rem;
  gap: 0.75rem;
}

.title_igoh {
  margin: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em;
}

.title_igoh a {
  color: #0a1f44 !important;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  background: none !important;
}

.title_igoh a:hover {
  color: #0066cc !important;
}

.excerpt_xUOX {
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.meta_SMiB {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(10, 31, 68, 0.08);
  font-size: 0.75rem;
  color: #64748b;
  flex-wrap: wrap;
}

.meta_SMiB time {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  color: #64748b;
}

.tags_cA8L {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  position: relative;
  z-index: 2;
}

.tags_cA8L span {
  display: inline-block;
  padding: 2px 8px;
  font-size: 0.68rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 999px;
  background-color: rgba(34, 211, 238, 0.1);
  color: #0066cc;
  border: 1px solid rgba(34, 211, 238, 0.25);
}

/* =========================================================
   DARK MODE
   ========================================================= */
[data-theme='dark'] .card_B9mC {
  background-color: #0a0a0a;
  border-color: #262626;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.02) inset, 0 2px 8px rgba(0, 0, 0, 0.4);
}

[data-theme='dark'] .card_B9mC:hover {
  border-color: #22d3ee;
  box-shadow:
    0 0 0 1px rgba(34, 211, 238, 0.3),
    0 12px 40px -10px rgba(34, 211, 238, 0.35),
    0 2px 8px rgba(0, 0, 0, 0.6);
}

[data-theme='dark'] .thumb_t8vd {
  background-color: #0a0a0a;
  border-bottom-color: #1a1a1a;
}

[data-theme='dark'] .thumbPlaceholder_jxEX {
  border-bottom-color: #1a1a1a;
}

[data-theme='dark'] .title_igoh a {
  color: #ffffff !important;
}

[data-theme='dark'] .title_igoh a:hover {
  color: #67e8f9 !important;
}

[data-theme='dark'] .excerpt_xUOX {
  color: #a3a3a3;
}

[data-theme='dark'] .meta_SMiB {
  border-top-color: #1a1a1a;
  color: #737373;
}

[data-theme='dark'] .meta_SMiB time {
  color: #737373;
}

[data-theme='dark'] .tags_cA8L span {
  background-color: rgba(34, 211, 238, 0.08);
  color: #67e8f9;
  border-color: rgba(34, 211, 238, 0.25);
}

/* API Documentation Styles */

/* Scroll offset for anchor links to account for fixed navbar */
html {
  scroll-padding-top: 80px;
}

/* Base Design System */
:root {
  --font-size: 14px;
  --background: #ffffff;
  --foreground: rgb(10, 10, 10);
  --card: #ffffff;
  --card-foreground: rgb(10, 10, 10);
  --popover: rgb(255, 255, 255);
  --popover-foreground: rgb(10, 10, 10);
  --primary: #030213;
  --primary-foreground: rgb(255, 255, 255);
  --secondary: rgb(236, 238, 242);
  --secondary-foreground: #030213;
  --muted: #ececf0;
  --muted-foreground: #717182;
  --accent: #e9ebef;
  --accent-foreground: #030213;
  --destructive: #d4183d;
  --destructive-foreground: #ffffff;
  --border: rgba(0, 0, 0, 0.1);
  --input: transparent;
  --input-background: #f3f3f5;
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --ring: rgb(161, 161, 161);
  --radius: 0.625rem;
  /* Color system for API categories */
  --color-blue-500: #3b82f6;
  --color-green-500: #22c55e;
  --color-purple-500: #a855f7;
  --color-orange-500: #f97316;
  --color-red-500: #ef4444;
  --color-indigo-500: #6366f1;
}

[data-theme='dark'] {
  --background: rgb(10, 10, 10);
  --foreground: rgb(250, 250, 250);
  --card: rgb(10, 10, 10);
  --card-foreground: rgb(250, 250, 250);
  --popover: rgb(10, 10, 10);
  --popover-foreground: rgb(250, 250, 250);
  --primary: rgb(250, 250, 250);
  --primary-foreground: rgb(23, 23, 23);
  --secondary: rgb(38, 38, 38);
  --secondary-foreground: rgb(250, 250, 250);
  --muted: rgb(38, 38, 38);
  --muted-foreground: rgb(161, 161, 161);
  --accent: rgb(38, 38, 38);
  --accent-foreground: rgb(250, 250, 250);
  --destructive: rgb(130, 24, 26);
  --destructive-foreground: rgb(251, 44, 54);
  --border: rgb(38, 38, 38);
  --input: rgb(38, 38, 38);
  --ring: rgb(82, 82, 82);
}

/* Base Styles

   Docusaurus puts a plain (non-module) .css import into the site-wide bundle, so
   everything in this file applies to every page, not just the API index. The
   rules below are scoped to .api-index (the wrapper on the API index page) for
   that reason. Do not reintroduce bare html/body/h1/p/button selectors here:
   they override the site's own font and colors everywhere. */
.api-index {
  background-color: var(--background);
  color: var(--foreground);
}

/* Typography */
.api-index h1 {
  font-size: 2.25rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.2;
  color: var(--foreground);
}

.api-index h2 {
  font-size: 1.875rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.3;
  color: var(--foreground);
}

.api-index h3 {
  font-size: 1.5rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.4;
}

.api-index h4 {
  font-size: 1.125rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.4;
}
[data-theme='dark'] .bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, #181f2a, #181f2a 60%, #232a3a 100%);
}
[data-theme='dark'] .api-index h1,
[data-theme='dark'] .api-index h2,
[data-theme='dark'] .api-index h3,
[data-theme='dark'] .api-index h4,
[data-theme='dark'] .api-index p {
  color: var(--foreground) !important;
}

.api-index p {
  font-size: 1rem;
  font-weight: var(--font-weight-normal);
  line-height: 1.6;
}

/* Utility Classes */
.min-h-screen {
  min-height: 100vh;
}

.bg-background {
  background-color: var(--background);
}

.text-muted-foreground {
  color: var(--muted-foreground);
}

.max-w-7xl {
  max-width: 80rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-2xl {
  max-width: 42rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

.p-3 {
  padding: 0.75rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mb-12 {
  margin-bottom: 3rem;
}

.mb-16 {
  margin-bottom: 4rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mt-24 {
  margin-top: 6rem;
}

.text-center {
  text-align: center;
}

.text-xl {
  font-size: 1.25rem;
}

.text-sm {
  font-size: 0.875rem;
}

.text-xs {
  font-size: 0.75rem;
}

.leading-relaxed {
  line-height: 1.625;
}

.space-y-6 > * + * {
  margin-top: 1.5rem;
}

.space-y-4 > * + * {
  margin-top: 1rem;
}

.space-y-16 > * + * {
  margin-top: 4rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-1 {
  gap: 0.25rem;
}

/* Layout */
.flex {
  display: flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.items-center {
  align-items: center;
}

.items-start {
  align-items: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

/* Grid */
.grid {
  display: grid;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .md\\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .lg\\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .xl\\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Borders and Radius */
.border {
  border-width: 1px;
  border-style: solid;
  border-color: var(--border);
}

.border-b {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: var(--border);
}

.border-l-4 {
  border-left-width: 4px;
  border-left-style: solid;
}

.rounded-lg {
  border-radius: var(--radius);
}

.rounded-xl {
  border-radius: calc(var(--radius) + 2px);
}

.rounded-md {
  border-radius: calc(var(--radius) - 2px);
}

.rounded-full {
  border-radius: 9999px;
}

/* Colors */
.bg-card {
  background-color: var(--card);
}

.text-card-foreground {
  color: var(--card-foreground);
}

.bg-primary {
  background-color: var(--primary);
}

.text-primary-foreground {
  color: var(--primary-foreground);
}

.bg-secondary {
  background-color: var(--secondary);
}

.text-secondary-foreground {
  color: var(--secondary-foreground);
}

.hover\\:bg-primary\\/90:hover {
  background-color: color-mix(in srgb, var(--primary) 90%, transparent);
}

.hover\\:bg-accent:hover {
  background-color: var(--accent);
}

.hover\\:text-accent-foreground:hover {
  color: var(--accent-foreground);
}

.hover\\:bg-secondary\\/80:hover {
  background-color: color-mix(in srgb, var(--secondary) 80%, transparent);
}

.group:hover .group-hover\\:text-primary {
  color: var(--primary);
}

.group:hover .group-hover\\:opacity-100 {
  opacity: 1;
}

/* Backgrounds */
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.from-slate-50 {
  --tw-gradient-from: #f8fafc;
  --tw-gradient-to: rgb(248 250 252 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.to-blue-50 {
  --tw-gradient-to: #eff6ff;
}

[data-theme='dark'] .dark\\:from-slate-900 {
  --tw-gradient-from: #0f172a;
}

.dark .dark\\:to-blue-950\\/20 {
  --tw-gradient-to: rgba(23, 37, 84, 0.2);
}

/* Shadows */
.shadow-sm {
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}

.hover\\:shadow-lg:hover {
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -2px rgb(0 0 0 / 0.05);
}

/* Transitions */
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-200 {
  transition-duration: 200ms;
}

/* Transforms */
.hover\\:-translate-y-1:hover {
  transform: translateY(-0.25rem);
}

/* Focus and Interaction */
.cursor-pointer {
  cursor: pointer;
}

.focus-visible\\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\\:ring-2:focus-visible {
  box-shadow: 0 0 0 2px var(--ring);
}

.focus-visible\\:ring-ring:focus-visible {
  box-shadow: 0 0 0 2px var(--ring);
}

.focus-visible\\:ring-offset-2:focus-visible {
  box-shadow: 0 0 0 2px var(--background), 0 0 0 4px var(--ring);
}

.disabled\\:pointer-events-none:disabled {
  pointer-events: none;
}

.disabled\\:opacity-50:disabled {
  opacity: 0.5;
}

/* Typography Utilities */
.font-medium {
  font-weight: var(--font-weight-medium);
}

.font-semibold {
  font-weight: 600;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Sizing */
.w-4 {
  width: 1rem;
}

.h-4 {
  height: 1rem;
}

.w-6 {
  width: 1.5rem;
}

.h-6 {
  height: 1.5rem;
}

.w-8 {
  width: 2rem;
}

.h-8 {
  height: 2rem;
}

.w-12 {
  width: 3rem;
}

.h-12 {
  height: 3rem;
}

.w-2 {
  width: 0.5rem;
}

.h-2 {
  height: 0.5rem;
}

.w-3 {
  width: 0.75rem;
}

.h-3 {
  height: 0.75rem;
}

.h-9 {
  height: 2.25rem;
}

.h-11 {
  height: 2.75rem;
}

/* Opacity */
.opacity-0 {
  opacity: 0;
}

/* Button Styles */
.inline-flex {
  display: inline-flex;
}

.px-2\\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.py-0\\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/* Color Classes for API Categories */
.bg-blue-50 {
  background-color: #eff6ff;
}

.dark .dark\\:bg-blue-950\\/20 {
  background-color: rgba(23, 37, 84, 0.2);
}

.border-blue-200 {
  border-color: #bfdbfe;
}

.dark .dark\\:border-blue-800 {
  border-color: #1e40af;
}

.text-blue-600 {
  color: #2563eb;
}

.dark .dark\\:text-blue-400 {
  color: #60a5fa;
}

.bg-blue-100 {
  background-color: #dbeafe;
}

.text-blue-800 {
  color: #1e40af;
}

.dark .dark\\:bg-blue-900 {
  background-color: #1e3a8a;
}

.dark .dark\\:text-blue-200 {
  color: #bfdbfe;
}

.bg-blue-600 {
  background-color: #2563eb;
}

.dark .dark\\:bg-blue-400 {
  background-color: #60a5fa;
}

[data-theme='dark'] .dark\:bg-blue-950\/20 {
  background-color: rgba(23, 37, 84, 0.2);
}

[data-theme='dark'] .dark\:border-blue-800 {
  border-color: #1e40af;
}

[data-theme='dark'] .dark\:text-blue-400 {
  color: #60a5fa;
}

[data-theme='dark'] .dark\:bg-blue-900 {
  background-color: #1e3a8a;
}

[data-theme='dark'] .dark\:text-blue-200 {
  color: #bfdbfe;
}

[data-theme='dark'] .dark\:bg-blue-400 {
  background-color: #60a5fa;
}

/* Green variants */
.bg-green-50 {
  background-color: #f0fdf4;
}

.dark .dark\\:bg-green-950\\/20 {
  background-color: rgba(5, 46, 22, 0.2);
}

.border-green-200 {
  border-color: #bbf7d0;
}

.dark .dark\\:border-green-800 {
  border-color: #166534;
}

.text-green-600 {
  color: #16a34a;
}

.dark .dark\\:text-green-400 {
  color: #4ade80;
}

.bg-green-100 {
  background-color: #dcfce7;
}

.text-green-800 {
  color: #166534;
}

.dark .dark\\:bg-green-900 {
  background-color: #14532d;
}

.dark .dark\\:text-green-200 {
  color: #bbf7d0;
}

.bg-green-600 {
  background-color: #16a34a;
}

.dark .dark\\:bg-green-400 {
  background-color: #4ade80;
}

.dark .dark\\:bg-green-900\\/20 {
  background-color: rgba(20, 83, 45, 0.2);
}

/* Purple variants */
.bg-purple-50 {
  background-color: #faf5ff;
}

.dark .dark\\:bg-purple-950\\/20 {
  background-color: rgba(46, 16, 101, 0.2);
}

.border-purple-200 {
  border-color: #e9d5ff;
}

.dark .dark\\:border-purple-800 {
  border-color: #6b21a8;
}

.text-purple-600 {
  color: #9333ea;
}

.dark .dark\\:text-purple-400 {
  color: #c084fc;
}

.bg-purple-100 {
  background-color: #f3e8ff;
}

.text-purple-800 {
  color: #6b21a8;
}

.dark .dark\\:bg-purple-900 {
  background-color: #581c87;
}

.dark .dark\\:text-purple-200 {
  color: #e9d5ff;
}

.bg-purple-600 {
  background-color: #9333ea;
}

.dark .dark\\:bg-purple-400 {
  background-color: #c084fc;
}

.dark .dark\\:bg-purple-900\\/20 {
  background-color: rgba(88, 28, 135, 0.2);
}

/* Orange variants */
.bg-orange-50 {
  background-color: #fff7ed;
}

.dark .dark\\:bg-orange-950\\/20 {
  background-color: rgba(67, 20, 7, 0.2);
}

.border-orange-200 {
  border-color: #fed7aa;
}

.dark .dark\\:border-orange-800 {
  border-color: #9a3412;
}

.text-orange-600 {
  color: #ea580c;
}

.dark .dark\\:text-orange-400 {
  color: #fb923c;
}

.bg-orange-100 {
  background-color: #ffedd5;
}

.text-orange-800 {
  color: #9a3412;
}

.dark .dark\\:bg-orange-900 {
  background-color: #7c2d12;
}

.dark .dark\\:text-orange-200 {
  color: #fed7aa;
}

.bg-orange-600 {
  background-color: #ea580c;
}

.dark .dark\\:bg-orange-400 {
  background-color: #fb923c;
}

/* Red variants */
.bg-red-50 {
  background-color: #fef2f2;
}

.dark .dark\\:bg-red-950\\/20 {
  background-color: rgba(69, 10, 10, 0.2);
}

.border-red-200 {
  border-color: #fecaca;
}

.dark .dark\\:border-red-800 {
  border-color: #991b1b;
}

.text-red-600 {
  color: #dc2626;
}

.dark .dark\\:text-red-400 {
  color: #f87171;
}

.bg-red-100 {
  background-color: #fee2e2;
}

.text-red-800 {
  color: #991b1b;
}

.dark .dark\\:bg-red-900 {
  background-color: #7f1d1d;
}

.dark .dark\\:text-red-200 {
  color: #fecaca;
}

.bg-red-600 {
  background-color: #dc2626;
}

.dark .dark\\:bg-red-400 {
  background-color: #f87171;
}

/* Indigo variants */
.bg-indigo-50 {
  background-color: #eef2ff;
}

.dark .dark\\:bg-indigo-950\\/20 {
  background-color: rgba(30, 27, 75, 0.2);
}

.border-indigo-200 {
  border-color: #c7d2fe;
}

.dark .dark\\:border-indigo-800 {
  border-color: #3730a3;
}

.text-indigo-600 {
  color: #4f46e5;
}

.dark .dark\\:text-indigo-400 {
  color: #818cf8;
}

.bg-indigo-100 {
  background-color: #e0e7ff;
}

.text-indigo-800 {
  color: #3730a3;
}

.dark .dark\\:bg-indigo-900 {
  background-color: #312e81;
}

.dark .dark\\:text-indigo-200 {
  color: #c7d2fe;
}

.bg-indigo-600 {
  background-color: #4f46e5;
}

.dark .dark\\:bg-indigo-400 {
  background-color: #818cf8;
}

.dark .dark\\:bg-indigo-900\\/20 {
  background-color: rgba(49, 46, 129, 0.2);
}

/* Component-specific styles */
.api-card {
  transition: all 0.2s ease-in-out;
}

.api-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* Ring offset styles for focus */
.ring-offset-background {
  --tw-ring-offset-color: var(--background);
}

.border-input {
  border-color: var(--border);
}

.bg-background {
  background-color: var(--background);
}

/* Additional button and input styles */
.api-index button {
  border: none;
  font-family: inherit;
}

.pt-2 {
  padding-top: 0.5rem;
}

/* Redoc dark mode fix for authorization titles */
[data-theme='dark'] .redoc-page .sc-bdfBwQ, /* Redoc generic text class */
[data-theme='dark'] .redoc-page .sc-gsTCUz, /* Redoc heading class */
[data-theme='dark'] .redoc-page .sc-dlfnbm, /* Redoc subtitle class */
[data-theme='dark'] .redoc-page .sc-hKgILt, /* Redoc label class */
[data-theme='dark'] .redoc-page .sc-jrsJWt, /* Redoc code class */
[data-theme='dark'] .redoc-page .sc-eDvSVe {
  color: var(--foreground) !important;
}
/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.title_f1Hy {
  font-size: 3rem;
}

/**
  Blog post title should be smaller on smaller devices
**/
@media (max-width: 576px) {
  .title_f1Hy {
    font-size: 2rem;
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.container_mt6G {
  font-size: 0.9rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

[data-theme='dark'] .githubSvg_Uu4N {
  fill: var(--light);
}

[data-theme='light'] .githubSvg_Uu4N {
  fill: var(--dark);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

[data-theme='dark'] .xSvg_y3PF {
  fill: var(--light);
}

[data-theme='light'] .xSvg_y3PF {
  fill: var(--dark);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

[data-theme='dark'] .linkedinSvg_FCgI {
  fill: var(--light);
}

[data-theme='light'] .linkedinSvg_FCgI {
  fill: var(--dark);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

[data-theme='dark'] .blueskySvg_AzZw {
  fill: var(--light);
}

[data-theme='light'] .blueskySvg_AzZw {
  fill: var(--dark);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

[data-theme='dark'] .instagramSvg_YC40 {
  fill: var(--light);
}

[data-theme='light'] .instagramSvg_YC40 {
  fill: var(--dark);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

[data-theme='dark'] .threadsSvg_PTXY {
  fill: var(--light);
}

[data-theme='light'] .threadsSvg_PTXY {
  fill: var(--dark);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

:root {
  --docusaurus-blog-social-icon-size: 1rem;
}

.authorSocials_rSDt {
  /*
  This ensures that container takes height even if there's no social link
  This keeps author names aligned even if only some have socials
   */
  height: var(--docusaurus-blog-social-icon-size);

  display: flex;
  flex-wrap: wrap;
  align-items: center;
  line-height: 0;
  overflow: hidden;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.authorSocialLink_owbf {
  height: var(--docusaurus-blog-social-icon-size);
  width: var(--docusaurus-blog-social-icon-size);
  line-height: 0;
  margin-right: 0.4rem;
}

.authorSocialIcon_XYv3 {
  width: var(--docusaurus-blog-social-icon-size);
  height: var(--docusaurus-blog-social-icon-size);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.authorImage_XqGP {
  --ifm-avatar-photo-size: 3.6rem;
}

.author-as-h1_n9oJ .authorImage_XqGP {
  --ifm-avatar-photo-size: 7rem;
}

.author-as-h2_gXvM .authorImage_XqGP {
  --ifm-avatar-photo-size: 5.4rem;
}

.authorDetails_lV9A {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-around;
}

.authorName_yefp {
  font-size: 1.1rem;
  line-height: 1.1rem;
  display: flex;
  flex-direction: row;
}

.author-as-h1_n9oJ .authorName_yefp {
  font-size: 2.4rem;
  line-height: 2.4rem;
  display: inline;
}

.author-as-h2_gXvM .authorName_yefp {
  font-size: 1.4rem;
  line-height: 1.4rem;
  display: inline;
}

.authorTitle_nd0D {
  font-size: 0.8rem;
  line-height: 1rem;
  display: -webkit-box;
  overflow: hidden;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.author-as-h1_n9oJ .authorTitle_nd0D {
  font-size: 1.2rem;
  line-height: 1.6rem;
}

.author-as-h2_gXvM .authorTitle_nd0D {
  font-size: 1rem;
  line-height: 1.3rem;
}

.authorBlogPostCount_iiJ5 {
  background: var(--ifm-color-secondary);
  color: var(--ifm-color-black);
  font-size: 0.8rem;
  line-height: 1.2;
  border-radius: var(--ifm-global-radius);
  padding: 0.1rem 0.4rem;
  margin-left: 0.3rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.authorCol_Hf19 {
  max-width: inherit !important;
}

.imageOnlyAuthorRow_pa_O {
  display: flex;
  flex-flow: row wrap;
}

.imageOnlyAuthorCol_G86a {
  margin-left: 0.3rem;
  margin-right: 0.3rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.codeBlockContainer_Ckt0 {
  background: var(--prism-background-color);
  color: var(--prism-color);
  margin-bottom: var(--ifm-leading);
  box-shadow: var(--ifm-global-shadow-lw);
  border-radius: var(--ifm-code-border-radius);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.codeBlock_bY9V {
  --ifm-pre-background: var(--prism-background-color);
  margin: 0;
  padding: 0;
}

.codeBlockStandalone_MEMb {
  padding: 0;
}

.codeBlockLines_e6Vv {
  font: inherit;
  /* rtl:ignore */
  float: left;
  min-width: 100%;
  padding: var(--ifm-pre-padding);
}

.codeBlockLinesWithNumbering_o6Pm {
  display: table;
  padding: var(--ifm-pre-padding) 0;
}

@media print {
  .codeBlockLines_e6Vv {
    white-space: pre-wrap;
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/* Intentionally has zero specificity, so that to be able to override
the background in custom CSS file due bug https://github.com/facebook/docusaurus/issues/3678 */
:where(:root) {
  --docusaurus-highlighted-code-line-bg: rgb(72 77 91);
}

:where([data-theme='dark']) {
  --docusaurus-highlighted-code-line-bg: rgb(100 100 100);
}

.theme-code-block-highlighted-line {
  background-color: var(--docusaurus-highlighted-code-line-bg);
  display: block;
  margin: 0 calc(-1 * var(--ifm-pre-padding));
  padding: 0 var(--ifm-pre-padding);
}

.codeLine_lJS_ {
  display: table-row;
  counter-increment: line-count;
}

.codeLineNumber_Tfdd {
  display: table-cell;
  text-align: right;
  width: 1%;
  position: sticky;
  left: 0;
  padding: 0 var(--ifm-pre-padding);
  background: var(--ifm-pre-background);
  overflow-wrap: normal;
}

.codeLineNumber_Tfdd::before {
  content: counter(line-count);
  opacity: 0.4;
}

.theme-code-block-highlighted-line .codeLineNumber_Tfdd::before {
  opacity: 0.8;
}

.codeLineContent_feaV {
  padding-right: var(--ifm-pre-padding);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.theme-code-block:hover .copyButtonCopied_Vdqa {
  opacity: 1 !important;
}

.copyButtonIcons_IEyt {
  position: relative;
  width: 1.125rem;
  height: 1.125rem;
}

.copyButtonIcon_TrPX,
.copyButtonSuccessIcon_cVMy {
  position: absolute;
  top: 0;
  left: 0;
  fill: currentColor;
  opacity: inherit;
  width: inherit;
  height: inherit;
  transition: all var(--ifm-transition-fast) ease;
}

.copyButtonSuccessIcon_cVMy {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.33);
  opacity: 0;
  color: #00d600;
}

.copyButtonCopied_Vdqa .copyButtonIcon_TrPX {
  transform: scale(0.33);
  opacity: 0;
}

.copyButtonCopied_Vdqa .copyButtonSuccessIcon_cVMy {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  transition-delay: 0.075s;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.wordWrapButtonIcon_b1P5 {
  width: 1.2rem;
  height: 1.2rem;
}

.wordWrapButtonEnabled_uzNF .wordWrapButtonIcon_b1P5 {
  color: var(--ifm-color-primary);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.buttonGroup_M5ko {
  display: flex;
  column-gap: 0.2rem;
  position: absolute;
  /* rtl:ignore */
  right: calc(var(--ifm-pre-padding) / 2);
  top: calc(var(--ifm-pre-padding) / 2);
}

.buttonGroup_M5ko button {
  display: flex;
  align-items: center;
  background: var(--prism-background-color);
  color: var(--prism-color);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: var(--ifm-global-radius);
  padding: 0.4rem;
  line-height: 0;
  transition: opacity var(--ifm-transition-fast) ease-in-out;
  opacity: 0;
}

.buttonGroup_M5ko button:focus-visible,
.buttonGroup_M5ko button:hover {
  opacity: 1 !important;
}

.theme-code-block:hover .buttonGroup_M5ko button {
  opacity: 0.4;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.codeBlockContent_QJqH {
  position: relative;
  /* rtl:ignore */
  direction: ltr;
  border-radius: inherit;
}

.codeBlockTitle_OeMC {
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
  font-size: var(--ifm-code-font-size);
  font-weight: 500;
  padding: 0.75rem var(--ifm-pre-padding);
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.codeBlockTitle_OeMC + .codeBlockContent_QJqH .codeBlock_a8dz {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.iconEdit_Z9Sw {
  margin-right: 0.3em;
  vertical-align: sub;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/*
CSS variables, meant to be overridden by final theme
 */
.details_lb9f {
  --docusaurus-details-summary-arrow-size: 0.38rem;
  --docusaurus-details-transition: transform 200ms ease;
  --docusaurus-details-decoration-color: grey;
}

.details_lb9f > summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  padding-left: 1rem;
}

/* TODO: deprecation, need to remove this after Safari will support `::marker` */
.details_lb9f > summary::-webkit-details-marker {
  display: none;
}

.details_lb9f > summary::before {
  position: absolute;
  top: 0.45rem;
  left: 0;

  /* CSS-only Arrow */
  content: '';
  border-width: var(--docusaurus-details-summary-arrow-size);
  border-style: solid;
  border-color: transparent transparent transparent
    var(--docusaurus-details-decoration-color);

  /* Arrow rotation anim */
  transform: rotate(0deg);
  transition: var(--docusaurus-details-transition);
  transform-origin: calc(var(--docusaurus-details-summary-arrow-size) / 2) 50%;
}

/* When JS disabled/failed to load: we use the open property for arrow animation: */
.details_lb9f[open]:not(.isBrowser_bmU9) > summary::before,

.details_lb9f[data-collapsed='false'].isBrowser_bmU9 > summary::before {
  transform: rotate(90deg);
}

.collapsibleContent_i85q {
  margin-top: 1rem;
  border-top: 1px solid var(--docusaurus-details-decoration-color);
  padding-top: 1rem;
}

.collapsibleContent_i85q p:last-child {
  margin-bottom: 0;
}

.details_lb9f > summary > p:last-child {
  margin-bottom: 0;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.lastUpdated_JAkA {
  font-size: smaller;
  font-style: italic;
  margin-top: 0.2rem;
}

@media (min-width: 997px) {
  .lastUpdated_JAkA {
    text-align: right;
  }
}

@media print {
  .noPrint_WFHX {
    display: none;
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.tocCollapsibleButton_TO0P {
  font-size: inherit;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4rem 0.8rem;
  width: 100%;
}

.tocCollapsibleButton_TO0P::after {
  content: '';
  background: var(--ifm-menu-link-sublist-icon) 50% 50% / 2rem 2rem no-repeat;
  filter: var(--ifm-menu-link-sublist-icon-filter);
  height: 1.25rem;
  width: 1.25rem;
  transform: rotate(180deg);
  transition: transform var(--ifm-transition-fast);
}

.tocCollapsibleButtonExpanded_MG3E::after {
  transform: none;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.tocCollapsible_ETCw {
  background-color: var(--ifm-menu-color-background-active);
  border-radius: var(--ifm-global-radius);
  margin: 1rem 0;
}

.tocCollapsibleContent_vkbj > ul {
  border-left: none;
  border-top: 1px solid var(--ifm-color-emphasis-300);
  padding: 0.2rem 0;
  font-size: 15px;
}

.tocCollapsibleContent_vkbj ul li {
  margin: 0.4rem 0.8rem;
}

.tocCollapsibleContent_vkbj a {
  display: block;
}

.tocCollapsibleExpanded_sAul {
  transform: none;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

@media (min-width: 997px) {
  /* Prevent hydration FOUC, as the mobile TOC needs to be server-rendered */
  .tocMobile_ITEo {
    display: none;
  }
}

@media print {
  .tocMobile_ITEo {
    display: none;
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.details_b_Ee {
  --docusaurus-details-decoration-color: var(--ifm-alert-border-color);
  --docusaurus-details-transition: transform var(--ifm-transition-fast) ease;
  margin: 0 0 var(--ifm-spacing-vertical);
  border: 1px solid var(--ifm-alert-border-color);
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.containsTaskList_mC6p {
  list-style: none;
}

:not(.containsTaskList_mC6p > li) > .containsTaskList_mC6p {
  padding-left: 0;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.img_ev3q {
  height: auto;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.admonition_xJq3 {
  margin-bottom: 1em;
}

.admonitionHeading_Gvgb {
  font: var(--ifm-heading-font-weight) var(--ifm-h5-font-size) /
    var(--ifm-heading-line-height) var(--ifm-heading-font-family);
  text-transform: uppercase;
}

/* Heading alone without content (does not handle fragment content) */
.admonitionHeading_Gvgb:not(:last-child) {
  margin-bottom: 0.3rem;
}

.admonitionHeading_Gvgb code {
  text-transform: none;
}

.admonitionIcon_Rf37 {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.4em;
}

.admonitionIcon_Rf37 svg {
  display: inline-block;
  height: 1.6em;
  width: 1.6em;
  fill: var(--ifm-alert-foreground-color);
}

.admonitionContent_BuS1 > :last-child {
  margin-bottom: 0;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

:root {
  --docusaurus-tag-list-border: var(--ifm-color-emphasis-300);
}

.tag_zVej {
  border: 1px solid var(--docusaurus-tag-list-border);
  transition: border var(--ifm-transition-fast);
}

.tag_zVej:hover {
  --docusaurus-tag-list-border: var(--ifm-link-color);
  -webkit-text-decoration: none;
  text-decoration: none;
}

.tagRegular_sFm0 {
  border-radius: var(--ifm-global-radius);
  padding: 0.2rem 0.5rem 0.3rem;
  font-size: 90%;
}

.tagWithCount_h2kH {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0 0.5rem 0 1rem;
  border-left: 0;
}

.tagWithCount_h2kH::before,
.tagWithCount_h2kH::after {
  content: '';
  position: absolute;
  top: 50%;
  border: 1px solid var(--docusaurus-tag-list-border);
  transition: inherit;
}

.tagWithCount_h2kH::before {
  right: 100%;
  transform: translate(50%, -50%) rotate(-45deg);
  width: 1.18rem;
  height: 1.18rem;
  border-right: 0;
  border-bottom: 0;
}

.tagWithCount_h2kH::after {
  left: 0;
  transform: translateY(-50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}

.tagWithCount_h2kH span {
  background: var(--ifm-color-secondary);
  color: var(--ifm-color-black);
  font-size: 0.7rem;
  line-height: 1.2;
  border-radius: var(--ifm-global-radius);
  padding: 0.1rem 0.4rem;
  margin-left: 0.3rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.tag_Nnez {
  display: inline-block;
  margin: 0.5rem 0.5rem 0 1rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.container_lyt7 {
  max-width: 100%;
}

.container_lyt7 > svg {
  max-width: 100%;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.tags_jXut {
  display: inline;
}

.tag_QGVx {
  margin: 0 0.4rem 0.5rem 0;
  display: inline-block;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.tableOfContents_bqdL {
  max-height: calc(100vh - (var(--ifm-navbar-height) + 2rem));
  overflow-y: auto;
  position: sticky;
  top: calc(var(--ifm-navbar-height) + 1rem);
}

@media (max-width: 996px) {
  .tableOfContents_bqdL {
    display: none;
  }

  .docItemContainer_F8PC {
    padding: 0 0.3rem;
  }
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.breadcrumbHomeIcon_YNFT {
  position: relative;
  top: 1px;
  vertical-align: top;
  height: 1.1rem;
  width: 1.1rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.breadcrumbsContainer_Z_bl {
  --ifm-breadcrumb-size-multiplier: 0.8;
  margin-bottom: 0.8rem;
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

@media (min-width: 997px) {
  .generatedIndexPage_vN6x {
    max-width: 75% !important;
  }
}

/* Duplicated from .markdown h1 */
.title_kItE {
  --ifm-h1-font-size: 3rem;
  margin-bottom: calc(1.25 * var(--ifm-leading));
}

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.docItemContainer_Djhp header + *,
.docItemContainer_Djhp article > *:first-child {
  margin-top: 0;
}

@media (min-width: 997px) {
  .docItemCol_VOVn {
    max-width: 75% !important;
  }
}

