/**
 * Colors Base
 *
 * These are the pure base color presets. Most of the time, you should not be
 * using these colors directly in the theme but rather use "Colors Theme"
 * instead because those are "Theme (light or dark)" dependant.
 * -------------------------------------------------------------------------- */

 :root {
  --vp-c-white: #ffffff;
  --vp-c-black: #000000;

  --vp-c-gray: #8e8e93;

  --vp-c-text-light-1: rgba(20, 20, 30, 0.92);
  --vp-c-text-light-2: rgba(20, 20, 30, 0.7);
  --vp-c-text-light-3: rgba(20, 20, 30, 0.33);

  --vp-c-text-dark-1: rgba(255, 255, 245, 0.86);
  --vp-c-text-dark-2: rgba(235, 235, 245, 0.6);
  --vp-c-text-dark-3: rgba(235, 235, 245, 0.38);

  --vp-c-blue: var(--color-primary-500);
  --vp-c-blue-light: var(--color-primary-400);
  --vp-c-blue-lighter: var(--color-primary-300);
  --vp-c-blue-dark: var(--color-primary-600);
  --vp-c-blue-darker: var(--color-primary-700);
  --vp-c-blue-dimm-1: rgba(var(--color-primary-500-rgb), 0.05);
  --vp-c-blue-dimm-2: rgba(var(--color-primary-500-rgb), 0.2);
  --vp-c-blue-dimm-3: rgba(var(--color-primary-500-rgb), 0.5);

  --vp-c-green: var(--color-success-500);
  --vp-c-green-light: var(--color-success-400);
  --vp-c-green-lighter: var(--color-success-300);
  --vp-c-green-dark: var(--color-success-600);
  --vp-c-green-darker: var(--color-success-700);
  --vp-c-green-dimm-1: rgba(var(--color-success-500-rgb), 0.05);
  --vp-c-green-dimm-2: rgba(var(--color-success-500-rgb), 0.2);
  --vp-c-green-dimm-3: rgba(var(--color-success-500-rgb), 0.5);

  --vp-c-yellow: var(--color-warning-500);
  --vp-c-yellow-light: var(--color-warning-400);
  --vp-c-yellow-lighter: var(--color-warning-300);
  --vp-c-yellow-dark: var(--color-warning-600);
  --vp-c-yellow-darker: var(--color-warning-700);
  --vp-c-yellow-dimm-1: rgba(var(--color-warning-500-rgb), 0.05);
  --vp-c-yellow-dimm-2: rgba(var(--color-warning-500-rgb), 0.2);
  --vp-c-yellow-dimm-3: rgba(var(--color-warning-500-rgb), 0.5);

  --vp-c-red: var(--color-danger-500);
  --vp-c-red-light: var(--color-danger-400);
  --vp-c-red-lighter: var(--color-danger-300);
  --vp-c-red-dark: var(--color-danger-600);
  --vp-c-red-darker: var(--color-danger-700);
  --vp-c-red-dimm-1: rgba(var(--color-danger-500-rgb), 0.05);
  --vp-c-red-dimm-2: rgba(var(--color-danger-500-rgb), 0.2);
  --vp-c-red-dimm-3: rgba(var(--color-danger-500-rgb), 0.5);

  --vp-c-sponsor: #db2777;
}

/**
 * Colors Theme
 * -------------------------------------------------------------------------- */

