/**
 * 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;
  text-size-adjust: 100%;
}

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

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

/* Layout */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Content */

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

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

a code {
  color: inherit;
}

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

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

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

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

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

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

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

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

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

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

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

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

img {
  max-width: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Consistent spacing between content paragraphs. */

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

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

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

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

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

/* Lists */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Links */

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

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

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

/* Paragraphs */

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

/* Blockquotes */

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

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

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

/* Horizontal Rules */

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

/* Utilities */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Components */

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

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

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

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

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

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

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

.alert {

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

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

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

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

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

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

    opacity: 0.75;
  }

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

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

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

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

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

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

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

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

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

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

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

.avatar__subtitle {
    margin-top: 0.25rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

.breadcrumbs__item {
    display: inline-block;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Because of border-radius. */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.close:hover {
    opacity: 0.7;
  }

.close:focus {
    opacity: 0.8;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

.footer__links {
    margin-bottom: 1rem;
  }

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

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

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

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

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

.footer__item {
    margin-top: 0;
  }

.footer__items {
    margin-bottom: 0;
  }

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

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

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

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

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

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

.hero__title {
    font-size: 3rem;
  }

.hero__subtitle {
    font-size: 1.5rem;
  }

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

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

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

/* Non-top level menus */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.navbar__title {
    flex: 1 1 auto;
  }

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

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

.navbar__logo img {
      height: 100%;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.pagination__item {
    display: inline-flex;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Mode */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .footer__link-separator {
      display: none;
    }

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

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

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

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

.navbar__toggle {
      display: inherit
  }

.navbar__item {
      display: none
  }

.navbar__search-input {
        width: 9rem
    }

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

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

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

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

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

@media print {

.table-of-contents {
    display: none
}

.footer {
    display: none
}

.menu {
    display: none
}

.navbar {
    display: none
}

.pagination-nav {
    display: none
}

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

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

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

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

#nprogress {
  pointer-events: none;
}

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

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

/* ============================================================================
   StoneX AI · 思拓 —— 全站样式
   ----------------------------------------------------------------------------
   结构：
     01 设计令牌（品牌原始值，与 Docusaurus 无关）
     02 Infima / Docusaurus 变量重映射  ← 核心：一次映射，全站文档页自动继承
     03 全局背景与滚动条
     04 导航栏
     05 公告条
     06 文档页：侧边栏
     07 文档页：正文排版
     08 文档页：右侧目录 / 面包屑 / 上一页下一页
     09 文档页：代码块 / 提示框 / 表格
     10 页脚
     11 React Bits 组件样式适配
     12 响应式与无障碍
   ========================================================================== */

/* ============================================================================
   01 · 设计令牌
   品牌原始值。这些变量只在「组件需要品牌色但不是 Infima 标准位」时使用。
   能用 Infima 变量的地方一律用 Infima，保证文档页自动跟随。
   ========================================================================== */

:root {
  /* 品牌色 */
  --sx-blue: #4f7cff;
  --sx-cyan: #00e0ff;
  --sx-violet: #8b5cf6;
  --sx-accent: #ff7a59;

  /* 渐变 */
  --sx-grad-brand: linear-gradient(110deg, #4f7cff 0%, #00e0ff 34%, #8b5cf6 68%, #4f7cff 100%);
  --sx-grad-cta: linear-gradient(100deg, #4f7cff 0%, #00e0ff 100%);
  --sx-grad-text: linear-gradient(100deg, #f2f5ff 38%, #9fe9ff 48%, #ffffff 52%, #f2f5ff 62%);

  /* 字体族 */
  --sx-font-display: 'Space Grotesk', 'HarmonyOS Sans SC', 'PingFang SC', 'Microsoft YaHei',
    system-ui, sans-serif;
  --sx-font-body: 'Inter', 'HarmonyOS Sans SC', 'PingFang SC', 'Microsoft YaHei', system-ui,
    sans-serif;
  --sx-font-mono: 'JetBrains Mono', 'SFMono-Regular', Consolas, ui-monospace, monospace;

  /* 圆角 */
  --sx-r-pill: 999px;
  --sx-r-card: 20px;
  --sx-r-panel: 24px;

  /* 缓动 */
  --sx-ease: cubic-bezier(0.16, 1, 0.3, 1);

  /* 布局 */
  --sx-maxw: 1200px;
  --sx-section-y: 120px;

  /* Docusaurus 主题变量（非 Infima，需单独覆盖） */
  --doc-sidebar-width: 300px;
  --ifm-toc-width: 240px;
}

/* ============================================================================
   02 · Infima / Docusaurus 变量重映射
   ============================================================================
   这是整套方案最关键的一段。只要把品牌值灌进 Infima 变量，
   文档页、侧边栏、代码块、提示框、分页、面包屑、目录 —— 全部自动继承新品牌，
   不需要逐个组件写 CSS。
   ========================================================================== */

/* ---------- 2.1 浅色模式（完整设计，不是降级） ---------- */
:root {
  /* 主色 8 档（可用 https://docusaurus.io/docs/styling-layout 的取色器重新生成） */
  --ifm-color-primary: #4f7cff;
  --ifm-color-primary-dark: #3c6bff;
  --ifm-color-primary-darker: #2c62ff;
  --ifm-color-primary-darkest: #0a49ff;
  --ifm-color-primary-light: #668dff;
  --ifm-color-primary-lighter: #7296ff;
  --ifm-color-primary-lightest: #94afff;
  --ifm-code-font-size: 92%;

  /* 背景与内容 */
  --ifm-background-color: #ffffff;
  --ifm-background-surface-color: #f6f8fc;
  --ifm-color-content: #1b2233;
  --ifm-color-content-secondary: #5a6478;
  --ifm-heading-color: #0e1420;
  --ifm-font-color-base: #1b2233;
  --ifm-link-color: #2f5fe0;
  --ifm-link-hover-color: #1b4bd0;

  /* 层级强调色（Infima 用它做边线、分隔、次要面） */
  --ifm-color-emphasis-0: #ffffff;
  --ifm-color-emphasis-100: #f6f8fc;
  --ifm-color-emphasis-200: #eef1f7;
  --ifm-color-emphasis-300: #e2e7f0;
  --ifm-color-emphasis-400: #ccd4e4;
  --ifm-color-emphasis-500: #a7b0cc;
  --ifm-color-emphasis-600: #7a8496;
  --ifm-color-emphasis-700: #5a6478;
  --ifm-color-emphasis-800: #3a4356;
  --ifm-color-emphasis-900: #1b2233;
  --ifm-color-emphasis-1000: #0e1420;

  /* 语义色 */
  --ifm-color-success: #0e8a5f;
  --ifm-color-info: #2f5fe0;
  --ifm-color-warning: #b4610a;
  --ifm-color-danger: #c4322b;

  /* 排版 */
  --ifm-font-family-base: var(--sx-font-body);
  --ifm-font-family-monospace: var(--sx-font-mono);
  --ifm-heading-font-family: var(--sx-font-display);
  --ifm-font-size-base: 16px;
  --ifm-line-height-base: 1.75;
  --ifm-heading-font-weight: 700;
  --ifm-heading-line-height: 1.25;
  --ifm-h1-font-size: 2.1rem;
  --ifm-h2-font-size: 1.6rem;
  --ifm-h3-font-size: 1.3rem;
  --ifm-h4-font-size: 1.1rem;
  --ifm-heading-margin-top: 2.2rem;
  --ifm-heading-margin-bottom: 0.9rem;

  /* 形状 */
  --ifm-global-radius: 12px;
  --ifm-card-border-radius: 16px;
  --ifm-button-border-radius: 999px;
  --ifm-global-border-width: 1px;

  /* 代码块 */
  --ifm-code-background: #f0f3fa;
  --ifm-code-color: #2a3350;
  --ifm-pre-background: #f6f8fc;
  --ifm-pre-border-radius: 14px;
  --ifm-pre-padding: 1.1rem 1.3rem;

  /* 引用块 */
  --ifm-blockquote-color: #4a5568;
  --ifm-blockquote-border-color: var(--ifm-color-primary);

  /* 表格 */
  --ifm-table-border-color: #e2e7f0;
  --ifm-table-stripe-background: #fafbfe;
  --ifm-table-head-background: #f6f8fc;
  --ifm-table-head-color: #0e1420;

  /* 卡片 */
  --ifm-card-background-color: #ffffff;

  /* 页脚（浅色）：深字 + 浅底，避免 footer--dark 残留白字 */
  --ifm-footer-background-color: #eef1f8;
  --ifm-footer-color: #3a4356;
  --ifm-footer-link-color: #3a4356;
  --ifm-footer-title-color: #0e1420;
}

/* ---------- 2.2 深色模式（品牌主场景，默认模式） ---------- */
[data-theme='dark'] {
  --ifm-color-primary: #4f7cff;
  --ifm-color-primary-dark: #3c6bff;
  --ifm-color-primary-darker: #2c62ff;
  --ifm-color-primary-darkest: #0a49ff;
  --ifm-color-primary-light: #668dff;
  --ifm-color-primary-lighter: #7296ff;
  --ifm-color-primary-lightest: #94afff;

  /* 底色：近黑而不是纯黑，给发光元素留暗部 */
  --ifm-background-color: #05070d;
  --ifm-background-surface-color: #0a0e1a;
  --ifm-color-content: #e4e9f7;
  --ifm-color-content-secondary: #a7b0cc;
  --ifm-heading-color: #f2f5ff;
  --ifm-font-color-base: #e4e9f7;
  --ifm-link-color: #7fa6ff;
  --ifm-link-hover-color: #00e0ff;

  --ifm-color-emphasis-0: #05070d;
  --ifm-color-emphasis-100: #0a0e1a;
  --ifm-color-emphasis-200: #0d1220;
  --ifm-color-emphasis-300: rgba(255, 255, 255, 0.08);
  --ifm-color-emphasis-400: rgba(255, 255, 255, 0.14);
  --ifm-color-emphasis-500: #6b7691;
  --ifm-color-emphasis-600: #a7b0cc;
  --ifm-color-emphasis-700: #c3cbe0;
  --ifm-color-emphasis-800: #dfe4f2;
  --ifm-color-emphasis-900: #f2f5ff;
  --ifm-color-emphasis-1000: #ffffff;

  --ifm-color-success: #34d399;
  --ifm-color-info: #00e0ff;
  --ifm-color-warning: #fbbf24;
  --ifm-color-danger: #ff6b6b;

  --ifm-code-background: rgba(255, 255, 255, 0.06);
  --ifm-code-color: #cfe0ff;
  --ifm-pre-background: #0a0e1a;

  --ifm-blockquote-color: #a7b0cc;
  --ifm-table-border-color: rgba(255, 255, 255, 0.08);
  --ifm-table-stripe-background: rgba(255, 255, 255, 0.02);
  --ifm-table-head-background: rgba(255, 255, 255, 0.04);
  --ifm-table-head-color: #f2f5ff;

  --ifm-card-background-color: rgba(13, 18, 32, 0.72);

  /* 顶栏与页脚 */
  --ifm-navbar-background-color: rgba(10, 14, 26, 0.55);
  --ifm-navbar-link-color: #a7b0cc;
  --ifm-navbar-link-hover-color: #f2f5ff;
  --ifm-footer-background-color: #03050a;
  --ifm-footer-color: #a7b0cc;
  --ifm-footer-link-color: #a7b0cc;
  --ifm-footer-title-color: #f2f5ff;

  /* 代码高亮：让 oneDark 的背景别跟站点底色打架 */
  --prism-background-color: transparent;
  --prism-color: #cfe0ff;
}

/* ============================================================================
   03 · 全局背景与滚动条
   ========================================================================== */

html {
  scroll-behavior: smooth;
  /* 顶部固定导航 + 公告条，锚点跳转要留出空间 */
  scroll-padding-top: calc(var(--ifm-navbar-height) + 24px);
}

body {
  font-family: var(--ifm-font-family-base);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* 全局背景层：站点范围的极光与点阵，由 src/theme/Root.tsx 注入的固定层承接。
   docs 页面只看得到这一层（轻量 CSS），首页另有一层 WebGL 由 HomeBackground.tsx 提供。 */
[data-theme='dark'] body {
  background-color: var(--ifm-background-color);
  background-image:
    radial-gradient(900px 620px at 8% -12%, rgba(79, 124, 255, 0.16), transparent 68%),
    radial-gradient(760px 540px at 96% -4%, rgba(0, 224, 255, 0.1), transparent 66%),
    radial-gradient(820px 600px at 58% -26%, rgba(139, 92, 246, 0.13), transparent 70%);
  background-attachment: fixed;
}

[data-theme='light'] body {
  background-color: var(--ifm-background-color);
  background-image:
    radial-gradient(900px 620px at 8% -12%, rgba(79, 124, 255, 0.08), transparent 68%),
    radial-gradient(760px 540px at 96% -4%, rgba(0, 224, 255, 0.06), transparent 66%);
  background-attachment: fixed;
}

/* 滚动条（深色下默认滚动条很丑） */
[data-theme='dark'] {
  scrollbar-color: rgba(255, 255, 255, 0.16) transparent;
}
[data-theme='dark'] ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
[data-theme='dark'] ::-webkit-scrollbar-track {
  background: transparent;
}
[data-theme='dark'] ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: content-box;
}
[data-theme='dark'] ::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 224, 255, 0.4);
  background-clip: content-box;
}

::selection {
  background: rgba(0, 224, 255, 0.28);
}

/* Root.tsx 注入的全站背景层。
   固定定位、不参与文档流、pointer-events:none —— 保证 CLS 为 0。
   docs 页面只加载这一层（纯 CSS），WebGL 背景只在首页加载。 */
.sx-root-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

[data-theme='dark'] .sx-root-bg {
  background-image: radial-gradient(
    620px 620px at 50% 0%,
    rgba(79, 124, 255, 0.07),
    transparent 70%
  );
}

/* 内容必须在背景层之上。
   Docusaurus 的根容器是 #__docusaurus，抬高它即可，
   不要给单个区块加 z-index（会和 sticky 定位打架）。 */
#__docusaurus {
  position: relative;
  z-index: 1;
}

/* 焦点环：深色底上必须用亮色，否则键盘用户完全看不到焦点 */
:focus-visible {
  outline: 2px solid var(--sx-cyan);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ============================================================================
   04 · 导航栏 —— 悬浮胶囊
   ========================================================================== */

.navbar {
  height: var(--ifm-navbar-height);
  border-bottom: none;
  /*
   * 禁止在 .navbar 自身使用 backdrop-filter / filter / transform。
   * 它们会把 position:fixed 的 .navbar-sidebar 困在顶栏高度（约 60px）内，
   * 导致汉堡打开后侧栏「看不见」——实测 getBoundingClientRect().height ≈ 68。
   * 毛玻璃改挂到 ::before，不影响侧栏固定定位包含块。
   */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(10, 14, 26, 0.88);
  box-shadow: none;
  overflow: visible;
}

/* 毛玻璃装饰层：伪元素不是侧栏祖先，不会劫持 fixed 包含块 */
.navbar::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
}

/* 用 ::after 画一条极淡的渐变分隔线，比 border 干净 */
.navbar::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  z-index: 1;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(79, 124, 255, 0.28) 22%,
    rgba(0, 224, 255, 0.28) 50%,
    rgba(139, 92, 246, 0.28) 78%,
    transparent
  );
  pointer-events: none;
}

[data-theme='light'] .navbar {
  background: rgba(255, 255, 255, 0.92);
  --ifm-navbar-shadow: none;
}
[data-theme='light'] .navbar::after {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(79, 124, 255, 0.22) 30%,
    rgba(0, 224, 255, 0.22) 70%,
    transparent
  );
}

.navbar__title {
  font-family: var(--ifm-heading-font-family);
  font-weight: 700;
  font-size: 18px;
  letter-spacing: -0.02em;
}

/* Logo 旁仅保留图标，不展示英文标语（曾用 ::after 注入 OPEN MINDS…，已移除） */

.navbar__link {
  font-size: 14px;
  padding: 8px 14px;
  border-radius: var(--sx-r-pill);
  transition: color 0.3s, background 0.3s;
}
.navbar__link:hover,
.navbar__link--active {
  background: rgba(255, 255, 255, 0.05);
}
[data-theme='light'] .navbar__link:hover,
[data-theme='light'] .navbar__link--active {
  background: rgba(79, 124, 255, 0.08);
}

/* 导航 CTA（由 docusaurus.config.ts 的 type:'html' 注入） */
.navbar-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 20px;
  font-size: 14px;
  font-weight: 500;
  border-radius: var(--sx-r-pill);
  background: var(--sx-grad-cta);
  color: #04070f !important;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 0 0 1px rgba(0, 224, 255, 0.3), 0 10px 30px -12px rgba(0, 224, 255, 0.6);
  transition: transform 0.3s var(--sx-ease), box-shadow 0.3s var(--sx-ease);
}
.navbar-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 0 1px rgba(0, 224, 255, 0.5), 0 14px 36px -12px rgba(0, 224, 255, 0.85);
}

/* ============================================================================
   05 · 公告条
   ========================================================================== */

[data-theme='dark'] div[class*='announcementBar'] {
  color: var(--ifm-font-color-base);
  border-bottom: 1px solid rgba(79, 124, 255, 0.2);
  font-size: 13.5px;
}
[data-theme='dark'] div[class*='announcementBar'] a {
  color: var(--sx-cyan);
  -webkit-text-decoration: none;
  text-decoration: none;
}

/* ============================================================================
   06 · 文档页 · 侧边栏
   ========================================================================== */

[data-theme='dark'] .theme-doc-sidebar-container {
  border-right: 1px solid var(--ifm-color-emphasis-300) !important;
}

.theme-doc-sidebar-menu .menu__link {
  font-size: 13.5px;
  line-height: 1.5;
  padding: 7px 12px;
  border-radius: 8px;
  transition: background 0.25s, color 0.25s;
}

/* 三级缩进：用左侧细线建立层级，比单纯缩进更清晰 */
.theme-doc-sidebar-menu .menu__list .menu__list {
  border-left: 1px solid var(--ifm-color-emphasis-300);
  margin-left: 14px;
  padding-left: 4px;
}

.theme-doc-sidebar-menu .menu__link--active:not(.menu__link--sublist) {
  font-weight: 600;
  background: rgba(79, 124, 255, 0.13);
  color: #a9c2ff;
  box-shadow: inset 2px 0 0 var(--ifm-color-primary);
}
[data-theme='light'] .theme-doc-sidebar-menu .menu__link--active:not(.menu__link--sublist) {
  background: rgba(79, 124, 255, 0.1);
  color: #2348c4;
}

.menu__link:hover {
  background: rgba(255, 255, 255, 0.045);
}
[data-theme='light'] .menu__link:hover {
  background: rgba(79, 124, 255, 0.06);
}

/* 顶级分类标题：等宽大写，做出「技术目录」的质感 */
.theme-doc-sidebar-menu > .menu__list-item > .menu__link--sublist {
  font-family: var(--sx-font-mono);
  font-size: 11.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ifm-color-emphasis-500);
  margin-top: 14px;
  font-weight: 500;
}
.theme-doc-sidebar-menu > .menu__list-item > .menu__link--sublist:hover {
  color: var(--ifm-color-emphasis-700);
}

/* 折叠箭头 */
.menu__caret::before,
.menu__link--sublist-caret::after {
  opacity: 0.55;
}

/* ============================================================================
   07 · 文档页 · 正文排版
   ========================================================================== */

