/* Reference measurements and local adaptations: docs/DESIGN-TOKENS.md. */
:root {
  color-scheme: light;
  --doc-white: #ffffff;
  --doc-gray-50: #fafafa;
  --doc-gray-100: #f3f3f3;
  --doc-gray-150: #eeeeee;
  --doc-gray-200: #e5e5e5;
  --doc-gray-300: #d4d4d4;
  --doc-gray-400: #a3a3a3;
  --doc-gray-500: #707070;
  --doc-gray-600: #525252;
  --doc-gray-700: #3e3e3e;
  --doc-gray-800: #282828;
  --doc-gray-900: #171717;
  --doc-bg: var(--doc-white);
  --doc-bg-subtle: var(--doc-gray-50);
  --doc-bg-code: var(--doc-gray-100);
  --doc-bg-hover: var(--doc-gray-100);
  --doc-bg-selected: var(--doc-gray-150);
  --doc-text: var(--doc-gray-700);
  --doc-text-strong: var(--doc-gray-900);
  --doc-text-secondary: var(--doc-gray-600);
  --doc-text-muted: var(--doc-gray-500);
  --doc-border: var(--doc-gray-200);
  --doc-border-strong: var(--doc-gray-300);
  --doc-link: var(--doc-gray-900);
  --doc-focus: #2563eb;
  --doc-danger: #a12532;
  --doc-danger-bg: #fff7f7;
  --doc-danger-border: #efc8cc;
  --doc-warning: #805800;
  --doc-warning-bg: #fffbef;
  --doc-warning-border: #ecd9a7;
  --doc-success: #276749;
  --doc-info: #2455a4;
  --doc-info-bg: #f3f7ff;
  --doc-info-border: #cbdcf5;
  --doc-callout-note-text: #262626;
  --doc-callout-note-bg: #fafafa;
  --doc-callout-note-border: #e5e5e5;
  --doc-callout-info-text: #1e40af;
  --doc-callout-info-bg: #eff6ff;
  --doc-callout-info-border: #bfdbfe;
  --doc-callout-tip-text: #166534;
  --doc-callout-tip-bg: #f0fdf4;
  --doc-callout-tip-border: #bbf7d0;
  --doc-callout-warning-text: #854d0e;
  --doc-callout-warning-bg: #fefce8;
  --doc-callout-warning-border: #fef08a;
  --doc-callout-danger-text: #991b1b;
  --doc-callout-danger-bg: #fef2f2;
  --doc-callout-danger-border: #fecaca;
  --doc-callout-radius: 16px;
  --doc-callout-padding-y: 16px;
  --doc-callout-padding-x: 20px;
  --doc-callout-gap: 12px;
  --doc-callout-font-size: 14px;
  --doc-callout-line-height: 20px;
  --doc-callout-icon-track: 16px;
  --doc-callout-code-bg: #00000008;
  --doc-accordion-bg: var(--doc-bg);
  --doc-accordion-border: #dededeb3;
  --doc-accordion-hover: #eeeeee;
  --doc-accordion-radius: 16px;
  --doc-accordion-padding-y: 14px;
  --doc-accordion-padding-x: 20px;
  --doc-accordion-gap: 12px;
  --doc-accordion-title-size: 16px;
  --doc-accordion-title-leading: 26.4px;
  --doc-accordion-icon-size: 16px;
  --doc-accordion-caret-size: 12px;
  --doc-accordion-caret-color: #505050;
  --doc-code-keyword: #8250a0;
  --doc-code-string: #0a526b;
  --doc-code-number: #0550ae;
  --doc-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans CJK SC", "Microsoft YaHei", Arial, sans-serif;
  --doc-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", "Noto Sans Mono CJK SC", monospace;
  --doc-text-xs: 12px;
  --doc-text-sm: 13px;
  --doc-text-nav: 14px;
  --doc-text-body: 16px;
  --doc-text-code: 13px;
  --doc-text-h3: 18px;
  --doc-text-h2: 23px;
  --doc-text-h1: 34px;
  --doc-text-entry-title: 28px;
  --doc-leading-body: 1.85;
  --doc-leading-ui: 1.5;
  --doc-weight-normal: 400;
  --doc-weight-medium: 500;
  --doc-weight-semibold: 600;
  --doc-space-1: 4px;
  --doc-space-2: 8px;
  --doc-space-3: 12px;
  --doc-space-4: 16px;
  --doc-space-5: 20px;
  --doc-space-6: 24px;
  --doc-space-8: 32px;
  --doc-space-10: 40px;
  --doc-space-12: 48px;
  --doc-radius-sm: 4px;
  --doc-radius-md: 6px;
  --doc-radius-lg: 8px;
  --doc-header-row-height: 64px;
  --doc-header-height: 108px;
  --doc-layout-width: 1856px;
  --doc-sidebar-width: 304px;
  --doc-toc-width: 232px;
  --doc-content-width: 1088px;
  --doc-content-wide-width: 1280px;
  --doc-table-min-width: 720px;
  --doc-control-height: 36px;
  --doc-shadow-dialog: 0 24px 80px #00000026, 0 4px 16px #0000000d;
  --doc-overlay: #00000066;
}