:root {
  --vp-c-bg: #ffffff;

  --vp-c-bg-elv: #ffffff;
  --vp-c-bg-elv-up: #ffffff;
  --vp-c-bg-elv-down: #f6f6f7;
  --vp-c-bg-elv-mute: #f6f6f7;

  --vp-c-bg-soft: #f6f6f7;
  --vp-c-bg-soft-up: #ffffff;
  --vp-c-bg-soft-down: #e3e3e5;
  --vp-c-bg-soft-mute: #e3e3e5;

  --vp-c-bg-alt: #f6f6f7;

  --vp-c-border: rgba(60, 60, 67, 0.29);
  --vp-c-divider: rgba(60, 60, 67, 0.12);
  --vp-c-gutter: rgba(60, 60, 67, 0.12);

  --vp-c-neutral: var(--vp-c-black);
  --vp-c-neutral-inverse: var(--vp-c-white);

  --vp-c-text-1: var(--vp-c-text-light-1);
  --vp-c-text-2: var(--vp-c-text-light-2);
  --vp-c-text-3: var(--vp-c-text-light-3);

  --vp-c-text-inverse-1: var(--vp-c-text-dark-1);
  --vp-c-text-inverse-2: var(--vp-c-text-dark-2);
  --vp-c-text-inverse-3: var(--vp-c-text-dark-3);

  --vp-c-text-code: var(--color-primary-700);

  --vp-c-default-1: var(--vp-c-gray-1);
  --vp-c-default-2: var(--vp-c-gray-2);
  --vp-c-default-3: var(--vp-c-gray-3);
  --vp-c-default-soft: var(--vp-c-gray-soft);

  --vp-c-brand-1: var(--color-primary-600);
  --vp-c-brand-2: var(--color-primary-500);
  --vp-c-brand-3: var(--color-primary-400);
  --vp-c-brand-soft: rgba(var(--color-primary-100-rgb),.14);

  --vp-c-tip-1: var(--vp-c-brand-1);
  --vp-c-tip-2: var(--vp-c-brand-2);
  --vp-c-tip-3: var(--vp-c-brand-3);
  --vp-c-tip-soft: var(--vp-c-brand-soft);

  --vp-c-warning-1: var(--vp-c-yellow-1);
  --vp-c-warning-2: var(--vp-c-yellow-2);
  --vp-c-warning-3: var(--vp-c-yellow-3);
  --vp-c-warning-soft: var(--vp-c-yellow-soft);

  --vp-c-danger-1: var(--vp-c-red-1);
  --vp-c-danger-2: var(--vp-c-red-2);
  --vp-c-danger-3: var(--vp-c-red-3);
  --vp-c-danger-soft: var(--vp-c-red-soft);

  --vp-c-brand: var(--vp-c-blue);
  --vp-c-brand-light: var(--vp-c-blue-light);
  --vp-c-brand-lighter: var(--vp-c-blue-lighter);
  --vp-c-brand-dark: var(--vp-c-blue-dark);
  --vp-c-brand-darker: var(--vp-c-blue-darker);
  --vp-c-brand-dim: var(--vp-c-blue-dimm-2);

  --vp-c-mute: rgba(var(--color-primary-800-rgb),.05);
  --vp-c-mute-light: #f9f9fc;
  --vp-c-mute-lighter: #ffffff;
  --vp-c-mute-dark: #e3e3e5;
  --vp-c-mute-darker: #d7d7d9;
}

.dark {
  --vp-c-bg: var(--color-canvas);

  --vp-c-bg-elv: #252529;
  --vp-c-bg-elv-up: #313136;
  --vp-c-bg-elv-down: #1e1e20;
  --vp-c-bg-elv-mute: #313136;

  --vp-c-bg-soft: #252529;
  --vp-c-bg-soft-up: #313136;
  --vp-c-bg-soft-down: #1e1e20;
  --vp-c-bg-soft-mute: #313136;

  --vp-c-bg-alt: #161618;

  --vp-c-border: rgba(82, 82, 89, 0.68);
  --vp-c-divider: rgba(82, 82, 89, 0.32);
  --vp-c-gutter: rgba(82, 82, 89, 0.2);

  --vp-c-neutral: var(--vp-c-white);
  --vp-c-neutral-inverse: var(--vp-c-black);

  --vp-c-text-1: var(--vp-c-text-dark-1);
  --vp-c-text-2: var(--vp-c-text-dark-2);
  --vp-c-text-3: var(--vp-c-text-dark-3);

  --vp-c-text-inverse-1: var(--vp-c-text-light-1);
  --vp-c-text-inverse-2: var(--vp-c-text-light-2);
  --vp-c-text-inverse-3: var(--vp-c-text-light-3);

  --vp-c-text-code: #c9def1;

  --vp-c-brand-1: var(--color-primary-600);
  --vp-c-brand-2: var(--color-primary-700);
  --vp-c-brand-3: var(--color-primary-800);
  --vp-c-brand-soft: rgba(var(--color-primary-900-rgb),.14);

  --vp-c-brand: var(--vp-c-blue);
  --vp-c-brand-dark: var(--vp-c-blue-light);
  --vp-c-brand-darker: var(--vp-c-blue-lighter);
  --vp-c-brand-light: var(--vp-c-blue-dark);
  --vp-c-brand-lighter: var(--vp-c-blue-darker);

  --vp-c-mute: #313136;
  --vp-c-mute-light: #3a3a3c;
  --vp-c-mute-lighter: #505053;
  --vp-c-mute-dark: #2c2c30;
  --vp-c-mute-darker: #252529;
}

/**
 * Typography
 * -------------------------------------------------------------------------- */

:root {
  --vp-font-family-base: 'Fira Sans', '-apple-system', 'Noto Sans', 'Helvetica Neue', 'Helvetica', 'Nimbus Sans L', 'Arial', 'Liberation Sans', 'PingFang SC', 'Hiragino Sans GB', 'Noto Sans CJK SC', 'Source Han Sans SC', 'Source Han Sans CN', 'Microsoft YaHei', 'Wenquanyi Micro Hei', 'WenQuanYi Zen Hei', 'ST Heiti', 'SimHei', 'WenQuanYi Zen Hei Sharp', 'sans-serif';
  --vp-font-family-mono: 'Fira Code', 'ui-monospace', 'SFMono-Regular', 'Menlo', 'Monaco', 'Consolas', '"Liberation Mono"', '"Courier New"', 'monospace';
}