.markdown h1:first-child,
.theme-doc-markdown h1 {
  font-family: var(--ifm-heading-font-family);
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.theme-doc-markdown h2 {
  font-family: var(--ifm-heading-font-family);
  font-weight: 700;
  letter-spacing: -0.02em;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
  margin-top: 3rem;
}

.theme-doc-markdown h3 {
  font-family: var(--ifm-heading-font-family);
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-top: 2.2rem;
}

.theme-doc-markdown p,
.theme-doc-markdown li {
  line-height: 1.8;
}

/* 正文最大宽度：Docusaurus 默认偏宽，长文阅读会累 */
.theme-doc-markdown {
  max-width: 780px;
}

/* 行内代码 */
.theme-doc-markdown code {
  font-family: var(--ifm-font-family-monospace);
  font-size: 0.86em;
  padding: 0.15em 0.42em;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 6px;
}
[data-theme='dark'] .theme-doc-markdown code {
  background: rgba(255, 255, 255, 0.06);
  color: #cfe0ff;
}

/* 正文里的外链加一个小箭头 */
.theme-doc-markdown a[target='_blank']::after {
  content: '↗';
  font-size: 0.8em;
  margin-left: 2px;
  opacity: 0.6;
}

/* 强调正文里的图：圆角 + 细描边 */
.theme-doc-markdown img {
  border-radius: var(--sx-r-card);
  border: 1px solid var(--ifm-color-emphasis-300);
}

/* ============================================================================
   08 · 文档页 · 右侧目录 / 面包屑 / 分页
   ========================================================================== */

.table-of-contents {
  font-size: 12.5px;
  border-left: 1px solid var(--ifm-color-emphasis-300);
  padding-left: 0.9rem;
}
.table-of-contents__link {
  display: block;
  padding: 4px 0;
  color: var(--ifm-color-emphasis-600);
  transition: color 0.25s;
}
.table-of-contents__link:hover {
  color: var(--ifm-link-hover-color);
}
.table-of-contents__link--active,
.table-of-contents__link.toc-highlight {
  color: var(--ifm-color-primary-light) !important;
  font-weight: 600;
}
.theme-doc-toc-desktop::before {
  content: 'ON THIS PAGE';
  display: block;
  font-family: var(--sx-font-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  color: var(--ifm-color-emphasis-500);
  margin-bottom: 12px;
  padding-left: 0.9rem;
}

/* 面包屑 */
.breadcrumbs__item .breadcrumbs__link {
  background: transparent;
  font-size: 12.5px;
  color: var(--ifm-color-emphasis-600);
  padding: 2px 0;
}
.breadcrumbs__item--active .breadcrumbs__link {
  color: var(--ifm-color-content);
  background: transparent;
}

/* 上一页 / 下一页 */
.pagination-nav__link {
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: var(--sx-r-card);
  background: var(--ifm-background-surface-color);
  transition: border-color 0.35s var(--sx-ease), transform 0.35s var(--sx-ease);
}
.pagination-nav__link:hover {
  border-color: rgba(79, 124, 255, 0.45);
  transform: translateY(-2px);
}
.pagination-nav__sublabel {
  font-family: var(--sx-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ifm-color-emphasis-500);
}
.pagination-nav__label {
  font-family: var(--ifm-heading-font-family);
  font-weight: 600;
}

/* ============================================================================
   09 · 文档页 · 代码块 / 提示框 / 表格
   ========================================================================== */

.theme-code-block,
div[class*='codeBlockContainer'] {
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: var(--sx-r-card) !important;
  overflow: hidden;
  box-shadow: none;
}

/* 代码块顶栏：加一点「终端窗口」的暗示 */
div[class*='codeBlockTitle'] {
  font-family: var(--sx-font-mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  background: rgba(255, 255, 255, 0.035);
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
}

[data-theme='dark'] div[class*='codeBlockContainer'] {
  background: #0a0e1a;
}

/* 提示框（admonition）—— 全部改成细描边 + 半透底，去掉默认的粗色块 */
.theme-admonition {
  border: 1px solid;
  border-radius: var(--sx-r-card);
  border-left-width: 1px;
  padding: 1rem 1.2rem;
  box-shadow: none;
}
[data-theme='dark'] .theme-admonition {
  background: rgba(255, 255, 255, 0.028);
}
.theme-admonition .admonitionHeading_node_modules-\@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module,
.theme-admonition div[class*='admonitionHeading'] {
  font-family: var(--sx-font-mono);
  font-size: 11.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
[data-theme='dark'] .alert--info {
  border-color: rgba(0, 224, 255, 0.3);
}
[data-theme='dark'] .alert--success {
  border-color: rgba(52, 211, 153, 0.3);
}
[data-theme='dark'] .alert--warning {
  border-color: rgba(251, 191, 36, 0.32);
}
[data-theme='dark'] .alert--danger {
  border-color: rgba(255, 107, 107, 0.32);
}

/* 表格 */
.theme-doc-markdown table {
  display: table;
  width: 100%;
  font-size: 14px;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--ifm-table-border-color);
  border-radius: var(--sx-r-card);
  overflow: hidden;
}
.theme-doc-markdown thead tr {
  border-bottom: 1px solid var(--ifm-table-border-color);
}
.theme-doc-markdown th {
  font-size: 12.5px;
  letter-spacing: 0.02em;
}
.theme-doc-markdown td,
.theme-doc-markdown th {
  border-left: none;
  border-right: none;
}

/* ============================================================================
   10 · 页脚
   ========================================================================== */

.footer {
  border-top: 1px solid var(--ifm-color-emphasis-300);
  position: relative;
  padding-top: 3rem;
  padding-bottom: 2rem;
}
/* 覆盖 footer--dark：浅色/深色模式各自保证文字与背景对比度，避免白底白字 */
[data-theme='dark'] .footer,
[data-theme='dark'] .footer.footer--dark {
  background: linear-gradient(180deg, #070a12 0%, #03050a 100%) !important;
  --ifm-footer-background-color: #03050a;
  --ifm-footer-color: #a7b0cc;
  --ifm-footer-link-color: #c5cce0;
  --ifm-footer-title-color: #f2f5ff;
  color: #a7b0cc;
}
[data-theme='light'] .footer,
[data-theme='light'] .footer.footer--dark {
  background: linear-gradient(180deg, #f7f8fc 0%, #eef1f8 100%) !important;
  --ifm-footer-background-color: #eef1f8;
  --ifm-footer-color: #3a4356;
  --ifm-footer-link-color: #3a4356;
  --ifm-footer-title-color: #0e1420;
  color: #3a4356;
}

.footer__links {
  margin-bottom: 1.25rem;
}

.footer__col {
  margin-bottom: 1.5rem;
}

.footer__title {
  font-family: var(--sx-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ifm-footer-title-color, var(--ifm-color-emphasis-800));
  margin-bottom: 0.85rem;
}
.footer__link-item {
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--ifm-footer-link-color) !important;
  transition: color 0.2s ease;
}
.footer__link-item:hover {
  color: var(--sx-blue) !important;
  -webkit-text-decoration: none;
  text-decoration: none;
}
[data-theme='dark'] .footer__link-item:hover {
  color: var(--sx-cyan) !important;
}

/* 页脚外链：去掉 Docusaurus 默认外链箭头图标，样式与普通超链一致 */
.footer__link-item svg,
.footer__link-item [class*='iconExternalLink'],
.footer a[target='_blank'] svg {
  display: none !important;
}
.footer__link-item::after,
.footer a.footer__link-item::after {
  content: none !important;
}
.footer__copyright {
  font-family: var(--sx-font-mono);
  font-size: 11.5px;
  color: var(--ifm-footer-color);
  border-top: 1px solid var(--ifm-color-emphasis-300);
  padding-top: 18px;
  margin-top: 12px;
}
.footer__copyright a {
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
  border-bottom: 1px dotted color-mix(in srgb, var(--sx-cyan) 45%, transparent);
}
.footer__copyright a:hover {
  color: var(--sx-blue);
}
[data-theme='dark'] .footer__copyright a:hover {
  color: var(--sx-cyan);
}

/* ============================================================================
   11 · React Bits 组件样式适配
   ========================================================================== */

/* 渐变流字（GradientText） */
.sx-grad-text {
  background: var(--sx-grad-brand);
  background-size: 240% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: sx-gradflow 9s ease-in-out infinite;
}

/* 扫光字（ShinyText） */
.sx-shine {
  background: var(--sx-grad-text);
  background-size: 260% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: sx-shine 6s linear infinite;
}

@keyframes sx-gradflow {
  0%,
  100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
@keyframes sx-shine {
  0% {
    background-position: 170% 0;
  }
  100% {
    background-position: -70% 0;
  }
}

/* 逐字入场（SplitText）—— 用 CSS 变量 --i 控制错峰 */
[data-sx-split] .ch,
[data-sx-split] .wd {
  display: inline-block;
  will-change: transform, opacity;
}
[data-sx-split='chars'] .ch {
  opacity: 0;
  transform: translateY(0.42em) rotateX(-72deg);
  transform-origin: 50% 100%;
  animation: sx-char-in 0.82s var(--sx-ease) forwards;
  animation-delay: calc(var(--i) * 45ms + var(--d, 0ms));
}
@keyframes sx-char-in {
  to {
    opacity: 1;
    transform: none;
  }
}
[data-sx-split='words'] .wd {
  opacity: 0;
  filter: blur(12px);
  transform: translateY(0.28em);
  animation: sx-word-in 0.9s var(--sx-ease) forwards;
  animation-delay: calc(var(--i) * 72ms + var(--d, 0ms));
}
@keyframes sx-word-in {
  to {
    opacity: 1;
    filter: blur(0);
    transform: none;
  }
}

/* 整行入场（L1 / L3 用）。与逐字入场区分开 ——
   渐变流字（background-clip:text）和变形子元素不要同处一行，
   部分浏览器会在裁切时错位，所以 L1/L3 走整行入场，L2 走逐字。 */
.sx-line-enter {
  animation: sx-line-in 0.9s var(--sx-ease) both;
}
@keyframes sx-line-in {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* 滚动入场（AnimatedContent） */
.sx-reveal {
  opacity: 0;
  transform: translateY(38px);
  transition: opacity 0.9s var(--sx-ease), transform 0.9s var(--sx-ease);
}
.sx-reveal.is-in {
  opacity: 1;
  transform: none;
}

/* 点击火花 / 光标聚光容器由 Root.tsx 注入，样式在 index.module.css 中 */

/* ============================================================================
   12 · 响应式与无障碍
   ========================================================================== */

/* Docusaurus 的移动断点是 996px，保持一致，不要自创断点 */
@media (max-width: 996px) {
  :root {
    --sx-section-y: 76px;
    --ifm-h1-font-size: 1.8rem;
  }
  .theme-doc-markdown {
    max-width: 100%;
  }

  /*
   * 禁止给 html/body/#__docusaurus 设 overflow-x:hidden|clip。
   * 会把 Infima 的 position:fixed .navbar-sidebar（及 backdrop）裁切掉，
   * 表现为汉堡可点但侧栏菜单「看不到」。横向溢出改由主内容区自行约束。
   */
  .main-wrapper,
  .theme-layout-main,
  article,
  .hero {
    max-width: 100%;
  }
}

/* 减弱动效：全局兜底。任何组件忘了处理，这里也能保证页面可用 */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  [data-sx-split] .ch,
  [data-sx-split] .wd {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
  .sx-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* 打印：文档页经常被打印成 PDF */
@media print {
  .navbar,
  .theme-doc-sidebar-container,
  .theme-doc-toc-desktop,
  .pagination-nav,
  .navbar-cta,
  [class*='announcementBar'] {
    display: none !important;
  }
  .theme-doc-markdown {
    max-width: 100%;
  }
}

/**
 * MCP协议深度解析文档样式
 * 统一使用Docusaurus主题色，保持整体风格一致
 */

/* MCP文档统一颜色变量 - 使用与整体一致的蓝色主题 */
:root {
  --mcp-primary: var(--ifm-color-primary);
  --mcp-primary-dark: var(--ifm-color-primary-dark);
  --mcp-primary-light: var(--ifm-color-primary-light);
  --mcp-secondary: var(--ifm-color-secondary);
  --mcp-accent: var(--ifm-color-primary-light);
  --mcp-card-bg: var(--ifm-card-background-color);
  --mcp-border: var(--ifm-color-emphasis-300);
  --mcp-text: var(--ifm-color-content);
  --mcp-text-secondary: var(--ifm-color-content-secondary);
}

[data-theme='dark'] {
  --mcp-primary: var(--ifm-color-primary);
  --mcp-primary-dark: var(--ifm-color-primary-dark);
  --mcp-primary-light: var(--ifm-color-primary-light);
  --mcp-card-bg: var(--ifm-background-surface-color);
  --mcp-border: var(--ifm-color-emphasis-200);
}

/* 统一的高亮框样式 */
.mcp-highlight-box {
  background: var(--mcp-card-bg);
  border-left: 4px solid var(--mcp-primary);
  border: 1px solid var(--mcp-border);
  border-left-width: 4px;
  padding: 1.5rem;
  border-radius: 0.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.mcp-highlight-box:hover {
  box-shadow: 0 4px 12px rgba(56, 97, 251, 0.15);
  transform: translateY(-2px);
  border-color: var(--mcp-primary);
}

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

/* 统一的技术卡片样式 */
.mcp-card {
  background: var(--mcp-card-bg);
  border: 1px solid var(--mcp-border);
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  margin-bottom: 1.5rem;
}

.mcp-card:hover {
  box-shadow: 0 4px 16px rgba(56, 97, 251, 0.12);
  transform: translateY(-2px);
  border-color: var(--mcp-primary);
}

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

/* 对比卡片样式 - 统一风格 */
.mcp-comparison-card {
  border-radius: 0.75rem;
  padding: 1.5rem;
  transition: all 0.3s ease;
  border: 1px solid var(--mcp-border);
  background: var(--mcp-card-bg);
}

.mcp-comparison-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* 成功/警告/错误卡片变体 */
.mcp-card-success {
  border-left: 4px solid var(--ifm-color-success);
  background: var(--ifm-color-success-lightest);
}

.mcp-card-warning {
  border-left: 4px solid var(--ifm-color-warning);
  background: var(--ifm-color-warning-lightest);
}

.mcp-card-danger {
  border-left: 4px solid var(--ifm-color-danger);
  background: var(--ifm-color-danger-lightest);
}

.mcp-card-info {
  border-left: 4px solid var(--ifm-color-info);
  background: var(--ifm-color-info-lightest);
}

/* 统一的网格布局 */
.mcp-grid {
  display: grid;
  gap: 1.5rem;
  margin: 2rem 0;
}

.mcp-grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.mcp-grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

/* 统一的图标容器 */
.mcp-icon-container {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  background: var(--mcp-primary);
  color: white;
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* 圆形图标容器（用于未来展望等） */
.mcp-icon-container-circle {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
  background: var(--mcp-primary);
  color: white;
  font-size: 2rem;
}

/* 图片样式统一 */
.mcp-intro img {
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin: 2rem 0;
  display: block;
}

[data-theme='dark'] .mcp-intro img {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* 统一的标题样式 */
.mcp-section-title {
  font-size: 2rem;
  font-weight: 700;
  margin: 3rem 0 1.5rem 0;
  color: var(--mcp-text);
  border-bottom: 2px solid var(--mcp-border);
  padding-bottom: 0.75rem;
}

.mcp-subsection-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 2rem 0 1rem 0;
  color: var(--mcp-text);
}

/* 统一的文本样式 */
.mcp-text {
  color: var(--mcp-text);
  line-height: 1.7;
  margin-bottom: 1rem;
}

.mcp-text-secondary {
  color: var(--mcp-text-secondary);
  font-size: 0.9375rem;
}

/* 章节分隔线 */
.mcp-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, var(--mcp-border), transparent);
  margin: 3rem 0;
  border: none;
}

/* 统一的列表样式 */
.mcp-list {
  list-style: none;
  padding-left: 0;
  margin: 1rem 0;
}

.mcp-list li {
  padding: 0.5rem 0;
  padding-left: 1.5rem;
  position: relative;
  color: var(--mcp-text-secondary);
  line-height: 1.6;
}

.mcp-list li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: var(--mcp-primary);
  font-weight: bold;
}

/* 响应式优化 */
@media (max-width: 768px) {
  .mcp-highlight-box,
  .mcp-card {
    padding: 1rem;
    margin: 1rem 0;
  }

  .mcp-grid-2,
  .mcp-grid-3 {
    grid-template-columns: 1fr;
  }

  .mcp-section-title {
    font-size: 1.75rem;
  }

  .mcp-subsection-title {
    font-size: 1.25rem;
  }
}

/* 打印样式优化 */
@media print {
  .mcp-highlight-box,
  .mcp-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* 整体文档容器样式 */
.mcp-intro {
  max-width: 100%;
}

.mcp-intro h2 {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--mcp-border);
}

.mcp-intro h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.mcp-intro p {
  line-height: 1.7;
  margin-bottom: 1.25rem;
}

/* 统一表格样式 */
.mcp-intro table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  background: var(--mcp-card-bg);
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.mcp-intro table th {
  background: var(--ifm-color-emphasis-100);
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: 600;
  color: var(--mcp-text);
  border-bottom: 2px solid var(--mcp-border);
}

.mcp-intro table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--mcp-border);
  color: var(--mcp-text-secondary);
}

.mcp-intro table tr:last-child td {
  border-bottom: none;
}

.mcp-intro table tr:hover {
  background: var(--ifm-color-emphasis-50);
}

/* 统一代码块容器 */
.mcp-intro pre {
  border-radius: 0.5rem;
  overflow-x: auto;
}

/* 统一引用块样式 */
.mcp-intro blockquote {
  border-left: 4px solid var(--mcp-primary);
  padding-left: 1rem;
  margin: 1.5rem 0;
  color: var(--mcp-text-secondary);
  font-style: italic;
}


/**
 * RAG技术深度解析文档的自定义样式
 * 适配Docusaurus主题和暗色模式
 */

/* Hero区域样式 */
.hero-gradient {
  background: linear-gradient(135deg, #1e40af 0%, #3730a3 50%, #1e1b4b 100%);
  padding: 3rem 0;
  margin-bottom: 2rem;
  border-radius: 12px;
}

[data-theme='dark'] .hero-gradient {
  background: linear-gradient(135deg, #1e3a8a 0%, #312e81 50%, #1e1b4b 100%);
}

.text-gradient {
  background: linear-gradient(135deg, #1e40af, #0ea5e9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* 高亮框样式 */
.highlight-box {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  border-left: 4px solid #0ea5e9;
  padding: 1.5rem;
  border-radius: 8px;
  margin: 1.5rem 0;
}

[data-theme='dark'] .highlight-box {
  background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
  border-left-color: #3b82f6;
}

/* Mermaid容器样式 */
.mermaid-container {
  display: flex;
  justify-content: center;
  min-height: 300px;
  max-height: 800px;
  background: var(--ifm-background-color);
  border: 2px solid var(--ifm-color-emphasis-300);
  border-radius: 12px;
  padding: 30px;
  margin: 30px 0;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  position: relative;
  overflow: hidden;
}

[data-theme='dark'] .mermaid-container {
  border-color: var(--ifm-color-emphasis-200);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.mermaid-container .mermaid {
  width: 100%;
  max-width: 100%;
  height: 100%;
  cursor: grab;
  transition: transform 0.3s ease;
  transform-origin: center center;
  display: flex;
  justify-content: center;
  align-items: center;
  touch-action: none;
  -webkit-user-select: none;
          user-select: none;
}

.mermaid-container .mermaid:active {
  cursor: grabbing;
}

.mermaid-controls {
  position: absolute;
  top: 15px;
  right: 15px;
  display: flex;
  gap: 10px;
  z-index: 20;
  background: rgba(255, 255, 255, 0.95);
  padding: 8px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

[data-theme='dark'] .mermaid-controls {
  background: rgba(30, 30, 30, 0.95);
}

.mermaid-control-btn {
  background: var(--ifm-background-color);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 6px;
  padding: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--ifm-color-content);
  font-size: 14px;
  min-width: 36px;
  height: 36px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mermaid-control-btn:hover {
  background: var(--ifm-color-emphasis-100);
  border-color: #3b82f6;
  color: #3b82f6;
  transform: translateY(-1px);
}

/* 图表容器样式 */
.performance-charts-container {
  margin: 2rem 0;
}

.chart-placeholder {
  padding: 2rem;
  text-align: center;
  color: var(--ifm-color-content-secondary);
}

/* 引用链接样式 */
.citation-link {
  color: var(--ifm-color-primary);
  -webkit-text-decoration: none;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

.citation-link:hover {
  color: var(--ifm-color-primary-dark);
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

/* 表格样式增强 */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  background: var(--ifm-background-color);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

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

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

[data-theme='dark'] table thead {
  background: var(--ifm-color-emphasis-200);
}

table th {
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  color: var(--ifm-heading-color);
  border-bottom: 2px solid var(--ifm-color-emphasis-300);
}

table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
  color: var(--ifm-color-content);
}

table tbody tr:hover {
  background: var(--ifm-color-emphasis-50);
}

[data-theme='dark'] table tbody tr:hover {
  background: var(--ifm-color-emphasis-100);
}

/* 代码块样式增强 */
.prism-code {
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

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

/* 响应式设计 */
@media (max-width: 768px) {
  .mermaid-container {
    padding: 15px;
    overflow-x: auto;
  }

  .mermaid-control-btn:not(.reset-zoom) {
    display: none;
  }

  .mermaid-controls {
    top: auto;
    bottom: 15px;
    right: 15px;
  }

  .hero-gradient {
    padding: 2rem 1rem;
  }

  table {
    font-size: 0.875rem;
  }

  table th,
  table td {
    padding: 8px 12px;
  }
}

/* 打印样式 */
@media print {
  .mermaid-controls,
  .back-to-top,
  .pdf-export-btn,
  .share-btn {
    display: none !important;
  }

  .mermaid-container {
    page-break-inside: avoid;
  }
}



/* 向量数据库深度解析文档自定义样式 */

/* Hero区域样式 */
.vector-hero {
  margin: 2rem 0 3rem;
}

.vector-hero-badge {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: rgba(59, 130, 246, 0.1);
  color: rgb(37, 99, 235);
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 1rem;
}

[data-theme='dark'] .vector-hero-badge {
  background: rgba(59, 130, 246, 0.2);
  color: rgb(96, 165, 250);
}

.vector-hero-title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1.5rem;
  color: var(--ifm-heading-color);
}

.vector-hero-subtitle {
  font-size: 2.25rem;
  font-style: italic;
  color: var(--ifm-color-primary);
  margin-top: 0.5rem;
  display: block;
}

.vector-hero-description {
  font-size: 1.25rem;
  color: var(--ifm-color-content-secondary);
  line-height: 1.7;
  margin-bottom: 2rem;
}

/* 关键数据展示网格 */
.vector-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin: 2rem 0;
}

.vector-stat-card {
  background: var(--ifm-color-emphasis-100);
  padding: 1rem;
  border-radius: 8px;
  text-align: center;
}

[data-theme='dark'] .vector-stat-card {
  background: var(--ifm-color-emphasis-200);
}

.vector-stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ifm-color-primary);
  margin-bottom: 0.25rem;
}

.vector-stat-label {
  font-size: 0.875rem;
  color: var(--ifm-color-content-secondary);
}

/* 技术卡片样式 */
.vector-tech-card {
  background: var(--ifm-background-surface-color);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  transition: all 0.3s ease;
}

.vector-tech-card:hover {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
  border-color: var(--ifm-color-primary);
  transform: translateY(-2px);
}

[data-theme='dark'] .vector-tech-card:hover {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
}

.vector-tech-card-header {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.vector-tech-card-icon {
  font-size: 1.5rem;
  margin-right: 0.75rem;
}

.vector-tech-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ifm-heading-color);
  margin: 0;
}

.vector-tech-card-content {
  color: var(--ifm-color-content);
  line-height: 1.7;
}

/* 高亮框样式 */
.vector-highlight-box {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(14, 165, 233, 0.1) 100%);
  border-left: 4px solid var(--ifm-color-primary);
  padding: 1.5rem;
  border-radius: 8px;
  margin: 2rem 0;
}

[data-theme='dark'] .vector-highlight-box {
  background: linear-gradient(135deg, rgba(30, 58, 95, 0.5) 0%, rgba(30, 74, 111, 0.5) 100%);
}

.vector-highlight-box-title {
  font-weight: 600;
  color: var(--ifm-heading-color);
  margin-bottom: 0.5rem;
}

/* 引用链接样式 */
.vector-citation {
  color: var(--ifm-color-primary);
  -webkit-text-decoration: none;
  text-decoration: none;
  font-weight: 500;
  border-bottom: 1px dotted var(--ifm-color-primary);
  transition: all 0.2s ease;
}

.vector-citation:hover {
  color: var(--ifm-color-primary-dark);
  border-bottom-style: solid;
}

/* 图片样式 */
.vector-image {
  width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 1.5rem 0;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

[data-theme='dark'] .vector-image {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
}

/* 网格布局 */
.vector-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin: 2rem 0;
}

.vector-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin: 2rem 0;
}

/* 响应式设计 */
@media (max-width: 996px) {
  .vector-hero-title {
    font-size: 2.5rem;
  }

  .vector-hero-subtitle {
    font-size: 1.875rem;
  }

  .vector-hero-description {
    font-size: 1.125rem;
  }

  .vector-grid-2,
  .vector-grid-3 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .vector-hero-title {
    font-size: 2rem;
  }

  .vector-hero-subtitle {
    font-size: 1.5rem;
  }

  .vector-hero-description {
    font-size: 1rem;
  }

  .vector-stats-grid {
    grid-template-columns: 1fr;
  }
}

/* 打印样式 */
@media print {
  .vector-tech-card,
  .vector-highlight-box {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}



/**
 * 全局文档工具样式
 * 定义分享按钮、PDF导出按钮的样式、位置和暗色模式适配
 */

/* 全局文档工具容器 */
.global-doc-tools {
  position: fixed;
  z-index: 40;
}

/* 分享按钮 - 右上角 */
.global-doc-tools__share-btn,
.share-btn {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 40;
  width: 48px;
  height: 48px;
  background-color: #16a34a;
  color: white;
  border: none;
  border-radius: 50%;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: all 0.3s ease;
  padding: 0;
}

/* 分享按钮悬停效果 */
.global-doc-tools__share-btn:hover,
.share-btn:hover {
  background-color: #15803d;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px -1px rgba(0, 0, 0, 0.2);
}

/* 分享按钮激活状态 */
.global-doc-tools__share-btn:active,
.share-btn:active {
  transform: translateY(0);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

/* PDF导出按钮 - 右下角 */
.global-doc-tools__pdf-btn,
.pdf-export-btn {
  position: fixed;
  bottom: 8rem;
  right: 2rem;
  z-index: 40;
  width: 56px;
  height: 56px;
  background-color: #dc2626;
  color: white;
  border: none;
  border-radius: 50%;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: all 0.3s ease;
  padding: 0;
}

/* PDF导出按钮悬停效果 */
.global-doc-tools__pdf-btn:hover:not(:disabled),
.pdf-export-btn:hover:not(:disabled) {
  background-color: #b91c1c;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px -1px rgba(0, 0, 0, 0.2);
}

/* PDF导出按钮禁用状态 */
.global-doc-tools__pdf-btn:disabled,
.pdf-export-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* PDF导出按钮激活状态 */
.global-doc-tools__pdf-btn:active:not(:disabled),
.pdf-export-btn:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

/* 暗色模式适配 */
[data-theme='dark'] .global-doc-tools__share-btn,
[data-theme='dark'] .share-btn {
  background-color: #22c55e;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
}

[data-theme='dark'] .global-doc-tools__share-btn:hover,
[data-theme='dark'] .share-btn:hover {
  background-color: #16a34a;
  box-shadow: 0 6px 12px -1px rgba(0, 0, 0, 0.4);
}

[data-theme='dark'] .global-doc-tools__pdf-btn,
[data-theme='dark'] .pdf-export-btn {
  background-color: #ef4444;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
}

[data-theme='dark'] .global-doc-tools__pdf-btn:hover:not(:disabled),
[data-theme='dark'] .pdf-export-btn:hover:not(:disabled) {
  background-color: #dc2626;
  box-shadow: 0 6px 12px -1px rgba(0, 0, 0, 0.4);
}

/* 返回顶部按钮样式 - 确保与PDF导出按钮不重叠 */
.back-to-top {
  position: fixed !important;
  bottom: 2rem !important;
  right: 2rem !important;
  z-index: 40 !important;
}

/* 移动端响应式设计 */
@media screen and (max-width: 996px) {
  /* 分享按钮 - 移动端调整位置和大小 */
  .global-doc-tools__share-btn,
  .share-btn {
    top: 0.75rem;
    right: 0.75rem;
    width: 44px;
    height: 44px;
    font-size: 18px;
    /* 确保触摸友好 */
    min-width: 44px;
    min-height: 44px;
  }

  /* PDF导出按钮 - 移动端调整位置和大小，确保在返回顶部按钮上方 */
  .global-doc-tools__pdf-btn,
  .pdf-export-btn {
    bottom: 6rem; /* 调整位置，为返回顶部按钮留出空间 */
    right: 1rem;
    width: 48px;
    height: 48px;
    font-size: 18px;
    /* 确保触摸友好 */
    min-width: 44px;
    min-height: 44px;
  }

  /* 返回顶部按钮 - 移动端调整位置和大小 */
  .back-to-top {
    bottom: 1.5rem !important;
    right: 1rem !important;
    width: 44px !important;
    height: 44px !important;
    font-size: 18px !important;
    /* 确保触摸友好 */
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* 小屏幕设备优化 */
@media screen and (max-width: 576px) {
  /* 分享按钮 - 小屏幕保持触摸友好尺寸 */
  .global-doc-tools__share-btn,
  .share-btn {
    top: 0.5rem;
    right: 0.5rem;
    width: 44px; /* 保持最小触摸尺寸 */
    height: 44px;
    font-size: 16px;
    min-width: 44px;
    min-height: 44px;
  }

  /* PDF导出按钮 - 小屏幕保持触摸友好尺寸 */
  .global-doc-tools__pdf-btn,
  .pdf-export-btn {
    bottom: 5.5rem; /* 调整位置，确保不重叠 */
    right: 0.75rem;
    width: 44px; /* 保持最小触摸尺寸 */
    height: 44px;
    font-size: 16px;
    min-width: 44px;
    min-height: 44px;
  }

  /* 返回顶部按钮 - 小屏幕保持触摸友好尺寸 */
  .back-to-top {
    bottom: 1rem !important;
    right: 0.75rem !important;
    width: 44px !important;
    height: 44px !important;
    font-size: 16px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* 确保按钮不遮挡重要内容 */
@media screen and (max-width: 996px) {
  /* 在移动端，确保按钮不会遮挡导航栏或侧边栏 */
  .global-doc-tools__share-btn,
  .share-btn {
    /* 考虑导航栏高度，但不要太大，避免按钮位置过高 */
    top: max(0.75rem, calc(var(--ifm-navbar-height, 64px) - 50px));
  }

  /* 确保按钮之间有足够的间距，避免重叠 */
  .global-doc-tools__pdf-btn,
  .pdf-export-btn {
    /* 确保PDF按钮和返回顶部按钮之间有足够间距 */
    bottom: calc(1.5rem + 44px + 0.5rem); /* 返回顶部按钮高度 + 间距 */
  }
}

/* 超小屏幕设备（如iPhone SE） */
@media screen and (max-width: 375px) {
  .global-doc-tools__share-btn,
  .share-btn {
    top: 0.5rem;
    right: 0.5rem;
  }

  .global-doc-tools__pdf-btn,
  .pdf-export-btn {
    bottom: 5rem;
    right: 0.5rem;
  }

  .back-to-top {
    bottom: 0.75rem !important;
    right: 0.5rem !important;
  }
}

/* 动画过渡效果 */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.global-doc-tools__share-btn,
.global-doc-tools__pdf-btn,
.share-btn,
.pdf-export-btn {
  animation: fadeIn 0.3s ease-out;
}

/* 可访问性优化 */
.global-doc-tools__share-btn:focus,
.global-doc-tools__pdf-btn:focus,
.share-btn:focus,
.pdf-export-btn:focus {
  outline: 2px solid var(--ifm-color-primary);
  outline-offset: 2px;
}

/* 打印时隐藏按钮 */
@media print {
  .global-doc-tools,
  .global-doc-tools__share-btn,
  .global-doc-tools__pdf-btn,
  .share-btn,
  .pdf-export-btn {
    display: none !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.
 */

.container_UJDL {
  padding: 20px;
  padding-top: 80px;
  overflow-x: hidden;
  background-color: #18191a;
  color: white;
  min-height: 100vh;
}

.container_UJDL code {
  color: white;
  background-color: #444950;
}

.nav_uyzg {
  position: fixed;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  height: 3.75rem;
  background-color: #242526;
  width: 100%;
  z-index: 1;
}

.navlink_fkkq {
  color: white;
  font-weight: 500;
  font-size: clamp(12px, 4vw, 16px);
  text-align: center;
  border-radius: 4px;
  padding: 6px;
}

.navlink_fkkq:hover {
  -webkit-text-decoration: none;
  text-decoration: none;
  background-color: #292a2b;
}

.active_YJyX {
  background-color: #363739;
}

@media screen and (min-width: 800px) {
  .nav_uyzg {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 100vh;
    width: 200px;
    float: left;
    background-color: #18191a;
    border-right: 1px solid #606770;
    padding-top: 20px;
  }

  .navlink_fkkq {
    width: 80%;
    margin-top: 20px;
    text-align: left;
  }

  .container_UJDL {
    padding-top: 40px;
    float: right;
    width: calc(100% - 200px);
  }
}

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

.containerParaiso_cQJv {
  font-family: monospace;
  cursor: default;
  background-color: rgb(41 42 43);
  position: relative;
  margin-top: 10px;
  padding: 10px;
  border-radius: 4px;
  font-size: 13px;
}

.basicElementParaiso_QZsA {
  color: white;
  padding: 3px 5px 3px 20px;
  border-left: 1px solid rgb(79 66 76);
}

.labelParaiso_wRN4 {
  color: rgb(231 233 219);
  letter-spacing: 0.5px;
  margin-right: 3px;
}

.nullValueParaiso_AoA7 {
  display: inline-block;
  color: rgb(254 196 24);
  font-size: 11px;
  font-weight: bold;
  background-color: rgb(79 66 76);
  padding: 1px 2px;
  border-radius: 3px;
  text-transform: uppercase;
}

.undefinedValueParaiso_FhTI {
  color: rgb(141 134 135);
}

.stringValueParaiso_V3BI {
  color: rgb(249 155 21);
}

.booleanValueParaiso_DtTx {
  color: rgb(129 91 164);
}

.numberValueParaiso_QJS7 {
  color: rgb(233 107 168);
}

.otherValueParaiso_LEJn {
  color: white;
}

.punctuationParaiso_IgdH {
  color: white;
}

.expandIconParaiso_FXv1 {
  display: inline-block;
  color: rgb(129 91 164);
  font-size: 22px;
  vertical-align: baseline;
  margin-right: 3px;
  line-height: 10px;
}

.collapseIconParaiso_vUhq::after {
  content: '\25BE';
}

.collapseIconParaiso_vUhq {
  display: inline-block;
  color: rgb(6 182 239);
  font-size: 22px;
  vertical-align: baseline;
  margin-right: 3px;
  line-height: 10px;
}

.expandIconParaiso_FXv1::after {
  content: '\25B8';
}

.collapseContentParaiso_r7rr {
  color: rgb(249 155 21);
  font-size: 18px;
  line-height: 10px;
  cursor: pointer;
}

.collapseContentParaiso_r7rr::after {
  content: '...';
}

/*
Overrides default ul style from Infima
See https://github.com/AnyRoad/react-json-view-lite/issues/38
*/
.childFieldsContainerParaiso_hs_3 {
  margin: 0;
  padding: 0;
}

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

.listItem_UIrj {
  background-color: #242526;
  padding: 10px;
  border-radius: 4px;
  margin-bottom: 20px;
}

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

.listItem_Ild6 {
  background-color: #242526;
  padding: 10px;
  border-radius: 4px;
  margin-bottom: 20px;
}

.route_NfVu {
  margin-bottom: 10px;
}

.routeName_Q1Ui {
  color: #e06b6b;
}

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

.sectionTitle_gpPX {
  margin-top: 20px;
}

.listItem_KhP1 {
  background-color: #242526;
  padding: 10px;
  border-radius: 4px;
  margin-bottom: 20px;
}

.version_eAdG {
  float: right;
}

.name_omfq {
  font-weight: 800;
  color: #e06b6b;
}

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

:root {
  --docusaurus-tag-list-border: var(--ifm-color-emphasis-300);
}

.tag_zVej {
  border: 1px solid var(--docusaurus-tag-list-border);
  transition: border var(--ifm-transition-fast);
}

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

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

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

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

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

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

.tagWithCount_h2kH span {
  background: var(--ifm-color-secondary);
  color: var(--ifm-color-black);
  font-size: 0.7rem;
  line-height: 1.2;
  border-radius: var(--ifm-global-radius);
  padding: 0.1rem 0.4rem;
  margin-left: 0.3rem;
}

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

.tags_jXut {
  display: inline;
}

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

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

.backToTopButton_sjWU {
  position: fixed;
  right: 1.3rem;
  bottom: 1.3rem;
  border-radius: 50%;
  background-color: var(--ifm-color-emphasis-200);
  width: 3rem;
  height: 3rem;
  z-index: calc(var(--ifm-z-index-fixed) - 1);
  box-shadow: var(--ifm-global-shadow-lw);
  transition: all var(--ifm-transition-fast)
    var(--ifm-transition-timing-default);
  opacity: 0;
  transform: scale(0);
  visibility: hidden;
}

.backToTopButton_sjWU::after {
  content: ' ';
  display: inline-block;
  mask: var(--ifm-menu-link-sublist-icon) 50% / 2rem 2rem no-repeat;
  background-color: var(--ifm-color-emphasis-1000);
  width: 100%;
  height: 100%;
}

@media (hover: hover) {
  .backToTopButton_sjWU:hover {
    background-color: var(--ifm-color-emphasis-300);
  }
}

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

.architectureContainer_bOL2 {
  margin: 2rem 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  background: var(--ifm-card-background-color);
  border: 1px solid var(--ifm-color-emphasis-300);
}

.architectureHeader_eMLL {
  padding: 1.5rem;
  background: var(--ifm-color-emphasis-100);
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
}

.architectureTitle__c31 {
  margin: 0 0 0.5rem 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ifm-heading-color);
}

.architectureDescription_lxvm {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--ifm-color-content-secondary);
}

.architectureWrapper_eB5R {
  position: relative;
  min-height: 400px;
  max-height: 600px;
  overflow: hidden;
  background: var(--ifm-background-color);
  touch-action: none;
}

.architectureContent_EKPD {
  width: 100%;
  height: 100%;
  min-height: 400px;
  transition: transform 0.1s ease-out;
  -webkit-user-select: none;
          user-select: none;
}

.architectureSvg_Gfvw {
  width: 100%;
  height: 100%;
  min-height: 400px;
}

.architectureNode_w14H {
  cursor: pointer;
  transition: all 0.2s ease;
}

.architectureNode_w14H:hover {
  opacity: 0.8;
  transform: scale(1.1);
}

.controls_y7cr {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  z-index: 10;
  background: rgba(255, 255, 255, 0.95);
  padding: 0.5rem;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.controlButton_s3Rz {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ifm-color-emphasis-200);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 6px;
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ifm-color-content);
  transition: all 0.2s ease;
}

.controlButton_s3Rz:hover {
  background: var(--ifm-color-emphasis-300);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.controlButton_s3Rz:active {
  transform: translateY(0);
}

.modalOverlay_Eb69 {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 1rem;
  animation: fadeIn_aB_T 0.2s ease;
}

@keyframes fadeIn_aB_T {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.modalContent_oOQJ {
  background: var(--ifm-card-background-color);
  border-radius: 12px;
  padding: 2rem;
  max-width: 500px;
  width: 100%;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  position: relative;
  animation: slideUp_jHHT 0.3s ease;
}

@keyframes slideUp_jHHT {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.modalClose_mlY2 {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ifm-color-emphasis-200);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--ifm-color-content);
  transition: all 0.2s ease;
}

.modalClose_mlY2:hover {
  background: var(--ifm-color-emphasis-300);
  transform: rotate(90deg);
}

.modalTitle_r5mV {
  margin: 0 0 1rem 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--ifm-heading-color);
}

.modalDescription___I2 {
  margin: 0 0 1.5rem 0;
  color: var(--ifm-color-content);
  line-height: 1.6;
}

.modalFeatures_dKCs {
  margin: 0;
  padding-left: 1.5rem;
  color: var(--ifm-color-content);
}

.modalFeatures_dKCs li {
  margin: 0.5rem 0;
  line-height: 1.6;
}

/* 暗色模式适配 */
[data-theme='dark'] .architectureContainer_bOL2 {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

[data-theme='dark'] .architectureHeader_eMLL {
  background: var(--ifm-color-emphasis-100);
}

[data-theme='dark'] .controls_y7cr {
  background: rgba(30, 30, 30, 0.95);
}

[data-theme='dark'] .controlButton_s3Rz {
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-content);
}

[data-theme='dark'] .modalContent_oOQJ {
  background: var(--ifm-background-surface-color);
}

/* 移动端适配 */
@media (max-width: 768px) {
  .architectureWrapper_eB5R {
    min-height: 300px;
    max-height: 400px;
  }

  .architectureContent_EKPD {
    min-height: 300px;
  }

  .architectureSvg_Gfvw {
    min-height: 300px;
  }

  .controls_y7cr {
    top: 0.5rem;
    right: 0.5rem;
    padding: 0.375rem;
    gap: 0.375rem;
  }

  .controlButton_s3Rz {
    width: 32px;
    height: 32px;
    font-size: 1rem;
  }

  .modalContent_oOQJ {
    padding: 1.5rem;
    max-width: 90%;
  }
}


.codeBlockWrapper_Wcg8 {
  position: relative;
  margin: 1.5rem 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background: var(--ifm-code-background);
  border: 1px solid var(--ifm-color-emphasis-300);
}

.codeBlockTitle_oyZF {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: var(--ifm-color-emphasis-100);
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
  font-size: 0.875rem;
  font-weight: 500;
}

.titleText_Fr0m {
  color: var(--ifm-color-content);
}

.languageLabel_ULCT {
  padding: 0.25rem 0.5rem;
  background: var(--ifm-color-emphasis-200);
  border-radius: 4px;
  font-size: 0.75rem;
  color: var(--ifm-color-content-secondary);
  text-transform: uppercase;
  font-weight: 600;
}

.codeBlockContainer_UWZS {
  position: relative;
  overflow-x: auto;
}

.codeBlock_n8CF {
  margin: 0;
  padding: 1rem 1.5rem;
  background: var(--ifm-code-background);
  color: var(--ifm-code-color);
  font-size: 0.875rem;
  line-height: 1.6;
  overflow-x: auto;
  border-radius: 0;
}

.codeBlock_n8CF code {
  background: transparent;
  padding: 0;
  border: none;
  font-size: inherit;
  color: inherit;
}

.copyButton_vymH {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: var(--ifm-color-emphasis-200);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.875rem;
  color: var(--ifm-color-content);
  transition: all 0.2s ease;
  z-index: 10;
  opacity: 0.8;
}

.copyButton_vymH:hover {
  opacity: 1;
  background: var(--ifm-color-emphasis-300);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.copyButton_vymH:active {
  transform: translateY(0);
}

.copyButton_vymH.copied_lJbe {
  background: var(--ifm-color-success);
  color: white;
  border-color: var(--ifm-color-success);
  opacity: 1;
}

.copyButton_vymH.copied_lJbe:hover {
  background: var(--ifm-color-success-dark);
}

.copyIcon_MMtF,
.checkIcon_EsWR {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.copyText_cqao {
  font-weight: 500;
  white-space: nowrap;
}

/* 暗色模式适配 */
[data-theme='dark'] .codeBlockWrapper_Wcg8 {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

[data-theme='dark'] .codeBlockTitle_oyZF {
  background: var(--ifm-color-emphasis-100);
}

[data-theme='dark'] .copyButton_vymH {
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-content);
}

[data-theme='dark'] .copyButton_vymH:hover {
  background: var(--ifm-color-emphasis-300);
}

/* 移动端适配 */
@media (max-width: 768px) {
  .copyButton_vymH {
    padding: 0.375rem 0.5rem;
    font-size: 0.75rem;
  }

  .copyText_cqao {
    display: none;
  }

  .copyButton_vymH {
    width: 32px;
    height: 32px;
    padding: 0;
    justify-content: center;
  }
}


.faqContainer_C5VV {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 2rem 0;
}

.faqItem_XchF {
  background: var(--ifm-card-background-color);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.faqItem_XchF:hover {
  border-color: var(--ifm-color-emphasis-400);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.faqItemOpen_z4cz {
  border-color: var(--ifm-color-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.faqQuestion_L7o4 {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  color: var(--ifm-heading-color);
  transition: all 0.2s ease;
}

.faqQuestion_L7o4:hover {
  color: var(--ifm-color-primary);
  background: var(--ifm-color-emphasis-100);
}

.faqQuestion_L7o4:focus {
  outline: 2px solid var(--ifm-color-primary);
  outline-offset: -2px;
}

.questionText_phnF {
  flex: 1;
  margin-right: 1rem;
  line-height: 1.5;
}

.arrowIcon_sO5M {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--ifm-color-emphasis-600);
  transition: transform 0.3s ease;
  transform: rotate(0deg);
}

.arrowIconOpen_w3As {
  transform: rotate(180deg);
  color: var(--ifm-color-primary);
}

.faqAnswer_xN09 {
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.3s ease;
  max-height: 0;
  opacity: 0;
}

.faqAnswerContent_Hz2S {
  padding: 0 1.5rem 1.5rem 1.5rem;
  color: var(--ifm-color-content);
  line-height: 1.7;
}

.faqAnswerContent_Hz2S p {
  margin: 0.75rem 0;
}

.faqAnswerContent_Hz2S p:first-child {
  margin-top: 0;
}

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

.faqAnswerContent_Hz2S ul,
.faqAnswerContent_Hz2S ol {
  margin: 0.75rem 0;
  padding-left: 1.5rem;
}

.faqAnswerContent_Hz2S li {
  margin: 0.5rem 0;
}

.faqAnswerContent_Hz2S code {
  background: var(--ifm-code-background);
  color: var(--ifm-code-color);
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  font-size: 0.875em;
}

.faqAnswerContent_Hz2S pre {
  background: var(--ifm-code-background);
  padding: 1rem;
  border-radius: 6px;
  overflow-x: auto;
  margin: 1rem 0;
}

.faqAnswerContent_Hz2S pre code {
  background: transparent;
  padding: 0;
}

/* 暗色模式适配 */
[data-theme='dark'] .faqItem_XchF {
  background: var(--ifm-background-surface-color);
  border-color: var(--ifm-color-emphasis-200);
}

[data-theme='dark'] .faqItem_XchF:hover {
  border-color: var(--ifm-color-emphasis-300);
}

[data-theme='dark'] .faqItemOpen_z4cz {
  border-color: var(--ifm-color-primary);
}

[data-theme='dark'] .faqQuestion_L7o4:hover {
  background: var(--ifm-color-emphasis-100);
}

/* 移动端适配 */
@media (max-width: 768px) {
  .faqQuestion_L7o4 {
    padding: 1rem;
    font-size: 0.9375rem;
  }

  .faqAnswerContent_Hz2S {
    padding: 0 1rem 1rem 1rem;
    font-size: 0.9375rem;
  }

  .arrowIcon_sO5M {
    width: 18px;
    height: 18px;
  }
}


.comparisonContainer_FocV {
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--ifm-color-emphasis-0);
  border-radius: 12px;
  border: 1px solid var(--ifm-color-emphasis-200);
}

.modeSwitcher__IB8 {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
}

.modeButton_CNxd {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: var(--ifm-color-emphasis-100);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.875rem;
  color: var(--ifm-color-content);
  transition: all 0.2s ease;
}

.modeButton_CNxd:hover {
  background: var(--ifm-color-emphasis-200);
  border-color: var(--ifm-color-emphasis-400);
}

.modeButton_CNxd.active_stkf {
  background: var(--ifm-color-primary);
  color: white;
  border-color: var(--ifm-color-primary);
}

.modeButton_CNxd.active_stkf:hover {
  background: var(--ifm-color-primary-dark);
}

/* 表格模式样式 */
.tableWrapper_aBZw {
  overflow-x: auto;
  margin: 1rem 0;
}

.comparisonTable_kuNF {
  width: 100%;
  border-collapse: collapse;
  background: var(--ifm-background-color);
  border-radius: 8px;
  overflow: hidden;
}

.comparisonTable_kuNF thead {
  background: var(--ifm-color-emphasis-100);
}

.comparisonTable_kuNF th {
  padding: 1rem;
  text-align: left;
  font-weight: 600;
  color: var(--ifm-color-content);
  border-bottom: 2px solid var(--ifm-color-emphasis-300);
}

.dimensionColumn_rO83 {
  width: 20%;
  min-width: 150px;
}

.protocolColumn_iA3i {
  width: 40%;
}

.comparisonTable_kuNF tbody tr {
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
  transition: background 0.2s ease;
}

.comparisonTable_kuNF tbody tr:hover {
  background: var(--ifm-color-emphasis-50);
}

.comparisonTable_kuNF td {
  padding: 1rem;
  vertical-align: top;
  color: var(--ifm-color-content-secondary);
}

.dimensionCell_JkCN {
  font-weight: 500;
  color: var(--ifm-color-content);
}

.protocolCell_X9zz {
  line-height: 1.6;
}

/* 卡片模式样式 */
.cardsWrapper_zY_J {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin: 1rem 0;
}

.protocolCard_SVI3 {
  background: var(--ifm-background-color);
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 8px;
  padding: 1.5rem;
  transition: all 0.2s ease;
}

.protocolCard_SVI3:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: var(--ifm-color-emphasis-300);
}

.cardHeader_i67H {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
}

.cardTitle_hJEi {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 0.25rem 0;
  color: var(--ifm-color-primary);
}

.cardSubtitle_e0ak {
  font-size: 0.875rem;
  color: var(--ifm-color-content-secondary);
  margin: 0;
  font-style: italic;
}

.cardDescription_MeIC {
  color: var(--ifm-color-content-secondary);
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.cardSection_ysK6 {
  margin-bottom: 1.5rem;
}

.cardSection_ysK6:last-child {
  margin-bottom: 0;
}

.sectionTitle_uhsG {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.75rem 0;
  color: var(--ifm-color-content);
}

.strengthsList_rg1p,
.useCasesList_jW7R {
  list-style: none;
  padding: 0;
  margin: 0;
}

.strengthItem_zlqI,
.useCaseItem_Vsut {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0;
  color: var(--ifm-color-content-secondary);
  line-height: 1.5;
}

.strengthItem_zlqI {
  gap: 0.75rem;
}

.checkIcon_U_WX {
  flex-shrink: 0;
  margin-top: 0.125rem;
  color: var(--ifm-color-success);
}

.useCaseItem_Vsut {
  padding-left: 1.5rem;
  position: relative;
}

.useCaseItem_Vsut::before {
  content: '•';
  position: absolute;
  left: 0;
  color: var(--ifm-color-primary);
  font-weight: bold;
}

/* 补充说明 */
.footerNote_YaA1 {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ifm-color-emphasis-200);
}

.footerNote_YaA1 p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--ifm-color-content-secondary);
  line-height: 1.6;
}

.footerNote_YaA1 strong {
  color: var(--ifm-color-content);
}

/* 响应式设计 */
@media (max-width: 768px) {
  .cardsWrapper_zY_J {
    grid-template-columns: 1fr;
  }

  .comparisonTable_kuNF {
    font-size: 0.875rem;
  }

  .comparisonTable_kuNF th,
  .comparisonTable_kuNF td {
    padding: 0.75rem 0.5rem;
  }

  .dimensionColumn_rO83 {
    min-width: 120px;
  }

  .modeSwitcher__IB8 {
    flex-direction: column;
  }

  .modeButton_CNxd {
    width: 100%;
    justify-content: center;
  }
}

/* 暗色模式适配 */
[data-theme='dark'] .comparisonContainer_FocV {
  background: var(--ifm-color-emphasis-100);
}

[data-theme='dark'] .protocolCard_SVI3 {
  background: var(--ifm-background-color);
}

[data-theme='dark'] .comparisonTable_kuNF thead {
  background: var(--ifm-color-emphasis-200);
}


/**
 * A2A协议深度解析文档样式
 * 统一使用Docusaurus主题色，保持整体风格一致
 */

/* A2A文档统一颜色变量 - 使用与整体一致的蓝色主题 */
:root {
  --a2a-primary: var(--ifm-color-primary);
  --a2a-primary-dark: var(--ifm-color-primary-dark);
  --a2a-primary-light: var(--ifm-color-primary-light);
  --a2a-secondary: var(--ifm-color-secondary);
  --a2a-accent: var(--ifm-color-primary-light);
  --a2a-card-bg: var(--ifm-card-background-color);
  --a2a-border: var(--ifm-color-emphasis-300);
  --a2a-text: var(--ifm-color-content);
  --a2a-text-secondary: var(--ifm-color-content-secondary);
}

[data-theme='dark'] {
  --a2a-primary: var(--ifm-color-primary);
  --a2a-primary-dark: var(--ifm-color-primary-dark);
  --a2a-primary-light: var(--ifm-color-primary-light);
  --a2a-card-bg: var(--ifm-background-surface-color);
  --a2a-border: var(--ifm-color-emphasis-200);
}

/* 统一的高亮框样式 */
.a2a-highlight-box {
  background: var(--a2a-card-bg);
  border-left: 4px solid var(--a2a-primary);
  border: 1px solid var(--a2a-border);
  border-left-width: 4px;
  padding: 1.5rem;
  border-radius: 0.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.a2a-highlight-box:hover {
  box-shadow: 0 4px 12px rgba(56, 97, 251, 0.15);
  transform: translateY(-2px);
  border-color: var(--a2a-primary);
}

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

/* 统一的技术卡片样式 */
.a2a-card {
  background: var(--a2a-card-bg);
  border: 1px solid var(--a2a-border);
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  margin-bottom: 1.5rem;
}

.a2a-card:hover {
  box-shadow: 0 4px 16px rgba(56, 97, 251, 0.12);
  transform: translateY(-2px);
  border-color: var(--a2a-primary);
}

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

/* 成功/警告/错误卡片变体 */
.a2a-card-success {
  border-left: 4px solid var(--ifm-color-success);
  background: var(--ifm-color-success-lightest);
}

.a2a-card-warning {
  border-left: 4px solid var(--ifm-color-warning);
  background: var(--ifm-color-warning-lightest);
}

.a2a-card-danger {
  border-left: 4px solid var(--ifm-color-danger);
  background: var(--ifm-color-danger-lightest);
}

.a2a-card-info {
  border-left: 4px solid var(--ifm-color-info);
  background: var(--ifm-color-info-lightest);
}

/* 统一的网格布局 */
.a2a-grid {
  display: grid;
  gap: 1.5rem;
  margin: 2rem 0;
}

.a2a-grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.a2a-grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

/* 统一的图标容器 */
.a2a-icon-container {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  background: var(--a2a-primary);
  color: white;
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* 时间线样式 */
.a2a-timeline {
  position: relative;
  padding-left: 2rem;
  margin: 2rem 0;
}

.a2a-timeline::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--a2a-primary);
}

.a2a-timeline-item {
  position: relative;
  padding-bottom: 2rem;
  padding-left: 2rem;
}

.a2a-timeline-item::before {
  content: '';
  position: absolute;
  left: -1.5rem;
  top: 0.5rem;
  width: 1rem;
  height: 1rem;
  background: var(--a2a-primary);
  border-radius: 50%;
  border: 3px solid var(--ifm-background-color);
}

.a2a-timeline-item h4 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--a2a-text);
}

.a2a-timeline-item p {
  color: var(--a2a-text-secondary);
  line-height: 1.6;
  margin: 0;
}

/* 案例研究卡片 */
.a2a-case-study {
  background: var(--ifm-color-info-lightest);
  border-left: 4px solid var(--ifm-color-info);
  padding: 1.5rem;
  margin: 2rem 0;
  border-radius: 0 0.5rem 0.5rem 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.a2a-case-study h3,
.a2a-case-study h4 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--a2a-text);
}

.a2a-case-study p {
  color: var(--a2a-text-secondary);
  line-height: 1.7;
  margin-bottom: 0.75rem;
}

/* 图片样式统一 */
.a2a-intro img {
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin: 2rem 0;
  display: block;
}

[data-theme='dark'] .a2a-intro img {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* 统一的标题样式 */
.a2a-section-title {
  font-size: 2rem;
  font-weight: 700;
  margin: 3rem 0 1.5rem 0;
  color: var(--a2a-text);
  border-bottom: 2px solid var(--a2a-border);
  padding-bottom: 0.75rem;
}

.a2a-subsection-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 2rem 0 1rem 0;
  color: var(--a2a-text);
}

/* 统一的文本样式 */
.a2a-text {
  color: var(--a2a-text);
  line-height: 1.7;
  margin-bottom: 1rem;
}

.a2a-text-secondary {
  color: var(--a2a-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.6;
}

/* 整体文档容器样式 */
.a2a-intro {
  max-width: 100%;
}

.a2a-intro h2 {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--a2a-border);
}

.a2a-intro h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.a2a-intro h4 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.a2a-intro p {
  line-height: 1.7;
  margin-bottom: 1.25rem;
}

/* 统一表格样式 */
.a2a-intro table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  background: var(--a2a-card-bg);
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.a2a-intro table th {
  background: var(--ifm-color-emphasis-100);
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: 600;
  color: var(--a2a-text);
  border-bottom: 2px solid var(--a2a-border);
}

.a2a-intro table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--a2a-border);
  color: var(--a2a-text-secondary);
}

.a2a-intro table tr:last-child td {
  border-bottom: none;
}

.a2a-intro table tr:hover {
  background: var(--ifm-color-emphasis-50);
}

/* 统一代码块容器 */
.a2a-intro pre {
  border-radius: 0.5rem;
  overflow-x: auto;
}

/* 统一引用块样式 */
.a2a-intro blockquote {
  border-left: 4px solid var(--a2a-primary);
  padding-left: 1rem;
  margin: 1.5rem 0;
  color: var(--a2a-text-secondary);
  font-style: italic;
}

/* 响应式优化 */
@media (max-width: 768px) {
  .a2a-highlight-box,
  .a2a-card {
    padding: 1rem;
    margin: 1rem 0;
  }

  .a2a-grid-2,
  .a2a-grid-3 {
    grid-template-columns: 1fr;
  }

  .a2a-section-title {
    font-size: 1.75rem;
  }

  .a2a-subsection-title {
    font-size: 1.25rem;
  }

  .a2a-timeline {
    padding-left: 1.5rem;
  }

  .a2a-timeline-item {
    padding-left: 1.5rem;
  }
}

/* 打印样式优化 */
@media print {
  .a2a-highlight-box,
  .a2a-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/**
 * Transformer架构深度研究报告文档样式
 * 统一使用Docusaurus主题色，保持整体风格一致
 */

/* Transformer文档统一颜色变量 - 使用与整体一致的蓝色主题 */
:root {
  --transformer-primary: var(--ifm-color-primary);
  --transformer-primary-dark: var(--ifm-color-primary-dark);
  --transformer-primary-light: var(--ifm-color-primary-light);
  --transformer-secondary: var(--ifm-color-secondary);
  --transformer-accent: var(--ifm-color-primary-light);
  --transformer-card-bg: var(--ifm-card-background-color);
  --transformer-border: var(--ifm-color-emphasis-300);
  --transformer-text: var(--ifm-color-content);
  --transformer-text-secondary: var(--ifm-color-content-secondary);
}

[data-theme='dark'] {
  --transformer-primary: var(--ifm-color-primary);
  --transformer-primary-dark: var(--ifm-color-primary-dark);
  --transformer-primary-light: var(--ifm-color-primary-light);
  --transformer-card-bg: var(--ifm-background-surface-color);
  --transformer-border: var(--ifm-color-emphasis-200);
}

/* 统一的高亮框样式 */
.transformer-highlight-box {
  background: var(--transformer-card-bg);
  border-left: 4px solid var(--transformer-primary);
  border: 1px solid var(--transformer-border);
  border-left-width: 4px;
  padding: 1.5rem;
  border-radius: 0.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.transformer-highlight-box:hover {
  box-shadow: 0 4px 12px rgba(56, 97, 251, 0.15);
  transform: translateY(-2px);
  border-color: var(--transformer-primary);
}

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

/* 统一的技术卡片样式 */
.transformer-card {
  background: var(--transformer-card-bg);
  border: 1px solid var(--transformer-border);
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  margin-bottom: 1.5rem;
}

.transformer-card:hover {
  box-shadow: 0 4px 16px rgba(56, 97, 251, 0.12);
  transform: translateY(-2px);
  border-color: var(--transformer-primary);
}

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

/* 成功/警告/错误卡片变体 */
.transformer-card-success {
  border-left: 4px solid var(--ifm-color-success);
  background: var(--ifm-color-success-lightest);
}

.transformer-card-warning {
  border-left: 4px solid var(--ifm-color-warning);
  background: var(--ifm-color-warning-lightest);
}

.transformer-card-danger {
  border-left: 4px solid var(--ifm-color-danger);
  background: var(--ifm-color-danger-lightest);
}

.transformer-card-info {
  border-left: 4px solid var(--ifm-color-info);
  background: var(--ifm-color-info-lightest);
}

/* 统一的网格布局 */
.transformer-grid {
  display: grid;
  gap: 1.5rem;
  margin: 2rem 0;
}

.transformer-grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.transformer-grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

/* 统一的图标容器 */
.transformer-icon-container {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  background: var(--transformer-primary);
  color: white;
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* 圆形图标容器（用于未来展望等） */
.transformer-icon-container-circle {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
  background: var(--transformer-primary);
  color: white;
  font-size: 2rem;
}

/* 图片样式统一 */
.transformer-intro img {
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin: 2rem 0;
  display: block;
}

[data-theme='dark'] .transformer-intro img {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* 统一的标题样式 */
.transformer-section-title {
  font-size: 2rem;
  font-weight: 700;
  margin: 3rem 0 1.5rem 0;
  color: var(--transformer-text);
  border-bottom: 2px solid var(--transformer-border);
  padding-bottom: 0.75rem;
}

.transformer-subsection-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 2rem 0 1rem 0;
  color: var(--transformer-text);
}

/* 统一的文本样式 */
.transformer-text {
  color: var(--transformer-text);
  line-height: 1.7;
  margin-bottom: 1rem;
}

.transformer-text-secondary {
  color: var(--transformer-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.6;
}

/* 章节分隔线 */
.transformer-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, var(--transformer-border), transparent);
  margin: 3rem 0;
  border: none;
}

/* 统一的列表样式 */
.transformer-list {
  list-style: none;
  padding-left: 0;
  margin: 1rem 0;
}

.transformer-list li {
  padding: 0.5rem 0;
  padding-left: 1.5rem;
  position: relative;
  color: var(--transformer-text-secondary);
  line-height: 1.6;
}

.transformer-list li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: var(--transformer-primary);
  font-weight: bold;
}

/* 数学公式样式 */
.transformer-math-formula {
  background: var(--transformer-card-bg);
  border: 1px solid var(--transformer-border);
  border-radius: 0.5rem;
  padding: 1rem;
  margin: 1rem 0;
  text-align: center;
}

.transformer-math-formula code {
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 0.9rem;
  background: transparent;
  padding: 0;
}

/* 整体文档容器样式 */
.transformer-intro {
  max-width: 100%;
}

.transformer-intro h2 {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--transformer-border);
}

.transformer-intro h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.transformer-intro h4 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.transformer-intro p {
  line-height: 1.7;
  margin-bottom: 1.25rem;
}

/* 统一表格样式 */
.transformer-intro table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  background: var(--transformer-card-bg);
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.transformer-intro table th {
  background: var(--ifm-color-emphasis-100);
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: 600;
  color: var(--transformer-text);
  border-bottom: 2px solid var(--transformer-border);
}

.transformer-intro table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--transformer-border);
  color: var(--transformer-text-secondary);
}

.transformer-intro table tr:last-child td {
  border-bottom: none;
}

.transformer-intro table tr:hover {
  background: var(--ifm-color-emphasis-50);
}

/* 统一代码块容器 */
.transformer-intro pre {
  border-radius: 0.5rem;
  overflow-x: auto;
}

/* 统一引用块样式 */
.transformer-intro blockquote {
  border-left: 4px solid var(--transformer-primary);
  padding-left: 1rem;
  margin: 1.5rem 0;
  color: var(--transformer-text-secondary);
  font-style: italic;
}

/* 引用链接样式 */
.transformer-intro .citation {
  color: var(--transformer-primary);
  -webkit-text-decoration: none;
  text-decoration: none;
  font-weight: 500;
  margin-left: 0.25rem;
}

.transformer-intro .citation:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

/* Hero区域样式 */
.transformer-hero {
  background: linear-gradient(135deg, var(--transformer-primary) 0%, var(--transformer-primary-dark) 100%);
  color: white;
  padding: 3rem 0;
  border-radius: 0.75rem;
  margin: 2rem 0;
}

.transformer-hero h1 {
  color: white;
  border-bottom: none;
  margin-top: 0;
}

/* 改进卡片间距 */
.transformer-card + .transformer-card {
  margin-top: 1.5rem;
}

/* 改进代码块和图表容器 */
.transformer-intro .theme-code-block,
.transformer-intro [class*="mermaid"] {
  margin: 2rem 0;
}

/* 改进表格样式 */
.transformer-intro table {
  font-size: 0.9375rem;
}

.transformer-intro table th {
  font-weight: 700;
  letter-spacing: 0.025em;
}

/* 改进引用链接样式 */
.transformer-intro .citation {
  font-size: 0.875rem;
  vertical-align: super;
  line-height: 0;
}

/* 改进分隔线 */
.transformer-intro hr {
  margin: 3rem 0;
  border: none;
  border-top: 2px solid var(--transformer-border);
}

/* 响应式优化 */
@media (max-width: 768px) {
  .transformer-highlight-box,
  .transformer-card {
    padding: 1rem;
    margin: 1rem 0;
  }

  .transformer-grid-2,
  .transformer-grid-3 {
    grid-template-columns: 1fr;
  }

  .transformer-section-title {
    font-size: 1.75rem;
  }

  .transformer-subsection-title {
    font-size: 1.25rem;
  }
}

/* 打印样式优化 */
@media print {
  .transformer-highlight-box,
  .transformer-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}


.list_YlIS {
  padding: 0 0 1rem;
}

.listHeader_sUwA {
  font-size: 0.9rem;
  color: var(--ifm-color-content-secondary);
  margin-bottom: 1rem;
}

.grid_AN90 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

.card_oh6i {
  padding: 1rem 1.25rem;
  border-radius: 10px;
  border: 1px solid var(--ifm-color-emphasis-200);
  background: var(--ifm-background-surface-color);
  transition: border-color 0.2s, box-shadow 0.2s;
}

.card_oh6i:hover {
  border-color: var(--ifm-color-primary);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.cardTitle_HJJH {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
  color: var(--ifm-heading-color);
  font-family: var(--ifm-font-family-monospace);
}

.cardDesc_PmxW {
  font-size: 0.85rem;
  color: var(--ifm-color-content-secondary);
  margin: 0 0 0.75rem;
  line-height: 1.5;
}

.actions_B5Lz {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.btnGithub_EB7m,
.btnDemo_phem {
  padding: 0.35rem 0.75rem;
  border-radius: 6px;
  font-size: 0.85rem;
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: opacity 0.2s;
}

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

.btnGithub_EB7m:hover {
  color: var(--ifm-font-color-base-inverse);
  opacity: 0.9;
}

.btnDemo_phem {
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-content);
}

.btnDemo_phem:hover {
  background: var(--ifm-color-emphasis-300);
  color: var(--ifm-color-content);
}

.container_nsBH {
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--ifm-card-background-color);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 0.75rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

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

.placeholder_e92h {
  text-align: center;
  padding: 3rem;
  color: var(--ifm-color-content-secondary);
}

/* 图表类型选择器 */
.chartTypeSelector_Ez2E {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  justify-content: center;
}

.chartTypeBtn_V0AG {
  padding: 0.5rem 1rem;
  background: var(--ifm-color-emphasis-200);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 0.5rem;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ifm-color-content);
  transition: all 0.2s ease;
}

.chartTypeBtn_V0AG:hover {
  background: var(--ifm-color-emphasis-300);
  border-color: var(--ifm-color-primary);
}

.chartTypeBtn_V0AG.active_JtKr {
  background: var(--ifm-color-primary);
  color: white;
  border-color: var(--ifm-color-primary);
}

/* 图表区域 */
.chartSection_Krz9 {
  margin-bottom: 2rem;
}

.chartTitle_YfK1 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--ifm-heading-color);
  text-align: center;
}

.chartWrapper_dTj9 {
  position: relative;
  max-height: 400px;
  margin: 1.5rem 0;
}

.chartNote_KHyx {
  font-size: 0.875rem;
  color: var(--ifm-color-content-secondary);
  text-align: center;
  margin-top: 1rem;
  font-style: italic;
}

/* 表格区域 */
.tableSection_AC1e {
  margin-bottom: 2rem;
}

.tableWrapper_VNR9 {
  overflow-x: auto;
  margin: 1.5rem 0;
}

.comparisonTable_VaE7 {
  width: 100%;
  border-collapse: collapse;
  background: var(--ifm-card-background-color);
  border-radius: 0.5rem;
  overflow: hidden;
}

.comparisonTable_VaE7 thead {
  background: var(--ifm-color-emphasis-100);
}

.comparisonTable_VaE7 th {
  padding: 1rem;
  text-align: left;
  font-weight: 600;
  color: var(--ifm-heading-color);
  border-bottom: 2px solid var(--ifm-color-emphasis-300);
}

.comparisonTable_VaE7 td {
  padding: 1rem;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
  color: var(--ifm-color-content);
  vertical-align: top;
}

.comparisonTable_VaE7 tr:last-child td {
  border-bottom: none;
}

.comparisonTable_VaE7 tr:hover {
  background: var(--ifm-color-emphasis-50);
}

.methodName_iAWT {
  font-weight: 600;
  color: var(--ifm-color-primary);
  white-space: nowrap;
}

.prosList_fkLz,
.consList_BAwK,
.scenariosList_v595 {
  list-style: none;
  padding: 0;
  margin: 0;
}

.prosList_fkLz li,
.consList_BAwK li,
.scenariosList_v595 li {
  padding: 0.25rem 0;
  font-size: 0.875rem;
  line-height: 1.5;
}

.prosList_fkLz li::before {
  content: '✓ ';
  color: var(--ifm-color-success);
  font-weight: bold;
  margin-right: 0.5rem;
}

.consList_BAwK li::before {
  content: '✗ ';
  color: var(--ifm-color-danger);
  font-weight: bold;
  margin-right: 0.5rem;
}

.scenariosList_v595 li::before {
  content: '• ';
  color: var(--ifm-color-primary);
  font-weight: bold;
  margin-right: 0.5rem;
}

/* 响应式设计 */
@media (max-width: 768px) {
  .container_nsBH {
    padding: 1rem;
  }

  .chartTypeSelector_Ez2E {
    gap: 0.25rem;
  }

  .chartTypeBtn_V0AG {
    padding: 0.375rem 0.75rem;
    font-size: 0.75rem;
  }

  .chartTitle_YfK1 {
    font-size: 1.125rem;
  }

  .comparisonTable_VaE7 {
    font-size: 0.875rem;
  }

  .comparisonTable_VaE7 th,
  .comparisonTable_VaE7 td {
    padding: 0.75rem 0.5rem;
  }

  .tableWrapper_VNR9 {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}


.comparisonContainer_CBFP {
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--ifm-color-emphasis-0);
  border-radius: 12px;
  border: 1px solid var(--ifm-color-emphasis-200);
}

.modeSwitcher_k5Bt {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
}

.modeButton_e41M {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: var(--ifm-color-emphasis-100);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.875rem;
  color: var(--ifm-color-content);
  transition: all 0.2s ease;
}

.modeButton_e41M:hover {
  background: var(--ifm-color-emphasis-200);
  border-color: var(--ifm-color-emphasis-400);
}

.modeButton_e41M.active_TRjf {
  background: var(--ifm-color-primary);
  color: white;
  border-color: var(--ifm-color-primary);
}

.modeButton_e41M.active_TRjf:hover {
  background: var(--ifm-color-primary-dark);
}

/* 表格模式样式 */
.tableWrapper_pVGm {
  overflow-x: auto;
  margin: 1rem 0;
}

.comparisonTable_oRjI {
  width: 100%;
  border-collapse: collapse;
  background: var(--ifm-background-color);
  border-radius: 8px;
  overflow: hidden;
}

.comparisonTable_oRjI thead {
  background: var(--ifm-color-emphasis-100);
}

.comparisonTable_oRjI th {
  padding: 1rem;
  text-align: left;
  font-weight: 600;
  color: var(--ifm-color-content);
  border-bottom: 2px solid var(--ifm-color-emphasis-300);
}

.dimensionColumn_KGg6 {
  width: 15%;
  min-width: 120px;
}

.frameworkColumn_gMR6 {
  width: 28.33%;
}

.comparisonTable_oRjI tbody tr {
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
  transition: background 0.2s ease;
}

.comparisonTable_oRjI tbody tr:hover {
  background: var(--ifm-color-emphasis-50);
}

.comparisonTable_oRjI td {
  padding: 1rem;
  vertical-align: top;
  color: var(--ifm-color-content-secondary);
}

.dimensionCell_GfyU {
  font-weight: 500;
  color: var(--ifm-color-content);
}

.frameworkCell_UKLg {
  line-height: 1.6;
  font-size: 0.9375rem;
}

/* 卡片模式样式 */
.cardsWrapper_wYwk {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin: 1rem 0;
}

.frameworkCard_cRAc {
  background: var(--ifm-background-color);
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 8px;
  padding: 1.5rem;
  transition: all 0.2s ease;
}

.frameworkCard_cRAc:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: var(--ifm-color-emphasis-300);
  transform: translateY(-2px);
}

.cardHeader_wIUY {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
}

.cardTitle_MulA {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 0.25rem 0;
  color: var(--ifm-color-primary);
}

.cardSubtitle_Meob {
  font-size: 0.875rem;
  color: var(--ifm-color-content-secondary);
  margin: 0;
  font-style: italic;
}

.cardDescription_UD38 {
  color: var(--ifm-color-content-secondary);
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.cardSection_dK0H {
  margin-bottom: 1.5rem;
}

.cardSection_dK0H:last-child {
  margin-bottom: 0;
}

.sectionTitle_vvEO {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.75rem 0;
  color: var(--ifm-color-content);
}

.strengthsList_sEaa,
.useCasesList_XXfT {
  list-style: none;
  padding: 0;
  margin: 0;
}

.strengthItem_H4uI,
.useCaseItem_sFhF {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0;
  color: var(--ifm-color-content-secondary);
  line-height: 1.5;
}

.strengthItem_H4uI {
  gap: 0.75rem;
}

.checkIcon_cNmv {
  flex-shrink: 0;
  margin-top: 0.125rem;
  color: var(--ifm-color-success);
}

.useCaseItem_sFhF {
  padding-left: 1.5rem;
  position: relative;
}

.useCaseItem_sFhF::before {
  content: '•';
  position: absolute;
  left: 0;
  color: var(--ifm-color-primary);
  font-weight: bold;
}

/* 补充说明 */
.footerNote_zxlk {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ifm-color-emphasis-200);
}

.footerNote_zxlk p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--ifm-color-content-secondary);
  line-height: 1.6;
}

