@layer docusaurus.infima, docusaurus.theme-common, docusaurus.theme-classic, docusaurus.core, docusaurus.plugin-debug, docusaurus.theme-mermaid, docusaurus.theme-live-codeblock, docusaurus.theme-search-algolia.docsearch, docusaurus.theme-search-algolia;
@layer docusaurus.infima {/**
 * 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
}
}
}

@layer docusaurus.theme-classic {/**
 * 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);
}
}

/**
 * Assistant Chat Styles
 *
 * Styles for the collapsible AI assistant chat panel.
 */

/* ========================================
   Toggle Button
   ======================================== */

.assistant-chat-toggle {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.75rem 0.5rem;
  background: var(--ifm-color-primary);
  color: white;
  border: none;
  border-radius: 8px 0 0 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
}

.assistant-chat-toggle:hover {
  padding-right: 0.75rem;
  background: var(--ifm-color-primary-dark);
}

.assistant-chat-toggle-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.assistant-chat-toggle-label {
  font-size: 0.75rem;
  font-weight: 600;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

/* ========================================
   Chat Panel
   ======================================== */

.assistant-chat-panel {
  position: fixed;
  right: 0;
  top: 60px; /* Below navbar */
  height: calc(100vh - 60px);
  width: 400px;
  max-width: 100vw;
  background: var(--ifm-background-surface-color);
  border-left: 1px solid var(--ifm-color-emphasis-200);
  box-shadow: -4px 0 16px rgba(0, 0, 0, 0.1);
  transform: translateX(100%);
  transition: transform 0.3s ease;
  z-index: 999;
  display: flex;
  flex-direction: column;
}

.assistant-chat-panel.open {
  transform: translateX(0);
}

/* Hide toggle when panel is open */
.assistant-chat-panel.open ~ .assistant-chat-toggle {
  transform: translateX(100%) translateY(-50%);
}

/* Backdrop for mobile */
.assistant-chat-backdrop {
  display: none;
}

@media (max-width: 768px) {
  .assistant-chat-panel {
    width: 100vw;
    top: 0;
    height: 100vh;
    border-radius: 0;
  }

  .assistant-chat-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
  }

  .assistant-chat-toggle-label {
    display: none;
  }
}

/* ========================================
   Chat Container
   ======================================== */

.assistant-chat {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

/* Header */
.assistant-chat-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
  background: var(--ifm-background-color);
}

.assistant-chat-header-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  font-size: 1rem;
}

.assistant-chat-mode-badge {
  font-size: 0.7rem;
  font-weight: 500;
  padding: 0.15rem 0.5rem;
  background: var(--ifm-color-primary-lightest);
  color: var(--ifm-color-primary-darkest);
  border-radius: 4px;
}

.assistant-chat-header-actions {
  display: flex;
  gap: 0.5rem;
}

.assistant-chat-header-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--ifm-color-emphasis-600);
  cursor: pointer;
  transition: all 0.15s ease;
}

.assistant-chat-header-btn:hover:not(:disabled) {
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-emphasis-800);
}

.assistant-chat-header-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* File indicator */
.assistant-chat-file-indicator {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: var(--ifm-color-emphasis-100);
  font-size: 0.8rem;
  color: var(--ifm-color-emphasis-700);
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
}

.assistant-chat-file-indicator svg {
  flex-shrink: 0;
}

.assistant-chat-file-indicator span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ========================================
   Messages Area
   ======================================== */

.assistant-chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Empty state */
.assistant-chat-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  padding: 2rem;
  color: var(--ifm-color-emphasis-600);
}

.assistant-chat-empty-icon {
  margin-bottom: 1rem;
  opacity: 0.5;
}

.assistant-chat-empty h3 {
  margin: 0 0 0.5rem;
  font-size: 1.1rem;
  color: var(--ifm-color-emphasis-700);
}

.assistant-chat-empty p {
  margin: 0 0 1.5rem;
  font-size: 0.9rem;
}

.assistant-chat-suggestions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}

.assistant-chat-suggestions button {
  padding: 0.75rem 1rem;
  background: var(--ifm-color-emphasis-100);
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 8px;
  font-size: 0.85rem;
  color: var(--ifm-color-emphasis-700);
  cursor: pointer;
  text-align: left;
  transition: all 0.15s ease;
}

.assistant-chat-suggestions button:hover {
  background: var(--ifm-color-emphasis-200);
  border-color: var(--ifm-color-emphasis-300);
}

/* Loading indicator */
.assistant-chat-loading {
  display: flex;
  justify-content: flex-start;
  padding: 0.5rem 0;
}

.assistant-chat-loading-dots {
  display: flex;
  gap: 0.25rem;
}

.assistant-chat-loading-dots span {
  width: 8px;
  height: 8px;
  background: var(--ifm-color-emphasis-400);
  border-radius: 50%;
  animation: chat-loading-bounce 1.4s infinite ease-in-out;
}

.assistant-chat-loading-dots span:nth-child(1) {
  animation-delay: -0.32s;
}

.assistant-chat-loading-dots span:nth-child(2) {
  animation-delay: -0.16s;
}

@keyframes chat-loading-bounce {
  0%, 80%, 100% {
    transform: scale(0.6);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

/* ========================================
   Message Bubbles
   ======================================== */

.assistant-chat-message {
  display: flex;
  gap: 0.75rem;
  max-width: 95%;
}

.assistant-chat-message.user {
  flex-direction: row-reverse;
  align-self: flex-end;
}

.assistant-chat-message.assistant {
  align-self: flex-start;
}

.assistant-chat-message-avatar {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ifm-color-emphasis-200);
  border-radius: 50%;
  color: var(--ifm-color-emphasis-600);
}

.assistant-chat-message.user .assistant-chat-message-avatar {
  background: var(--ifm-color-primary);
  color: white;
}

.assistant-chat-message-content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.assistant-chat-message-text {
  padding: 0.75rem 1rem;
  border-radius: 12px;
  font-size: 0.9rem;
  line-height: 1.5;
}

.assistant-chat-message.user .assistant-chat-message-text {
  background: var(--ifm-color-primary);
  color: white;
  border-bottom-right-radius: 4px;
}

.assistant-chat-message.assistant .assistant-chat-message-text {
  background: var(--ifm-color-emphasis-100);
  color: var(--ifm-font-color-base);
  border-bottom-left-radius: 4px;
}

.assistant-chat-message-text p {
  margin: 0 0 0.75rem;
}

.assistant-chat-message-text p:last-child {
  margin-bottom: 0;
}

/* Code blocks */
.assistant-chat-code-block {
  margin: 0.75rem 0;
  padding: 0.75rem;
  background: var(--ifm-color-emphasis-900);
  border-radius: 6px;
  overflow-x: auto;
}

.assistant-chat-code-lang {
  font-size: 0.7rem;
  color: var(--ifm-color-emphasis-500);
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}

.assistant-chat-code-block code {
  font-family: var(--ifm-font-family-monospace);
  font-size: 0.8rem;
  color: var(--ifm-color-emphasis-100);
  white-space: pre-wrap;
  word-break: break-word;
}

.assistant-chat-inline-code {
  padding: 0.15rem 0.4rem;
  background: var(--ifm-color-emphasis-200);
  border-radius: 4px;
  font-family: var(--ifm-font-family-monospace);
  font-size: 0.85em;
}

/* Message actions */
.assistant-chat-message-actions {
  display: flex;
  gap: 0.5rem;
  padding-top: 0.25rem;
}

.assistant-chat-action-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  background: transparent;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 4px;
  font-size: 0.75rem;
  color: var(--ifm-color-emphasis-600);
  cursor: pointer;
  transition: all 0.15s ease;
}

.assistant-chat-action-btn:hover {
  background: var(--ifm-color-emphasis-100);
  border-color: var(--ifm-color-emphasis-400);
  color: var(--ifm-color-emphasis-800);
}

/* Citations */
.assistant-chat-citations {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.5rem;
  font-size: 0.75rem;
}

.assistant-chat-citations-label {
  color: var(--ifm-color-emphasis-500);
}

.assistant-chat-citation {
  padding: 0.15rem 0.4rem;
  background: var(--ifm-color-emphasis-100);
  border-radius: 4px;
  color: var(--ifm-color-emphasis-600);
}

/* Timestamp */
.assistant-chat-message-time {
  font-size: 0.7rem;
  color: var(--ifm-color-emphasis-500);
  padding-left: 0.25rem;
}

.assistant-chat-message.user .assistant-chat-message-time {
  text-align: right;
  padding-right: 0.25rem;
  padding-left: 0;
}

/* ========================================
   Input Area
   ======================================== */

.assistant-chat-input-area {
  display: flex;
  gap: 0.5rem;
  padding: 1rem;
  border-top: 1px solid var(--ifm-color-emphasis-200);
  background: var(--ifm-background-color);
}

.assistant-chat-input {
  flex: 1;
  padding: 0.75rem 1rem;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 8px;
  font-size: 0.9rem;
  font-family: inherit;
  background: var(--ifm-background-surface-color);
  color: var(--ifm-font-color-base);
  resize: none;
  min-height: 44px;
  max-height: 120px;
}

.assistant-chat-input:focus {
  outline: none;
  border-color: var(--ifm-color-primary);
  box-shadow: 0 0 0 2px var(--ifm-color-primary-lightest);
}

.assistant-chat-input:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.assistant-chat-send-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  background: var(--ifm-color-primary);
  border: none;
  border-radius: 8px;
  color: white;
  cursor: pointer;
  transition: all 0.15s ease;
}

.assistant-chat-send-btn:hover:not(:disabled) {
  background: var(--ifm-color-primary-dark);
}