/**
 * Shadows
 * -------------------------------------------------------------------------- */

:root {
  --vp-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
  --vp-shadow-2: 0 3px 12px rgba(0, 0, 0, 0.07), 0 1px 4px rgba(0, 0, 0, 0.07);
  --vp-shadow-3: 0 12px 32px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.08);
  --vp-shadow-4: 0 14px 44px rgba(0, 0, 0, 0.12), 0 3px 9px rgba(0, 0, 0, 0.12);
  --vp-shadow-5: 0 18px 56px rgba(0, 0, 0, 0.16), 0 4px 12px rgba(0, 0, 0, 0.16);
}

/**
 * Z-indexes
 * -------------------------------------------------------------------------- */

:root {
  --vp-z-index-local-nav: 10;
  --vp-z-index-nav: 20;
  --vp-z-index-layout-top: 30;
  --vp-z-index-backdrop: 40;
  --vp-z-index-sidebar: 50;
  --vp-z-index-footer: 60;
}

/**
 * Icons
 * -------------------------------------------------------------------------- */

:root {
  --vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");
  --vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E");
}

/**
 * Layouts
 * -------------------------------------------------------------------------- */

:root {
  --vp-layout-max-width: 1440px;
}

/**
 * Component: Code
 * -------------------------------------------------------------------------- */

:root {
  --vp-code-line-height: 1.7;
  --vp-code-font-size: 0.875em;

  --vp-code-line-number-color: var(--vp-c-text-dark-3);

  --vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);
  --vp-code-line-diff-add-symbol-color: var(--vp-c-green);

  --vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);
  --vp-code-line-diff-remove-symbol-color: var(--vp-c-red);

  --vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);
  --vp-code-line-error-color: var(--vp-c-red-dimm-2);

  --vp-code-copy-code-hover-bg: rgba(var(--color-inverse-rgb), 0.05);
  --vp-code-copy-code-active-text: rgba(var(--color-fore-rgb), .7);

  --vp-code-block-bg: rgba(var(--color-inverse-rgb), 0.05);

  --vp-code-tab-divider: var(--vp-code-block-divider-color);
  --vp-code-tab-text-color: var(--vp-c-text-light-2);
  --vp-code-tab-bg: var(--vp-code-block-bg);
  --vp-code-tab-hover-text-color: var(--vp-c-text-light-1);
  --vp-code-tab-active-text-color: var(--vp-c-text-light-1);
  --vp-code-tab-active-bar-color: var(--vp-c-brand);
}

.dark {
  --vp-code-tab-text-color: var(--vp-c-text-dark-2);
  --vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);
  --vp-code-tab-active-text-color: var(--vp-c-text-dark-1);
}

/**
 * Component: Button
 * -------------------------------------------------------------------------- */

:root {
  --vp-button-brand-border: var(--vp-c-brand-lighter);
  --vp-button-brand-text: var(--vp-c-white);
  --vp-button-brand-bg: var(--vp-c-brand);
  --vp-button-brand-hover-border: var(--vp-c-brand-lighter);
  --vp-button-brand-hover-text: var(--vp-c-white);
  --vp-button-brand-hover-bg: var(--vp-c-brand-dark);
  --vp-button-brand-active-border: var(--vp-c-brand-lighter);
  --vp-button-brand-active-text: var(--vp-c-white);
  --vp-button-brand-active-bg: var(--vp-c-brand-darker);

  --vp-button-alt-border: var(--vp-c-border);
  --vp-button-alt-text: var(--vp-c-neutral);
  --vp-button-alt-bg: var(--vp-c-mute);
  --vp-button-alt-hover-border: var(--vp-c-border);
  --vp-button-alt-hover-text: var(--vp-c-neutral);
  --vp-button-alt-hover-bg: var(--vp-c-mute-dark);
  --vp-button-alt-active-border: var(--vp-c-border);
  --vp-button-alt-active-text: var(--vp-c-neutral);
  --vp-button-alt-active-bg: var(--vp-c-mute-darker);

  --vp-button-sponsor-border: var(--vp-c-gray-light-3);
  --vp-button-sponsor-text: var(--vp-c-text-light-2);
  --vp-button-sponsor-bg: transparent;
  --vp-button-sponsor-hover-border: var(--vp-c-sponsor);
  --vp-button-sponsor-hover-text: var(--vp-c-sponsor);
  --vp-button-sponsor-hover-bg: transparent;
  --vp-button-sponsor-active-border: var(--vp-c-sponsor);
  --vp-button-sponsor-active-text: var(--vp-c-sponsor);
  --vp-button-sponsor-active-bg: transparent;
}