.footerNote_zxlk strong {
  color: var(--ifm-color-content);
}

/* 响应式设计 */
@media (max-width: 996px) {
  .cardsWrapper_wYwk {
    grid-template-columns: 1fr;
  }

  .comparisonTable_oRjI {
    font-size: 0.875rem;
  }

  .comparisonTable_oRjI th,
  .comparisonTable_oRjI td {
    padding: 0.75rem 0.5rem;
  }

  .dimensionColumn_KGg6 {
    min-width: 100px;
  }

  .frameworkColumn_gMR6 {
    min-width: 150px;
  }
}

@media (max-width: 768px) {
  .modeSwitcher_k5Bt {
    flex-direction: column;
  }

  .modeButton_e41M {
    width: 100%;
    justify-content: center;
  }

  .tableWrapper_pVGm {
    overflow-x: scroll;
  }
}

/* 暗色模式适配 */
[data-theme='dark'] .comparisonContainer_CBFP {
  background: var(--ifm-color-emphasis-100);
}

[data-theme='dark'] .frameworkCard_cRAc {
  background: var(--ifm-background-color);
}

[data-theme='dark'] .comparisonTable_oRjI thead {
  background: var(--ifm-color-emphasis-200);
}


/**
 * LangChain框架深度研究报告文档样式
 * 统一使用Docusaurus主题色，适配LangChain品牌色（深蓝#1a365d和红色#e53e3e）
 */