.assistant-chat-send-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Hint */
.assistant-chat-hint {
  padding: 0.5rem 1rem;
  font-size: 0.7rem;
  color: var(--ifm-color-emphasis-500);
  text-align: center;
  border-top: 1px solid var(--ifm-color-emphasis-100);
}

.assistant-chat-hint kbd {
  padding: 0.1rem 0.35rem;
  background: var(--ifm-color-emphasis-200);
  border-radius: 4px;
  font-family: inherit;
  font-size: 0.9em;
}

/* ========================================
   Dark Mode
   ======================================== */

[data-theme='dark'] .assistant-chat-toggle {
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.3);
}

[data-theme='dark'] .assistant-chat-panel {
  box-shadow: -4px 0 16px rgba(0, 0, 0, 0.3);
}

[data-theme='dark'] .assistant-chat-code-block {
  background: #1a1a2e;
}

[data-theme='dark'] .assistant-chat-code-block code {
  color: #e0e0e0;
}

[data-theme='dark'] .assistant-chat-message.assistant .assistant-chat-message-text {
  background: var(--ifm-color-emphasis-200);
}

[data-theme='dark'] .assistant-chat-inline-code {
  background: var(--ifm-color-emphasis-300);
}

/**
 * Any CSS included here will be global. The classic template
 * bundles Infima by default. Infima is a CSS framework designed to
 * work well for content-centric websites.
 */

/* You can override the default Infima variables here. */
:root {
  --ifm-color-primary: #7646fe;
  --ifm-color-primary-dark: #5f2efe;
  --ifm-color-primary-darker: #5320fe;
  --ifm-color-primary-darkest: #3a00e0;
  --ifm-color-primary-light: #8e5efe;
  --ifm-color-primary-lighter: #9a6cfe;
  --ifm-color-primary-lightest: #b894ff;
  --ifm-code-font-size: 95%;
  --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
}

/* For readability concerns, you should choose a lighter palette in dark mode. */
[data-theme='dark'] {
  --ifm-color-primary: #9a6cfe;
  --ifm-color-primary-dark: #8254fe;
  --ifm-color-primary-darker: #7646fe;
  --ifm-color-primary-darkest: #5f2efe;
  --ifm-color-primary-light: #b284ff;
  --ifm-color-primary-lighter: #be94ff;
  --ifm-color-primary-lightest: #d4b8ff;
  --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
}

/* Reduce navbar logo size */
.navbar__logo img {
  height: 32px !important;
  width: auto !important;
}

/* Navbar icon links */
.header-jira-link::before,
.header-sharepoint-link::before,
.header-github-link::before {
  content: '';
  width: 24px;
  height: 24px;
  display: inline-block;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
}

.header-jira-link::before {
  background-image: url(data:image/png;base64,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);
}

.header-sharepoint-link::before {
  background-image: url(/assets/images/sharepoint-d0f02484845ee3002429e9415c1bca92.png);
}

.header-github-link::before {
  content: '';
  width: 20px;
  height: 20px;
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23181717' d='M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z'/%3E%3C/svg%3E");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

[data-theme='dark'] .header-github-link::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z'/%3E%3C/svg%3E");
}

.header-jira-link,
.header-sharepoint-link,
.header-github-link {
  padding: 0 !important;
  margin-left: 1.5rem !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 100% !important;
}

.header-github-link {
  margin-right: 1rem !important;
}

.header-jira-link::before,
.header-sharepoint-link::before,
.header-github-link::before {
  vertical-align: middle !important;
}

/* Hide external link icon */
.header-jira-link svg,
.header-sharepoint-link svg,
.header-github-link svg {
  display: none !important;
}

.header-jira-link .navbar__link,
.header-sharepoint-link .navbar__link,
.header-github-link .navbar__link {
  font-size: 0 !important;
}

/* Transparent Footer - Homepage Only */
body:has(.homepage-wrapper) .footer,
body:has(.homepage-wrapper) .footer__bottom,
body:has(.homepage-wrapper) .footer *,
body:has(.homepage-wrapper) .footer__links,
body:has(.homepage-wrapper) .footer__copyright,
body:has(.homepage-wrapper) .footer__col,
body:has(.homepage-wrapper) .footer__title,
body:has(.homepage-wrapper) .footer__item {
  background: transparent !important;
  background-color: transparent !important;
}

