:root,
html.light,
html.rust,
html.coal,
html.navy,
html.ayu {
  color-scheme: light;
  --font-sans:
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "PingFang SC",
    "Hiragino Sans GB",
    "Microsoft YaHei",
    "Noto Sans CJK SC",
    "Source Han Sans SC",
    sans-serif;
  --font-display: var(--font-sans);
  --site-bg: oklch(0.972 0.012 92);
  --site-bg-soft: oklch(0.941 0.018 94);
  --site-surface: oklch(0.992 0.006 96);
  --site-surface-raised: oklch(0.985 0.009 94);
  --site-surface-soft: oklch(0.941 0.018 94);
  --site-text: oklch(0.205 0.04 164);
  --site-muted: oklch(0.45 0.028 112);
  --site-subtle: oklch(0.58 0.022 102);
  --site-border: oklch(0.842 0.027 88);
  --site-border-strong: oklch(0.72 0.034 91);
  --site-primary: oklch(0.35 0.084 164);
  --site-primary-hover: oklch(0.292 0.078 164);
  --site-primary-soft: oklch(0.905 0.043 161);
  --site-accent: oklch(0.65 0.114 61);
  --site-accent-soft: oklch(0.925 0.049 68);
  --site-focus: oklch(0.49 0.105 166);
  --site-shadow-soft: 0 18px 50px oklch(0.24 0.04 98 / 0.085);
  --site-shadow-raised: 0 28px 80px oklch(0.21 0.044 98 / 0.13);
  --site-radius-sm: 6px;
  --site-radius-md: 8px;
  --site-radius-lg: 10px;
  --site-radius-xl: 14px;
  --site-radius-pill: 999px;
  --manual-text-size: 1.6rem;
  --manual-meta-size: 1.36rem;
  --manual-h1-size: 3.8rem;
  --manual-h2-size: 2.45rem;
  --manual-h3-size: 1.9rem;
  --site-radius-card: var(--site-radius-md);
  --site-radius-button: var(--site-radius-md);
  --bg: var(--site-bg);
  --fg: var(--site-text);
  --sidebar-bg: color-mix(in oklch, var(--site-surface) 78%, var(--site-bg));
  --sidebar-fg: var(--site-muted);
  --sidebar-non-existant: var(--site-subtle);
  --sidebar-active: var(--site-primary-hover);
  --sidebar-spacer: var(--site-border);
  --scrollbar: var(--site-border-strong);
  --icons: var(--site-muted);
  --icons-hover: var(--site-primary-hover);
  --links: var(--site-primary);
  --inline-code-color: var(--site-primary-hover);
  --theme-popup-bg: var(--site-surface);
  --theme-popup-border: var(--site-border);
  --quote-bg: var(--site-primary-soft);
  --quote-border: var(--site-border-strong);
  --table-border-color: var(--site-border);
  --table-header-bg: var(--site-primary-soft);
  --table-alternate-bg: color-mix(in oklch, var(--site-surface-soft) 60%, var(--site-surface));
  --searchbar-border-color: var(--site-border);
  --searchbar-bg: var(--site-surface);
  --searchbar-fg: var(--site-text);
  --searchresults-header-fg: var(--site-muted);
  --searchresults-border-color: var(--site-border);
  --searchresults-li-bg: var(--site-surface);
  --search-mark-bg: var(--site-accent-soft);
  --search-mark-fg: var(--site-text);
}

html {
  background: var(--site-bg);
  font-family: var(--font-sans);
  text-rendering: optimizeLegibility;
}

body {
  background:
    linear-gradient(180deg, color-mix(in oklch, var(--site-surface) 86%, var(--site-bg)) 0 520px, transparent 920px),
    linear-gradient(90deg, color-mix(in oklch, var(--site-surface) 44%, transparent), transparent 36%, transparent 72%, color-mix(in oklch, var(--site-primary-soft) 18%, transparent)),
    var(--site-bg);
  color: var(--site-text);
  font-family: var(--font-sans);
  overflow-x: hidden;
}