/* LangChain文档统一颜色变量 - 使用Docusaurus主题色，适配LangChain品牌色 */
:root {
  --langchain-primary: #1a365d; /* LangChain深蓝 */
  --langchain-primary-dark: #0f2439;
  --langchain-primary-light: #2d4a6b;
  --langchain-accent: #e53e3e; /* LangChain红色 */
  --langchain-accent-dark: #c53030;
  --langchain-accent-light: #fc8181;
  --langchain-secondary: var(--ifm-color-secondary);
  --langchain-card-bg: var(--ifm-card-background-color);
  --langchain-border: var(--ifm-color-emphasis-300);
  --langchain-text: var(--ifm-color-content);
  --langchain-text-secondary: var(--ifm-color-content-secondary);
}

[data-theme='dark'] {
  --langchain-primary: #2d4a6b; /* 暗色模式下使用稍亮的深蓝 */
  --langchain-primary-dark: #1a365d;
  --langchain-primary-light: #3d5a7b;
  --langchain-accent: #fc8181; /* 暗色模式下使用稍亮的红色 */
  --langchain-accent-dark: #e53e3e;
  --langchain-accent-light: #feb2b2;
  --langchain-card-bg: var(--ifm-background-surface-color);
  --langchain-border: var(--ifm-color-emphasis-200);
}

/* 统一的高亮框样式 */
.langchain-highlight-box {
  background: var(--langchain-card-bg);
  border-left: 4px solid var(--langchain-primary);
  border: 1px solid var(--langchain-border);
  border-left-width: 4px;
  padding: 1.5rem;
  border-radius: 0.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.langchain-highlight-box:hover {
  box-shadow: 0 4px 12px rgba(26, 54, 93, 0.15);
  transform: translateY(-2px);
  border-color: var(--langchain-primary);
}

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

/* 统一的技术卡片样式 */
.langchain-card {
  background: var(--langchain-card-bg);
  border: 1px solid var(--langchain-border);
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  margin-bottom: 1.5rem;
}

.langchain-card:hover {
  box-shadow: 0 4px 16px rgba(26, 54, 93, 0.12);
  transform: translateY(-2px);
  border-color: var(--langchain-primary);
}

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

/* 成功/警告/错误卡片变体 */
.langchain-card-success {
  border-left: 4px solid var(--ifm-color-success);
  background: var(--ifm-color-success-lightest);
}

.langchain-card-warning {
  border-left: 4px solid var(--ifm-color-warning);
  background: var(--ifm-color-warning-lightest);
}

.langchain-card-danger {
  border-left: 4px solid var(--ifm-color-danger);
  background: var(--ifm-color-danger-lightest);
}

.langchain-card-info {
  border-left: 4px solid var(--ifm-color-info);
  background: var(--ifm-color-info-lightest);
}

/* 统一的网格布局 */
.langchain-grid {
  display: grid;
  gap: 1.5rem;
  margin: 2rem 0;
}

.langchain-grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.langchain-grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.langchain-grid-4 {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

/* 统一的图标容器 */
.langchain-icon-container {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  background: var(--langchain-primary);
  color: white;
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* 圆形图标容器 */
.langchain-icon-container-circle {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
  background: var(--langchain-primary);
  color: white;
  font-size: 2rem;
}

/* 图片样式统一 */
.langchain-intro img {
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin: 2rem 0;
  display: block;
}

[data-theme='dark'] .langchain-intro img {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* 统一的标题样式 */
.langchain-section-title {
  font-size: 2rem;
  font-weight: 700;
  margin: 3rem 0 1.5rem 0;
  color: var(--langchain-text);
  border-bottom: 2px solid var(--langchain-border);
  padding-bottom: 0.75rem;
}

.langchain-subsection-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 2rem 0 1rem 0;
  color: var(--langchain-text);
}

/* 统一的文本样式 */
.langchain-text {
  color: var(--langchain-text);
  line-height: 1.7;
  margin-bottom: 1rem;
}

.langchain-text-secondary {
  color: var(--langchain-text-secondary);
  font-size: 0.9375rem;
}

/* 章节分隔线 */
.langchain-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, var(--langchain-border), transparent);
  margin: 3rem 0;
  border: none;
}

/* 统一的列表样式 */
.langchain-list {
  list-style: none;
  padding-left: 0;
  margin: 1rem 0;
}

.langchain-list li {
  padding: 0.5rem 0;
  padding-left: 1.5rem;
  position: relative;
  color: var(--langchain-text-secondary);
  line-height: 1.6;
}

.langchain-list li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: var(--langchain-primary);
  font-weight: bold;
}

/* 整体文档容器样式 */
.langchain-intro {
  max-width: 100%;
}

.langchain-intro h2 {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--langchain-border);
}

.langchain-intro h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.langchain-intro p {
  line-height: 1.7;
  margin-bottom: 1.25rem;
}

/* 统一表格样式 */
.langchain-intro table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  background: var(--langchain-card-bg);
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.langchain-intro table th {
  background: var(--ifm-color-emphasis-100);
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: 600;
  color: var(--langchain-text);
  border-bottom: 2px solid var(--langchain-border);
}

.langchain-intro table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--langchain-border);
  color: var(--langchain-text-secondary);
}

.langchain-intro table tr:last-child td {
  border-bottom: none;
}

.langchain-intro table tr:hover {
  background: var(--ifm-color-emphasis-50);
}

/* 统一代码块容器 */
.langchain-intro pre {
  border-radius: 0.5rem;
  overflow-x: auto;
}

/* 统一引用块样式 */
.langchain-intro blockquote {
  border-left: 4px solid var(--langchain-primary);
  padding-left: 1rem;
  margin: 1.5rem 0;
  color: var(--langchain-text-secondary);
  font-style: italic;
}

/* 引用链接样式 */
.langchain-citation-link {
  color: var(--langchain-accent);
  -webkit-text-decoration: none;
  text-decoration: none;
  font-weight: 500;
  border-bottom: 1px dotted var(--langchain-accent);
  transition: all 0.2s ease;
}

.langchain-citation-link:hover {
  background-color: rgba(229, 62, 62, 0.1);
  padding: 2px 4px;
  border-radius: 3px;
  border-bottom-style: solid;
}

[data-theme='dark'] .langchain-citation-link {
  color: var(--langchain-accent-light);
}

[data-theme='dark'] .langchain-citation-link:hover {
  background-color: rgba(252, 129, 129, 0.15);
}

/* 响应式优化 */
@media (max-width: 996px) {
  .langchain-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .langchain-highlight-box,
  .langchain-card {
    padding: 1rem;
    margin: 1rem 0;
  }

  .langchain-grid-2,
  .langchain-grid-3,
  .langchain-grid-4 {
    grid-template-columns: 1fr;
  }

  .langchain-section-title {
    font-size: 1.75rem;
  }

  .langchain-subsection-title {
    font-size: 1.25rem;
  }
}

/* Hero区域样式优化 */
.langchain-intro > div:first-child {
  position: relative;
}

/* 暗色模式下的Hero区域 */
[data-theme='dark'] .langchain-intro > div:first-child {
  background: linear-gradient(135deg, #1a365d 0%, #2d3748 100%);
}

/* 打印样式优化 */
@media print {
  .langchain-highlight-box,
  .langchain-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  
  .langchain-intro > div:first-child {
    background: white !important;
    color: black !important;
  }
}


/**
 * 微调技术深度研究报告文档样式
 * 统一使用Docusaurus主题色，适配微调技术品牌色（深蓝#1e40af和天蓝#0ea5e9）
 */

/* 微调文档统一颜色变量 - 使用品牌色但保持与Docusaurus主题兼容 */
:root {
  --finetune-primary: #1e40af; /* 深蓝品牌色 */
  --finetune-primary-light: #0ea5e9; /* 天蓝品牌色 */
  --finetune-primary-dark: #1e3a8a;
  --finetune-secondary: var(--ifm-color-secondary);
  --finetune-accent: #0ea5e9;
  --finetune-card-bg: var(--ifm-card-background-color);
  --finetune-border: var(--ifm-color-emphasis-300);
  --finetune-text: var(--ifm-color-content);
  --finetune-text-secondary: var(--ifm-color-content-secondary);
}

[data-theme='dark'] {
  --finetune-primary: #3b82f6; /* 暗色模式下使用稍亮的蓝色 */
  --finetune-primary-light: #60a5fa;
  --finetune-primary-dark: #2563eb;
  --finetune-card-bg: var(--ifm-background-surface-color);
  --finetune-border: var(--ifm-color-emphasis-200);
}

/* 统一的高亮框样式 */
.finetune-highlight-box {
  background: var(--finetune-card-bg);
  border-left: 4px solid var(--finetune-primary);
  border: 1px solid var(--finetune-border);
  border-left-width: 4px;
  padding: 1.5rem;
  border-radius: 0.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  color: var(--finetune-text);
}

.finetune-highlight-box p,
.finetune-highlight-box h5,
.finetune-highlight-box h6,
.finetune-highlight-box li,
.finetune-highlight-box span {
  color: var(--finetune-text);
}

.finetune-highlight-box:hover {
  box-shadow: 0 4px 12px rgba(30, 64, 175, 0.15);
  transform: translateY(-2px);
  border-color: var(--finetune-primary);
}

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

/* 统一的技术卡片样式 */
.finetune-card {
  background: var(--finetune-card-bg);
  border: 1px solid var(--finetune-border);
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  margin-bottom: 1.5rem;
  color: var(--finetune-text);
}

.finetune-card h3,
.finetune-card h4,
.finetune-card h5,
.finetune-card h6,
.finetune-card p,
.finetune-card li,
.finetune-card span {
  color: var(--finetune-text);
}

.finetune-card:hover {
  box-shadow: 0 4px 16px rgba(30, 64, 175, 0.12);
  transform: translateY(-2px);
  border-color: var(--finetune-primary);
}

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

/* 确保带背景色的卡片文字可见 */
.finetune-card[style*="background"] h5,
.finetune-card[style*="background"] h6,
.finetune-card[style*="background"] p,
.finetune-card[style*="background"] li {
  color: var(--finetune-text) !important;
}

/* 成功/警告/错误卡片变体 */
.finetune-card-success {
  border-left: 4px solid var(--ifm-color-success);
  background: var(--ifm-color-success-lightest);
}

.finetune-card-success h5,
.finetune-card-success h6,
.finetune-card-success p,
.finetune-card-success li {
  color: var(--ifm-color-content);
}

.finetune-card-warning {
  border-left: 4px solid var(--ifm-color-warning);
  background: var(--ifm-color-warning-lightest);
}

.finetune-card-warning h5,
.finetune-card-warning h6,
.finetune-card-warning p,
.finetune-card-warning li {
  color: var(--ifm-color-content);
}

.finetune-card-danger {
  border-left: 4px solid var(--ifm-color-danger);
  background: var(--ifm-color-danger-lightest);
}

.finetune-card-danger h5,
.finetune-card-danger h6,
.finetune-card-danger p,
.finetune-card-danger li {
  color: var(--ifm-color-content);
}

.finetune-card-info {
  border-left: 4px solid var(--ifm-color-info);
  background: var(--ifm-color-info-lightest);
}

.finetune-card-info h5,
.finetune-card-info h6,
.finetune-card-info p,
.finetune-card-info li {
  color: var(--ifm-color-content);
}

/* 统一的网格布局 */
.finetune-grid {
  display: grid;
  gap: 1.5rem;
  margin: 2rem 0;
}

.finetune-grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.finetune-grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

/* 统一的图标容器 */
.finetune-icon-container {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, var(--finetune-primary) 0%, var(--finetune-primary-light) 100%);
  color: white;
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* 时间线样式 */
.finetune-timeline {
  position: relative;
  padding-left: 2rem;
  margin: 2rem 0;
}

.finetune-timeline::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--finetune-primary) 0%, var(--finetune-primary-light) 100%);
}

.finetune-timeline-item {
  position: relative;
  padding-bottom: 2rem;
  padding-left: 2rem;
}

.finetune-timeline-item::before {
  content: '';
  position: absolute;
  left: -1.5rem;
  top: 0.5rem;
  width: 1rem;
  height: 1rem;
  background: var(--finetune-primary);
  border-radius: 50%;
  border: 3px solid var(--ifm-background-color);
}

.finetune-timeline-item h4 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--finetune-text);
}

.finetune-timeline-item p {
  color: var(--finetune-text-secondary);
  line-height: 1.6;
  margin: 0;
}

/* 案例研究卡片 */
.finetune-case-study {
  background: var(--ifm-color-info-lightest);
  border-left: 4px solid var(--ifm-color-info);
  padding: 1.5rem;
  margin: 2rem 0;
  border-radius: 0 0.5rem 0.5rem 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.finetune-case-study h3,
.finetune-case-study h4 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--finetune-text);
}

.finetune-case-study p {
  color: var(--finetune-text-secondary);
  line-height: 1.7;
  margin-bottom: 0.75rem;
}

/* 图片样式统一 */
.finetune-intro img {
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin: 2rem 0;
  display: block;
}

[data-theme='dark'] .finetune-intro img {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* 统一的标题样式 */
.finetune-section-title {
  font-size: 2rem;
  font-weight: 700;
  margin: 3rem 0 1.5rem 0;
  color: var(--finetune-text);
  border-bottom: 2px solid var(--finetune-border);
  padding-bottom: 0.75rem;
}

.finetune-subsection-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 2rem 0 1rem 0;
  color: var(--finetune-text);
}

/* 统一的文本样式 */
.finetune-text {
  color: var(--finetune-text);
  line-height: 1.7;
  margin-bottom: 1rem;
}

.finetune-text-secondary {
  color: var(--finetune-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.6;
}

/* 整体文档容器样式 */
.finetune-intro {
  max-width: 100%;
}

.finetune-intro h2 {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--finetune-border);
}

.finetune-intro h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.finetune-intro h4 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.finetune-intro p {
  line-height: 1.7;
  margin-bottom: 1.25rem;
}

/* 统一表格样式 */
.finetune-intro table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  background: var(--finetune-card-bg);
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.finetune-intro table th {
  background: var(--ifm-color-emphasis-100);
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: 600;
  color: var(--finetune-text);
  border-bottom: 2px solid var(--finetune-border);
}

.finetune-intro table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--finetune-border);
  color: var(--finetune-text-secondary);
}

.finetune-intro table tr:last-child td {
  border-bottom: none;
}

.finetune-intro table tr:hover {
  background: var(--ifm-color-emphasis-50);
}

/* 统一代码块容器 */
.finetune-intro pre {
  border-radius: 0.5rem;
  overflow-x: auto;
}

/* 统一引用块样式 */
.finetune-intro blockquote {
  border-left: 4px solid var(--finetune-primary);
  padding-left: 1rem;
  margin: 1.5rem 0;
  color: var(--finetune-text-secondary);
  font-style: italic;
}

/* 数学公式样式 */
.finetune-math-formula {
  background: var(--finetune-card-bg);
  border: 1px solid var(--finetune-border);
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  text-align: center;
  font-family: 'Courier New', monospace;
  font-size: 1.1rem;
  color: var(--finetune-text);
}

.finetune-math-formula p {
  margin: 0.5rem 0;
  font-weight: 600;
}

.finetune-math-formula div {
  margin: 0.5rem 0;
  padding: 0.5rem;
  background: var(--ifm-color-emphasis-100);
  border-radius: 0.25rem;
}

/* 引用链接样式 */
.finetune-citation-link {
  color: var(--finetune-primary-light);
  -webkit-text-decoration: none;
  text-decoration: none;
  font-weight: 500;
  border-bottom: 1px dotted var(--finetune-primary-light);
  transition: all 0.2s ease;
}

.finetune-citation-link:hover {
  background-color: rgba(14, 165, 233, 0.1);
  border-bottom-style: solid;
}

/* Hero区域样式 */
.finetune-hero {
  background: linear-gradient(135deg, rgba(30, 64, 175, 0.1) 0%, rgba(14, 165, 233, 0.05) 100%);
  padding: 3rem 2rem;
  border-radius: 1rem;
  margin: 2rem 0;
  text-align: center;
}

.finetune-hero h1 {
  background: linear-gradient(135deg, var(--finetune-primary) 0%, var(--finetune-primary-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

/* 响应式优化 */
@media (max-width: 768px) {
  .finetune-highlight-box,
  .finetune-card {
    padding: 1rem;
    margin: 1rem 0;
  }

  .finetune-grid-2,
  .finetune-grid-3 {
    grid-template-columns: 1fr;
  }

  .finetune-section-title {
    font-size: 1.75rem;
  }

  .finetune-subsection-title {
    font-size: 1.25rem;
  }

  .finetune-timeline {
    padding-left: 1.5rem;
  }

  .finetune-timeline-item {
    padding-left: 1.5rem;
  }

  .finetune-hero h1 {
    font-size: 2rem;
  }

  .finetune-stat-card {
    min-height: 140px;
    padding: 1.25rem;
  }

  .finetune-stat-number {
    font-size: 2rem;
  }

  .finetune-step-item {
    padding: 1rem;
  }

  .finetune-step-number {
    width: 2rem;
    height: 2rem;
    font-size: 1rem;
    margin-right: 0.75rem;
  }
}

/* 步骤编号美化 */
.finetune-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  font-weight: 700;
  font-size: 1.125rem;
  color: white;
  margin-right: 1rem;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease;
}

.finetune-step-number:hover {
  transform: scale(1.1);
}

.finetune-step-number.primary {
  background: linear-gradient(135deg, var(--finetune-primary) 0%, var(--finetune-primary-dark) 100%);
}

.finetune-step-number.accent {
  background: linear-gradient(135deg, var(--finetune-primary-light) 0%, var(--finetune-primary) 100%);
}

.finetune-step-number.secondary {
  background: linear-gradient(135deg, var(--finetune-text-secondary) 0%, var(--finetune-primary) 100%);
}

/* 步骤项容器 */
.finetune-step-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.5rem;
  padding: 1.25rem;
  border-radius: 0.5rem;
  transition: background 0.2s ease;
  background: var(--ifm-color-emphasis-50);
  border: 1px solid var(--finetune-border);
}

.finetune-step-item:hover {
  background: var(--ifm-color-emphasis-100);
  border-color: var(--finetune-primary);
}

.finetune-step-content {
  flex: 1;
}

.finetune-step-content h6 {
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--finetune-text);
  font-size: 1rem;
}

.finetune-step-content p {
  font-size: 0.875rem;
  margin: 0;
  color: var(--finetune-text);
  line-height: 1.6;
}