body:has(.homepage-wrapper) .footer {
  background: rgba(255, 255, 255, 0.4) !important;
  background-color: rgba(255, 255, 255, 0.4) !important;
  backdrop-filter: saturate(180%) blur(20px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
}

[data-theme='dark'] body:has(.homepage-wrapper) .footer {
  background: rgba(0, 0, 0, 0.5) !important;
  background-color: rgba(0, 0, 0, 0.5) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Center footer content - Homepage Only */
body:has(.homepage-wrapper) .footer__links,
body:has(.homepage-wrapper) .footer__bottom {
  justify-content: center !important;
  text-align: center !important;
}

body:has(.homepage-wrapper) .footer__col {
  text-align: center !important;
}

/* ========================================
   Sidebar Category Color Styling
   ======================================== */

/* Product - Blue */
.sidebar-product > .menu__link,
.sidebar-product .menu__link {
  color: #2563eb !important;
}

/* Design - Purple */
.sidebar-design > .menu__link,
.sidebar-design .menu__link {
  color: #9333ea !important;
}

/* Architecture - Teal */
.sidebar-architecture > .menu__link,
.sidebar-architecture .menu__link {
  color: #0d9488 !important;
}

/* Frontend - Pink */
.sidebar-frontend > .menu__link,
.sidebar-frontend .menu__link {
  color: #db2777 !important;
}

/* Backend - Orange */
.sidebar-backend > .menu__link,
.sidebar-backend .menu__link {
  color: #ea580c !important;
}

/* DevOps - Cyan */
.sidebar-devops > .menu__link,
.sidebar-devops .menu__link {
  color: #0891b2 !important;
}

/* Platform - Indigo */
.sidebar-platform > .menu__link,
.sidebar-platform .menu__link {
  color: #4f46e5 !important;
}

/* Security - Red */
.sidebar-security > .menu__link,
.sidebar-security .menu__link {
  color: #dc2626 !important;
}

/* Operations - Yellow */
.sidebar-operations > .menu__link,
.sidebar-operations .menu__link {
  color: #ca8a04 !important;
}

/* Quality - Green */
.sidebar-quality > .menu__link,
.sidebar-quality .menu__link {
  color: #16a34a !important;
}

/* Contributing - Gray */
.sidebar-contributing > .menu__link,
.sidebar-contributing .menu__link {
  color: #4b5563 !important;
}

/* Dark mode adjustments - lighter shades for better visibility */
[data-theme='dark'] .sidebar-product > .menu__link,
[data-theme='dark'] .sidebar-product .menu__link {
  color: #60a5fa !important;
}

[data-theme='dark'] .sidebar-design > .menu__link,
[data-theme='dark'] .sidebar-design .menu__link {
  color: #c084fc !important;
}

[data-theme='dark'] .sidebar-architecture > .menu__link,
[data-theme='dark'] .sidebar-architecture .menu__link {
  color: #2dd4bf !important;
}

[data-theme='dark'] .sidebar-frontend > .menu__link,
[data-theme='dark'] .sidebar-frontend .menu__link {
  color: #f472b6 !important;
}

[data-theme='dark'] .sidebar-backend > .menu__link,
[data-theme='dark'] .sidebar-backend .menu__link {
  color: #fb923c !important;
}

[data-theme='dark'] .sidebar-devops > .menu__link,
[data-theme='dark'] .sidebar-devops .menu__link {
  color: #22d3ee !important;
}

[data-theme='dark'] .sidebar-platform > .menu__link,
[data-theme='dark'] .sidebar-platform .menu__link {
  color: #818cf8 !important;
}

[data-theme='dark'] .sidebar-security > .menu__link,
[data-theme='dark'] .sidebar-security .menu__link {
  color: #f87171 !important;
}

[data-theme='dark'] .sidebar-operations > .menu__link,
[data-theme='dark'] .sidebar-operations .menu__link {
  color: #fbbf24 !important;
}

[data-theme='dark'] .sidebar-quality > .menu__link,
[data-theme='dark'] .sidebar-quality .menu__link {
  color: #4ade80 !important;
}

[data-theme='dark'] .sidebar-contributing > .menu__link,
[data-theme='dark'] .sidebar-contributing .menu__link {
  color: #9ca3af !important;
}

/* Optional: Add hover effects */
.sidebar-product:hover > .menu__link,
.sidebar-design:hover > .menu__link,
.sidebar-architecture:hover > .menu__link,
.sidebar-frontend:hover > .menu__link,
.sidebar-backend:hover > .menu__link,
.sidebar-devops:hover > .menu__link,
.sidebar-platform:hover > .menu__link,
.sidebar-security:hover > .menu__link,
.sidebar-operations:hover > .menu__link,
.sidebar-quality:hover > .menu__link,
.sidebar-contributing:hover > .menu__link {
  opacity: 0.8;
}

/* ========================================
   Tags Display Styling
   ======================================== */

/* Position tags container to the right of the header */
.theme-doc-markdown header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* Make tags display inline on the right */
.theme-doc-markdown header .tag-wrapper {
  margin-left: auto;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* If tags are in a different container, target it */
.theme-doc-markdown .markdown > .tag-wrapper,
.theme-doc-markdown .markdown > div:has(.tag) {
  display: flex;
  justify-content: flex-end;
  margin-top: -2rem;
  margin-bottom: 1rem;
}

/* Style individual tags */
.theme-doc-markdown .tag {
  margin: 0;
}

/* ========================================
   Navbar User Menu
   ======================================== */

.navbar-user-menu {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 1px solid var(--ifm-color-emphasis-300);
}

.navbar-user-email {
  font-size: 0.85rem;
  color: var(--ifm-color-emphasis-700);
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-theme='dark'] .navbar-user-email {
  color: var(--ifm-color-emphasis-400);
}

.navbar-signout-button {
  background: transparent;
  border: 1px solid var(--ifm-color-emphasis-400);
  border-radius: 4px;
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
  color: var(--ifm-color-emphasis-700);
  cursor: pointer;
  transition: all 0.2s ease;
}

.navbar-signout-button:hover {
  background: var(--ifm-color-emphasis-200);
  border-color: var(--ifm-color-emphasis-500);
}

[data-theme='dark'] .navbar-signout-button {
  color: var(--ifm-color-emphasis-400);
  border-color: var(--ifm-color-emphasis-500);
}

[data-theme='dark'] .navbar-signout-button:hover {
  background: var(--ifm-color-emphasis-700);
  border-color: var(--ifm-color-emphasis-400);
}

/* Hide user menu on mobile - show only button */
@media (max-width: 768px) {
  .navbar-user-email {
    display: none;
  }

  .navbar-user-menu {
    border-left: none;
    padding-left: 0;
    margin-left: 0.5rem;
  }
}

/* ========================================
   Text Selection / Highlight Styling
   ======================================== */

/* Global text selection styling */
::selection {
  background-color: #7646fe;
  color: white;
}

::-moz-selection {
  background-color: #7646fe;
  color: white;
}

/* Editor-specific selection styling (TipTap/ProseMirror) */
.ProseMirror ::selection,
.ProseMirror *::selection,
.tiptap ::selection,
.tiptap *::selection {
  background-color: #7646fe;
  color: white;
}

.ProseMirror ::-moz-selection,
.ProseMirror *::-moz-selection,
.tiptap ::-moz-selection,
.tiptap *::-moz-selection {
  background-color: #7646fe;
  color: white;
}

/* Documentation content selection */
.markdown ::selection,
.markdown *::selection,
.theme-doc-markdown ::selection,
.theme-doc-markdown *::selection {
  background-color: #7646fe;
  color: white;
}

.markdown ::-moz-selection,
.markdown *::-moz-selection,
.theme-doc-markdown ::-moz-selection,
.theme-doc-markdown *::-moz-selection {
  background-color: #7646fe;
  color: white;
}

/* Code block selection */
pre ::selection,
pre *::selection,
code ::selection,
code *::selection {
  background-color: #7646fe;
  color: white;
}

/* ========================================
   Purple Accent Color Overrides
   ======================================== */

/* Active TOC link */
.table-of-contents__link--active,
.table-of-contents__link:hover {
  color: #7646fe !important;
}

[data-theme='dark'] .table-of-contents__link--active,
[data-theme='dark'] .table-of-contents__link:hover {
  color: #9a6cfe !important;
}

/* Breadcrumb current/active item */
.breadcrumbs__item--active .breadcrumbs__link,
.breadcrumbs__link:hover {
  color: #7646fe !important;
}

[data-theme='dark'] .breadcrumbs__item--active .breadcrumbs__link,
[data-theme='dark'] .breadcrumbs__link:hover {
  color: #9a6cfe !important;
}

/* Sidebar active menu link */
.menu__link--active:not(.menu__link--sublist) {
  color: #7646fe !important;
}

[data-theme='dark'] .menu__link--active:not(.menu__link--sublist) {
  color: #9a6cfe !important;
}

/* Sidebar active background */
.menu__link--active:not(.menu__link--sublist) {
  background-color: rgba(118, 70, 254, 0.1) !important;
}

[data-theme='dark'] .menu__link--active:not(.menu__link--sublist) {
  background-color: rgba(154, 108, 254, 0.15) !important;
}

/* Links in content */
.markdown a,
.theme-doc-markdown a {
  color: #7646fe;
}

.markdown a:hover,
.theme-doc-markdown a:hover {
  color: #5f2efe;
}

[data-theme='dark'] .markdown a,
[data-theme='dark'] .theme-doc-markdown a {
  color: #9a6cfe;
}

[data-theme='dark'] .markdown a:hover,
[data-theme='dark'] .theme-doc-markdown a:hover {
  color: #b284ff;
}

/* ========================================
   Selection Explainer Styles
   ======================================== */

/* Floating spark button */
.selection-explainer-button {
  position: absolute;
  z-index: 1000;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #7646fe;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(118, 70, 254, 0.4);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  animation: selection-explainer-pop 0.2s ease-out;
}

.selection-explainer-button:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(118, 70, 254, 0.5);
}

.selection-explainer-button:active {
  transform: scale(0.95);
}

.selection-explainer-button svg {
  fill: currentColor;
  stroke: currentColor;
}

@keyframes selection-explainer-pop {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  70% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* Modal overlay */
.selection-explainer-overlay {
  position: fixed;
  inset: 0;
  z-index: 1001;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(2px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

/* Modal */
.selection-explainer-modal {
  position: relative;
  z-index: 1002;
  width: 450px;
  max-width: 90vw;
  max-height: calc(80vh - 40px);
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  animation: selection-explainer-modal-in 0.2s ease-out;
}

[data-theme='dark'] .selection-explainer-modal {
  background: #1e1e1e;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

@keyframes selection-explainer-modal-in {
  0% {
    transform: translateY(-10px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Modal header */
.selection-explainer-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #7646fe;
  color: white;
}

.selection-explainer-modal-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 14px;
}

.selection-explainer-modal-title svg {
  fill: currentColor;
}

.selection-explainer-modal-close {
  background: transparent;
  border: none;
  color: white;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.8;
  transition: opacity 0.15s ease;
}

.selection-explainer-modal-close:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.1);
}

/* Selected text preview */
.selection-explainer-modal-selected {
  padding: 12px 16px;
  background: #f5f5f5;
  border-bottom: 1px solid #eee;
}

[data-theme='dark'] .selection-explainer-modal-selected {
  background: #2a2a2a;
  border-bottom-color: #333;
}

.selection-explainer-modal-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #666;
  margin-bottom: 4px;
  display: block;
}

[data-theme='dark'] .selection-explainer-modal-label {
  color: #999;
}

.selection-explainer-modal-text {
  font-size: 13px;
  color: #333;
  font-style: italic;
  max-height: 60px;
  overflow-y: auto;
  line-height: 1.4;
}

[data-theme='dark'] .selection-explainer-modal-text {
  color: #ccc;
}

/* Modal content */
.selection-explainer-modal-content {
  padding: 16px;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

/* Loading state */
.selection-explainer-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 20px;
  color: #666;
}

[data-theme='dark'] .selection-explainer-loading {
  color: #999;
}

.selection-explainer-loading-dots {
  display: flex;
  gap: 4px;
}

.selection-explainer-loading-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #7646fe;
  animation: selection-explainer-bounce 1.4s infinite ease-in-out both;
}

.selection-explainer-loading-dots span:nth-child(1) {
  animation-delay: -0.32s;
}

.selection-explainer-loading-dots span:nth-child(2) {
  animation-delay: -0.16s;
}

@keyframes selection-explainer-bounce {
  0%, 80%, 100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}

/* Error state */
.selection-explainer-error {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: #fff5f5;
  border: 1px solid #ffcdd2;
  border-radius: 8px;
  color: #c62828;
  font-size: 13px;
}

[data-theme='dark'] .selection-explainer-error {
  background: rgba(198, 40, 40, 0.1);
  border-color: rgba(198, 40, 40, 0.3);
  color: #ef5350;
}

/* Explanation content */
.selection-explainer-explanation {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  white-space: pre-wrap;
}

[data-theme='dark'] .selection-explainer-explanation {
  color: #ddd;
}

/* Responsive */
@media (max-width: 480px) {
  .selection-explainer-modal {
    width: calc(100vw - 32px);
    left: 16px !important;
    right: 16px;
  }
}

/* ========================================
   File Manager Styles
   ======================================== */

/* Ensure main content area doesn't clip drag events on file manager pages */
main:has(.file-manager-container) {
  overflow: visible !important;
}

/* File Manager page container */
.file-manager-container {
  background-color: var(--ifm-background-color);
  color: var(--ifm-font-color-base);
  position: relative;
  z-index: 1;
}

/* File tree container */
.file-manager-tree {
  background-color: #fafafa;
  border: 1px solid #e5e7eb;
  position: relative;
  z-index: 1;
}

[data-theme='dark'] .file-manager-tree {
  background-color: #1e1e1e !important;
  border-color: #333 !important;
}

/* File tree item */
.file-manager-item {
  color: var(--ifm-font-color-base);
  user-select: none;
  -webkit-user-select: none;
}

/* Ensure child elements don't interfere with drag */
.file-manager-item * {
  user-select: none;
  -webkit-user-select: none;
}

.file-manager-item:hover {
  background-color: #f3f4f6;
}

[data-theme='dark'] .file-manager-item:hover {
  background-color: #2d2d2d !important;
}

/* File tree item text */
.file-manager-item span {
  color: var(--ifm-font-color-base);
}

/* Buttons in file manager - secondary style */
.file-manager-btn-secondary {
  background-color: white;
  border: 1px solid #d1d5db;
  color: #374151;
}

.file-manager-btn-secondary:hover {
  background-color: #f3f4f6;
}

[data-theme='dark'] .file-manager-btn-secondary {
  background-color: #2d2d2d !important;
  border-color: #444 !important;
  color: #e0e0e0 !important;
}

[data-theme='dark'] .file-manager-btn-secondary:hover {
  background-color: #3d3d3d !important;
}

/* Settings button */
.file-manager-btn-settings {
  background-color: #eef2ff;
  border: 1px solid #6366f1;
  color: #4f46e5;
}

[data-theme='dark'] .file-manager-btn-settings {
  background-color: rgba(99, 102, 241, 0.2) !important;
  border-color: #6366f1 !important;
  color: #a5b4fc !important;
}

/* Modal backgrounds */
.file-manager-modal {
  background-color: white;
  color: var(--ifm-font-color-base);
}

.file-manager-modal h3,
.file-manager-modal p,
.file-manager-modal label,
.file-manager-modal span {
  color: var(--ifm-font-color-base);
}

[data-theme='dark'] .file-manager-modal {
  background-color: #1e1e1e !important;
}

[data-theme='dark'] .file-manager-modal h3,
[data-theme='dark'] .file-manager-modal p,
[data-theme='dark'] .file-manager-modal label,
[data-theme='dark'] .file-manager-modal span {
  color: #e0e0e0 !important;
}

.file-manager-modal input,
.file-manager-modal textarea {
  background-color: white;
  border: 1px solid #d1d5db;
  color: #374151;
}

[data-theme='dark'] .file-manager-modal input,
[data-theme='dark'] .file-manager-modal textarea {
  background-color: #2d2d2d !important;
  border-color: #444 !important;
  color: #e0e0e0 !important;
}

[data-theme='dark'] .file-manager-modal input::placeholder,
[data-theme='dark'] .file-manager-modal textarea::placeholder {
  color: #666 !important;
}

/* Cancel buttons in modals */
[data-theme='dark'] .file-manager-modal button[style*="backgroundColor: 'white'"],
[data-theme='dark'] .file-manager-modal button[style*="backgroundColor: white"] {
  background-color: #2d2d2d !important;
  border-color: #444 !important;
  color: #e0e0e0 !important;
}

/* Target the main content area on admin pages */
[data-theme='dark'] main {
  background-color: var(--ifm-background-color);
}

/* Action items (create file/directory within folders) */
.file-manager-action-item {
  color: #6b7280;
}

.file-manager-action-create-file:hover {
  background-color: #e0f2fe;
}

.file-manager-action-create-dir:hover {
  background-color: #dcfce7;
}

[data-theme='dark'] .file-manager-action-item {
  color: #9ca3af;
}

[data-theme='dark'] .file-manager-action-create-file:hover {
  background-color: rgba(59, 130, 246, 0.2) !important;
}

[data-theme='dark'] .file-manager-action-create-dir:hover {
  background-color: rgba(34, 197, 94, 0.2) !important;
}

@layer docusaurus.theme-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.
 */

body:not(.navigation-with-keyboard) *:not(input):focus {
  outline: none;
}
}

@layer docusaurus.core {/**
 * 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;
}
}

@layer docusaurus.theme-classic {/**
 * 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_H13D {
  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_H13D:focus {
  left: 1rem;
  box-shadow: var(--ifm-global-shadow-md);
}
}

@layer docusaurus.theme-classic {/**
 * 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_VguQ {
  padding: 0;
  line-height: 0;
}
}

@layer docusaurus.theme-classic {/**
 * 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_MvTH {
  font-size: 85%;
  text-align: center;
  padding: 5px 0;
}

.content_MvTH a {
  color: inherit;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
}

@layer docusaurus.theme-classic {/**
 * 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_ypFn {
  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_ypFn {
  display: none;
}

.announcementBarPlaceholder_jUGf {
  flex: 0 0 10px;
}

.announcementBarClose_tXwm {
  flex: 0 0 30px;
  align-self: stretch;
}

.announcementBarContent_A5YP {
  flex: 1 1 auto;
}

@media print {
  .announcementBar_ypFn {
    display: none;
  }
}

@media (min-width: 997px) {
  :root {
    --docusaurus-announcement-bar-height: 30px;
  }

  .announcementBarPlaceholder_jUGf,
  .announcementBarClose_tXwm {
    flex-basis: 50px;
  }
}
}

@layer docusaurus.theme-classic {/**
 * 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_TZ7E {
  width: 2rem;
  height: 2rem;
}

.toggleButton_bVoL {
  -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_bVoL:hover {
  background: var(--ifm-color-emphasis-200);
}

.toggleIcon_DcbD {
  display: none;
}

[data-theme-choice='system'] .systemToggleIcon_kB9P,
[data-theme-choice='light'] .lightToggleIcon_NOxC,
[data-theme-choice='dark'] .darkToggleIcon_VD8F {
  display: initial;
}

.toggleButtonDisabled_mF4_ {
  cursor: not-allowed;
}
}

@layer docusaurus.theme-classic {/**
 * 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_NdcW:hover {
  background: var(--ifm-color-gray-800);
}
}

@layer docusaurus.theme-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.
 */

.themedComponent_to5G {
  display: none;
}

[data-theme='light'] .themedComponent--light_FudB {
  display: initial;
}

[data-theme='dark'] .themedComponent--dark_M5xi {
  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_FudB {
  display: initial;
}
}

@layer docusaurus.theme-classic {/**
 * 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_LAP1 {
  margin-left: 0.3rem;
}
}

@layer docusaurus.theme-classic {/**
 * 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_ELQ2 {
  cursor: pointer;
}
}

@layer docusaurus.theme-classic {/**
 * 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_bQrQ {
  vertical-align: text-bottom;
  margin-right: 5px;
}
}

@layer docusaurus.theme-classic {/**
 * 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_VKM2:empty {
  display: none;
}

@media (max-width: 996px) {
  .navbarSearchContainer_VKM2 {
    position: absolute;
    right: var(--ifm-navbar-padding-horizontal);
  }
}

@media (min-width: 997px) {
  .navbarSearchContainer_VKM2 {
    padding: 0 var(--ifm-navbar-item-padding-horizontal);
  }
}
}

@layer docusaurus.theme-classic {/**
 * 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_Z7Xy {
  transition: transform var(--ifm-transition-fast) ease;
}

.navbarHidden_JPVL {
  transform: translate3d(0, calc(-100% - 2px), 0);
}
}

@layer docusaurus.theme-classic {/**
 * 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_yAkv {
    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;
}
}

@layer docusaurus.theme-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.
 */

.errorBoundaryError__gTP {
  white-space: pre-wrap;
  color: red;
}

.errorBoundaryFallback_TqBY {
  color: red;
  padding: 0.55rem;
}
}

@layer docusaurus.theme-classic {/**
 * 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_rYG4 {
  opacity: 0.5;
  transition: opacity var(--ifm-transition-fast)
    var(--ifm-transition-timing-default);
}

.footerLogoLink_rYG4:hover {
  opacity: 1;
}
}

@layer docusaurus.theme-classic {/**
 * 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;
}
}

@layer docusaurus.theme-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.
 */

.anchorTargetStickyNavbar_qhhc {
  scroll-margin-top: calc(var(--ifm-navbar-height) + 0.5rem);
}

.anchorTargetHideOnScrollNavbar_QNhU {
  scroll-margin-top: 0.5rem;
}
}

@layer docusaurus.theme-classic {/**
 * 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_SLN_ {
  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;
}
}

@layer docusaurus.theme-classic {/**
 * 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_OyJT {
  --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_OyJT:hover {
  border-color: var(--ifm-color-primary);
  box-shadow: 0 3px 6px 0 rgb(0 0 0 / 20%);
}

.cardContainer_OyJT *:last-child {
  margin-bottom: 0;
}

.cardTitle_cWsP {
  font-size: 1.2rem;
}

.cardDescription_F3g2 {
  font-size: 0.8rem;
}
}

@layer docusaurus.theme-classic {/**
 * 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_ZIID {
  margin-bottom: 2rem;
}

.docCardListItem_ZIID > * {
  height: 100%;
}
}

@layer docusaurus.theme-classic {/**
 * 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_gjz8 {
  border: 1px solid var(--docusaurus-tag-list-border);
  transition: border var(--ifm-transition-fast);
}

.tag_gjz8:hover {
  --docusaurus-tag-list-border: var(--ifm-link-color);
  -webkit-text-decoration: none;
  text-decoration: none;
}

.tagRegular_ChOx {
  border-radius: var(--ifm-global-radius);
  padding: 0.2rem 0.5rem 0.3rem;
  font-size: 90%;
}

.tagWithCount_uYDP {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0 0.5rem 0 1rem;
  border-left: 0;
}

.tagWithCount_uYDP::before,
.tagWithCount_uYDP::after {
  content: '';
  position: absolute;
  top: 50%;
  border: 1px solid var(--docusaurus-tag-list-border);
  transition: inherit;
}

.tagWithCount_uYDP::before {
  right: 100%;
  transform: translate(50%, -50%) rotate(-45deg);
  width: 1.18rem;
  height: 1.18rem;
  border-right: 0;
  border-bottom: 0;
}

.tagWithCount_uYDP::after {
  left: 0;
  transform: translateY(-50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}

.tagWithCount_uYDP 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;
}
}

@layer docusaurus.theme-classic {/**
 * 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_wNQC {
  display: inline;
}

.tag_NET3 {
  margin: 0 0.4rem 0.5rem 0;
  display: inline-block;
}
}

@layer docusaurus.theme-classic {/**
 * 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_eCOP {
  margin-right: 0.3em;
  vertical-align: sub;
}
}

@layer docusaurus.theme-classic {/**
 * 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_M5iv {
  font-size: smaller;
  font-style: italic;
  margin-top: 0.2rem;
}

@media (min-width: 997px) {
  .lastUpdated_M5iv {
    text-align: right;
  }
}

@media print {
  .noPrint_tFr7 {
    display: none;
  }
}
}

@layer docusaurus.theme-classic {/**
 * 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_nRg6 {
  font-size: inherit;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4rem 0.8rem;
  width: 100%;
}

.tocCollapsibleButton_nRg6::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_t4PT::after {
  transform: none;
}
}

@layer docusaurus.theme-classic {/**
 * 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_TjIi {
  background-color: var(--ifm-menu-color-background-active);
  border-radius: var(--ifm-global-radius);
  margin: 1rem 0;
}

.tocCollapsibleContent_m2su > ul {
  border-left: none;
  border-top: 1px solid var(--ifm-color-emphasis-300);
  padding: 0.2rem 0;
  font-size: 15px;
}

.tocCollapsibleContent_m2su ul li {
  margin: 0.4rem 0.8rem;
}

.tocCollapsibleContent_m2su a {
  display: block;
}

.tocCollapsibleExpanded_sLI9 {
  transform: none;
}
}

@layer docusaurus.theme-classic {/**
 * 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_YItx {
    display: none;
  }
}

@media print {
  .tocMobile_YItx {
    display: none;
  }
}
}

@layer docusaurus.theme-classic {/**
 * 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_lBTf {
  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_lBTf {
    display: none;
  }

  .docItemContainer_nqWS {
    padding: 0 0.3rem;
  }
}
}

@layer docusaurus.theme-classic {/**
 * 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_Virn {
  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);
}
}

@layer docusaurus.theme-classic {/**
 * 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_dpvu {
  --ifm-pre-background: var(--prism-background-color);
  margin: 0;
  padding: 0;
}

.codeBlockStandalone_sXLW {
  padding: 0;
}

.codeBlockLines_y_E9 {
  font: inherit;
  /* rtl:ignore */
  float: left;
  min-width: 100%;
  padding: var(--ifm-pre-padding);
}

.codeBlockLinesWithNumbering_uvrV {
  display: table;
  padding: var(--ifm-pre-padding) 0;
}

@media print {
  .codeBlockLines_y_E9 {
    white-space: pre-wrap;
  }
}
}

@layer docusaurus.theme-classic {/**
 * 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__dEh {
  display: table-row;
  counter-increment: line-count;
}

.codeLineNumber_RlBN {
  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_RlBN::before {
  content: counter(line-count);
  opacity: 0.4;
}

.theme-code-block-highlighted-line .codeLineNumber_RlBN::before {
  opacity: 0.8;
}

.codeLineContent_nLhg {
  padding-right: var(--ifm-pre-padding);
}
}

@layer docusaurus.theme-classic {/**
 * 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_Smvg {
  opacity: 1 !important;
}

.copyButtonIcons_O7sE {
  position: relative;
  width: 1.125rem;
  height: 1.125rem;
}

.copyButtonIcon_fIhc,
.copyButtonSuccessIcon_CZl8 {
  position: absolute;
  top: 0;
  left: 0;
  fill: currentColor;
  opacity: inherit;
  width: inherit;
  height: inherit;
  transition: all var(--ifm-transition-fast) ease;
}

.copyButtonSuccessIcon_CZl8 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.33);
  opacity: 0;
  color: #00d600;
}

.copyButtonCopied_Smvg .copyButtonIcon_fIhc {
  transform: scale(0.33);
  opacity: 0;
}

.copyButtonCopied_Smvg .copyButtonSuccessIcon_CZl8 {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  transition-delay: 0.075s;
}
}

@layer docusaurus.theme-classic {/**
 * 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_OssB {
  width: 1.2rem;
  height: 1.2rem;
}

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

@layer docusaurus.theme-classic {/**
 * 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_enco {
  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_enco 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_enco button:focus-visible,
.buttonGroup_enco button:hover {
  opacity: 1 !important;
}

.theme-code-block:hover .buttonGroup_enco button {
  opacity: 0.4;
}
}

@layer docusaurus.theme-classic {/**
 * 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_ScWh {
  position: relative;
  /* rtl:ignore */
  direction: ltr;
  border-radius: inherit;
}

.codeBlockTitle_tM3b {
  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_tM3b + .codeBlockContent_ScWh .codeBlock_AYfr {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
}

@layer docusaurus.theme-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.
 */

/*
CSS variables, meant to be overridden by final theme
 */
.details_gEW3 {
  --docusaurus-details-summary-arrow-size: 0.38rem;
  --docusaurus-details-transition: transform 200ms ease;
  --docusaurus-details-decoration-color: grey;
}

.details_gEW3 > summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  padding-left: 1rem;
}

/* TODO: deprecation, need to remove this after Safari will support `::marker` */
.details_gEW3 > summary::-webkit-details-marker {
  display: none;
}

.details_gEW3 > 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_gEW3[open]:not(.isBrowser_o8yC) > summary::before,

.details_gEW3[data-collapsed='false'].isBrowser_o8yC > summary::before {
  transform: rotate(90deg);
}

.collapsibleContent_dO6j {
  margin-top: 1rem;
  border-top: 1px solid var(--docusaurus-details-decoration-color);
  padding-top: 1rem;
}

.collapsibleContent_dO6j p:last-child {
  margin-bottom: 0;
}

.details_gEW3 > summary > p:last-child {
  margin-bottom: 0;
}
}

@layer docusaurus.theme-classic {/**
 * 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_drpa {
  --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);
}
}

@layer docusaurus.theme-classic {/**
 * 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_ysYU {
  list-style: none;
}

:not(.containsTaskList_ysYU > li) > .containsTaskList_ysYU {
  padding-left: 0;
}
}

@layer docusaurus.theme-classic {/**
 * 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_rpVC {
  height: auto;
}
}

@layer docusaurus.theme-classic {/**
 * 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_lHn_ {
  margin-bottom: 1em;
}

.admonitionHeading_fzF7 {
  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_fzF7:not(:last-child) {
  margin-bottom: 0.3rem;
}

.admonitionHeading_fzF7 code {
  text-transform: none;
}

.admonitionIcon_UoLW {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.4em;
}

.admonitionIcon_UoLW svg {
  display: inline-block;
  height: 1.6em;
  width: 1.6em;
  fill: var(--ifm-alert-foreground-color);
}

.admonitionContent_vRzp > :last-child {
  margin-bottom: 0;
}
}

@layer docusaurus.theme-mermaid {/**
 * 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_UdfO {
  max-width: 100%;
}

.container_UdfO > svg {
  max-width: 100%;
}
}

/* FigmaEmbed Component Styles for Docusaurus */

.figma-embed {
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 8px;
  overflow: hidden;
  margin: 1.5rem 0;
  background: var(--ifm-background-surface-color);
}

.figma-embed-empty {
  padding: 2rem;
  text-align: center;
  color: var(--ifm-color-emphasis-600);
}

/* Header */
.figma-embed-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: var(--ifm-color-emphasis-100);
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
  flex-wrap: wrap;
  gap: 8px;
}

.figma-embed-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.figma-embed-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: linear-gradient(135deg, #f24e1e 0%, #a259ff 50%, #1abcfe 100%);
  color: white;
  font-weight: 700;
  font-size: 14px;
  border-radius: 4px;
}

.figma-embed-file-name {
  font-weight: 600;
  color: var(--ifm-color-emphasis-900);
}

.figma-embed-frame-count {
  font-size: 12px;
  color: var(--ifm-color-emphasis-600);
  background: var(--ifm-color-emphasis-200);
  padding: 2px 8px;
  border-radius: 12px;
}

.figma-embed-actions {
  display: flex;
  gap: 8px;
}

/* Button */
.figma-embed-button {
  padding: 6px 12px;
  border: 1px solid var(--ifm-color-emphasis-400);
  border-radius: 4px;
  background: var(--ifm-background-color);
  color: var(--ifm-color-emphasis-800);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.figma-embed-button:hover {
  background: var(--ifm-color-emphasis-200);
  border-color: var(--ifm-color-emphasis-500);
}

/* Frame gallery */
.figma-embed-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  padding: 16px;
}

.figma-embed-frame {
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 6px;
  overflow: hidden;
  background: var(--ifm-background-color);
  cursor: pointer;
  transition: all 0.2s ease;
}

.figma-embed-frame:hover {
  border-color: #a259ff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

.figma-embed-frame img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
  background: var(--ifm-color-emphasis-100);
}

.figma-embed-frame-info {
  padding: 10px 12px;
  border-top: 1px solid var(--ifm-color-emphasis-300);
}

.figma-embed-frame-name {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--ifm-color-emphasis-900);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.figma-embed-frame-size {
  display: block;
  font-size: 11px;
  color: var(--ifm-color-emphasis-600);
  margin-top: 2px;
}

/* Footer */
.figma-embed-footer {
  padding: 8px 16px;
  background: var(--ifm-color-emphasis-100);
  border-top: 1px solid var(--ifm-color-emphasis-300);
  font-size: 12px;
  color: var(--ifm-color-emphasis-600);
}

/* Lightbox */
.figma-embed-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 32px;
}