a,
button {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: var(--site-primary);
  text-decoration-color: color-mix(in oklch, var(--site-primary) 36%, transparent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

a:hover {
  color: var(--site-primary-hover);
}

:focus-visible {
  outline: 2px solid var(--site-focus);
  outline-offset: 3px;
}

#mdbook-body-container,
.page,
.page-wrapper {
  background: transparent;
}

.sidebar {
  border-right: 1px solid var(--site-border);
  background:
    linear-gradient(180deg, color-mix(in oklch, var(--site-surface) 78%, transparent), transparent 440px),
    color-mix(in oklch, var(--site-bg-soft) 66%, var(--site-surface));
  box-shadow: 10px 0 30px oklch(0.24 0.04 98 / 0.035);
}

.sidebar-scrollbox {
  padding: 22px 14px;
}

.chapter {
  color: var(--site-muted);
}

.chapter li {
  margin-block: 2px;
}

.chapter li a {
  padding: 7px 10px;
  border-radius: var(--site-radius-button);
  color: var(--site-muted);
  line-height: 1.45;
}

.chapter li a:hover,
.chapter li a.active {
  background: color-mix(in oklch, var(--site-primary-soft) 54%, transparent);
  color: var(--site-primary-hover);
  text-decoration: none;
}

.chapter li a.active {
  font-weight: 760;
}

.chapter .spacer {
  background: var(--site-border);
}

.sidebar-resize-handle {
  background: transparent;
}

.sidebar-resize-indicator {
  background: var(--site-border-strong);
}

.menu-bar {
  min-height: 66px;
  border-bottom: 1px solid color-mix(in oklch, var(--site-border) 82%, transparent);
  background: color-mix(in oklch, var(--site-bg) 96%, var(--site-surface));
  box-shadow: 0 8px 22px oklch(0.24 0.035 95 / 0.028);
}

.menu-title {
  color: var(--site-text);
  font-family: var(--font-display);
  font-size: var(--manual-text-size);
  font-weight: 760;
  letter-spacing: 0;
}

.left-buttons,
.right-buttons,
.smartseek-docs-nav,
.smartseek-docs-locale summary,
.smartseek-docs-locale a {
  align-items: center;
}

.smartseek-docs-nav {
  display: flex;
  gap: 10px;
  margin-inline: auto 14px;
}

.smartseek-docs-nav__links {
  display: flex;
  gap: 8px;
  align-items: center;
}

.smartseek-docs-nav__links a,
.smartseek-docs-locale summary,
.smartseek-docs-locale__menu a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid color-mix(in oklch, var(--site-border) 66%, transparent);
  border-radius: var(--site-radius-pill);
  background: color-mix(in oklch, var(--site-surface) 68%, transparent);
  color: var(--site-muted);
  font-size: var(--manual-meta-size);
  font-weight: 720;
  text-decoration: none;
}

.smartseek-docs-nav__links a:hover,
.smartseek-docs-locale summary:hover,
.smartseek-docs-locale[open] summary {
  border-color: var(--site-border-strong);
  background: var(--site-surface);
  color: var(--site-primary-hover);
}

.smartseek-docs-locale {
  position: relative;
}

.smartseek-docs-locale summary {
  gap: 8px;
  cursor: pointer;
  list-style: none;
}

.smartseek-docs-locale summary::-webkit-details-marker {
  display: none;
}

.smartseek-docs-locale summary::after {
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  content: "";
  opacity: 0.72;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 180ms ease-out;
}

.smartseek-docs-locale[open] summary::after {
  transform: translateY(1px) rotate(225deg);
}

.smartseek-docs-locale__menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 8;
  display: grid;
  min-width: 148px;
  margin: 0;
  padding: 4px;
  border: 1px solid color-mix(in oklch, var(--site-border) 82%, var(--site-surface));
  border-radius: var(--site-radius-md);
  background: var(--site-surface);
  box-shadow:
    inset 0 1px 0 oklch(1 0 0 / 0.58),
    0 16px 36px oklch(0.24 0.035 95 / 0.11);
  list-style: none;
}

.smartseek-docs-locale__menu a {
  justify-content: space-between;
  min-height: 38px;
  border: 0;
  border-radius: var(--site-radius-sm);
  background: transparent;
}

.smartseek-docs-locale__menu a.active,
.smartseek-docs-locale__menu a:hover {
  background: color-mix(in oklch, var(--site-primary-soft) 48%, transparent);
  color: var(--site-primary-hover);
}

.icon-button,
.right-buttons a {
  border-radius: var(--site-radius-button);
  color: var(--site-muted);
}

.icon-button:hover,
.right-buttons a:hover {
  background: var(--site-primary-soft);
  color: var(--site-primary-hover);
}

.theme-popup {
  border: 1px solid var(--site-border);
  border-radius: var(--site-radius-card);
  background: var(--site-surface);
  box-shadow: var(--site-shadow-soft);
}

.theme {
  color: var(--site-muted);
}

.theme:hover {
  background: var(--site-primary-soft);
  color: var(--site-primary-hover);
}

.searchbar-outer {
  border-bottom: 1px solid var(--site-border);
  background: color-mix(in oklch, var(--site-surface) 86%, transparent);
}

.search-wrapper {
  max-width: 840px;
  margin-inline: auto;
}