/* 数字高亮展示 */
.finetune-number-highlight {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--finetune-primary);
  line-height: 1.2;
  margin-right: 0.5rem;
  /* 渐变文字效果 */
  background: linear-gradient(135deg, var(--finetune-primary) 0%, var(--finetune-primary-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

@supports not (-webkit-background-clip: text) {
  .finetune-number-highlight {
    color: var(--finetune-primary);
    background: none;
    -webkit-text-fill-color: var(--finetune-primary);
  }
}

[data-theme='dark'] .finetune-number-highlight {
  color: var(--finetune-primary-light);
  background: linear-gradient(135deg, var(--finetune-primary-light) 0%, #93c5fd 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

@supports not (-webkit-background-clip: text) {
  [data-theme='dark'] .finetune-number-highlight {
    color: var(--finetune-primary-light);
    background: none;
    -webkit-text-fill-color: var(--finetune-primary-light);
  }
}

.finetune-number-label {
  font-size: 0.875rem;
  color: var(--finetune-text-secondary);
  margin-top: 0.25rem;
}

/* 统计卡片 */
.finetune-stat-card {
  text-align: center;
  padding: 1.5rem;
  background: var(--finetune-card-bg);
  border: 1px solid var(--finetune-border);
  border-radius: 0.75rem;
  transition: all 0.3s ease;
  min-height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.finetune-stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 16px rgba(30, 64, 175, 0.15);
  border-color: var(--finetune-primary);
}

.finetune-stat-card > div:first-child {
  margin-bottom: 0.75rem;
  font-size: 2rem;
  line-height: 1;
}

.finetune-stat-number {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--finetune-primary);
  margin-bottom: 0.5rem;
  line-height: 1.2;
  display: block;
  min-height: 2.5rem;
  /* 渐变文字效果 */
  background: linear-gradient(135deg, var(--finetune-primary) 0%, var(--finetune-primary-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* 如果浏览器不支持渐变文字，使用纯色 */
@supports not (-webkit-background-clip: text) {
  .finetune-stat-number {
    color: var(--finetune-primary);
    background: none;
    -webkit-text-fill-color: var(--finetune-primary);
  }
}

[data-theme='dark'] .finetune-stat-number {
  color: var(--finetune-primary-light);
  background: linear-gradient(135deg, var(--finetune-primary-light) 0%, #93c5fd 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

@supports not (-webkit-background-clip: text) {
  [data-theme='dark'] .finetune-stat-number {
    color: var(--finetune-primary-light);
    background: none;
    -webkit-text-fill-color: var(--finetune-primary-light);
  }
}

.finetune-stat-label {
  font-size: 0.875rem;
  color: var(--finetune-text);
  font-weight: 600;
  margin-bottom: 0.25rem;
  line-height: 1.4;
}

.finetune-stat-desc {
  font-size: 0.75rem;
  color: var(--finetune-text-secondary);
  margin-top: 0.25rem;
  line-height: 1.4;
  opacity: 0.9;
}

/* 年份标签 */
.finetune-year-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: var(--finetune-primary);
  color: white;
  border-radius: 1rem;
  font-size: 0.75rem;
  font-weight: 600;
  margin-right: 0.5rem;
  box-shadow: 0 2px 4px rgba(30, 64, 175, 0.2);
}

/* 百分比标签美化 */
.finetune-percent-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  background: linear-gradient(135deg, var(--finetune-primary-light) 0%, var(--finetune-primary) 100%);
  color: white;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(14, 165, 233, 0.3);
  transition: transform 0.2s ease;
}

.finetune-percent-badge:hover {
  transform: scale(1.05);
}

/* 打印样式优化 */
@media print {
  .finetune-highlight-box,
  .finetune-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}


/**
 * 导航栏下拉菜单样式
 */

/* AI工具网站下拉菜单容器 */
.navbar-dropdown {
  position: relative;
  display: inline-block;
}

.navbar-dropdown .navbar__link {
  cursor: pointer;
}

/* 下拉菜单内容 */
.navbar-dropdown-content {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: var(--ifm-background-surface-color);
  min-width: 220px;
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
  z-index: 1000;
  border-radius: 8px;
  padding: 0.5rem 0;
  /* 视觉间距用 margin；用 ::before 桥接空隙，避免鼠标移入时悬停中断 */
  margin-top: 0.5rem;
  border: 1px solid var(--ifm-color-emphasis-200);
  overflow: visible;
}

/* 桥接触发项与下拉面板之间的空隙，保持 hover 不断开 */
.navbar-dropdown-content::before {
  content: '';
  position: absolute;
  top: -0.5rem;
  left: 0;
  width: 100%;
  height: 0.5rem;
}

[data-theme='dark'] .navbar-dropdown-content {
  background-color: var(--ifm-background-surface-color);
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.5);
  border-color: var(--ifm-color-emphasis-300);
}

/* 下拉菜单项 */
.navbar-dropdown-content a {
  color: var(--ifm-font-color-base);
  padding: 0.75rem 1.25rem;
  -webkit-text-decoration: none;
  text-decoration: none;
  display: block;
  transition: background-color 0.2s ease;
  font-size: 0.9375rem;
  line-height: 1.5;
  background-color: var(--ifm-background-surface-color);
}

.navbar-dropdown-content a:hover {
  background-color: var(--ifm-color-emphasis-100);
  color: var(--ifm-color-primary);
}

[data-theme='dark'] .navbar-dropdown-content a:hover {
  background-color: var(--ifm-color-emphasis-200);
}

/* 显示下拉菜单：CSS hover + JS is-open（离开延迟） */
.navbar-dropdown:hover .navbar-dropdown-content,
.navbar-dropdown.is-open .navbar-dropdown-content {
  display: block;
}

/* 下拉菜单项图标或分隔符 */
.navbar-dropdown-content a:not(:last-child) {
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
}

[data-theme='dark'] .navbar-dropdown-content a:not(:last-child) {
  border-bottom-color: var(--ifm-color-emphasis-300);
}

/* 移动端适配 - 在顶栏隐藏下拉浮层，在侧栏中展示 */
@media (max-width: 996px) {
  .navbar-dropdown {
    width: 100%;
  }

  /* 顶栏内的下拉浮层不显示（导航已移入侧栏，此条作保险） */
  .navbar .navbar__items .navbar-dropdown-content {
    display: none !important;
  }

  .navbar-dropdown-content {
    position: static;
    box-shadow: none;
    border: none;
    margin-top: 0;
    padding: 0;
    background-color: transparent;
    min-width: auto;
    width: 100%;
    overflow: hidden;
  }

  .navbar-dropdown-content::before {
    display: none;
  }

  .navbar-dropdown-content a {
    padding: 0.5rem 1rem 0.5rem 2rem;
    border-bottom: 1px solid var(--ifm-color-emphasis-200);
    font-size: 0.875rem;
  }

  /* 侧栏内：始终展示下拉子项（每次打开侧栏都显示，不因点击其他内容而消失） */
  .navbar-sidebar .navbar-dropdown,
  .navbar-sidebar .navbar-dropdown.active {
    position: relative;
  }
  .navbar-sidebar .navbar-dropdown-content {
    display: block !important;
    margin-top: 0.25rem;
    padding-left: 0.5rem;
    border-left: 2px solid var(--ifm-color-emphasis-300);
    visibility: visible !important;
    opacity: 1 !important;
  }

  .navbar-sidebar .navbar-dropdown-content a {
    font-size: 0.9rem;
    font-weight: 500;
  }

  /* 移动端隐藏下拉箭头 */
  .navbar-dropdown .navbar__link::after {
    display: none;
  }
}

/* 添加下拉箭头图标 */
.navbar-dropdown .navbar__link::after {
  content: '';
  display: inline-block;
  margin-left: 0.5rem;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid currentColor;
  vertical-align: middle;
  transition: transform 0.2s ease;
}

.navbar-dropdown:hover .navbar__link::after,
.navbar-dropdown.is-open .navbar__link::after {
  transform: rotate(180deg);
}

/**
 * 移动端优化样式
 * 提升移动设备上的用户体验
 */

/* 触摸目标大小优化 - 确保按钮和链接足够大，易于点击 */
@media (max-width: 996px) {
  /*
   * 警告：勿给顶栏 .navbar__item 设 display:flex —— 会覆盖 Infima 的
   * display:none，导致顶栏导航挤爆并把汉堡菜单点不开。
   * 触摸尺寸只作用于侧栏内的菜单项。
   *
   * 必须 flex-direction:column：否则含 .menu__list-item-collapsible 的文档树
   * 子列表会横排并被裁切，表现为点「AI学习文档」卡住进不去。
   */
  .navbar-sidebar .navbar__item,
  .navbar-sidebar .menu__list-item {
    min-height: 44px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
  }

  .navbar-sidebar .menu__list-item-collapsible {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    pointer-events: auto;
  }

  .navbar-sidebar .navbar__link,
  .navbar-sidebar .menu__link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.5rem 0.75rem;
    white-space: nowrap;
    pointer-events: auto;
    position: relative;
    z-index: 1;
  }

  /* 顶栏必须可溢出、高于页面内容，否则侧栏/搜索会被裁切或挡住 */
  .navbar {
    overflow: visible !important;
    z-index: calc(var(--ifm-z-index-fixed, 200) + 20) !important;
  }

  /* 汉堡按钮：保证可点、不被其它层盖住 */
  .navbar__toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 30;
    pointer-events: auto !important;
    min-width: 44px;
    min-height: 44px;
    margin-right: 0.5rem;
    flex-shrink: 0;
  }

  /* 侧栏与遮罩必须高于页面内容；打开态强制可见（防被自定义层盖住/裁切） */
  .navbar-sidebar,
  .navbar-sidebar__backdrop {
    z-index: calc(var(--ifm-z-index-fixed, 200) + 30);
    pointer-events: auto;
  }

  .navbar-sidebar--show .navbar-sidebar {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto !important;
    /* 即使祖先曾创建包含块，也强制铺满视口 */
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: none !important;
    width: min(100vw, var(--ifm-navbar-sidebar-width, 83vw)) !important;
    /* overflow-x 交给 __items 横向滑动切二级菜单；外层只纵向滚动 */
    overflow-x: visible !important;
    overflow-y: auto !important;
    z-index: calc(var(--ifm-z-index-fixed, 200) + 31) !important;
  }

  /* 保证一级/二级面板可点，遮罩不得盖住侧栏内容 */
  .navbar-sidebar--show .navbar-sidebar .navbar-sidebar__items,
  .navbar-sidebar--show .navbar-sidebar .navbar-sidebar__item,
  .navbar-sidebar--show .navbar-sidebar .menu__link,
  .navbar-sidebar--show .navbar-sidebar .menu__list-item-collapsible,
  .navbar-sidebar--show .navbar-sidebar .menu__caret {
    pointer-events: auto !important;
  }

  .navbar-sidebar--show .navbar-sidebar__backdrop {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: calc(var(--ifm-z-index-fixed, 200) + 29) !important;
  }

  /* 顶栏导航项继续隐藏（Infima 语义）；侧栏内由 .menu__list-item 展示 */
  .navbar__inner > .navbar__items:not(.navbar__items--right) > .navbar__item {
    display: none !important;
  }

  /* 主按钮与按钮组 - 保持足够点击区域 */
  .button,
  .button--primary,
  .button--secondary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.2rem;
  }

  /* 代码复制按钮 */
  .copyButton {
    min-width: 44px;
    min-height: 44px;
    padding: 0.5rem;
  }

  /* 侧边栏菜单项 */
  .menu__link {
    min-height: 44px;
    padding: 0.75rem 1rem;
  }

  /* 卡片点击区域 */
  .card {
    min-height: 44px;
  }

  /* 表格在小屏幕上优化 */
  table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* 代码块横向滚动优化 */
  pre {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }

  /* 图片响应式 */
  img {
    max-width: 100%;
    height: auto;
  }

  /* 避免文本选择时的缩放（iOS Safari） */
  input, textarea, select {
    font-size: 16px; /* 防止iOS自动缩放 */
  }

  /* 优化长文本换行 */
  p, li, td {
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }

  /* 优化标题大小 */
  h1 {
    font-size: 1.75rem;
    line-height: 1.3;
  }

  h2 {
    font-size: 1.5rem;
    line-height: 1.3;
  }

  h3 {
    font-size: 1.25rem;
    line-height: 1.3;
  }

  /* 优化间距 */
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* 优化搜索框 */
  .navbar__search-input {
    font-size: 16px; /* 防止iOS自动缩放 */
    min-height: 44px;
  }

  /* 优化模态框 */
  .modal {
    max-width: 95vw;
    margin: 1rem auto;
  }

  /* 优化工具按钮位置 */
  .global-doc-tools {
    bottom: 80px; /* 为移动端底部导航留出空间 */
  }

  /* 优化返回顶部按钮 */
  .back-to-top {
    bottom: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
  }

  /* 优化分享和PDF导出按钮 */
  .share-btn,
  .pdf-export-btn {
    width: 48px;
    height: 48px;
    font-size: 1.25rem;
  }

  /* 优化阅读进度条 */
  .reading-progress {
    height: 3px; /* 移动端稍微细一点 */
  }

  /* 优化评论区域 */
  .giscus {
    margin-top: 2rem;
  }

  /* 优化文档反馈表单 */
  .doc-feedback {
    padding: 1rem;
  }

  /* 优化表格在小屏幕上的显示 */
  .table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1rem -1rem;
    padding: 0 1rem;
  }

  /* 优化代码示例 */
  .code-example {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* 优化卡片网格 */
  .feature-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  /* 优化按钮组 */
  .button-group {
    flex-direction: column;
    width: 100%;
  }

  .button-group .button {
    width: 100%;
    margin-bottom: 0.5rem;
  }

  /* 优化导航栏 */
  .navbar {
    padding: 0.5rem 1rem;
    overflow: visible;
  }

  .navbar__brand {
    font-size: 1.1rem;
    position: relative;
    z-index: 1;
  }

  /* 移动端顶栏：汉堡 + logo + 紧凑搜索 */
  .navbar .navbar__inner {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    overflow: visible;
    position: relative;
  }

  /* 顶栏左侧：只保留汉堡和 logo，导航链接移到侧栏中显示 */
  .navbar .navbar__items:not(.navbar__items--right) > *:nth-child(n+3) {
    display: none !important;
  }

  .navbar .navbar__items:not(.navbar__items--right) {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    gap: 0.5rem;
    min-width: 0;
    overflow: visible;
  }

  .navbar .navbar__items--right {
    flex: 0 0 auto;
    justify-content: flex-end;
    position: relative;
    z-index: 15;
  }

  /* 移动端顶栏右侧只保留搜索；主题切换等全部藏掉，给搜索腾位置 */
  .navbar .navbar__items--right > *:not([class*='navbarSearchContainer']) {
    display: none !important;
  }

  /*
   * 顶栏搜索：紧凑可见。
   * 覆盖 theme-classic 的 .navbarSearchContainer:empty{display:none}
   * 以及 mobile 下 position:absolute（容易叠在 logo 上或跑出点击区）。
   */
  .navbar .navbar__items--right .navbar__search,
  .navbar [class*='navbarSearchContainer'] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    right: auto !important;
    left: auto !important;
    max-width: 42vw;
    min-width: 96px;
    flex: 0 0 auto;
  }

  .navbar [class*='navbarSearchContainer'] .navbar__search,
  .navbar [class*='navbarSearchContainer'] .navbar__search-input {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .navbar-sidebar__search {
    width: 100%;
    padding: 0.5rem 0.75rem;
  }

  .navbar-sidebar__search .navbar__search,
  .navbar-sidebar__search input {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* 移动端侧边栏：内容区与顶栏留出间距，避免被顶栏/搜索框挡住 */
  .navbar-sidebar__items {
    padding-top: 1rem;
    margin-top: 0;
    overflow-y: auto;
  }

  /* 侧栏主导航：一行一个，不并排（AI学习文档、行业解决方案等各占一行） */
  .navbar-sidebar__item.menu .menu__list,
  .navbar-sidebar .navbar-sidebar__item.menu .menu__list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding-left: 0;
    list-style: none;
    width: 100%;
  }

  .navbar-sidebar__item.menu .menu__list .menu__list-item,
  .navbar-sidebar .navbar-sidebar__item.menu .menu__list .menu__list-item {
    margin: 0;
    min-width: 0;
    width: 100%;
  }

  /* 侧栏内所有导航项统一字体与样式（AI学习文档、行业解决方案、AI最新资讯、AI工具网站、AI学习平台一致） */
  .navbar-sidebar .menu__list-item .menu__link,
  .navbar-sidebar .menu__list-item .navbar__link,
  .navbar-sidebar .navbar__link,
  .navbar-sidebar .menu__link {
    font-size: 1rem;
    font-weight: 600;
    font-family: var(--ifm-font-family-base);
    width: 100%;
    justify-content: flex-start;
    white-space: nowrap;
    padding: 0.65rem 0.75rem;
    min-height: 44px;
    align-items: center;
    display: flex;
    color: var(--ifm-font-color-base);
  }

  .navbar-sidebar .menu__list-item .menu__link:hover,
  .navbar-sidebar .menu__list-item .navbar__link:hover,
  .navbar-sidebar .navbar__link:hover {
    color: var(--ifm-color-primary);
  }

  /* 带下拉的项（如 AI工具网站）及其子项纵向排列 */
  .navbar-sidebar__item.menu .menu__list .menu__list-item:has(.navbar-dropdown),
  .navbar-sidebar .navbar-sidebar__item.menu .menu__list .menu__list-item:has(.navbar-dropdown) {
    width: 100%;
  }

  .navbar-sidebar .navbar__item {
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
  }

  /* 移动端侧栏：文档树（AI学习文档/行业解决方案的子项）默认全部展开，点击子项其下级也在侧栏显示 */
  .navbar-sidebar .menu__list-item--collapsed .menu__list {
    height: auto !important;
    overflow: visible !important;
  }
  .navbar-sidebar .menu__list-item--collapsed .menu__link--sublist:after,
  .navbar-sidebar .menu__list-item--collapsed .menu__caret:before {
    transform: rotateZ(0deg);
  }

  /* 优化页脚 */
  .footer {
    padding: 2rem 1rem;
  }

  .footer__links {
    flex-direction: column;
  }

  /* 优化侧边栏 */
  .sidebar {
    padding: 1rem;
  }

  /* 优化主内容区域 */
  main {
    padding: 1rem 0;
  }

  /* 优化文章内容 */
  article {
    padding: 1rem;
  }

  /* 优化列表 */
  ul, ol {
    padding-left: 1.5rem;
  }

  /* 优化引用块 */
  blockquote {
    margin: 1rem 0;
    padding: 1rem;
    font-size: 0.9rem;
  }

  /* 优化警告框 */
  .admonition {
    margin: 1rem 0;
    padding: 1rem;
  }

  /* 优化标签 */
  .badge {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
  }
}

/* 超小屏幕优化（手机竖屏） */
@media (max-width: 480px) {
  h1 {
    font-size: 1.5rem;
  }

  h2 {
    font-size: 1.25rem;
  }

  h3 {
    font-size: 1.1rem;
  }

  .container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .navbar__brand {
    font-size: 1rem;
  }

  /* 超小屏下侧栏仍为一行一个，略缩小字号 */
  .navbar-sidebar .menu__list-item .menu__link,
  .navbar-sidebar .menu__list-item .navbar__link,
  .navbar-sidebar .navbar__link {
    font-size: 0.9375rem;
  }

  /* 进一步优化按钮大小 */
  .button {
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
  }
}

/* 横屏优化 */
@media (max-width: 996px) and (orientation: landscape) {
  .navbar {
    height: auto;
    min-height: 56px;
  }

  .hero {
    padding: 2rem 0;
  }
}

/* 触摸设备优化 */
@media (hover: none) and (pointer: coarse) {
  /* 增加可点击元素的视觉反馈 */
  a, button {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
  }

  /* 优化滚动性能 */
  * {
    -webkit-overflow-scrolling: touch;
  }

  /* 禁用双击缩放 */
  * {
    touch-action: manipulation;
  }
}

/* 高DPI屏幕优化 */
@media (min-resolution: 192dpi) {
  /* 确保图标和图片在高DPI屏幕上清晰显示 */
  img, svg {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}


/**
 * 相关文档推荐组件样式
 */

.related-docs {
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--ifm-color-emphasis-100);
  border-radius: 8px;
  border-left: 4px solid var(--ifm-color-primary);
}

.related-docs__section {
  margin-bottom: 1.5rem;
}

.related-docs__section:last-child {
  margin-bottom: 0;
}

.related-docs__section-title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--ifm-color-content);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.related-docs__icon {
  font-size: 1.2rem;
}

.related-docs__section-desc {
  font-size: 0.875rem;
  color: var(--ifm-color-content-secondary);
  margin-bottom: 0.75rem;
  margin-top: 0;
}

.related-docs__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.related-docs__item {
  margin-bottom: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.related-docs__item:last-child {
  margin-bottom: 0;
}

.related-docs__link {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  color: var(--ifm-color-content);
  -webkit-text-decoration: none;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.2s ease;
  font-weight: 500;
}

.related-docs__link:hover {
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-primary);
  -webkit-text-decoration: none;
  text-decoration: none;
}

.related-docs__reason {
  font-size: 0.85rem;
  color: var(--ifm-color-content-secondary);
  font-style: italic;
  margin-left: 0.25rem;
}

/* 暗色模式适配 */
[data-theme='dark'] .related-docs {
  background: var(--ifm-color-emphasis-100);
  border-left-color: var(--ifm-color-primary);
}

[data-theme='dark'] .related-docs__link:hover {
  background: var(--ifm-color-emphasis-200);
}

/* 移动端适配 */
@media (max-width: 996px) {
  .related-docs {
    margin: 1.5rem 0;
    padding: 1rem;
  }

  .related-docs__title {
    font-size: 1rem;
  }

  .related-docs__link {
    padding: 0.5rem;
    font-size: 0.9rem;
  }
}


/**
 * 收藏功能组件样式
 */

.bookmarks {
  position: fixed;
  top: 80px;
  right: 20px;
  z-index: 100;
}

.bookmarks__button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: var(--ifm-color-emphasis-200);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.875rem;
  color: var(--ifm-color-content);
  transition: all 0.2s ease;
  box-shadow: var(--ifm-global-shadow-lw);
}

.bookmarks__button:hover {
  background: var(--ifm-color-emphasis-300);
  transform: translateY(-1px);
  box-shadow: var(--ifm-global-shadow-md);
}

.bookmarks__button--active {
  background: var(--ifm-color-warning);
  color: white;
  border-color: var(--ifm-color-warning);
}

.bookmarks__button--active:hover {
  background: var(--ifm-color-warning-dark);
}

.bookmarks__text {
  font-weight: 500;
}

/* 收藏列表样式 */
.bookmarks-list {
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--ifm-color-emphasis-100);
  border-radius: 8px;
}

.bookmarks-list__title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--ifm-color-content);
}

.bookmarks-list__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bookmarks-list__item {
  margin-bottom: 0.75rem;
}

.bookmarks-list__link {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  color: var(--ifm-color-content);
  -webkit-text-decoration: none;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.bookmarks-list__link:hover {
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-primary);
  -webkit-text-decoration: none;
  text-decoration: none;
}

.bookmarks-list__empty {
  color: var(--ifm-color-content-secondary);
  text-align: center;
  padding: 2rem;
}

/* 暗色模式适配 */
[data-theme='dark'] .bookmarks__button {
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-content);
}

[data-theme='dark'] .bookmarks-list {
  background: var(--ifm-color-emphasis-100);
}

/* 移动端适配 */
@media (max-width: 996px) {
  .bookmarks {
    top: 70px;
    right: 10px;
  }

  .bookmarks__button {
    padding: 0.375rem 0.5rem;
    font-size: 0.75rem;
  }

  .bookmarks__text {
    display: none;
  }

  .bookmarks__button {
    width: 40px;
    height: 40px;
    padding: 0;
    justify-content: center;
  }
}


/**
 * 最近浏览文档组件样式
 */

.recent-docs {
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--ifm-color-emphasis-100);
  border-radius: 8px;
}

.recent-docs__title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--ifm-color-content);
}

.recent-docs__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.recent-docs__item {
  margin-bottom: 0.75rem;
}

.recent-docs__item:last-child {
  margin-bottom: 0;
}

.recent-docs__link {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  color: var(--ifm-color-content);
  -webkit-text-decoration: none;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.recent-docs__link:hover {
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-primary);
  -webkit-text-decoration: none;
  text-decoration: none;
}

.recent-docs__link::before {
  content: '🕒';
  margin-right: 0.5rem;
  font-size: 0.875rem;
}

/* 暗色模式适配 */
[data-theme='dark'] .recent-docs {
  background: var(--ifm-color-emphasis-100);
}

/* 移动端适配 */
@media (max-width: 996px) {
  .recent-docs {
    margin: 1.5rem 0;
    padding: 1rem;
  }

  .recent-docs__title {
    font-size: 1rem;
  }

  .recent-docs__link {
    padding: 0.5rem;
    font-size: 0.9rem;
  }
}


/**
 * 导航栏本地搜索框样式
 * 注意：勿对输入框做「聚焦变宽」动画——顶栏项多 + backdrop-filter 时，
 * 每次宽度变化会触发整栏重排，输入会明显卡顿。
 * 禁止 display:none / width:0 / opacity:0 隐藏搜索。
 */

/* 覆盖 Infima/theme-classic：空容器隐藏、移动端 absolute 定位 */
.navbar [class*='navbarSearchContainer'] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.navbar [class*='navbarSearchContainer']:empty {
  /* 构建若误用 Noop，至少不要把占位彻底 display:none；真实 SearchBar 会填满 */
  display: block !important;
  min-width: 1px;
  min-height: 1px;
}

/* 搜索容器：固定宽度，避免输入时布局抖动 */
.navbar__search {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-left: 0.75rem;
  margin-right: 0.25rem;
  flex: 0 0 auto;
  min-width: 0;
}

.navbar__search-input {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 220px !important;
  min-width: 180px;
  max-width: 260px;
  padding: 0.45rem 2.25rem 0.45rem 2.25rem !important;
  font-size: 0.9rem;
  border-radius: 8px;
  /* 仅过渡颜色/阴影，不过渡 width（防止 keypress/focus 重排） */
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  contain: layout style;
}

/* 桌面端：搜索必须出现在顶栏右侧 */
@media (min-width: 997px) {
  .navbar .navbar__items--right [class*='navbarSearchContainer'],
  .navbar .navbar__items--right .navbar__search {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
  }

  .navbar .navbar__items--right .navbar__search-input {
    display: inline-block !important;
    width: 220px !important;
    min-width: 180px !important;
  }
}

.navbar__search-input:focus {
  width: 220px !important; /* 与默认同宽，禁止聚焦扩张 */
  outline: none;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--ifm-color-primary) 28%, transparent);
}

/* DocSearch 按钮（若存在）同样固定宽度 */
.DocSearch-Button {
  width: 220px !important;
  min-width: 180px;
  max-width: 260px;
  padding: 0.45rem 1rem 0.45rem 2.25rem !important;
  margin: 0;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.DocSearch-Button:focus {
  width: 220px !important;
}

.DocSearch-Button-Placeholder {
  padding-left: 0.35rem !important;
  margin-left: 0.35rem;
}

.DocSearch-Search-Icon {
  margin-right: 0.35rem !important;
  width: 1rem;
  height: 1rem;
}

.DocSearch-Button-Keys {
  margin-left: auto !important;
}

/* 下拉结果层：独立合成层，减少与顶栏毛玻璃联动重绘 */
.navbar__search [class*='dropdownMenu'],
.navbar__search .aa-Dropdown {
  will-change: contents;
  contain: content;
}

@media (max-width: 996px) {
  .navbar__search {
    margin-left: 0.25rem;
    margin-right: 0;
  }

  .navbar__search-input {
    width: 140px !important;
    min-width: 96px;
    max-width: 42vw;
    font-size: 16px; /* 防止 iOS 自动缩放 */
  }

  .navbar__search-input:focus {
    width: 140px !important;
  }

  .navbar__search-input::placeholder {
    color: transparent;
  }

  .DocSearch-Button {
    width: 140px !important;
    min-width: 96px;
    max-width: 42vw;
    padding: 0.4rem 0.75rem 0.4rem 1.75rem !important;
  }

  .DocSearch-Button:focus {
    width: 140px !important;
  }
}

@media (max-width: 768px) {
  .navbar__search-input {
    width: 112px !important;
    min-width: 88px;
    max-width: 36vw;
    font-size: 16px;
    padding: 0.4rem 1.75rem 0.4rem 1.75rem !important;
  }

  .navbar__search-input:focus {
    width: 112px !important;
  }

  .DocSearch-Button {
    width: 112px !important;
    min-width: 88px;
    max-width: 36vw;
    padding: 0.4rem 0.5rem 0.4rem 1.5rem !important;
    font-size: 0.875rem;
  }

  .DocSearch-Button:focus {
    width: 112px !important;
  }
}

/* 覆盖 easyops 默认 ≤576px 把输入框收到 2rem（几乎看不见） */
@media (max-width: 576px) {
  .navbar__search-input,
  .navbar__search-input:not(:focus) {
    width: 104px !important;
    min-width: 88px !important;
    max-width: 40vw !important;
  }
}

[data-theme='dark'] .navbar__search-input {
  background: var(--ifm-color-emphasis-100);
  border-color: var(--ifm-color-emphasis-300);
  color: var(--ifm-color-content);
}

[data-theme='dark'] .navbar__search-input:focus {
  background: var(--ifm-background-color);
  border-color: var(--ifm-color-primary);
}

.navbar__search-button {
  padding: 0.5rem;
  margin-left: 0.5rem;
}

/**
 * 技术栈关联图谱组件样式
 */

.tech-stack-map {
  margin: 3rem 0;
  padding: 2rem;
  background: var(--ifm-color-emphasis-50);
  border-radius: 12px;
  border: 1px solid var(--ifm-color-emphasis-200);
}

.tech-stack-map__title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: var(--ifm-color-content);
}

.tech-stack-map__desc {
  margin-bottom: 1.5rem;
  color: var(--ifm-color-content-secondary);
  line-height: 1.6;
}

.tech-stack-map .mermaid {
  background: white;
  padding: 2rem;
  border-radius: 8px;
  margin: 1.5rem 0;
  overflow-x: auto;
  box-shadow: var(--ifm-global-shadow-lw);
}

.tech-stack-map__legend {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--ifm-color-emphasis-200);
}

.tech-stack-map__legend h4 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--ifm-color-content);
}

.tech-stack-map__legend ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.75rem;
}

.tech-stack-map__legend li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--ifm-color-content);
}

.legend-item {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 2px solid;
  flex-shrink: 0;
}