.figma-embed-lightbox-content {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  background: var(--ifm-background-color);
  border-radius: 8px;
  overflow: hidden;
}

.figma-embed-lightbox-content img {
  display: block;
  max-width: 100%;
  max-height: calc(90vh - 60px);
  object-fit: contain;
}

.figma-embed-lightbox-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.figma-embed-lightbox-close:hover {
  background: rgba(0, 0, 0, 0.7);
}

.figma-embed-lightbox-info {
  padding: 12px 16px;
  background: var(--ifm-color-emphasis-100);
  border-top: 1px solid var(--ifm-color-emphasis-300);
}

/* Responsive */
@media (max-width: 640px) {
  .figma-embed-gallery {
    grid-template-columns: 1fr;
  }

  .figma-embed-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .figma-embed-lightbox {
    padding: 16px;
  }
}

@layer docusaurus.theme-classic {/**
 * 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_iWwS {
  position: relative;
  top: 1px;
  vertical-align: top;
  height: 1.1rem;
  width: 1.1rem;
}
}

@layer docusaurus.theme-classic {/**
 * 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_qs9H {
  --ifm-breadcrumb-size-multiplier: 0.8;
  margin-bottom: 0.8rem;
}
}

@layer docusaurus.theme-classic {/**
 * 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_lQBC {
    max-width: 75% !important;
  }
}

/* Duplicated from .markdown h1 */
.title_fY7L {
  --ifm-h1-font-size: 3rem;
  margin-bottom: calc(1.25 * var(--ifm-leading));
}
}