#mdbook-searchbar {
  border: 1px solid var(--site-border);
  border-radius: var(--site-radius-button);
  background: var(--site-surface);
  color: var(--site-text);
  font-family: var(--font-sans);
}

#mdbook-searchbar:focus {
  border-color: var(--site-focus);
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--site-focus) 18%, transparent);
}

.searchresults-outer {
  border-bottom: 1px solid var(--site-border);
  background: color-mix(in oklch, var(--site-surface) 92%, transparent);
}

#mdbook-searchresults {
  max-width: 840px;
  margin-inline: auto;
}

#mdbook-searchresults li {
  border: 1px solid var(--site-border);
  border-radius: var(--site-radius-card);
  background: var(--site-surface);
}

#mdbook-content {
  color: var(--site-text);
}

.content main {
  max-width: 840px;
  padding: 72px 52px 96px;
}

.content h1,
.content h2,
.content h3,
.content h4 {
  color: var(--site-text);
  font-family: var(--font-display);
  font-weight: 760;
  letter-spacing: 0;
}

.content h1 {
  margin-bottom: 22px;
  font-size: var(--manual-h1-size);
  line-height: 1.03;
}

.content h2 {
  margin-top: 48px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--site-border);
  font-size: var(--manual-h2-size);
  line-height: 1.18;
}

.content h3 {
  margin-top: 34px;
  font-size: var(--manual-h3-size);
}

.content p,
.content li {
  color: var(--site-muted);
  font-size: var(--manual-text-size);
  line-height: 1.78;
}

.content strong {
  color: var(--site-text);
  font-weight: 760;
}

.content blockquote {
  margin: 26px 0;
  padding: 18px 20px;
  border: 1px solid color-mix(in oklch, var(--site-border) 72%, var(--site-primary));
  border-radius: var(--site-radius-card);
  background: color-mix(in oklch, var(--site-primary-soft) 72%, var(--site-surface));
}

.content blockquote p {
  margin: 0;
  color: var(--site-text);
}

.content table {
  border: 1px solid var(--site-border);
  border-radius: var(--site-radius-card);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

.content th {
  background: var(--site-primary-soft);
  color: var(--site-primary-hover);
  font-size: var(--manual-text-size);
  font-weight: 760;
}

.content th,
.content td {
  border-color: var(--site-border);
  font-size: var(--manual-text-size);
  line-height: 1.68;
}

.content code {
  border: 1px solid color-mix(in oklch, var(--site-border) 76%, var(--site-surface));
  border-radius: 6px;
  background: color-mix(in oklch, var(--site-accent-soft) 42%, var(--site-surface));
  color: var(--site-primary-hover);
  font-family: "Cascadia Code", "JetBrains Mono", ui-monospace, monospace;
  font-size: 0.92em;
}

.content pre {
  border: 1px solid var(--site-border);
  border-radius: var(--site-radius-card);
  background: color-mix(in oklch, var(--site-surface) 78%, var(--site-bg));
  box-shadow: 0 10px 28px oklch(0.24 0.035 95 / 0.045);
}

.content pre code {
  border: 0;
  background: transparent;
}

.nav-chapters,
.mobile-nav-chapters {
  color: var(--site-muted);
}

.nav-chapters:hover,
.mobile-nav-chapters:hover {
  color: var(--site-primary-hover);
}

#mdbook-help-popup {
  border: 1px solid var(--site-border);
  border-radius: var(--site-radius-card);
  background: var(--site-surface);
  box-shadow: var(--site-shadow-soft);
  color: var(--site-text);
}

kbd {
  border: 1px solid var(--site-border);
  border-radius: 6px;
  background: var(--site-primary-soft);
  color: var(--site-primary-hover);
  box-shadow: none;
}

@media (max-width: 900px) {
  .menu-title {
    max-width: 42vw;
  }

  .smartseek-docs-nav {
    display: flex;
    margin-inline: auto 8px;
  }

  .smartseek-docs-nav__links {
    display: none;
  }

  .content main {
    padding: 56px 28px 76px;
  }
}

@media (max-width: 560px) {
  .menu-title {
    font-size: 1.42rem;
  }

  .smartseek-docs-nav {
    margin-inline: auto 6px;
  }

  .smartseek-docs-locale summary {
    min-height: 34px;
    padding-inline: 10px;
  }

  .smartseek-docs-locale__menu {
    min-width: 136px;
  }

  .content main {
    padding: 42px 18px 64px;
  }

  .content h1 {
    font-size: 3.2rem;
  }

  .content h2 {
    font-size: 2.3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media print {
  body {
    background: var(--site-surface);
  }

  .menu-bar,
  .sidebar,
  .smartseek-docs-nav {
    display: none !important;
  }

  .content main {
    max-width: none;
    padding: 0;
  }
}