.legend-item.foundation {
  background: #e1f5ff;
  border-color: #01579b;
}

.legend-item.theory {
  background: #f3e5f5;
  border-color: #4a148c;
}

.legend-item.application {
  background: #e8f5e9;
  border-color: #1b5e20;
}

.legend-item.platform {
  background: #fff3e0;
  border-color: #e65100;
}

.legend-item.protocol {
  background: #fce4ec;
  border-color: #880e4f;
}

.legend-item.optimization {
  background: #fff9c4;
  border-color: #f57f17;
}

/* 暗色模式适配 */
[data-theme='dark'] .tech-stack-map {
  background: var(--ifm-color-emphasis-100);
  border-color: var(--ifm-color-emphasis-300);
}

[data-theme='dark'] .tech-stack-map .mermaid {
  background: var(--ifm-background-surface-color);
}

/* 移动端适配 */
@media (max-width: 996px) {
  .tech-stack-map {
    padding: 1.5rem;
    margin: 2rem 0;
  }

  .tech-stack-map__title {
    font-size: 1.25rem;
  }

  .tech-stack-map .mermaid {
    padding: 1rem;
  }

  .tech-stack-map__legend ul {
    grid-template-columns: 1fr;
  }
}

/**
 * 技术栈关联图谱组件样式
 */

.tech-stack-map {
  margin: 3rem 0;
  padding: 2rem;
  background: var(--ifm-color-emphasis-50);
  border-radius: 12px;
  border: 1px solid var(--ifm-color-emphasis-200);
}

.tech-stack-map__title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: var(--ifm-color-content);
}

.tech-stack-map__desc {
  margin-bottom: 1.5rem;
  color: var(--ifm-color-content-secondary);
  line-height: 1.6;
}

.tech-stack-map .mermaid {
  background: white;
  padding: 2rem;
  border-radius: 8px;
  margin: 1.5rem 0;
  overflow-x: auto;
  box-shadow: var(--ifm-global-shadow-lw);
}

.tech-stack-map__legend {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--ifm-color-emphasis-200);
}

.tech-stack-map__legend h4 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--ifm-color-content);
}

.tech-stack-map__legend ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.75rem;
}

.tech-stack-map__legend li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--ifm-color-content);
}

.legend-item {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 2px solid;
  flex-shrink: 0;
}

.legend-item.foundation {
  background: #e1f5ff;
  border-color: #01579b;
}

.legend-item.theory {
  background: #f3e5f5;
  border-color: #4a148c;
}

.legend-item.application {
  background: #e8f5e9;
  border-color: #1b5e20;
}

.legend-item.platform {
  background: #fff3e0;
  border-color: #e65100;
}

.legend-item.protocol {
  background: #fce4ec;
  border-color: #880e4f;
}

.legend-item.optimization {
  background: #fff9c4;
  border-color: #f57f17;
}

/* 暗色模式适配 */
[data-theme='dark'] .tech-stack-map {
  background: var(--ifm-color-emphasis-100);
  border-color: var(--ifm-color-emphasis-300);
}

[data-theme='dark'] .tech-stack-map .mermaid {
  background: var(--ifm-background-surface-color);
}

/* 移动端适配 */
@media (max-width: 996px) {
  .tech-stack-map {
    padding: 1.5rem;
    margin: 2rem 0;
  }

  .tech-stack-map__title {
    font-size: 1.25rem;
  }

  .tech-stack-map .mermaid {
    padding: 1rem;
  }

  .tech-stack-map__legend ul {
    grid-template-columns: 1fr;
  }
}

/**
 * 技术栈关联图谱组件样式
 */

.tech-stack-map {
  margin: 3rem 0;
  padding: 2rem;
  background: var(--ifm-color-emphasis-50);
  border-radius: 12px;
  border: 1px solid var(--ifm-color-emphasis-200);
}

.tech-stack-map__title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: var(--ifm-color-content);
}

.tech-stack-map__desc {
  margin-bottom: 1.5rem;
  color: var(--ifm-color-content-secondary);
  line-height: 1.6;
}

.tech-stack-map .mermaid {
  background: white;
  padding: 2rem;
  border-radius: 8px;
  margin: 1.5rem 0;
  overflow-x: auto;
  box-shadow: var(--ifm-global-shadow-lw);
}

.tech-stack-map__legend {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--ifm-color-emphasis-200);
}

.tech-stack-map__legend h4 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--ifm-color-content);
}

.tech-stack-map__legend ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.75rem;
}

.tech-stack-map__legend li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--ifm-color-content);
}

.legend-item {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 2px solid;
  flex-shrink: 0;
}

.legend-item.foundation {
  background: #e1f5ff;
  border-color: #01579b;
}

.legend-item.theory {
  background: #f3e5f5;
  border-color: #4a148c;
}

.legend-item.application {
  background: #e8f5e9;
  border-color: #1b5e20;
}

.legend-item.platform {
  background: #fff3e0;
  border-color: #e65100;
}

.legend-item.protocol {
  background: #fce4ec;
  border-color: #880e4f;
}

.legend-item.optimization {
  background: #fff9c4;
  border-color: #f57f17;
}

/* 暗色模式适配 */
[data-theme='dark'] .tech-stack-map {
  background: var(--ifm-color-emphasis-100);
  border-color: var(--ifm-color-emphasis-300);
}

[data-theme='dark'] .tech-stack-map .mermaid {
  background: var(--ifm-background-surface-color);
}

/* 移动端适配 */
@media (max-width: 996px) {
  .tech-stack-map {
    padding: 1.5rem;
    margin: 2rem 0;
  }

  .tech-stack-map__title {
    font-size: 1.25rem;
  }

  .tech-stack-map .mermaid {
    padding: 1rem;
  }

  .tech-stack-map__legend ul {
    grid-template-columns: 1fr;
  }
}

/**
 * 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.
 */

/* StoneX 品牌变量 / 导航毛玻璃 / 首页工具类（改版合并） */

/* Import MCP intro styles */

/* 全局样式 */

/* 页面过渡动画 */
.page-transition {
  animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* 段落间距优化 */
p {
  margin-bottom: 1.25rem;
  line-height: 1.7;
}

/* 标题字体加粗 */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
  margin-top: 2rem;
}

h1 {
  font-size: 2.5rem;
  letter-spacing: -0.5px;
}

h2 {
  font-size: 2rem;
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
  padding-bottom: 0.5rem;
  margin-top: 3rem;
}

h3 {
  font-size: 1.5rem;
}

/* 导航栏优化 */
.navbar {
  box-shadow: var(--ifm-global-shadow-lw);
}

.navbar__brand {
  font-weight: 700;
}

/* 无标题时隐藏空标题元素，仅保留 logo */
.navbar__title:empty {
  display: none;
}

.navbar__link {
  font-weight: 600;
}

.navbar__link--active {
  position: relative;
}

.navbar__link--active:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background-color: var(--ifm-color-primary);
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

/* 侧边栏优化 */
.menu {
  padding: 1rem;
}

.menu__link {
  border-radius: 6px;
}

.menu__link--active {
  font-weight: 600;
}

.menu__list-item-collapsible {
  border-radius: 6px;
}

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

/* 代码块优化 */
pre {
  border-radius: 8px;
  box-shadow: var(--ifm-global-shadow-lw);
}

code {
  border-radius: 4px;
}

/* 表格样式优化 */
table {
  width: 100%;
  display: table;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: var(--ifm-global-shadow-lw);
  margin-bottom: 2rem;
}

thead {
  background-color: var(--ifm-color-emphasis-100);
}

th {
  font-weight: 600;
  text-align: left;
  padding: 0.75rem 1rem;
}

td {
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--ifm-color-emphasis-200);
}

/* 卡片样式 */
.card {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: var(--ifm-global-shadow-lw);
  transition: all var(--ifm-transition-fast) ease;
  height: 100%;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ifm-global-shadow-md);
}

/* 按钮样式优化 */
.button {
  border-radius: 6px;
  font-weight: 600;
  transition: all var(--ifm-transition-fast) ease;
}

.button--lg {
  padding: 0.75rem 1.5rem;
}

/* 页脚样式优化 */
.footer {
  padding: var(--ifm-footer-padding-vertical) 0;
}

.footer__title {
  font-weight: 700;
  font-size: 1.1rem;
}

.footer__link-item {
  padding: 0.2rem 0;
  display: block;
}

/* 响应式调整 */
@media screen and (max-width: 996px) {
  h1 {
    font-size: 2rem;
  }
  
  h2 {
    font-size: 1.6rem;
  }
  
  h3 {
    font-size: 1.3rem;
  }
  
  .navbar {
    padding: 0.5rem 1rem;
  }
}

/* 导入RAG文档专用样式 */

/* 导入向量数据库文档专用样式 */

/* 导入全局文档工具样式 */

/* 导入A2A文档专用样式 */

/* 导入Transformer文档专用样式 */

/* 导入LangChain文档专用样式 */

/* 导入微调技术文档专用样式 */

/* 导入导航栏下拉菜单样式 */

/* 导入移动端优化样式 */

/* 导入相关文档样式 */

/* 导入收藏功能样式 */

/* 导入最近浏览样式 */

/* 导入导航栏搜索框样式 */

/* 导入技术栈图谱样式 */

/* 导入技术栈关联图谱样式 */

/* 导入技术栈关联图谱样式 */

/* 微信下载提示 Toast 样式 */
.toast_TmN_ {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 90%;
  padding: 12px 20px;
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  z-index: 10000;
  animation: wechat-toast-fade_PVHT 0.3s ease;
}

@keyframes wechat-toast-fade_PVHT {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

/* Timeline容器样式 */
.timeline_qw0m {
  position: relative;
  padding-left: 2rem;
  margin: 2rem 0;
}

/* 时间线连接线 */
.timeline_qw0m::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--ifm-color-primary);
  border-radius: 2px;
}

/* 暗色模式下的连接线 */
[data-theme='dark'] .timeline_qw0m::before {
  background: var(--ifm-color-primary-dark);
}

/* Timeline节点样式 */
.timelineItem_ycZa {
  position: relative;
  margin-bottom: 3rem;
  padding-left: 2rem;
}

/* 时间线节点圆点 */
.timelineItem_ycZa::before {
  content: '';
  position: absolute;
  left: -1.5rem;
  top: 0;
  width: 13px;
  height: 13px;
  background: var(--ifm-color-primary);
  border-radius: 50%;
  border: 3px solid var(--ifm-background-color);
  z-index: 1;
  transition: all 0.3s ease;
}

/* 暗色模式下的圆点 */
[data-theme='dark'] .timelineItem_ycZa::before {
  border-color: var(--ifm-background-color);
}

/* 节点内容区域 */
.timelineContent_bRk2 {
  background: var(--ifm-background-surface-color);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.timelineItem_ycZa:hover .timelineContent_bRk2 {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
  border-color: var(--ifm-color-primary);
  transform: translateX(4px);
}

/* 节点头部 */
.timelineHeader_XBb4 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
}

/* 时间标签 */
.timeLabel_kE_D {
  display: inline-block;
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
}

/* 不同颜色的时间标签 */
.timeLabel-blue_s8QM {
  background: rgba(59, 130, 246, 0.1);
  color: rgb(37, 99, 235);
}

.timeLabel-green_zjaA {
  background: rgba(34, 197, 94, 0.1);
  color: rgb(22, 163, 74);
}

.timeLabel-purple_c0bg {
  background: rgba(168, 85, 247, 0.1);
  color: rgb(147, 51, 234);
}

.timeLabel-red_V399 {
  background: rgba(239, 68, 68, 0.1);
  color: rgb(220, 38, 38);
}

/* 暗色模式下的时间标签 */
[data-theme='dark'] .timeLabel-blue_s8QM {
  background: rgba(59, 130, 246, 0.2);
  color: rgb(96, 165, 250);
}

[data-theme='dark'] .timeLabel-green_zjaA {
  background: rgba(34, 197, 94, 0.2);
  color: rgb(74, 222, 128);
}

[data-theme='dark'] .timeLabel-purple_c0bg {
  background: rgba(168, 85, 247, 0.2);
  color: rgb(196, 181, 253);
}

[data-theme='dark'] .timeLabel-red_V399 {
  background: rgba(239, 68, 68, 0.2);
  color: rgb(248, 113, 113);
}

/* 节点标题 */
.timelineTitle_XX3K {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ifm-heading-color);
  margin: 0;
}

/* 节点内容主体 */
.timelineBody_aQ_2 {
  color: var(--ifm-color-content);
  line-height: 1.7;
}

/* 不同颜色的连接线 */
.color-blue_Fbo7::before {
  background: rgb(59, 130, 246);
}

.color-green_qyje::before {
  background: rgb(34, 197, 94);
}

.color-purple_wMYb::before {
  background: rgb(168, 85, 247);
}

.color-red_hEJl::before {
  background: rgb(239, 68, 68);
}

/* 响应式设计 - 移动端 */
@media (max-width: 768px) {
  .timeline_qw0m {
    padding-left: 1.5rem;
  }

  .timelineItem_ycZa {
    padding-left: 1.5rem;
  }

  .timelineItem_ycZa::before {
    left: -1.25rem;
    width: 11px;
    height: 11px;
  }

  .timelineHeader_XBb4 {
    flex-direction: column;
    align-items: flex-start;
  }

  .timelineTitle_XX3K {
    font-size: 1.25rem;
  }

  .timelineContent_bRk2 {
    padding: 1rem;
  }
}

/* 打印样式 */
@media print {
  .timeline_qw0m::before,
  .timelineItem_ycZa::before {
    display: none;
  }

  .timelineItem_ycZa {
    padding-left: 0;
    border-left: none;
  }

  .timelineContent_bRk2 {
    box-shadow: none;
    border: 1px solid #ddd;
  }
}



/* 对比表格容器 */
.comparisonTableWrapper_R4Bc {
  margin: 2rem 0;
  overflow-x: auto;
  background: var(--ifm-background-surface-color);
  border-radius: 12px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.comparisonTable_XXcP {
  width: 100%;
  min-width: 600px;
}

/* 表格样式 */
.comparisonTable_XXcP table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

/* 表头样式 */
.comparisonTable_XXcP thead {
  background: var(--ifm-color-emphasis-100);
}

.comparisonTable_XXcP th {
  padding: 1rem;
  text-align: left;
  font-weight: 600;
  color: var(--ifm-heading-color);
  border-bottom: 2px solid var(--ifm-color-emphasis-300);
  white-space: nowrap;
}

/* 表格单元格样式 */
.comparisonTable_XXcP td {
  padding: 1rem;
  text-align: left;
  color: var(--ifm-color-content);
  border-bottom: 1px solid var(--ifm-color-emphasis-200);
  vertical-align: top;
}

/* 第一列（通常是维度名称）加粗 */
.comparisonTable_XXcP td:first-child {
  font-weight: 500;
  color: var(--ifm-heading-color);
}

/* 暗色模式适配 */
[data-theme='dark'] .comparisonTableWrapper_R4Bc {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
}

[data-theme='dark'] .comparisonTable_XXcP thead {
  background: var(--ifm-color-emphasis-200);
}

[data-theme='dark'] .comparisonTable_XXcP th {
  border-bottom-color: var(--ifm-color-emphasis-400);
}

[data-theme='dark'] .comparisonTable_XXcP td {
  border-bottom-color: var(--ifm-color-emphasis-300);
}

/* 响应式设计 - 移动端横向滚动 */
@media (max-width: 768px) {
  .comparisonTableWrapper_R4Bc {
    margin-left: -1rem;
    margin-right: -1rem;
    border-radius: 0;
  }

  .comparisonTable_XXcP {
    min-width: 800px;
  }

  .comparisonTable_XXcP th,
  .comparisonTable_XXcP td {
    padding: 0.75rem 0.5rem;
    font-size: 0.8125rem;
  }
}

/* 打印样式 */
@media print {
  .comparisonTableWrapper_R4Bc {
    box-shadow: none;
    border: 1px solid #ddd;
  }

  .comparisonTable_XXcP th,
  .comparisonTable_XXcP td {
    border: 1px solid #ddd;
  }
}



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

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

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

#__docusaurus-base-url-issue-banner-container {
  display: none;
}

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

.skipToContent_fXgn {
  position: fixed;
  top: 1rem;
  left: 100%;
  z-index: calc(var(--ifm-z-index-fixed) + 1);
  padding: calc(var(--ifm-global-spacing) / 2) var(--ifm-global-spacing);
  color: var(--ifm-color-emphasis-900);
  background-color: var(--ifm-background-surface-color);
}

.skipToContent_fXgn:focus {
  left: 1rem;
  box-shadow: var(--ifm-global-shadow-md);
}

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

.closeButton_CVFx {
  padding: 0;
  line-height: 0;
}

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

.content_knG7 {
  font-size: 85%;
  text-align: center;
  padding: 5px 0;
}

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

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

:root {
  --docusaurus-announcement-bar-height: auto;
}

.announcementBar_mb4j {
  display: flex;
  align-items: center;
  height: var(--docusaurus-announcement-bar-height);
  background-color: var(--ifm-color-white);
  color: var(--ifm-color-black);

  /*
  Unfortunately we can't make announcement bar render above the navbar
  IE need to use border-bottom instead of shadow
  See https://github.com/facebookincubator/infima/issues/275

  box-shadow: var(--ifm-global-shadow-lw);
  z-index: calc(var(--ifm-z-index-fixed) + 1);
  */
  border-bottom: 1px solid var(--ifm-color-emphasis-100);
}

html[data-announcement-bar-initially-dismissed='true'] .announcementBar_mb4j {
  display: none;
}

.announcementBarPlaceholder_vyr4 {
  flex: 0 0 10px;
}

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

.announcementBarContent_xLdY {
  flex: 1 1 auto;
}

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

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

  .announcementBarPlaceholder_vyr4,
  .announcementBarClose_gvF7 {
    flex-basis: 50px;
  }
}

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

.toggle_vylO {
  width: 2rem;
  height: 2rem;
}

.toggleButton_gllP {
  -webkit-tap-highlight-color: transparent;
  align-items: center;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transition: background var(--ifm-transition-fast);
}

.toggleButton_gllP:hover {
  background: var(--ifm-color-emphasis-200);
}

.toggleIcon_g3eP {
  display: none;
}

[data-theme-choice='system'] .systemToggleIcon_QzmC,
[data-theme-choice='light'] .lightToggleIcon_pyhR,
[data-theme-choice='dark'] .darkToggleIcon_wfgR {
  display: initial;
}

.toggleButtonDisabled_aARS {
  cursor: not-allowed;
}

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

.darkNavbarColorModeToggle_X3D1:hover {
  background: var(--ifm-color-gray-800);
}

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

.themedComponent_mlkZ {
  display: none;
}

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

[data-theme='dark'] .themedComponent--dark_xIcU {
  display: initial;
}

/*
JS disabled??? Show light version by default => better than showing nothing
TODO bad, but we currently always show light mode when there's no data-theme
 */
html:not([data-theme]) .themedComponent--light_NVdE {
  display: initial;
}

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

:root {
  --docusaurus-collapse-button-bg: transparent;
  --docusaurus-collapse-button-bg-hover: rgb(0 0 0 / 10%);
}

[data-theme='dark']:root {
  --docusaurus-collapse-button-bg: rgb(255 255 255 / 5%);
  --docusaurus-collapse-button-bg-hover: rgb(255 255 255 / 10%);
}