@layer docusaurus.theme-classic {/**
 * 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_PdKr header + *,
.docItemContainer_PdKr article > *:first-child {
  margin-top: 0;
}

@media (min-width: 997px) {
  .docItemCol_oxvw {
    max-width: 75% !important;
  }
}
}

/**
 * CSS files with the .module.css suffix will be treated as CSS modules
 * and scoped locally.
 */

.mainContainer_mA9m {
  min-height: 100vh;
  background-image: url(/assets/images/light_bg-general-7dea25a9dc578a77cca791ce037096cc.jpg);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  padding: 4rem 2rem;
  position: relative;
}

.customHeader_N6I5 {
  position: fixed;
  top: 1rem;
  right: 1rem;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  z-index: 100;
}

.headerLink_Ba5b,
.themeToggle_uHyZ {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  color: #333;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.themeToggle_uHyZ {
  padding: 0;
}

.headerIcon_BDRU {
  width: 24px;
  height: 24px;
  object-fit: contain;
  border-radius: 50%;
}

.headerLink_Ba5b:hover,
.themeToggle_uHyZ:hover {
  transform: scale(1.1);
  background: rgba(255, 255, 255, 0.6);
}

[data-theme='dark'] .headerLink_Ba5b,
[data-theme='dark'] .themeToggle_uHyZ {
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
}

[data-theme='dark'] .headerLink_Ba5b:hover,
[data-theme='dark'] .themeToggle_uHyZ:hover {
  background: rgba(0, 0, 0, 0.7);
}

[data-theme='dark'] .mainContainer_mA9m {
  background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url(/assets/images/bg-gt-1-d7cfb859b0a0a993dfea2426987a4125.jpeg);
}

.hero_aEcG {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 4rem;
  padding: 2rem 0;
}

.logo_Ukns {
  width: 400px;
  height: auto;
  margin-bottom: 2rem;
}

.logoDark_V1sa {
  display: none;
}

.logoLight_Fmcj {
  display: block;
}

[data-theme='dark'] .logoDark_V1sa {
  display: block;
}

[data-theme='dark'] .logoLight_Fmcj {
  display: none;
}

.welcomeText_cyti {
  font-size: 2.5rem;
  font-weight: 600;
  color: #000;
  margin: 0;
  text-align: center;
}

[data-theme='dark'] .welcomeText_cyti {
  color: #fff;
}

.teamSection_DayN {
  max-width: 1200px;
  margin: 4rem auto 4rem;
  padding: 3rem 0;
}

.teamTitle_TsnW {
  font-size: 2rem;
  font-weight: 600;
  color: #333;
  text-align: center;
  margin-bottom: 3rem;
}

[data-theme='dark'] .teamTitle_TsnW {
  color: #fff;
}

.teamGrid_l0mw {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 3rem;
  justify-items: center;
}

.teamMember_oPIQ {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.avatarContainer_Oe8O {
  position: relative;
  margin-bottom: 1rem;
}

.avatar_lNHm {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid transparent;
  box-shadow: 0 0 0 4px #9333ea;
  image-rendering: high-quality;
  image-rendering: -webkit-optimize-contrast;
}

.memberName_iEMx {
  font-size: 1.2rem;
  font-weight: 600;
  color: #333;
  margin: 0.5rem 0 0.25rem;
}

[data-theme='dark'] .memberName_iEMx {
  color: #fff;
}

.memberRole_UqEi {
  font-size: 0.9rem;
  color: #666;
  margin: 0;
  font-style: italic;
}

[data-theme='dark'] .memberRole_UqEi {
  color: #aaa;
}

.memberQuote_Fcnw {
  font-size: 0.85rem;
  color: #555;
  margin: 0.75rem 0 0;
  font-style: italic;
  line-height: 1.6;
  max-width: 280px;
  text-align: center;
}

[data-theme='dark'] .memberQuote_Fcnw {
  color: #999;
}

.sectionsContainer_oPpF {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

.section_Q9Zo {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
}

.sectionTitle_Ut5p {
  font-size: 1.8rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e0e0e0;
}

[data-theme='dark'] .sectionTitle_Ut5p {
  color: #fff;
  border-bottom-color: #333;
}

.tilesGrid_haFl {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.tile_nxjr {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  min-height: 140px;
  flex: 1;
}

.tile_nxjr:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.15);
  background: rgba(255, 255, 255, 0.5);
  border-color: rgba(46, 133, 85, 0.3);
}

[data-theme='dark'] .tile_nxjr {
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

[data-theme='dark'] .tile_nxjr:hover {
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.6);
  background: rgba(0, 0, 0, 0.6);
  border-color: rgba(37, 194, 160, 0.3);
  transform: translateY(-4px) scale(1.02);
}

.tileContent_LtFf {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.tileHeader_uzZH {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.techIcons_e1hX {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

.techIcon_wOK7 {
  width: 14px;
  height: 14px;
}

/* Brand Colors for Tech Icons */
.techIcon_wOK7:nth-child(1) {
  color: inherit; /* Will be set by specific rules below */
}

/* React - Cyan */
.tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M14.23"]) {
  color: #61DAFB;
}

/* TypeScript - Blue */
.tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M1.125"]) {
  color: #3178C6;
}

/* Supabase - Green */
.tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M21.362"]) {
  color: #3ECF8E;
}

/* Node.js - Green */
.tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M11.435"]) {
  color: #339933;
}

/* Fastify - Black/White */
.tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M23.4"]) {
  color: #000000;
}