:root[data-doc-theme="dark"] {
  color-scheme: dark;
  --doc-bg: #161616;
  --doc-bg-subtle: #1c1c1c;
  --doc-bg-code: #252525;
  --doc-bg-hover: #262626;
  --doc-bg-selected: #303030;
  --doc-text: #d0d0d0;
  --doc-text-strong: #f0f0f0;
  --doc-text-secondary: #b8b8b8;
  --doc-text-muted: #a0a0a0;
  --doc-border: #333333;
  --doc-border-strong: #4a4a4a;
  --doc-link: #eeeeee;
  --doc-focus: #8ab4ff;
  --doc-danger: #ffa3ab;
  --doc-danger-bg: #2a1c1e;
  --doc-danger-border: #63343a;
  --doc-warning: #e8c575;
  --doc-warning-bg: #272319;
  --doc-warning-border: #5f502e;
  --doc-success: #8ed4ae;
  --doc-info: #9bc3ff;
  --doc-info-bg: #1b2431;
  --doc-info-border: #364f72;
  --doc-callout-note-text: #d4d4d4;
  --doc-callout-note-bg: #ffffff1a;
  --doc-callout-note-border: #404040;
  --doc-callout-info-text: #93c5fd;
  --doc-callout-info-bg: #2563eb33;
  --doc-callout-info-border: #1e3a8a;
  --doc-callout-tip-text: #86efac;
  --doc-callout-tip-bg: #16a34a33;
  --doc-callout-tip-border: #14532d;
  --doc-callout-warning-text: #fde047;
  --doc-callout-warning-bg: #ca8a0433;
  --doc-callout-warning-border: #713f12;
  --doc-callout-danger-text: #fca5a5;
  --doc-callout-danger-bg: #dc262633;
  --doc-callout-danger-border: #7f1d1d;
  --doc-callout-code-bg: #ffffff0d;
  --doc-accordion-bg: var(--doc-bg);
  --doc-accordion-border: #404040;
  --doc-accordion-hover: #282828;
  --doc-accordion-caret-color: #a3a3a3;
  --doc-code-keyword: #d2a8ff;
  --doc-code-string: #a5d6d9;
  --doc-code-number: #91bcff;
}

/* Material sets code and palette variables on the body as well as :root. */
:root, [data-md-color-scheme="default"] {
  --md-default-fg-color: var(--doc-text);
  --md-default-fg-color--light: var(--doc-text-secondary);
  --md-default-fg-color--lighter: var(--doc-text-muted);
  --md-default-fg-color--lightest: var(--doc-border);
  --md-default-bg-color: var(--doc-bg);
  --md-primary-fg-color: var(--doc-bg);
  --md-primary-bg-color: var(--doc-text-strong);
  --md-accent-fg-color: var(--doc-text-strong);
  --md-accent-fg-color--transparent: var(--doc-bg-hover);
  --md-typeset-a-color: var(--doc-link);
  --md-typeset-color: var(--doc-text);
  --md-code-fg-color: var(--doc-text-strong);
  --md-code-bg-color: var(--doc-bg-code);
  --md-code-hl-comment-color: var(--doc-text-muted);
  --md-code-hl-keyword-color: var(--doc-code-keyword);
  --md-code-hl-string-color: var(--doc-code-string);
  --md-code-hl-number-color: var(--doc-code-number);
  --md-code-hl-function-color: var(--doc-code-number);
  --md-code-hl-name-color: var(--doc-text-strong);
  --md-code-hl-operator-color: var(--doc-text-secondary);
  --md-code-hl-punctuation-color: var(--doc-text-secondary);
  --md-text-font-family: var(--doc-font-sans);
  --md-code-font-family: var(--doc-font-mono);
}