@media (min-width: 997px) {
  .collapseSidebarButton_PEFL {
    display: block !important;
    background-color: var(--docusaurus-collapse-button-bg);
    height: 40px;
    position: sticky;
    bottom: 0;
    border-radius: 0;
    border: 1px solid var(--ifm-toc-border-color);
  }

  .collapseSidebarButtonIcon_kv0_ {
    transform: rotate(180deg);
    margin-top: 4px;
  }

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

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

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

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

.iconExternalLink_nPIU {
  margin-left: 0.3rem;
}

.menuExternalLink_NnFM {
  align-items: center;
}

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

.categoryLink_m60s {
  overflow: hidden;
}

.menu__link--sublist-caret::after {
  margin-left: var(--ifm-menu-link-padding-vertical);
}

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

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

@media (min-width: 997px) {
  .menuHtmlItem_M9Kj {
    padding: var(--ifm-menu-link-padding-vertical)
      var(--ifm-menu-link-padding-horizontal);
  }
}

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

@media (min-width: 997px) {
  .menu_SIkG {
    flex-grow: 1;
    padding: 0.5rem;
  }
  @supports (scrollbar-gutter: stable) {
    .menu_SIkG {
      padding: 0.5rem 0 0.5rem 0.5rem;
      scrollbar-gutter: stable;
    }
  }

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

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

@media (min-width: 997px) {
  .sidebar_njMd {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-top: var(--ifm-navbar-height);
    width: var(--doc-sidebar-width);
  }

  .sidebarWithHideableNavbar_wUlq {
    padding-top: 0;
  }

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

  .sidebarLogo_isFc {
    display: flex !important;
    align-items: center;
    margin: 0 var(--ifm-navbar-padding-horizontal);
    min-height: var(--ifm-navbar-height);
    max-height: var(--ifm-navbar-height);
    color: inherit !important;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
  }

  .sidebarLogo_isFc img {
    margin-right: 0.5rem;
    height: 2rem;
  }
}

.sidebarLogo_isFc {
  display: none;
}

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

@media (min-width: 997px) {
  .expandButton_TmdG {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color var(--ifm-transition-fast) ease;
    background-color: var(--docusaurus-collapse-button-bg);
  }

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

  .expandButtonIcon_i1dp {
    transform: rotate(0);
  }

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

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

:root {
  --doc-sidebar-width: 300px;
  --doc-sidebar-hidden-width: 30px;
}

.docSidebarContainer_YfHR {
  display: none;
}

@media (min-width: 997px) {
  .docSidebarContainer_YfHR {
    display: block;
    width: var(--doc-sidebar-width);
    margin-top: calc(-1 * var(--ifm-navbar-height));
    border-right: 1px solid var(--ifm-toc-border-color);
    will-change: width;
    transition: width var(--ifm-transition-fast) ease;
    clip-path: inset(0);
  }

  .docSidebarContainerHidden_DPk8 {
    width: var(--doc-sidebar-hidden-width);
    cursor: pointer;
  }

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

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

.docMainContainer_TBSr {
  display: flex;
  width: 100%;
}

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

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

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

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

.docRoot_UBD9 {
  display: flex;
  width: 100%;
}

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

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

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

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

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

.hash-link {
  opacity: 0;
  padding-left: 0.5rem;
  transition: opacity var(--ifm-transition-fast);
  -webkit-user-select: none;
          user-select: none;
}

.hash-link::before {
  content: '#';
}

.hash-link:focus,
*:hover > .hash-link {
  opacity: 1;
}

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

.dropdownNavbarItemMobile_J0Sd {
  cursor: pointer;
}

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

.iconLanguage_nlXk {
  vertical-align: text-bottom;
  margin-right: 5px;
}

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

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

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

.searchBar_RVTs .dropdownMenu_qbY6 {
  left: auto !important;
  right: 0 !important;

  background: var(--search-local-modal-background, #f5f6f7);
  border-radius: 6px;
  box-shadow: var(
    --search-local-modal-shadow,
    inset 1px 1px 0 0 hsla(0, 0%, 100%, 0.5),
    0 3px 8px 0 #555a64
  );
  margin-top: 8px;
  width: var(--search-local-modal-width, 560px);
  position: relative;

  padding: var(--search-local-spacing, 12px);
}

.searchInput_YFbd:focus {
  outline: 2px solid var(--search-local-input-active-border-color, var(--ifm-color-primary));
  outline-offset: 0px;
}

@media not (max-width: 996px) {
  .searchBar_RVTs.searchBarLeft_MXDe .dropdownMenu_qbY6 {
    left: 0 !important;
    right: auto !important;
  }
}

@media (max-width: 576px) {
  .navbar__search-input:not(:focus) {
    width: 2rem;
  }

  .searchBar_RVTs .dropdownMenu_qbY6 {
    width: var(--search-local-modal-width-sm, 340px);
    max-width: calc(100vw - var(--ifm-navbar-padding-horizontal) * 2);
  }
}

html[data-theme="dark"] .searchBar_RVTs .dropdownMenu_qbY6 {
  background: var(--search-local-modal-background, var(--ifm-background-color));
  box-shadow: var(
    --search-local-modal-shadow,
    inset 1px 1px 0 0 #2c2e40,
    0 3px 8px 0 #000309
  );
}

.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2 {
  cursor: pointer;
  background: var(--search-local-hit-background, #fff);
  border-radius: 4px;
  box-shadow: var(--search-local-hit-shadow, 0 1px 3px 0 #d4d9e1);
  padding: 0 var(--search-local-spacing, 12px);
  width: 100%;

  align-items: center;
  color: var(--search-local-hit-color, #444950);
  display: flex;
  flex-direction: row;
  height: var(--search-local-hit-height, 56px);
}

html[data-theme="dark"] .dropdownMenu_qbY6 .suggestion_fB_2 {
  background: var(--search-local-hit-background, var(--ifm-color-emphasis-100));
  box-shadow: var(--search-local-hit-shadow, none);
  color: var(--search-local-hit-color, var(--ifm-font-color-base));
}

.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2:not(:last-child) {
  margin-bottom: 4px;
}

.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2.cursor_eG29 {
  background-color: var(
    --search-local-highlight-color,
    var(--ifm-color-primary)
  );
}

.hitTree_kk6K,
.hitIcon_a7Zy,
.hitPath_ieM4,
.noResultsIcon_EBY5,
.hitFooter_E9YW a {
  color: var(--search-local-muted-color, #969faf);
}

html[data-theme="dark"] .hitTree_kk6K,
html[data-theme="dark"] .hitIcon_a7Zy,
html[data-theme="dark"] .hitPath_ieM4,
html[data-theme="dark"] .noResultsIcon_EBY5 {
  color: var(--search-local-muted-color, var(--ifm-color-secondary-darkest));
}

.hitTree_kk6K {
  display: flex;
  align-items: center;
}

.hitTree_kk6K > svg {
  height: var(--search-local-hit-height, 56px);
  opacity: 0.5;
  stroke-width: var(--search-local-icon-stroke-width, 1.4);
  width: 24px;
}

.hitIcon_a7Zy {
  stroke-width: var(--search-local-icon-stroke-width, 1.4);

  height: 20px;
  width: 20px;
}

.hitWrapper_sAK8 {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  font-weight: 500;
  justify-content: center;
  margin: 0 8px;
  overflow-x: hidden;
  width: 80%;
}

.hitWrapper_sAK8 mark {
  background: none;
  color: var(--search-local-highlight-color, var(--ifm-color-primary));
}

.hitTitle_vyVt {
  font-size: 0.9em;
}

.hitPath_ieM4 {
  font-size: 0.75em;
}

.hitPath_ieM4,
.hitTitle_vyVt {
  white-space: nowrap;
  overflow-x: hidden;
  text-overflow: ellipsis;
}

.hitAction_NqkB {
  height: 20px;
  width: 20px;
}

.hideAction_vcyE > svg {
  display: none;
}

.noResults_l6Q3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--search-local-spacing, 12px) 0;
}

.noResultsIcon_EBY5 {
  margin-bottom: var(--search-local-spacing, 12px);
}

.hitFooter_E9YW {
  text-align: center;
  margin-top: var(--search-local-spacing, 12px);
  font-size: 0.85em;
}

.hitFooter_E9YW a {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.cursor_eG29 .hideAction_vcyE > svg {
  display: block;
}

.suggestion_fB_2.cursor_eG29,
.suggestion_fB_2.cursor_eG29 mark,
.suggestion_fB_2.cursor_eG29 .hitTree_kk6K,
.suggestion_fB_2.cursor_eG29 .hitIcon_a7Zy,
.suggestion_fB_2.cursor_eG29 .hitPath_ieM4 {
  color: var(
    --search-local-hit-active-color,
    var(--ifm-color-white)
  ) !important;
}

.suggestion_fB_2.cursor_eG29 mark {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.searchBarContainer_NW3z {
  margin-left: 16px;
}

.searchBarContainer_NW3z .searchBarLoadingRing_YnHq {
  display: none;
  position: absolute;
  left: 10px;
  top: 6px;
}

.searchBarContainer_NW3z .searchClearButton_qk4g {
  position: absolute;
  right: 0.8rem;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  background: none;
  border: none;
  line-height: 1rem;
}

.navbar__search {
  position: relative;
}

.searchIndexLoading_EJ1f .navbar__search-input {
  background-image: none;
}

.searchBarContainer_NW3z.searchIndexLoading_EJ1f .searchBarLoadingRing_YnHq {
  display: inline-block;
}

.searchHintContainer_Pkmr {
  position: absolute;
  right: 10px;
  top: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  pointer-events: none;
  gap: 4px;
}

.searchHint_iIMx {
  color: var(--ifm-navbar-search-input-placeholder-color);
  background-color: var(--ifm-navbar-search-input-background-color);
  border: 1px solid var(--ifm-color-emphasis-500);
  box-shadow: inset 0 -1px 0 var(--ifm-color-emphasis-500);
}

@media (max-width: 576px) {
  .searchBarContainer_NW3z:not(.focused_OWtg) .searchClearButton_qk4g,
  .searchHintContainer_Pkmr {
    display: none;
  }
}

/* Manually make the search bar be LTR even if in RTL */
html[dir="rtl"] .searchHintContainer_Pkmr {
  right: auto;
  left: 10px;
}

html[dir="rtl"] .searchBarContainer_NW3z .searchClearButton_qk4g {
  right: auto;
  left: 0.8rem;
}

html[dir="rtl"] .searchBarContainer_NW3z .searchBarLoadingRing_YnHq {
  left: auto;
  right: 10px;
}

html[dir="rtl"] .navbar__search-input {
  padding: 0 2.25em 0 0.5em;
}

/* For autocomplete.js only. */
.input_FOTf {
}
.hint_URu1 {
}
.suggestions_X8XU {
}
.dataset_QiCy {
}
.empty_eITn {
}
/**/

/* https://loading.io/css/ */
.loadingRing_RJI3 {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  opacity: var(--search-local-loading-icon-opacity, 0.5);
}

.loadingRing_RJI3 div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  margin: 2px;
  border: 2px solid
    var(--search-load-loading-icon-color, var(--ifm-navbar-search-input-color));
  border-radius: 50%;
  animation: loading-ring_FB5o 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: var(
      --search-load-loading-icon-color,
      var(--ifm-navbar-search-input-color)
    )
    transparent transparent transparent;
}

.loadingRing_RJI3 div:nth-child(1) {
  animation-delay: -0.45s;
}

.loadingRing_RJI3 div:nth-child(2) {
  animation-delay: -0.3s;
}

.loadingRing_RJI3 div:nth-child(3) {
  animation-delay: -0.15s;
}

@keyframes loading-ring_FB5o {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

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

/*
Workaround to avoid rendering empty search container
See https://github.com/facebook/docusaurus/pull/9385
*/
.navbarSearchContainer_Bca1:empty {
  display: none;
}

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

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

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

.navbarHideable_m1mJ {
  transition: transform var(--ifm-transition-fast) ease;
}

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

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

.iconEdit_Z9Sw {
  margin-right: 0.3em;
  vertical-align: sub;
}

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

/*
Hide color mode toggle in small viewports
 */
@media (max-width: 996px) {
  .colorModeToggle_DEke {
    display: none;
  }
}

/*
Restore some Infima style that broke with CSS Cascade Layers
See https://github.com/facebook/docusaurus/pull/11142
 */
.navbar__items--right > :last-child {
  padding-right: 0;
}

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

.lastUpdated_JAkA {
  font-size: smaller;
  font-style: italic;
  margin-top: 0.2rem;
}

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

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

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

.tocCollapsibleButton_TO0P {
  font-size: inherit;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4rem 0.8rem;
  width: 100%;
}

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

.tocCollapsibleButtonExpanded_MG3E::after {
  transform: none;
}

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

.tocCollapsible_ETCw {
  background-color: var(--ifm-menu-color-background-active);
  border-radius: var(--ifm-global-radius);
  margin: 1rem 0;
}

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

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

.tocCollapsibleContent_vkbj a {
  display: block;
}

.tocCollapsibleExpanded_sAul {
  transform: none;
}

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

@media (min-width: 997px) {
  /* Prevent hydration FOUC, as the mobile TOC needs to be server-rendered */
  .tocMobile_ITEo {
    display: none;
  }
}

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

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

.footerLogoLink_BH7S {
  opacity: 0.5;
  transition: opacity var(--ifm-transition-fast)
    var(--ifm-transition-timing-default);
}

.footerLogoLink_BH7S:hover {
  opacity: 1;
}

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

html,
body {
  height: 100%;
}

.mainWrapper_z2l0 {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

/* Docusaurus-specific utility class */
.docusaurus-mt-lg {
  margin-top: 3rem;
}

#__docusaurus {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

.tree_hBT9 {
  padding: 0.5rem 0;
}

.nodeItem_p0yH {
  margin-bottom: 2px;
}

.nodeRow_PPb_ {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}

.nodeRow_PPb_:hover {
  background: var(--ifm-color-emphasis-100);
}

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

.nodeRowSelected_YPB8:hover {
  background: var(--ifm-color-primary-dark);
  color: var(--ifm-font-color-base-inverse);
}

.toggle_ibb8 {
  width: 18px;
  text-align: center;
  font-size: 0.7rem;
  color: var(--ifm-color-content-secondary);
  flex-shrink: 0;
}

.nodeRowSelected_YPB8 .toggle_ibb8 {
  color: rgba(255, 255, 255, 0.9);
}

.nodeName_D17B {
  font-size: 0.9rem;
  flex: 1;
}

.nodeBadge_ThTH {
  flex-shrink: 0;
  min-width: 20px;
  padding: 0 6px;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 600;
  background: var(--ifm-color-emphasis-300);
  color: var(--ifm-color-content);
}

.nodeRowSelected_YPB8 .nodeBadge_ThTH {
  background: rgba(255, 255, 255, 0.3);
  color: inherit;
}

.children_DC3F {
  margin-top: 2px;
}

.empty_t8Q5 {
  padding: 1rem;
  color: var(--ifm-color-content-secondary);
  font-size: 0.9rem;
}

.list_CyIB {
  padding: 0 0 1rem;
}

.listHeader_TXwJ {
  font-size: 0.9rem;
  color: var(--ifm-color-content-secondary);
  margin-bottom: 1rem;
}

.grid_GaCS {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

.card_aYBd {
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid var(--ifm-color-emphasis-200);
  background: var(--ifm-background-surface-color);
}

.cardHeader_OHK4 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.formatIcon_NxO2 {
  font-size: 1.25rem;
  flex-shrink: 0;
  line-height: 1;
}

.formatTag_kTRT {
  flex-shrink: 0;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.75rem;
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-content);
}

.cardTitle_ZD6w {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  color: var(--ifm-heading-color);
}

.cardDesc_CVJA {
  font-size: 0.85rem;
  color: var(--ifm-color-content-secondary);
  margin: 0 0 0.75rem;
  line-height: 1.5;
}

.actions_seh1 {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.btnPreview_vSBM,
.btnDownload_c2VO {
  padding: 0.35rem 0.75rem;
  border-radius: 6px;
  font-size: 0.85rem;
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: opacity 0.2s;
}

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

.btnPreview_vSBM:hover {
  color: var(--ifm-font-color-base-inverse);
  opacity: 0.9;
}

.btnDownload_c2VO {
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-content);
}

.btnDownload_c2VO:hover {
  background: var(--ifm-color-emphasis-300);
  color: var(--ifm-color-content);
}

.empty_zpwJ {
  text-align: center;
  padding: 3rem 1.5rem;
  border-radius: 12px;
  border: 1px dashed var(--ifm-color-emphasis-300);
  background: var(--ifm-background-surface-color);
}

.emptyIcon_YN7J {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.6;
}

.emptyTitle_Ao4i {
  font-size: 1rem;
  font-weight: 600;
  color: var(--ifm-heading-color);
  margin: 0 0 0.5rem;
}

.emptyDesc_ROVQ {
  font-size: 0.9rem;
  color: var(--ifm-color-content-secondary);
  margin: 0 0 1.25rem;
  line-height: 1.5;
}

.emptyActions_T4an {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.emptyBtn_U3xz {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 500;
  background: var(--ifm-color-primary);
  color: var(--ifm-font-color-base-inverse);
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: opacity 0.2s, transform 0.2s;
}

.emptyBtn_U3xz:hover {
  color: var(--ifm-font-color-base-inverse);
  opacity: 0.92;
  transform: translateY(-1px);
}

.container_gueS {
  max-width: min(1480px, 96vw);
  margin: 0 auto;
  padding: 2rem clamp(1rem, 2.5vw, 2rem);
  width: 100%;
  box-sizing: border-box;
}

@media (min-width: 997px) {
  .container_gueS {
    max-width: min(1520px, 94vw);
    padding: 2.25rem clamp(1.25rem, 2vw, 2.5rem) 3rem;
  }

  .domainGrid_TuI1 {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.35rem;
  }
}

.header_QmkG {
  text-align: center;
  margin-bottom: 2.5rem;
}

.detailHeader_TEnD {
  margin-bottom: 2rem;
}

.heroTitle_yxtf {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, var(--ifm-color-primary) 0%, #8B5CF6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.desc_uBAU {
  color: var(--ifm-color-content-secondary);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
}

.domainGrid_TuI1 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.25rem;
}

.domainCard_TlyK {
  display: flex;
  gap: 1rem;
  padding: 1.25rem;
  border-radius: 12px;
  border: 2px solid var(--ifm-color-emphasis-200);
  background: var(--ifm-background-surface-color);
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.domainCard_TlyK:hover {
  border-color: var(--domain-color, var(--ifm-color-primary));
  box-shadow: var(--ifm-global-shadow-md);
  transform: translateY(-2px);
  color: inherit;
}

.domainCardIcon_W3rt {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.domainCardBody_iql2 {
  flex: 1;
  min-width: 0;
}

.domainName_idJ3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
  color: var(--ifm-heading-color);
}

.domainBrief_vhyQ {
  font-size: 0.9rem;
  color: var(--ifm-color-content-secondary);
  margin: 0 0 0.75rem;
  line-height: 1.5;
}

.domainMeta_X19m {
  display: flex;
  gap: 1rem;
  font-size: 0.8rem;
  color: var(--ifm-color-content-secondary);
}

.domainMeta_X19m span {
  font-weight: 500;
}

/* 面包屑 */
.breadcrumb_sdvd {
  margin-bottom: 1rem;
  font-size: 0.9rem;
}

.breadcrumb_sdvd a {
  color: var(--ifm-color-primary);
  -webkit-text-decoration: none;
  text-decoration: none;
}

.breadcrumb_sdvd a:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.breadcrumbSep_D2Ck {
  margin: 0 0.4rem;
  color: var(--ifm-color-content-secondary);
}

.breadcrumbCurrent_bapd {
  color: var(--ifm-color-content);
  font-weight: 500;
}

.nodeBrief_wNHQ {
  font-size: 0.9rem;
  color: var(--ifm-color-content-secondary);
  margin: 0 0 1rem;
  line-height: 1.5;
}

.backLink_OTIZ {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: 0.9rem;
  color: var(--ifm-color-primary);
  -webkit-text-decoration: none;
  text-decoration: none;
}

.backLink_OTIZ:hover {
  color: var(--ifm-color-primary-dark);
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.detailLayout_yubp {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 2rem;
  align-items: start;
}

@media (max-width: 768px) {
  .detailLayout_yubp {
    grid-template-columns: 1fr;
  }
}

.sidebar_AMww {
  position: sticky;
  top: 80px;
  padding: 1rem;
  border-radius: 10px;
  background: var(--ifm-background-surface-color);
  border: 1px solid var(--ifm-color-emphasis-200);
}

.sidebarTitle_yN8I {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.75rem;
  color: var(--ifm-heading-color);
}

.main_lY9O {
  min-width: 0;
}

.mainTitle_wmmp {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 1rem;
  color: var(--ifm-heading-color);
}

/* AI学习资料落地页 - Hero、双 CTA、难度 Tab、资料卡片 */

.container_NqG1 {
  /* 桌面端加宽内容区，减少两侧过大留白；移动端仍靠 padding 收边 */
  max-width: min(1480px, 96vw);
  margin: 0 auto;
  padding: 2rem clamp(1rem, 2.5vw, 2rem);
  width: 100%;
  box-sizing: border-box;
}

@media (min-width: 997px) {
  .container_NqG1 {
    max-width: min(1520px, 94vw);
    padding: 2.25rem clamp(1.25rem, 2vw, 2.5rem) 3rem;
  }

  .heroDesc_cTKf {
    max-width: 720px;
  }

  .cardGrid_UqCq {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.35rem;
  }
}

/* Hero 区 */
.hero_InQM {
  text-align: center;
  margin-bottom: 2.5rem;
}

.heroTitle_uhZE {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  margin-bottom: 0.75rem;
  background: linear-gradient(135deg, var(--ifm-color-primary) 0%, #8B5CF6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.heroDesc_cTKf {
  color: var(--ifm-color-content-secondary);
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 580px;
  margin: 0 auto 1.5rem;
}

.heroCta_B3bT {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}

.ctaPrimary_VdJ2 {
  padding: 0.65rem 1.4rem;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  background: var(--ifm-color-primary);
  color: var(--ifm-font-color-base-inverse);
  cursor: pointer;
  transition: opacity 0.2s, transform 0.2s;
}

.ctaPrimary_VdJ2:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

.ctaSecondary_tpj1 {
  display: inline-block;
  padding: 0.65rem 1.4rem;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 600;
  border: 2px solid var(--ifm-color-primary);
  color: var(--ifm-color-primary);
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, transform 0.2s;
}

.ctaSecondary_tpj1:hover {
  background: var(--ifm-color-primary);
  color: var(--ifm-font-color-base-inverse);
  transform: translateY(-1px);
}

/* 数据概览 */
.stats_Ffji {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
  margin-bottom: 2rem;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  background: var(--ifm-background-surface-color);
  border: 1px solid var(--ifm-color-emphasis-200);
}

.statItem_rGoI {
  font-size: 0.95rem;
  color: var(--ifm-color-content-secondary);
}

.statItem_rGoI strong {
  color: var(--ifm-color-primary);
  margin: 0 0.2em;
}

/* 四级难度 Tab */
.tabs_gY8Z {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-bottom: 2rem;
  scroll-margin-top: 80px;
}

.tab_TfmN {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  border-radius: 10px;
  font-size: 0.95rem;
  font-weight: 500;
  border: 2px solid transparent;
  background: var(--ifm-background-surface-color);
  color: var(--ifm-color-content);
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.tab_TfmN:hover {
  background: var(--ifm-color-emphasis-100);
}

.tabDot_kpB9 {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ifm-color-emphasis-400);
  flex-shrink: 0;
}

.tabSubtitle_JxoY {
  font-size: 0.8rem;
  color: var(--ifm-color-content-secondary);
  font-weight: 400;
}

.tabActive_gBw1 .tabDot_kpB9 {
  background: currentColor;
}

.tabActive_gBw1 {
  border-color: var(--ifm-color-primary);
  background: var(--ifm-color-emphasis-100);
}

.tabActiveBeginner_mpzA {
  border-color: #4ADE80;
  background: rgba(74, 222, 128, 0.15);
}

.tabActiveIntermediate_nF0I {
  border-color: #60A5FA;
  background: rgba(96, 165, 250, 0.15);
}

.tabActiveAdvanced_dnve {
  border-color: #A78BFA;
  background: rgba(167, 139, 250, 0.15);
}

.tabActiveResearch_mqpY {
  border-color: #F59E0B;
  background: rgba(245, 158, 11, 0.15);
}

/* 资料卡片网格 */
.cardGrid_UqCq {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.25rem;
}

.card_El4J {
  position: relative;
  display: block;
  padding: 0;
  border-radius: 12px;
  background: var(--ifm-card-background-color, var(--ifm-background-surface-color));
  border: 1px solid var(--ifm-color-emphasis-200);
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
  overflow: hidden;
}

.card_El4J:hover {
  border-color: var(--ifm-color-primary);
  box-shadow: var(--ifm-global-shadow-md);
  transform: translateY(-2px);
}

.cardLevelBar_dfoZ {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
}

.cardInner_kUeI {
  display: flex;
  gap: 1rem;
  padding: 1.25rem 1.25rem 1.25rem calc(1.25rem + 4px);
}

.formatIcon_B3_1 {
  font-size: 1.5rem;
  flex-shrink: 0;
  line-height: 1;
}

.cardBody_j_q8 {
  flex: 1;
  min-width: 0;
}

.cardTitle_dzGd {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ifm-heading-color);
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

.cardDesc_upbU {
  font-size: 0.9rem;
  color: var(--ifm-color-content-secondary);
  line-height: 1.5;
  margin-bottom: 0.75rem;
}

.cardMeta_OSMN {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.levelTag_J4VF {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 500;
}

.formatTag_nCxl {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  border-radius: 6px;
  font-size: 0.75rem;
  background: var(--ifm-color-emphasis-200);
  color: var(--ifm-color-content);
}

/* 空状态 */
.empty_tLOS {
  text-align: center;
  padding: 3rem 1rem;
  color: var(--ifm-color-content-secondary);
}

.empty_tLOS p {
  margin: 0;
  font-size: 1rem;
}

/* AI前沿资讯 — 贴合 stonex 主色，避免紫渐变模板感 */

/* 突破 Docusaurus .container（默认 1140/1320）限制，大屏接近全宽 */
.main-wrapper main .container:has(.ai-news-container) {
  max-width: none;
  width: 100%;
  padding-left: max(1rem, calc((100% - 1600px) / 2));
  padding-right: max(1rem, calc((100% - 1600px) / 2));
}

.ai-news-container {
  --ain-ink: #0f172a;
  --ain-muted: #64748b;
  --ain-line: rgba(15, 23, 42, 0.08);
  --ain-surface: #ffffff;
  --ain-wash: #f4f7fb;
  --ain-accent: var(--ifm-color-primary, #3861fb);
  --ain-accent-soft: rgba(56, 97, 251, 0.1);
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  padding: 2rem 1.25rem 3.5rem;
  box-sizing: border-box;
}

[data-theme='dark'] .ai-news-container {
  --ain-ink: #e8eef8;
  --ain-muted: #94a3b8;
  --ain-line: rgba(232, 238, 248, 0.12);
  --ain-surface: rgba(15, 23, 42, 0.55);
  --ain-wash: rgba(15, 23, 42, 0.35);
}

.ai-news-header {
  text-align: left;
  margin-bottom: 1.75rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--ain-line);
  background:
    radial-gradient(1200px 280px at 10% -40%, var(--ain-accent-soft), transparent 60%),
    linear-gradient(180deg, var(--ain-wash), transparent 70%);
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border-radius: 0 0 1rem 1rem;
}

.ai-news-brand {
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ain-accent);
  font-weight: 700;
  margin: 0 0 0.5rem;
}

.ai-news-header h1 {
  font-size: clamp(1.85rem, 4vw, 2.6rem);
  font-weight: 800;
  color: var(--ain-ink);
  margin: 0 0 0.4rem;
  letter-spacing: -0.02em;
  background: none;
  -webkit-text-fill-color: unset;
}

.ai-news-subtitle {
  color: var(--ain-muted);
  font-size: 1.05rem;
  margin: 0 0 0.5rem;
}

.ai-news-updated {
  font-size: 0.85rem;
  color: var(--ain-muted);
  margin: 0;
}

/* Tabs */
.ai-news-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}

.ai-news-tab {
  border: 1px solid var(--ain-line);
  background: transparent;
  color: var(--ain-muted);
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.ai-news-tab:hover {
  border-color: var(--ain-accent);
  color: var(--ain-accent);
}

.ai-news-tab.active {
  background: var(--ain-accent);
  border-color: var(--ain-accent);
  color: #fff;
  font-weight: 600;
}

/* Search */
.ai-news-search {
  margin-bottom: 1.75rem;
}

.ai-news-search-input {
  width: 100%;
  padding: 0.85rem 1.1rem;
  border: 1px solid var(--ain-line);
  border-radius: 10px;
  font-size: 1rem;
  background: var(--ain-surface);
  color: var(--ain-ink);
  transition: border-color 0.2s, box-shadow 0.2s;
}

.ai-news-search-input:focus {
  outline: none;
  border-color: var(--ain-accent);
  box-shadow: 0 0 0 3px var(--ain-accent-soft);
}

/* List items */
.ai-news-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ai-news-item {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 0.85rem;
  padding: 0.95rem 0.35rem;
  border-bottom: 1px solid var(--ain-line);
  cursor: pointer;
  transition: background 0.2s;
  border-radius: 8px;
}

.ai-news-item:hover {
  background: var(--ain-wash);
}

.ai-news-item:focus-visible {
  outline: 2px solid var(--ain-accent);
  outline-offset: 2px;
}

.ai-news-item-rail {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  align-items: flex-start;
  padding-top: 0.15rem;
}

.ai-news-badge {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
}

.ai-news-badge.tier-1 {
  background: rgba(56, 97, 251, 0.15);
  color: var(--ain-accent);
}

.ai-news-badge.tier-2 {
  background: rgba(14, 165, 233, 0.15);
  color: #0284c7;
}

.ai-news-badge.tier-3 {
  background: rgba(100, 116, 139, 0.15);
  color: var(--ain-muted);
}

.ai-news-source-chip {
  font-size: 0.75rem;
  color: var(--ain-muted);
  line-height: 1.3;
  word-break: break-all;
}

.ai-news-title {
  font-size: 1.08rem;
  font-weight: 700;
  color: var(--ain-ink);
  margin: 0 0 0.35rem;
  line-height: 1.4;
}

.ai-news-item:hover .ai-news-title {
  color: var(--ain-accent);
}

.ai-news-summary {
  color: var(--ain-muted);
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0 0 0.45rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ai-news-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  font-size: 0.8rem;
  color: var(--ain-muted);
}

.ai-news-meta-item.cat {
  color: var(--ain-accent);
  font-weight: 600;
}

.ai-news-tags {
  margin-top: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.ai-news-tag {
  font-size: 0.72rem;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  background: var(--ain-wash);
  color: var(--ain-muted);
}

/* States */
.ai-news-loading,
.ai-news-empty {
  text-align: center;
  padding: 3rem 1rem;
  color: var(--ain-muted);
}

.ai-news-spinner {
  display: inline-block;
  width: 36px;
  height: 36px;
  border: 3px solid var(--ain-line);
  border-top-color: var(--ain-accent);
  border-radius: 50%;
  animation: ain-spin 0.8s linear infinite;
  margin-bottom: 0.75rem;
}

.ai-news-spinner.small {
  width: 16px;
  height: 16px;
  border-width: 2px;
  margin: 0;
  vertical-align: middle;
}

.ai-news-list.is-refreshing {
  opacity: 0.72;
  transition: opacity 0.2s ease;
}

.ai-news-refresh-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--ain-muted);
  padding: 0.35rem 0 0.75rem;
}

@keyframes ain-spin {
  to {
    transform: rotate(360deg);
  }
}

.ai-news-error {
  text-align: center;
  padding: 1.5rem;
  color: #b91c1c;
  background: rgba(239, 68, 68, 0.08);
  border-radius: 10px;
  border: 1px solid rgba(239, 68, 68, 0.2);
}

.ai-news-error-hint {
  font-size: 0.85rem;
  color: var(--ain-muted);
}

.ai-news-retry-btn {
  margin-top: 0.75rem;
  padding: 0.5rem 1.1rem;
  background: var(--ain-accent);
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

.ai-news-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}

.ai-news-pagination button {
  padding: 0.5rem 1rem;
  border: 1px solid var(--ain-line);
  background: var(--ain-surface);
  color: var(--ain-ink);
  border-radius: 8px;
  cursor: pointer;
}

.ai-news-pagination button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.ai-news-page-info {
  font-size: 0.9rem;
  color: var(--ain-muted);
}

@media (min-width: 1280px) {
  .ai-news-container {
    max-width: 1600px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1600px) {
  .main-wrapper main .container:has(.ai-news-container) {
    padding-left: max(1.5rem, calc((100% - 1600px) / 2));
    padding-right: max(1.5rem, calc((100% - 1600px) / 2));
  }
}

@media (max-width: 640px) {
  .ai-news-container {
    padding: 1.25rem 1rem 2.5rem;
  }

  .ai-news-item {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .ai-news-item-rail {
    flex-direction: row;
    align-items: center;
  }
}

/* ============================================================================
   src/pages/index.module.css
   ----------------------------------------------------------------------------
   首页专属样式。Docusaurus 用 CSS Modules，类名会被 webpack 哈希化，
   所以这里可以放心用短类名，不会污染全局。
   全局工具类（sx-grad-text / sx-shine / sx-reveal / sx-line-enter）在 custom.css。
   ========================================================================== */

/* ---------------------------------------------------------------- 布局骨架 */
.wrap_T5Hr {
  width: 100%;
  max-width: var(--sx-maxw);
  margin: 0 auto;
  padding: 0 24px;
}

.section_Q9Zo {
  padding: var(--sx-section-y) 0;
  position: relative;
}

.secHead_V4wM {
  max-width: 720px;
  margin-bottom: 56px;
}

.eyebrow_kY3W {
  font-family: var(--sx-font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ifm-color-emphasis-500);
  display: block;
}

.h2_gZ6G {
  font-family: var(--sx-font-display);
  font-weight: 700;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.12;
  letter-spacing: -0.022em;
  margin: 16px 0 0;
  color: var(--ifm-heading-color);
}

.lead_qqEL {
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.75;
  color: var(--ifm-color-content-secondary);
  margin-top: 18px;
}

/* ============================================================ 02 · 英雄区 */

.hero_aEcG {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 168px 0 120px;
  overflow: hidden;
}

.heroInner_V4lS {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: var(--sx-maxw);
  margin: 0 auto;
  padding: 0 24px;
}

/* ---------------------------------------------------- 动效背景栈（L0–L4） */

.bgStack_aloF {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

/* L0 · 静态渐变。SSR 也渲染 —— 刷新时不会闪黑 */
.layerStatic_ew_8 {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 660px at 8% -18%, rgba(79, 124, 255, 0.28), transparent 70%),
    radial-gradient(760px 560px at 98% -8%, rgba(0, 224, 255, 0.18), transparent 68%),
    radial-gradient(820px 600px at 48% -32%, rgba(139, 92, 246, 0.22), transparent 72%);
}

.layerGlow__lTO {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    60% 50% at 50% 0%,
    rgba(79, 124, 255, 0.14),
    transparent 70%
  );
}

.layerAurora_ZN0G,
.layerDots_SnMZ,
.layerParticles_Pd8p,
.layerNoiseWrap_t16t {
  position: absolute;
  inset: 0;
}

/* 噪点层：套一层 div 做定位与混合模式，
   不依赖 Noise 组件自身的 className prop（各版本有差异） */
.layerNoiseWrap_t16t {
  mix-blend-mode: overlay;
  opacity: 0.9;
}
.layerNoiseWrap_t16t > * {
  width: 100%;
  height: 100%;
}

/* 底部渐隐，让英雄区与跑马灯之间没有硬切边 */
.layerFade_wN61 {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 180px;
  background: linear-gradient(
    to top,
    var(--ifm-background-color) 8%,
    rgba(5, 7, 13, 0.6) 45%,
    transparent 100%
  );
}

/* --------------------------------------------------------------- 徽章 */

.badge__JoJ {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 32px;
  padding: 0 14px 0 12px;
  border: 1px solid var(--ifm-color-emphasis-400);
  border-radius: var(--sx-r-pill);
  background: rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(10px);
  font-family: var(--sx-font-mono);
  font-size: 11.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ifm-color-emphasis-600);
  margin-bottom: 34px;
}

.badgeDim_pa_z {
  color: var(--ifm-color-emphasis-500);
}

.badgeDot_JQyg {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sx-cyan);
  animation: sx-ping_odue 2.4s ease-out infinite;
}

@keyframes sx-ping_odue {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 224, 255, 0.55);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(0, 224, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(0, 224, 255, 0);
  }
}

/* ------------------------------------------------- 主标题三层（场景 B） */

.h1_SKUt {
  font-family: var(--sx-font-display);
  font-weight: 700;
  font-size: clamp(34px, 5.6vw, 80px);
  line-height: 1.04;
  letter-spacing: -0.03em;
  margin: 0;
  color: var(--ifm-heading-color);
}

/* L1 · 品牌锚点。渐变流字，整行入场 */
.h1Line1_T02C {
  display: block;
  font-size: 1.16em;
  letter-spacing: -0.045em;
}

/* L2 · 短祈使。逐字 rotateX 入场，近白 */
.h1Line2_y0Dx {
  display: block;
  margin-top: 0.06em;
  color: var(--ifm-color-emphasis-900);
}

/* L3 · 长宾语。周期扫光，整行入场 */
.h1Line3_Jwvb {
  display: block;
}

/* 中文对应行 —— 打字机。字号比英文降 2–3 级 */
.h1Cn_QYca {
  display: block;
  margin: 20px 0 0;
  font-family: var(--sx-font-display);
  font-weight: 500;
  font-size: clamp(15px, 1.5vw, 21px);
  letter-spacing: 0.03em;
  color: var(--ifm-color-content-secondary);
  min-height: 1.6em; /* 预留高度，打字机过程不引起 CLS */
}

.caret_Pn5c {
  color: var(--sx-cyan);
}

.heroSub_yj39 {
  max-width: 600px;
  margin-top: 26px;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.75;
  color: var(--ifm-color-content-secondary);
}

/* ------------------------------------------------------------ CTA */

.heroActions_Z2kl {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 40px;
  align-items: center;
}

.magnetWrap_XMTO {
  display: inline-block;
}

.btnPrimary_hBjO,
.btnGhost_qNii {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 28px;
  border-radius: var(--sx-r-pill);
  font-size: 15px;
  font-weight: 600;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: transform 0.3s var(--sx-ease), box-shadow 0.35s var(--sx-ease),
    background 0.3s var(--sx-ease), border-color 0.3s var(--sx-ease);
  will-change: transform;
}

.btnPrimary_hBjO {
  color: #04070f !important;
  background: var(--sx-grad-cta);
  box-shadow: 0 14px 44px -16px rgba(0, 224, 255, 0.75);
}

/* StarBorder 效果的纯 CSS 版本：锥形渐变描边缓慢旋转 */
.btnPrimary_hBjO::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  z-index: -1;
  background: conic-gradient(
    from 0deg,
    transparent 0 62%,
    rgba(0, 224, 255, 0.95) 74%,
    #ffffff 80%,
    rgba(139, 92, 246, 0.95) 88%,
    transparent 100%
  );
  animation: sx-spin_rKKN 3.4s linear infinite;
  filter: blur(5px);
  opacity: 0.9;
}

@keyframes sx-spin_rKKN {
  to {
    transform: rotate(360deg);
  }
}

.btnGhost_qNii {
  color: var(--ifm-color-emphasis-900) !important;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--ifm-color-emphasis-400);
  backdrop-filter: blur(10px);
}

.btnPrimary_hBjO:hover,
.btnGhost_qNii:hover {
  transform: translateY(-2px);
}
.btnGhost_qNii:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(0, 224, 255, 0.4);
}

/* --------------------------------------------------------- 数据条 */

.heroMeta_PBQM {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 64px 0 0;
  padding: 26px 0 0;
  list-style: none;
  border-top: 1px solid var(--ifm-color-emphasis-300);
}

.heroMeta_PBQM li {
  padding-right: 38px;
  margin-right: 38px;
  border-right: 1px solid var(--ifm-color-emphasis-300);
}
.heroMeta_PBQM li:last-child {
  border-right: 0;
  margin-right: 0;
  padding-right: 0;
}

.heroMeta_PBQM b {
  display: block;
  font-family: var(--sx-font-display);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--ifm-heading-color);
}

.heroMeta_PBQM span {
  font-family: var(--sx-font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ifm-color-emphasis-500);
}

/* ==================================================== 03 · 生态跑马灯 */

.loopSec_I6mO {
  padding: 10px 0 0;
  overflow: hidden;
}

.loopHead_l1sK {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center;
  font-family: var(--sx-font-mono);
  font-size: 11.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ifm-color-emphasis-500);
  margin-bottom: 30px;
}
.loopHead_l1sK::before,
.loopHead_l1sK::after {
  content: '';
  height: 1px;
  width: 80px;
}
.loopHead_l1sK::before {
  background: linear-gradient(90deg, transparent, var(--ifm-color-emphasis-400));
}
.loopHead_l1sK::after {
  background: linear-gradient(90deg, var(--ifm-color-emphasis-400), transparent);
}

.marquee_LIF0 {
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.marquee_LIF0 + .marquee_LIF0 {
  margin-top: 14px;
}

.marqueeTrack_DTj0 {
  display: flex;
  gap: 14px;
  width: max-content;
  animation: sx-slide_sLLZ 46s linear infinite;
}

/* 第二行反向 + 更慢，制造视差层次 */
.marqueeRev_Jgt5 .marqueeTrack_DTj0 {
  animation-direction: reverse;
  animation-duration: 56s;
}

@keyframes sx-slide_sLLZ {
  to {
    transform: translateX(-50%);
  }
}

.chip_GnLa {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 40px;
  padding: 0 18px;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: var(--sx-r-pill);
  font-size: 13.5px;
  color: var(--ifm-color-emphasis-600);
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.02);
  transition: color 0.35s, border-color 0.35s, background 0.35s;
}
.chip_GnLa i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--ifm-color-emphasis-500);
  transition: background 0.35s;
}
.chip_GnLa:hover {
  color: var(--ifm-color-emphasis-900);
  border-color: rgba(0, 224, 255, 0.35);
  background: rgba(0, 224, 255, 0.06);
}
.chip_GnLa:hover i {
  background: var(--sx-cyan);
}

/* ====================================================== 04 · 数据背书 */

.statsGrid_wBRk {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--ifm-color-emphasis-300);
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
}

.statsGrid_wBRk > div {
  padding: 40px 30px;
  border-right: 1px solid var(--ifm-color-emphasis-300);
}
.statsGrid_wBRk > div:last-child {
  border-right: 0;
}

.statsGrid_wBRk b {
  display: block;
  font-family: var(--sx-font-display);
  font-weight: 600;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1;
  letter-spacing: -0.03em;
  margin-top: 14px;
  background: linear-gradient(160deg, #f2f5ff, #7fd8ff 120%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.statsGrid_wBRk p {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ifm-color-content-secondary);
}

/* ================================================== 05 · 三大体系 */

.pillars_hDfg {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.spot__juQ {
  position: relative;
  overflow: hidden;
  padding: 36px 30px 30px;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: var(--sx-r-panel);
  background: var(--ifm-card-background-color);
  backdrop-filter: blur(14px);
  transition: border-color 0.45s var(--sx-ease), transform 0.45s var(--sx-ease);
  display: flex;
  flex-direction: column;
}
.spot__juQ:hover {
  border-color: rgba(79, 124, 255, 0.45);
  transform: translateY(-4px);
}

.spotNum_dDUa {
  font-family: var(--sx-font-mono);
  font-size: 13px;
  letter-spacing: 0.16em;
  color: var(--sx-cyan);
  display: block;
  margin-bottom: 26px;
}

.spot__juQ h3 {
  font-family: var(--sx-font-display);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ifm-heading-color);
  margin: 0;
}

.spotEn_DGHA {
  font-family: var(--sx-font-mono);
  font-size: 11.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ifm-color-emphasis-500);
  display: block;
  margin-top: 7px;
}

.spot__juQ p {
  margin: 16px 0 0;
  font-size: 14.5px;
  line-height: 1.72;
  color: var(--ifm-color-content-secondary);
}

.spotTags_Pk1R {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 22px;
}
.spotTags_Pk1R em {
  font-style: normal;
  font-family: var(--sx-font-mono);
  font-size: 11.5px;
  color: var(--ifm-color-emphasis-600);
  padding: 4px 10px;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.025);
}

.spotFoot_EBk1 {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--ifm-color-emphasis-300);
  font-family: var(--sx-font-mono);
  font-size: 12px;
  color: var(--ifm-color-emphasis-500) !important;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  transition: color 0.3s;
}
.spotFoot_EBk1:hover {
  color: var(--sx-cyan) !important;
}