.dark {
  --vp-button-sponsor-border: var(--vp-c-gray-dark-1);
  --vp-button-sponsor-text: var(--vp-c-text-dark-2);
}

/**
 * Component: Custom Block
 * -------------------------------------------------------------------------- */

:root {
  --vp-custom-block-font-size: 14px;
  --vp-custom-block-code-font-size: 13px;

  --vp-custom-block-info-border: var(--vp-c-border);
  --vp-custom-block-info-text: var(--vp-c-text-2);
  --vp-custom-block-info-bg: var(--vp-c-bg-soft);
  --vp-custom-block-info-code-bg: var(--vp-c-mute);

  --vp-custom-block-tip-border: var(--vp-c-blue-dimm-3);
  --vp-custom-block-tip-text: var(--vp-c-blue);
  --vp-custom-block-tip-bg: var(--vp-c-blue-dimm-1);
  --vp-custom-block-tip-code-bg: var(--vp-custom-block-tip-bg);

  --vp-custom-block-warning-border: var(--vp-c-yellow-dimm-3);
  --vp-custom-block-warning-text: var(--vp-c-yellow);
  --vp-custom-block-warning-bg: var(--vp-c-yellow-dimm-1);
  --vp-custom-block-warning-code-bg: var(--vp-custom-block-warning-bg);

  --vp-custom-block-danger-border: var(--vp-c-red-dimm-3);
  --vp-custom-block-danger-text: var(--vp-c-red);
  --vp-custom-block-danger-bg: var(--vp-c-red-dimm-1);
  --vp-custom-block-danger-code-bg: var(--vp-custom-block-danger-bg);

  --vp-custom-block-details-border: var(--vp-custom-block-info-border);
  --vp-custom-block-details-text: var(--vp-custom-block-info-text);
  --vp-custom-block-details-bg: var(--vp-custom-block-info-bg);
  --vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg);
}

/**
 * Component: Input
 * -------------------------------------------------------------------------- */

:root {
  --vp-input-border-color: var(--vp-c-border);
  --vp-input-bg-color: var(--vp-c-bg-alt);
  --vp-input-hover-border-color: var(--vp-c-gray);

  --vp-input-switch-bg-color: rgba(var(--color-surface-strong-rgb), .4);
}

/**
 * Component: Nav
 * -------------------------------------------------------------------------- */

:root {
  --vp-nav-height: 64px;
  --vp-nav-bg-color: var(--vp-c-bg);
  --vp-nav-screen-bg-color: var(--vp-c-bg);
}

/**
 * Component: Local Nav
 * -------------------------------------------------------------------------- */

:root {
  --vp-local-nav-bg-color: var(--vp-c-bg);
}

/**
 * Component: Sidebar
 * -------------------------------------------------------------------------- */

:root {
  --vp-sidebar-width: 272px;
  --vp-sidebar-bg-color: var(--vp-c-bg-alt);
}

/**
 * Colors Backdrop
 * -------------------------------------------------------------------------- */

:root {
  --vp-backdrop-bg-color: rgba(0, 0, 0, 0.6);
}

/**
 * Component: Home
 * -------------------------------------------------------------------------- */

:root {
  --vp-home-hero-name-color: var(--vp-c-brand);
  --vp-home-hero-name-background: transparent;

  --vp-home-hero-image-background-image: none;
  --vp-home-hero-image-filter: none;
}

/**
 * Component: Badge
 * -------------------------------------------------------------------------- */

:root {
  --vp-badge-info-border: var(--vp-c-border);
  --vp-badge-info-text: var(--vp-c-text-2);
  --vp-badge-info-bg: var(--vp-c-bg-soft);

  --vp-badge-tip-border: var(--vp-c-green-dark);
  --vp-badge-tip-text: var(--vp-c-green);
  --vp-badge-tip-bg: var(--vp-c-green-dimm-1);

  --vp-badge-warning-border: var(--vp-c-yellow-dark);
  --vp-badge-warning-text: var(--vp-c-yellow);
  --vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);

  --vp-badge-danger-border: var(--vp-c-red-dark);
  --vp-badge-danger-text: var(--vp-c-red);
  --vp-badge-danger-bg: var(--vp-c-red-dimm-1);
}

/**
 * Component: CarbonAds
 * -------------------------------------------------------------------------- */

:root {
  --vp-carbon-ads-text-color: var(--vp-c-text-1);
  --vp-carbon-ads-poweredby-color: var(--vp-c-text-2);
  --vp-carbon-ads-bg-color: var(--vp-c-bg-soft);
  --vp-carbon-ads-hover-text-color: var(--vp-c-brand);
  --vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1);
}
