:root {
  --book-hero-bg:
    radial-gradient(circle at top left, rgba(245, 158, 11, 0.22), transparent 28%),
    radial-gradient(circle at top right, rgba(14, 116, 144, 0.22), transparent 30%),
    linear-gradient(135deg, #f6f7f3 0%, #eef2f7 100%);
  --book-hero-bg-dark:
    radial-gradient(circle at top left, rgba(245, 158, 11, 0.18), transparent 26%),
    radial-gradient(circle at top right, rgba(34, 197, 94, 0.12), transparent 28%),
    linear-gradient(135deg, #0f172a 0%, #111827 100%);
  --lang-chip-bg-light: rgba(15, 23, 42, 0.06);
  --lang-chip-border-light: rgba(15, 23, 42, 0.12);
  --lang-chip-bg-dark: rgba(255, 255, 255, 0.08);
  --lang-chip-border-dark: rgba(255, 255, 255, 0.18);
}

[data-md-color-scheme="default"] .md-main__inner {
  background: var(--book-hero-bg);
  border-radius: 1rem;
  padding: 0 1rem 2rem;
}

[data-md-color-scheme="slate"] .md-main__inner {
  background: var(--book-hero-bg-dark);
  border-radius: 1rem;
  padding: 0 1rem 2rem;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3 {
  letter-spacing: -0.02em;
}

.md-typeset h1 {
  font-weight: 700;
}

.md-typeset table:not([class]) {
  border-radius: 0.75rem;
  overflow: hidden;
}

.md-typeset .md-button {
  border-radius: 999px;
}

.md-typeset .plot-card {
  margin: 1.5rem 0 2rem;
  padding: 1rem 1rem 0.75rem;
  border-radius: 1rem;
  backdrop-filter: blur(10px);
}

[data-md-color-scheme="default"] .md-typeset .plot-card,
[data-md-color-scheme="default"] .md-typeset .diagram-card {
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(15, 23, 42, 0.08);
}

[data-md-color-scheme="slate"] .md-typeset .plot-card,
[data-md-color-scheme="slate"] .md-typeset .diagram-card {
  background: rgba(15, 23, 42, 0.38);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.plot-card__title {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.plot-card__caption {
  margin-top: 0.75rem;
  opacity: 0.8;
}

.md-typeset .diagram-card {
  margin: 1.25rem 0 1.75rem;
  padding: 1rem;
  border-radius: 1rem;
}

.md-typeset .diagram-card > p:first-child {
  margin-top: 0;
  font-weight: 700;
}

.md-typeset .mermaid {
  overflow-x: auto;
}

.md-header__option .md-select > button {
  border-radius: 999px;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    transform 160ms ease;
}

[data-md-color-scheme="default"] .md-header__option .md-select > button {
  background: var(--lang-chip-bg-light);
  border: 1px solid var(--lang-chip-border-light);
}

[data-md-color-scheme="slate"] .md-header__option .md-select > button {
  background: var(--lang-chip-bg-dark);
  border: 1px solid var(--lang-chip-border-dark);
}

.md-header__option .md-select > button:hover {
  transform: translateY(-1px);
}

.md-header__option .md-select__inner {
  border-radius: 1rem;
  overflow: hidden;
  min-width: 10rem;
}

.md-header__option .md-select__link {
  font-weight: 600;
}

.md-header__option .md-select__link[href*="/en/"]::before,
.md-header__option .md-select__link[href*="/zh/"]::before,
.md-header__option .md-select__link[href]:not([href*="/en/"]):not([href*="/zh/"])::before {
  display: inline-block;
  width: 1.6em;
  margin-right: 0.2rem;
  opacity: 0.8;
}

.md-header__option .md-select__link[href]:not([href*="/en/"]):not([href*="/zh/"])::before {
  content: "RU";
}

.md-header__option .md-select__link[href*="/en/"]::before {
  content: "EN";
}

.md-header__option .md-select__link[href*="/zh/"]::before {
  content: "中文";
}