/* ================================================== 06 · 课程矩阵 */

.filters_xtWT {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 34px;
}

.filter_EG7M {
  height: 38px;
  padding: 0 20px;
  border-radius: var(--sx-r-pill);
  cursor: pointer;
  border: 1px solid var(--ifm-color-emphasis-300);
  background: rgba(255, 255, 255, 0.025);
  color: var(--ifm-color-emphasis-600);
  font-size: 13.5px;
  font-family: var(--ifm-font-family-base);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  transition: all 0.3s var(--sx-ease);
}
.filter_EG7M:hover {
  color: var(--ifm-color-emphasis-900);
  border-color: var(--ifm-color-emphasis-400);
}

.filterOn_k4NJ {
  color: #04070f;
  border-color: transparent;
  font-weight: 600;
  background: var(--sx-grad-cta);
  box-shadow: 0 10px 26px -12px rgba(0, 224, 255, 0.7);
}

.filterCount_geUJ {
  font-family: var(--sx-font-mono);
  font-size: 11px;
  opacity: 0.75;
}

/* 6 列栅格：旗舰 span-3，常规 span-2 */
.bento_i_bG {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

.card_M5pr {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: var(--sx-r-card);
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012));
  transition: border-color 0.45s var(--sx-ease), transform 0.45s var(--sx-ease),
    box-shadow 0.45s var(--sx-ease);
}

.cardFeat_OayO {
  grid-column: span 3;
  min-height: 250px;
  padding: 30px;
}

.cardStd_ZTcj {
  grid-column: span 2;
  min-height: 190px;
}

.card_M5pr:hover {
  transform: translateY(-5px);
  border-color: rgba(79, 124, 255, 0.45);
  box-shadow: 0 26px 60px -30px rgba(0, 224, 255, 0.5);
}

/* GlareHover 效果的纯 CSS 版本：斜光掠过 */
.card_M5pr::after {
  content: '';
  position: absolute;
  top: 0;
  left: -70%;
  width: 55%;
  height: 100%;
  background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.09), transparent);
  transform: skewX(-18deg);
  transition: left 0.85s var(--sx-ease);
  pointer-events: none;
}
.card_M5pr:hover::after {
  left: 135%;
}

.cardTop_fLt7 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.cardIco_r1_X {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border-radius: 12px;
  display: grid;
  place-items: center;
  border: 1px solid var(--ifm-color-emphasis-400);
  background: rgba(255, 255, 255, 0.04);
  font-family: var(--sx-font-mono);
  font-size: 15px;
  color: var(--sx-cyan);
}
.cardIco_r1_X img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(72%) sepia(68%) saturate(1800%) hue-rotate(146deg);
}
.cardFeat_OayO .cardIco_r1_X {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  font-size: 17px;
}
.cardFeat_OayO .cardIco_r1_X img {
  width: 28px;
  height: 28px;
}

.cardCat_luVw {
  font-family: var(--sx-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ifm-color-emphasis-500);
  padding: 5px 9px;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 6px;
  white-space: nowrap;
}

.card_M5pr h3 {
  font-family: var(--sx-font-display);
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 20px 0 0;
  font-size: 17.5px;
  color: var(--ifm-heading-color);
}
.cardFeat_OayO h3 {
  font-size: 22px;
}

.card_M5pr p {
  margin: 11px 0 0;
  font-size: 13.8px;
  line-height: 1.7;
  color: var(--ifm-color-content-secondary);
  flex: 1;
}
.cardFeat_OayO p {
  font-size: 14.8px;
}

.cardLinks_LbIq {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.link_J5gy,
.linkPri_iZjA {
  font-size: 12.5px;
  padding: 6px 13px;
  border-radius: var(--sx-r-pill);
  border: 1px solid var(--ifm-color-emphasis-300);
  color: var(--ifm-color-emphasis-600) !important;
  -webkit-text-decoration: none !important;
  text-decoration: none !important;
  transition: all 0.28s var(--sx-ease);
}
.link_J5gy:hover {
  color: #04070f !important;
  background: var(--sx-cyan);
  border-color: var(--sx-cyan);
}

/* 「开始」是主入口，其余两个是次要入口 —— 三链接同级是这个页面原先最大的转化问题 */
.linkPri_iZjA {
  color: var(--ifm-color-emphasis-900) !important;
  border-color: rgba(0, 224, 255, 0.4);
  background: rgba(0, 224, 255, 0.1);
}
.linkPri_iZjA:hover {
  background: var(--sx-cyan);
  color: #04070f !important;
  border-color: var(--sx-cyan);
}

.moreRow_FMv3 {
  display: flex;
  justify-content: center;
  margin-top: 36px;
}

/* ================================================ 07 · 差异化价值 */

.whyGrid_RYCj {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 64px;
  align-items: center;
}

.whyList_HpEJ {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 32px;
}

.whyItem_DRGS {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  padding: 24px 22px;
  border-radius: 16px;
  border: 1px solid transparent;
  transition: all 0.4s var(--sx-ease);
}
.whyItem_DRGS:hover {
  border-color: var(--ifm-color-emphasis-300);
  background: rgba(255, 255, 255, 0.028);
}

.whyNo_TPxb {
  font-family: var(--sx-font-mono);
  font-size: 12px;
  color: var(--sx-cyan);
  padding-top: 4px;
}

.whyItem_DRGS h4 {
  font-family: var(--sx-font-display);
  font-size: 17px;
  font-weight: 600;
  margin: 0;
  color: var(--ifm-heading-color);
}
.whyItem_DRGS p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.72;
  color: var(--ifm-color-content-secondary);
}

/* 轨道可视化 */
.orbit_wD_p {
  position: relative;
  aspect-ratio: 1 / 1;
  max-width: 460px;
  margin-left: auto;
  display: grid;
  place-items: center;
}

.ring_nyAO {
  position: absolute;
  border-radius: 50%;
  border: 1px solid var(--ifm-color-emphasis-300);
}
.ring_nyAO:nth-child(1) {
  inset: 0;
  border-color: rgba(79, 124, 255, 0.28);
}
.ring_nyAO:nth-child(2) {
  inset: 13%;
  border-color: rgba(0, 224, 255, 0.22);
}
.ring_nyAO:nth-child(3) {
  inset: 26%;
  border-color: rgba(139, 92, 246, 0.22);
}
.ring_nyAO:nth-child(4) {
  inset: 39%;
  border-color: var(--ifm-color-emphasis-400);
}

.core_EtmS {
  width: 34%;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: radial-gradient(
    circle at 35% 30%,
    rgba(0, 224, 255, 0.5),
    rgba(79, 124, 255, 0.28) 45%,
    transparent 72%
  );
  border: 1px solid rgba(0, 224, 255, 0.35);
  font-family: var(--sx-font-mono);
  font-size: 12px;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #f2f5ff;
  animation: sx-breathe_Thaa 6s ease-in-out infinite;
}

@keyframes sx-breathe_Thaa {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.92;
  }
  50% {
    transform: scale(1.06);
    opacity: 1;
  }
}

.sat_FfhD {
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--sx-cyan);
  box-shadow: 0 0 16px 3px rgba(0, 224, 255, 0.6);
  top: 50%;
  left: 50%;
  margin: -4.5px 0 0 -4.5px;
  transform-origin: 0 0;
  animation: sx-orbit_O4XX 16s linear infinite;
}
.satB_hA1x {
  background: var(--sx-violet);
  box-shadow: 0 0 16px 3px rgba(139, 92, 246, 0.6);
  animation-duration: 24s;
  animation-direction: reverse;
  width: 7px;
  height: 7px;
}

@keyframes sx-orbit_O4XX {
  from {
    transform: rotate(0) translateX(210px) rotate(0);
  }
  to {
    transform: rotate(360deg) translateX(210px) rotate(-360deg);
  }
}

.orbitTag_gGU3 {
  position: absolute;
  font-family: var(--sx-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  color: var(--ifm-color-emphasis-500);
  background: var(--ifm-background-color);
  padding: 3px 9px;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 6px;
}

/* ==================================================== 08 · 收口面板 */

.ctaSec_RTpj {
  padding: 0 0 var(--sx-section-y);
}

.ctaBox_WpjT {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  padding: 88px 48px;
  text-align: center;
  border: 1px solid rgba(0, 224, 255, 0.18);
  background:
    radial-gradient(120% 130% at 50% -20%, rgba(79, 124, 255, 0.28), transparent 58%),
    radial-gradient(90% 110% at 80% 120%, rgba(139, 92, 246, 0.24), transparent 60%),
    rgba(10, 14, 26, 0.8);
}

/* 缓慢旋转的锥形光束。90s 一圈 —— 几乎察觉不到在动，但画面永远不死 */
.ctaBox_WpjT::before {
  content: '';
  position: absolute;
  top: -50%;
  left: 50%;
  width: 130%;
  height: 190%;
  transform: translateX(-50%);
  background: repeating-conic-gradient(
    from 0deg at 50% 0%,
    rgba(0, 224, 255, 0.055) 0deg 1.6deg,
    transparent 1.6deg 6deg
  );
  mask-image: radial-gradient(60% 60% at 50% 10%, #000, transparent 72%);
  -webkit-mask-image: radial-gradient(60% 60% at 50% 10%, #000, transparent 72%);
  animation: sx-spin_rKKN 90s linear infinite;
  pointer-events: none;
}

.ctaBox_WpjT > * {
  position: relative;
}
.ctaBox_WpjT .h2_gZ6G {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.ctaBox_WpjT .lead_qqEL {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}

/* ================================================== 09 · 巨幅标语带 */

.sigWrap_GHE6 {
  overflow: hidden;
  border-top: 1px solid var(--ifm-color-emphasis-300);
  padding: 26px 0 30px;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.sigTrack_suCK {
  display: flex;
  gap: 44px;
  width: max-content;
  animation: sx-slide_sLLZ 34s linear infinite;
}

.sig_UAw2,
.sigSolid_zQFd {
  font-family: var(--sx-font-display);
  font-weight: 700;
  white-space: nowrap;
  font-size: clamp(34px, 5.4vw, 72px);
  letter-spacing: -0.03em;
  line-height: 1;
}

/* 描边字 —— 与渐变字交替，形成节奏 */
.sig_UAw2 {
  color: transparent;
  -webkit-text-stroke: 1px var(--ifm-color-emphasis-400);
}

.sigSolid_zQFd {
  background: linear-gradient(100deg, #4f7cff, #00e0ff 50%, #8b5cf6);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ==================================================== 浅色模式微调 */

[data-theme='light'] .layerStatic_ew_8 {
  background:
    radial-gradient(900px 660px at 8% -18%, rgba(79, 124, 255, 0.14), transparent 70%),
    radial-gradient(760px 560px at 98% -8%, rgba(0, 224, 255, 0.1), transparent 68%);
}

[data-theme='light'] .layerFade_wN61 {
  background: linear-gradient(to top, var(--ifm-background-color) 8%, rgba(255, 255, 255, 0.6) 45%, transparent);
}

[data-theme='light'] .statsGrid_wBRk b {
  background: linear-gradient(160deg, #1b2233, #2f5fe0 130%);
  -webkit-background-clip: text;
  background-clip: text;
}

[data-theme='light'] .card_M5pr {
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05), 0 12px 32px -18px rgba(16, 24, 40, 0.18);
}

[data-theme='light'] .ctaBox_WpjT {
  background:
    radial-gradient(120% 130% at 50% -20%, rgba(79, 124, 255, 0.16), transparent 58%),
    radial-gradient(90% 110% at 80% 120%, rgba(139, 92, 246, 0.12), transparent 60%),
    #f6f8fc;
}

[data-theme='light'] .btnGhost_qNii {
  color: #1b2233 !important;
  background: rgba(255, 255, 255, 0.7);
  border-color: #d2d8e4;
}
[data-theme='light'] .btnGhost_qNii:hover {
  background: #ffffff;
}

[data-theme='light'] .core_EtmS {
  color: #1b2233;
}

[data-theme='light'] .badge__JoJ {
  background: rgba(255, 255, 255, 0.6);
}

/* ======================================================== 响应式 */

@media (max-width: 1080px) {
  .pillars_hDfg {
    grid-template-columns: 1fr;
  }
  .bento_i_bG {
    grid-template-columns: repeat(4, 1fr);
  }
  .cardFeat_OayO {
    grid-column: span 4;
  }
  .cardStd_ZTcj {
    grid-column: span 2;
  }
  .whyGrid_RYCj {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .orbit_wD_p {
    margin: 0 auto;
  }
}

/* 996px 是 Docusaurus 的移动断点，保持一致 */
@media (max-width: 996px) {
  .hero_aEcG {
    padding: 132px 0 80px;
    min-height: auto;
  }
  .statsGrid_wBRk {
    grid-template-columns: 1fr 1fr;
  }
  .statsGrid_wBRk > div:nth-child(2n) {
    border-right: 0;
  }
  .statsGrid_wBRk > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--ifm-color-emphasis-300);
  }
  .wrap_T5Hr {
    padding: 0 16px;
    max-width: 100%;
  }
  .section_Q9Zo {
    overflow-x: hidden;
  }
  .heroMeta_PBQM {
    flex-wrap: wrap;
    gap: 12px 0;
  }
  .heroActions_Z2kl {
    flex-wrap: wrap;
  }
}

@media (max-width: 720px) {
  .bento_i_bG {
    grid-template-columns: 1fr;
  }
  .cardFeat_OayO,
  .cardStd_ZTcj {
    grid-column: span 1;
  }
  .heroMeta_PBQM li {
    padding-right: 22px;
    margin-right: 22px;
  }
  .ctaBox_WpjT {
    padding: 60px 24px;
  }
  /* 巨幅标语带在窄屏会挤成一行一个字，直接隐藏 */
  .sigWrap_GHE6 {
    display: none;
  }
  .sat_FfhD {
    animation: none;
    opacity: 0;
  }
}

.searchEnhancement_q6HZ {
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--ifm-color-emphasis-50);
  border-radius: 8px;
}

.searchBox_GFfl {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.searchInput_pPeZ {
  flex: 1;
  padding: 0.75rem;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 4px;
  font-size: 1rem;
  background: var(--ifm-background-color);
  color: var(--ifm-font-color-base);
}

.searchInput_pPeZ:focus {
  outline: none;
  border-color: var(--ifm-color-primary);
  box-shadow: 0 0 0 3px var(--ifm-color-primary-alpha-20);
}

.searchButton_NfER {
  padding: 0.75rem 1.5rem;
  background: var(--ifm-color-primary);
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1.2rem;
  transition: background 0.2s;
}

.searchButton_NfER:hover {
  background: var(--ifm-color-primary-dark);
}

.recentSearches_jYiY {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ifm-color-emphasis-200);
}

.recentHeader_vAnB {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
  color: var(--ifm-color-content-secondary);
}

.clearButton_kG0c {
  background: none;
  border: none;
  color: var(--ifm-color-primary);
  cursor: pointer;
  font-size: 0.85rem;
  padding: 0.25rem 0.5rem;
}

.clearButton_kG0c:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.recentList_NCj4 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.recentItem_dtLE {
  padding: 0.4rem 0.8rem;
  background: var(--ifm-color-emphasis-100);
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 16px;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s;
}

.recentItem_dtLE:hover {
  background: var(--ifm-color-emphasis-200);
  border-color: var(--ifm-color-primary);
}

.searchTips_Vmvu {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ifm-color-emphasis-200);
  font-size: 0.85rem;
  color: var(--ifm-color-content-secondary);
}

.searchTips_Vmvu ul {
  margin: 0.5rem 0 0 1.5rem;
  padding: 0;
}

.searchTips_Vmvu li {
  margin: 0.25rem 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.
 */

.codeBlockContainer_Ckt0 {
  background: var(--prism-background-color);
  color: var(--prism-color);
  margin-bottom: var(--ifm-leading);
  box-shadow: var(--ifm-global-shadow-lw);
  border-radius: var(--ifm-code-border-radius);
}

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

.codeBlock_bY9V {
  --ifm-pre-background: var(--prism-background-color);
  margin: 0;
  padding: 0;
}

.codeBlockStandalone_MEMb {
  padding: 0;
}

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

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

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

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

/* Intentionally has zero specificity, so that to be able to override
the background in custom CSS file due bug https://github.com/facebook/docusaurus/issues/3678 */
:where(:root) {
  --docusaurus-highlighted-code-line-bg: rgb(72 77 91);
}

:where([data-theme='dark']) {
  --docusaurus-highlighted-code-line-bg: rgb(100 100 100);
}

.theme-code-block-highlighted-line {
  background-color: var(--docusaurus-highlighted-code-line-bg);
  display: block;
  margin: 0 calc(-1 * var(--ifm-pre-padding));
  padding: 0 var(--ifm-pre-padding);
}

.codeLine_lJS_ {
  display: table-row;
  counter-increment: line-count;
}

.codeLineNumber_Tfdd {
  display: table-cell;
  text-align: right;
  width: 1%;
  position: sticky;
  left: 0;
  padding: 0 var(--ifm-pre-padding);
  background: var(--ifm-pre-background);
  overflow-wrap: normal;
}

.codeLineNumber_Tfdd::before {
  content: counter(line-count);
  opacity: 0.4;
}

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

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

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

.theme-code-block:hover .copyButtonCopied_Vdqa {
  opacity: 1 !important;
}

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

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

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

.copyButtonCopied_Vdqa .copyButtonIcon_TrPX {
  transform: scale(0.33);
  opacity: 0;
}

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

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

.wordWrapButtonIcon_b1P5 {
  width: 1.2rem;
  height: 1.2rem;
}

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

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

.buttonGroup_M5ko {
  display: flex;
  column-gap: 0.2rem;
  position: absolute;
  /* rtl:ignore */
  right: calc(var(--ifm-pre-padding) / 2);
  top: calc(var(--ifm-pre-padding) / 2);
}

.buttonGroup_M5ko button {
  display: flex;
  align-items: center;
  background: var(--prism-background-color);
  color: var(--prism-color);
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: var(--ifm-global-radius);
  padding: 0.4rem;
  line-height: 0;
  transition: opacity var(--ifm-transition-fast) ease-in-out;
  opacity: 0;
}

.buttonGroup_M5ko button:focus-visible,
.buttonGroup_M5ko button:hover {
  opacity: 1 !important;
}

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

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

.codeBlockContent_QJqH {
  position: relative;
  /* rtl:ignore */
  direction: ltr;
  border-radius: inherit;
}

.codeBlockTitle_OeMC {
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
  font-size: var(--ifm-code-font-size);
  font-weight: 500;
  padding: 0.75rem var(--ifm-pre-padding);
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.codeBlockTitle_OeMC + .codeBlockContent_QJqH .codeBlock_a8dz {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

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

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

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

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

.details_lb9f > summary::before {
  position: absolute;
  top: 0.45rem;
  left: 0;

  /* CSS-only Arrow */
  content: '';
  border-width: var(--docusaurus-details-summary-arrow-size);
  border-style: solid;
  border-color: transparent transparent transparent
    var(--docusaurus-details-decoration-color);

  /* Arrow rotation anim */
  transform: rotate(0deg);
  transition: var(--docusaurus-details-transition);
  transform-origin: calc(var(--docusaurus-details-summary-arrow-size) / 2) 50%;
}

/* When JS disabled/failed to load: we use the open property for arrow animation: */
.details_lb9f[open]:not(.isBrowser_bmU9) > summary::before,

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

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

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

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

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

.details_b_Ee {
  --docusaurus-details-decoration-color: var(--ifm-alert-border-color);
  --docusaurus-details-transition: transform var(--ifm-transition-fast) ease;
  margin: 0 0 var(--ifm-spacing-vertical);
  border: 1px solid var(--ifm-alert-border-color);
}

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

.containsTaskList_mC6p {
  list-style: none;
}

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

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

.img_ev3q {
  height: auto;
}

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

.admonition_xJq3 {
  margin-bottom: 1em;
}

.admonitionHeading_Gvgb {
  font: var(--ifm-heading-font-weight) var(--ifm-h5-font-size) /
    var(--ifm-heading-line-height) var(--ifm-heading-font-family);
  text-transform: uppercase;
}

/* Heading alone without content (does not handle fragment content) */
.admonitionHeading_Gvgb:not(:last-child) {
  margin-bottom: 0.3rem;
}

.admonitionHeading_Gvgb code {
  text-transform: none;
}

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

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

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

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

.tableOfContents_bqdL {
  max-height: calc(100vh - (var(--ifm-navbar-height) + 2rem));
  overflow-y: auto;
  position: sticky;
  top: calc(var(--ifm-navbar-height) + 1rem);
}

@media (max-width: 996px) {
  .tableOfContents_bqdL {
    display: none;
  }

  .docItemContainer_F8PC {
    padding: 0 0.3rem;
  }
}

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

.container_lyt7 {
  max-width: 100%;
}

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

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

.breadcrumbHomeIcon_YNFT {
  position: relative;
  top: 1px;
  vertical-align: top;
  height: 1.1rem;
  width: 1.1rem;
}

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

.breadcrumbsContainer_Z_bl {
  --ifm-breadcrumb-size-multiplier: 0.8;
  margin-bottom: 0.8rem;
}

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

.docItemContainer_Djhp header + *,
.docItemContainer_Djhp article > *:first-child {
  margin-top: 0;
}

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

.feedbackContainer_O1G5 {
  margin-top: 3rem;
  padding: 2rem;
  background: var(--ifm-color-emphasis-100);
  border-radius: 8px;
  border: 1px solid var(--ifm-color-emphasis-200);
}

.feedbackTitle_YTKw {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--ifm-heading-color);
}

.feedbackDescription_zbio {
  color: var(--ifm-color-content-secondary);
  margin-bottom: 1rem;
  font-size: 0.9rem;
}

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

.feedbackTextarea_gO4e {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid var(--ifm-color-emphasis-300);
  border-radius: 4px;
  font-family: var(--ifm-font-family-base);
  font-size: 0.9rem;
  resize: vertical;
  background: var(--ifm-background-color);
  color: var(--ifm-font-color-base);
}

.feedbackTextarea_gO4e:focus {
  outline: none;
  border-color: var(--ifm-color-primary);
  box-shadow: 0 0 0 3px var(--ifm-color-primary-alpha-20);
}

.feedbackActions_YPCy {
  display: flex;
  justify-content: flex-end;
}

.submitButton_lemo {
  padding: 0.5rem 1.5rem;
  background: var(--ifm-color-primary);
  color: white;
  border: none;
  border-radius: 4px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.submitButton_lemo:hover:not(:disabled) {
  background: var(--ifm-color-primary-dark);
  transform: translateY(-1px);
}

.submitButton_lemo:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.submitButton_lemo.submitting_jREN {
  opacity: 0.7;
}

.successMessage_hzQI {
  padding: 1rem;
  background: var(--ifm-color-success-lightest);
  border: 1px solid var(--ifm-color-success);
  border-radius: 4px;
  color: var(--ifm-color-success-darkest);
  margin-bottom: 1rem;
  text-align: center;
}

.resetButton_DKOv {
  padding: 0.5rem 1rem;
  background: transparent;
  color: var(--ifm-color-primary);
  border: 1px solid var(--ifm-color-primary);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s;
}

.resetButton_DKOv:hover {
  background: var(--ifm-color-primary-alpha-10);
}



/**
 * 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.
 */

.mdxPageWrapper_j9I6 {
  justify-content: center;
}