[data-theme='dark'] .tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M23.4"]) {
  color: #FFFFFF;
}

/* Radix UI - Purple */
.tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M11.52"]) {
  color: #8B5CF6;
}

/* Shadcn - Black/White */
.tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M22.219"]) {
  color: #000000;
}

[data-theme='dark'] .tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M22.219"]) {
  color: #FFFFFF;
}

/* ESLint - Purple */
.tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M7.257"]) {
  color: #4B32C3;
}

/* Prettier - Black/White */
.tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M8.571"]) {
  color: #000000;
}

[data-theme='dark'] .tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M8.571"]) {
  color: #FFFFFF;
}

/* Tailwind CSS - Cyan */
.tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M12.001"]) {
  color: #06B6D4;
}

/* Vite - Purple/Yellow gradient approximation */
.tileContent_LtFf .techIcons_e1hX svg:has(path[d*="M14.925"]) {
  color: #646CFF;
}

.tileTitle_RBaM {
  font-size: 1.2rem;
  font-weight: 600;
  color: #9333ea;
  margin: 0;
}

[data-theme='dark'] .tileTitle_RBaM {
  color: #a855f7;
}

.tileDescription_p_VO {
  font-size: 0.9rem;
  color: #111;
  margin: 0;
  line-height: 1.5;
  font-weight: 500;
}

[data-theme='dark'] .tileDescription_p_VO {
  color: #fff;
}

@media screen and (max-width: 1200px) {
  .sectionsContainer_oPpF {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .logo_Ukns {
    width: 300px;
  }

  .welcomeText_cyti {
    font-size: 2rem;
  }

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

  .sectionTitle_Ut5p {
    font-size: 1.5rem;
  }
}

@layer docusaurus.theme-classic {/**
 * 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_hDmT {
  display: inline-block;
  margin: 0.5rem 0.5rem 0 1rem;
}
}

/* this gets exported as style.css and can be used for the default theming */
/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */
.react-flow {
  direction: ltr;

  --xy-edge-stroke-default: #b1b1b7;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #555;

  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;

  --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);

  --xy-minimap-background-color-default: #fff;
  --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #e2e2e2;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;

  --xy-background-color-default: transparent;
  --xy-background-pattern-dots-color-default: #91919a;
  --xy-background-pattern-lines-color-default: #eee;
  --xy-background-pattern-cross-color-default: #e2e2e2;
  background-color: var(--xy-background-color, var(--xy-background-color-default));
  --xy-node-color-default: inherit;
  --xy-node-border-default: 1px solid #1a192b;
  --xy-node-background-color-default: #fff;
  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;
  --xy-node-border-radius-default: 3px;

  --xy-handle-background-color-default: #1a192b;
  --xy-handle-border-color-default: #fff;

  --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);

  --xy-controls-button-background-color-default: #fefefe;
  --xy-controls-button-background-color-hover-default: #f4f4f4;
  --xy-controls-button-color-default: inherit;
  --xy-controls-button-color-hover-default: inherit;
  --xy-controls-button-border-color-default: #eee;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);

  --xy-edge-label-background-color-default: #ffffff;
  --xy-edge-label-color-default: inherit;
  --xy-resize-background-color-default: #3367d9;
}
.react-flow.dark {
  --xy-edge-stroke-default: #3e3e3e;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #727272;

  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;

  --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);

  --xy-minimap-background-color-default: #141414;
  --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #2b2b2b;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;

  --xy-background-color-default: #141414;
  --xy-background-pattern-dots-color-default: #777;
  --xy-background-pattern-lines-color-default: #777;
  --xy-background-pattern-cross-color-default: #777;
  --xy-node-color-default: #f8f8f8;
  --xy-node-border-default: 1px solid #3c3c3c;
  --xy-node-background-color-default: #1e1e1e;
  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);
  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;

  --xy-handle-background-color-default: #bebebe;
  --xy-handle-border-color-default: #1e1e1e;

  --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);

  --xy-controls-button-background-color-default: #2b2b2b;
  --xy-controls-button-background-color-hover-default: #3e3e3e;
  --xy-controls-button-color-default: #f8f8f8;
  --xy-controls-button-color-hover-default: #fff;
  --xy-controls-button-border-color-default: #5b5b5b;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);

  --xy-edge-label-background-color-default: #141414;
  --xy-edge-label-color-default: #f8f8f8;
}
.react-flow__background {
  background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));
  pointer-events: none;
  z-index: -1;
}
.react-flow__container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.react-flow__pane {
  z-index: 1;
}
.react-flow__pane.draggable {
    cursor: grab;
  }
.react-flow__pane.dragging {
    cursor: grabbing;
  }
.react-flow__pane.selection {
    cursor: pointer;
  }
.react-flow__viewport {
  transform-origin: 0 0;
  z-index: 2;
  pointer-events: none;
}
.react-flow__renderer {
  z-index: 4;
}
.react-flow__selection {
  z-index: 6;
}
.react-flow__nodesselection-rect:focus,
.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}
.react-flow__edge-path {
  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
  stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));
  fill: none;
}
.react-flow__connection-path {
  stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));
  stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));
  fill: none;
}
.react-flow .react-flow__edges {
  position: absolute;
}
.react-flow .react-flow__edges svg {
    overflow: visible;
    position: absolute;
    pointer-events: none;
  }
.react-flow__edge {
  pointer-events: visibleStroke;
}
.react-flow__edge.selectable {
    cursor: pointer;
  }
.react-flow__edge.animated path {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
.react-flow__edge.animated path.react-flow__edge-interaction {
    stroke-dasharray: none;
    animation: none;
  }
.react-flow__edge.inactive {
    pointer-events: none;
  }
.react-flow__edge.selected,
  .react-flow__edge:focus,
  .react-flow__edge:focus-visible {
    outline: none;
  }
.react-flow__edge.selected .react-flow__edge-path,
  .react-flow__edge.selectable:focus .react-flow__edge-path,
  .react-flow__edge.selectable:focus-visible .react-flow__edge-path {
    stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));
  }
.react-flow__edge-textwrapper {
    pointer-events: all;
  }
.react-flow__edge .react-flow__edge-text {
    pointer-events: none;
    -webkit-user-select: none;
            user-select: none;
  }
/* Arrowhead marker styles - use CSS custom properties as default */
.react-flow__arrowhead polyline {
  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
}
.react-flow__arrowhead polyline.arrowclosed {
  fill: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
}
.react-flow__connection {
  pointer-events: none;
}
.react-flow__connection .animated {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
svg.react-flow__connectionline {
  z-index: 1001;
  overflow: visible;
  position: absolute;
}
.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}
.react-flow__node {
  position: absolute;
  -webkit-user-select: none;
          user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: default;
}
.react-flow__node.selectable {
    cursor: pointer;
  }
.react-flow__node.draggable {
    cursor: grab;
    pointer-events: all;
  }
.react-flow__node.draggable.dragging {
      cursor: grabbing;
    }
.react-flow__nodesselection {
  z-index: 3;
  transform-origin: left top;
  pointer-events: none;
}
.react-flow__nodesselection-rect {
    position: absolute;
    pointer-events: all;
    cursor: grab;
  }
.react-flow__handle {
  position: absolute;
  pointer-events: none;
  min-width: 5px;
  min-height: 5px;
  width: 6px;
  height: 6px;
  background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));
  border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));
  border-radius: 100%;
}
.react-flow__handle.connectingfrom {
    pointer-events: all;
  }
.react-flow__handle.connectionindicator {
    pointer-events: all;
    cursor: crosshair;
  }
.react-flow__handle-bottom {
    top: auto;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
  }
.react-flow__handle-top {
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
  }
.react-flow__handle-left {
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
  }
.react-flow__handle-right {
    top: 50%;
    right: 0;
    transform: translate(50%, -50%);
  }
.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}
.react-flow__pane.selection .react-flow__panel {
  pointer-events: none;
}
.react-flow__panel {
  position: absolute;
  z-index: 5;
  margin: 15px;
}
.react-flow__panel.top {
    top: 0;
  }
.react-flow__panel.bottom {
    bottom: 0;
  }
.react-flow__panel.top.center, .react-flow__panel.bottom.center {
      left: 50%;
      transform: translateX(-15px) translateX(-50%);
    }
.react-flow__panel.left {
    left: 0;
  }
.react-flow__panel.right {
    right: 0;
  }
.react-flow__panel.left.center, .react-flow__panel.right.center {
      top: 50%;
      transform: translateY(-15px) translateY(-50%);
    }
.react-flow__attribution {
  font-size: 10px;
  background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));
  padding: 2px 3px;
  margin: 0;
}
.react-flow__attribution a {
    -webkit-text-decoration: none;
    text-decoration: none;
    color: #999;
  }
@keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
.react-flow__edgelabel-renderer {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-user-select: none;
          user-select: none;
  left: 0;
  top: 0;
}
.react-flow__viewport-portal {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-user-select: none;
          user-select: none;
}
.react-flow__minimap {
  background: var(
    --xy-minimap-background-color-props,
    var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))
  );
}
.react-flow__minimap-svg {
    display: block;
  }
.react-flow__minimap-mask {
    fill: var(
      --xy-minimap-mask-background-color-props,
      var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))
    );
    stroke: var(
      --xy-minimap-mask-stroke-color-props,
      var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))
    );
    stroke-width: var(
      --xy-minimap-mask-stroke-width-props,
      var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))
    );
  }
.react-flow__minimap-node {
    fill: var(
      --xy-minimap-node-background-color-props,
      var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))
    );
    stroke: var(
      --xy-minimap-node-stroke-color-props,
      var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))
    );
    stroke-width: var(
      --xy-minimap-node-stroke-width-props,
      var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))
    );
  }
.react-flow__background-pattern.dots {
    fill: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))
    );
  }
.react-flow__background-pattern.lines {
    stroke: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))
    );
  }
.react-flow__background-pattern.cross {
    stroke: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))
    );
  }
.react-flow__controls {
  display: flex;
  flex-direction: column;
  box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));
}
.react-flow__controls.horizontal {
    flex-direction: row;
  }
.react-flow__controls-button {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 26px;
    width: 26px;
    padding: 4px;
    border: none;
    background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));
    border-bottom: 1px solid
      var(
        --xy-controls-button-border-color-props,
        var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
      );
    color: var(
      --xy-controls-button-color-props,
      var(--xy-controls-button-color, var(--xy-controls-button-color-default))
    );
    cursor: pointer;
    -webkit-user-select: none;
            user-select: none;
  }
.react-flow__controls-button svg {
      width: 100%;
      max-width: 12px;
      max-height: 12px;
      fill: currentColor;
    }
.react-flow__edge.updating .react-flow__edge-path {
      stroke: #777;
    }
.react-flow__edge-text {
    font-size: 10px;
  }
.react-flow__node.selectable:focus,
  .react-flow__node.selectable:focus-visible {
    outline: none;
  }
.react-flow__node-input,
.react-flow__node-default,
.react-flow__node-output,
.react-flow__node-group {
  padding: 10px;
  border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));
  width: 150px;
  font-size: 12px;
  color: var(--xy-node-color, var(--xy-node-color-default));
  text-align: center;
  border: var(--xy-node-border, var(--xy-node-border-default));
  background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));
}
.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
      box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));
    }
.react-flow__node-input.selectable.selected,
    .react-flow__node-input.selectable:focus,
    .react-flow__node-input.selectable:focus-visible,
    .react-flow__node-default.selectable.selected,
    .react-flow__node-default.selectable:focus,
    .react-flow__node-default.selectable:focus-visible,
    .react-flow__node-output.selectable.selected,
    .react-flow__node-output.selectable:focus,
    .react-flow__node-output.selectable:focus-visible,
    .react-flow__node-group.selectable.selected,
    .react-flow__node-group.selectable:focus,
    .react-flow__node-group.selectable:focus-visible {
      box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
    }
.react-flow__node-group {
  background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));
}
.react-flow__nodesselection-rect,
.react-flow__selection {
  background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));
  border: var(--xy-selection-border, var(--xy-selection-border-default));
}
.react-flow__nodesselection-rect:focus,
  .react-flow__nodesselection-rect:focus-visible,
  .react-flow__selection:focus,
  .react-flow__selection:focus-visible {
    outline: none;
  }
.react-flow__controls-button:hover {
      background: var(
        --xy-controls-button-background-color-hover-props,
        var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))
      );
      color: var(
        --xy-controls-button-color-hover-props,
        var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))
      );
    }
.react-flow__controls-button:disabled {
      pointer-events: none;
    }
.react-flow__controls-button:disabled svg {
        fill-opacity: 0.4;
      }
.react-flow__controls-button:last-child {
    border-bottom: none;
  }
.react-flow__controls.horizontal .react-flow__controls-button {
    border-bottom: none;
    border-right: 1px solid
      var(
        --xy-controls-button-border-color-props,
        var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
      );
  }
.react-flow__controls.horizontal .react-flow__controls-button:last-child {
    border-right: none;
  }
.react-flow__resize-control {
  position: absolute;
}
.react-flow__resize-control.left,
.react-flow__resize-control.right {
  cursor: ew-resize;
}
.react-flow__resize-control.top,
.react-flow__resize-control.bottom {
  cursor: ns-resize;
}
.react-flow__resize-control.top.left,
.react-flow__resize-control.bottom.right {
  cursor: nwse-resize;
}
.react-flow__resize-control.bottom.left,
.react-flow__resize-control.top.right {
  cursor: nesw-resize;
}
/* handle styles */
.react-flow__resize-control.handle {
  width: 5px;
  height: 5px;
  border: 1px solid #fff;
  border-radius: 1px;
  background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  translate: -50% -50%;
}
.react-flow__resize-control.handle.left {
  left: 0;
  top: 50%;
}
.react-flow__resize-control.handle.right {
  left: 100%;
  top: 50%;
}
.react-flow__resize-control.handle.top {
  left: 50%;
  top: 0;
}
.react-flow__resize-control.handle.bottom {
  left: 50%;
  top: 100%;
}
.react-flow__resize-control.handle.top.left {
  left: 0;
}
.react-flow__resize-control.handle.bottom.left {
  left: 0;
}
.react-flow__resize-control.handle.top.right {
  left: 100%;
}
.react-flow__resize-control.handle.bottom.right {
  left: 100%;
}
/* line styles */
.react-flow__resize-control.line {
  border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  border-width: 0;
  border-style: solid;
}
.react-flow__resize-control.line.left,
.react-flow__resize-control.line.right {
  width: 1px;
  transform: translate(-50%, 0);
  top: 0;
  height: 100%;
}
.react-flow__resize-control.line.left {
  left: 0;
  border-left-width: 1px;
}
.react-flow__resize-control.line.right {
  left: 100%;
  border-right-width: 1px;
}
.react-flow__resize-control.line.top,
.react-flow__resize-control.line.bottom {
  height: 1px;
  transform: translate(0, -50%);
  left: 0;
  width: 100%;
}
.react-flow__resize-control.line.top {
  top: 0;
  border-top-width: 1px;
}
.react-flow__resize-control.line.bottom {
  border-bottom-width: 1px;
  top: 100%;
}
.react-flow__edge-textbg {
  fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));
}
.react-flow__edge-text {
  fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));
}

.mermaid-node-view {
  margin: 1.5rem 0;
}

.mermaid-container {
  position: relative;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 1rem;
  background: #f9fafb;
  transition: border-color 0.2s ease;
}

.mermaid-container.selected {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.mermaid-container:hover {
  border-color: #d1d5db;
}

.mermaid-controls {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
  justify-content: flex-start;
}

.mermaid-button {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: white;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.mermaid-button:hover {
  background: #f3f4f6;
  border-color: #9ca3af;
}

.mermaid-button:active {
  transform: translateY(1px);
}

.mermaid-button-primary {
  background: #3b82f6;
  color: white;
  border-color: #3b82f6;
}

.mermaid-button-primary:hover {
  background: #2563eb;
  border-color: #2563eb;
}

.mermaid-preview {
  text-align: center;
  min-height: 100px;
  padding: 1rem;
  background: white;
  border-radius: 6px;
  overflow-x: auto;
}

.mermaid-preview svg {
  max-width: 100%;
  height: auto;
}

.mermaid-editor-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.mermaid-editor {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Courier New', monospace;
  font-size: 0.875rem;
  line-height: 1.5;
  padding: 1rem;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #ffffff;
  min-height: 200px;
  resize: vertical;
  outline: none;
  transition: border-color 0.2s ease;
}

.mermaid-editor:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.mermaid-error {
  color: #dc2626;
  padding: 0.75rem;
  background: #fee2e2;
  border: 1px solid #fecaca;
  border-radius: 6px;
  font-size: 0.875rem;
}

.mermaid-error strong {
  font-weight: 600;
}

.mermaid-loading {
  color: #6b7280;
  font-style: italic;
  padding: 2rem;
  text-align: center;
}

.mermaid-empty {
  color: #9ca3af;
  font-style: italic;
  padding: 2rem;
  text-align: center;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .mermaid-container {
    background: #1f2937;
    border-color: #374151;
  }

  .mermaid-container.selected {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1);
  }

  .mermaid-container:hover {
    border-color: #4b5563;
  }

  .mermaid-button {
    background: #374151;
    color: #f9fafb;
    border-color: #4b5563;
  }

  .mermaid-button:hover {
    background: #4b5563;
    border-color: #6b7280;
  }

  .mermaid-button-primary {
    background: #3b82f6;
    color: white;
    border-color: #3b82f6;
  }

  .mermaid-button-primary:hover {
    background: #2563eb;
    border-color: #2563eb;
  }

  .mermaid-preview {
    background: #111827;
  }

  .mermaid-editor {
    background: #111827;
    color: #f9fafb;
    border-color: #4b5563;
  }

  .mermaid-editor:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1);
  }

  .mermaid-error {
    background: #7f1d1d;
    border-color: #991b1b;
    color: #fecaca;
  }

  .mermaid-loading,
  .mermaid-empty {
    color: #9ca3af;
  }
}

@layer docusaurus.theme-classic {/**
 * 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_OLlo {
  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_OLlo::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_OLlo:hover {
    background-color: var(--ifm-color-emphasis-300);
  }
}

.backToTopButtonShow_eRVe {
  opacity: 1;
  transform: scale(1);
  visibility: visible;
}
}

@layer docusaurus.theme-classic {/**
 * 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_diGN {
    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_ifW0 {
    transform: rotate(180deg);
    margin-top: 4px;
  }

  [dir='rtl'] .collapseSidebarButtonIcon_ifW0 {
    transform: rotate(0);
  }

  .collapseSidebarButton_diGN:hover,
  .collapseSidebarButton_diGN:focus {
    background-color: var(--docusaurus-collapse-button-bg-hover);
  }
}

.collapseSidebarButton_diGN {
  display: none;
  margin: 0;
}
}

@layer docusaurus.theme-classic {/**
 * 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_fUtP {
  align-items: center;
}

.linkLabel_hgEJ {
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
}

@layer docusaurus.theme-classic {/**
 * 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_ensz {
  overflow: hidden;
}

/*
TODO merge this logic back in Infima?
 */
.menu__link--sublist-caret::after {
  margin-left: var(--ifm-menu-link-padding-vertical);
}

.categoryLinkLabel_t9cQ {
  flex: 1;
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
}

@layer docusaurus.theme-classic {/**
 * 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_lGET {
    padding: var(--ifm-menu-link-padding-vertical)
      var(--ifm-menu-link-padding-horizontal);
  }
}
}

@layer docusaurus.theme-classic {/**
 * 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_Eeoq {
    flex-grow: 1;
    padding: 0.5rem;
  }
  @supports (scrollbar-gutter: stable) {
    .menu_Eeoq {
      padding: 0.5rem 0 0.5rem 0.5rem;
      scrollbar-gutter: stable;
    }
  }

  .menuWithAnnouncementBar_us0Y {
    margin-bottom: var(--docusaurus-announcement-bar-height);
  }
}
}

@layer docusaurus.theme-classic {/**
 * 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_Fb0c {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-top: var(--ifm-navbar-height);
    width: var(--doc-sidebar-width);
  }

  .sidebarWithHideableNavbar_NrfZ {
    padding-top: 0;
  }

  .sidebarHidden_YUyv {
    opacity: 0;
    visibility: hidden;
  }

  .sidebarLogo_O8Gc {
    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_O8Gc img {
    margin-right: 0.5rem;
    height: 2rem;
  }
}

.sidebarLogo_O8Gc {
  display: none;
}
}

@layer docusaurus.theme-classic {/**
 * 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_u6tZ {
    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_u6tZ:hover,
  .expandButton_u6tZ:focus {
    background-color: var(--docusaurus-collapse-button-bg-hover);
  }

  .expandButtonIcon_oE7P {
    transform: rotate(0);
  }

  [dir='rtl'] .expandButtonIcon_oE7P {
    transform: rotate(180deg);
  }
}
}

@layer docusaurus.theme-classic {/**
 * 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_zB8I {
  display: none;
}

@media (min-width: 997px) {
  .docSidebarContainer_zB8I {
    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_Zl_V {
    width: var(--doc-sidebar-hidden-width);
    cursor: pointer;
  }

  .sidebarViewport_B2JT {
    top: 0;
    position: sticky;
    height: 100%;
    max-height: 100vh;
  }
}
}

@layer docusaurus.theme-classic {/**
 * 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_KM4H {
  display: flex;
  width: 100%;
}

@media (min-width: 997px) {
  .docMainContainer_KM4H {
    flex-grow: 1;
    max-width: calc(100% - var(--doc-sidebar-width));
  }

  .docMainContainerEnhanced_QKvj {
    max-width: calc(100% - var(--doc-sidebar-hidden-width));
  }

  .docItemWrapperEnhanced_psIa {
    max-width: calc(
      var(--ifm-container-width) + var(--doc-sidebar-width)
    ) !important;
  }
}
}

@layer docusaurus.theme-classic {/**
 * 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_uFbL {
  display: flex;
  width: 100%;
}

.docsWrapper_Za2T {
  display: flex;
  flex: 1 0 auto;
}
}

