/* EVCC 文档中心：与官网、用户中心统一的“技术手册 / 仪表铭牌”风格（冷灰纸面 + 墨色 + 信号绿）。
 * 日夜配色取自三站 tokens.css；首次绘制由系统偏好决定，随后 document-center.js 按 localStorage 的 evcc-theme
 * 切换 body[data-md-color-scheme]（default = 日间，slate = 夜间）。
 */
body[data-md-color-scheme="default"] {
  color-scheme: light;
  --md-primary-fg-color: #0e1013;
  --md-primary-fg-color--light: #2c3036;
  --md-primary-fg-color--dark: #0b0c0f;
  --md-primary-bg-color: #eceef0;
  --md-primary-bg-color--light: rgba(236, 238, 240, 0.7);
  --md-accent-fg-color: #00775c;
  --md-accent-fg-color--transparent: rgba(0, 184, 143, 0.1);
  --md-accent-bg-color: #ffffff;
  --md-default-bg-color: #f7f8f9;
  --md-default-bg-color--light: rgba(247, 248, 249, 0.7);
  --md-default-bg-color--lighter: rgba(247, 248, 249, 0.3);
  --md-default-bg-color--lightest: rgba(247, 248, 249, 0.12);
  --md-default-fg-color: #0e1013;
  --md-default-fg-color--light: #4a5058;
  --md-default-fg-color--lighter: rgba(14, 16, 19, 0.32);
  --md-default-fg-color--lightest: rgba(14, 16, 19, 0.07);
  --md-typeset-color: #1a1d22;
  --md-typeset-a-color: #00775c;
  --md-code-bg-color: #eceef0;
  --md-code-fg-color: #2c3036;
  --md-footer-bg-color: #0b0c0f;
  --md-footer-bg-color--dark: #07080a;
  --md-footer-fg-color: #eceef0;
  --md-footer-fg-color--light: #8c9099;
  --md-footer-fg-color--lighter: #5e646d;
  --evcc-ink: #0e1013;
  --evcc-ink-2: #2c3036;
  --evcc-mute: #646a73;
  --evcc-rule: #d3d7dc;
  --evcc-rule-2: #b7bdc5;
  --evcc-paper: #eceef0;
  --evcc-paper-2: #e2e5e9;
  --evcc-paper-3: #f7f8f9;
  --evcc-signal: #00b88f;
  --evcc-signal-ink: #00775c;
  --evcc-signal-soft: rgba(0, 184, 143, 0.13);
  --evcc-top-bg: rgba(236, 238, 240, 0.88);
  --evcc-night: #0b0c0f;
  --evcc-on-ink: #eceef0;
  --evcc-danger: #b4281f;
}

body[data-md-color-scheme="slate"] {
  color-scheme: dark;
  --md-primary-fg-color: #eceef1;
  --md-primary-fg-color--light: #c4c8cf;
  --md-primary-fg-color--dark: #ffffff;
  --md-primary-bg-color: #0f1114;
  --md-primary-bg-color--light: rgba(15, 17, 20, 0.7);
  --md-accent-fg-color: #2fd5a8;
  --md-accent-fg-color--transparent: rgba(47, 213, 168, 0.1);
  --md-accent-bg-color: #0f1114;
  --md-default-bg-color: #0f1114;
  --md-default-bg-color--light: rgba(15, 17, 20, 0.7);
  --md-default-bg-color--lighter: rgba(15, 17, 20, 0.3);
  --md-default-bg-color--lightest: rgba(15, 17, 20, 0.12);
  --md-default-fg-color: #eceef1;
  --md-default-fg-color--light: #a4a9b2;
  --md-default-fg-color--lighter: rgba(236, 238, 241, 0.3);
  --md-default-fg-color--lightest: rgba(255, 255, 255, 0.08);
  --md-typeset-color: #d9dce2;
  --md-typeset-a-color: #2fd5a8;
  --md-code-bg-color: #16191d;
  --md-code-fg-color: #d5d8de;
  --md-footer-bg-color: #07080a;
  --md-footer-bg-color--dark: #050607;
  --evcc-ink: #eceef1;
  --evcc-ink-2: #c4c8cf;
  --evcc-mute: #8a909a;
  --evcc-rule: rgba(255, 255, 255, 0.1);
  --evcc-rule-2: rgba(255, 255, 255, 0.2);
  --evcc-paper: #0f1114;
  --evcc-paper-2: #15181c;
  --evcc-paper-3: #191c21;
  --evcc-signal: #2fd5a8;
  --evcc-signal-ink: #2fd5a8;
  --evcc-signal-soft: rgba(47, 213, 168, 0.14);
  --evcc-top-bg: rgba(15, 17, 20, 0.86);
  --evcc-night: #07080a;
  --evcc-on-ink: #0f1114;
  --evcc-danger: #ff8a80;
}

/* 首次绘制：脚本执行前按系统偏好套用夜间色，避免夜间系统闪白屏 */
@media (prefers-color-scheme: dark) {
  html:not([data-evcc-theme="light"]) body[data-md-color-scheme="default"] {
    color-scheme: dark;
  --md-primary-fg-color: #eceef1;
  --md-primary-fg-color--light: #c4c8cf;
  --md-primary-fg-color--dark: #ffffff;
  --md-primary-bg-color: #0f1114;
  --md-primary-bg-color--light: rgba(15, 17, 20, 0.7);
  --md-accent-fg-color: #2fd5a8;
  --md-accent-fg-color--transparent: rgba(47, 213, 168, 0.1);
  --md-accent-bg-color: #0f1114;
  --md-default-bg-color: #0f1114;
  --md-default-bg-color--light: rgba(15, 17, 20, 0.7);
  --md-default-bg-color--lighter: rgba(15, 17, 20, 0.3);
  --md-default-bg-color--lightest: rgba(15, 17, 20, 0.12);
  --md-default-fg-color: #eceef1;
  --md-default-fg-color--light: #a4a9b2;
  --md-default-fg-color--lighter: rgba(236, 238, 241, 0.3);
  --md-default-fg-color--lightest: rgba(255, 255, 255, 0.08);
  --md-typeset-color: #d9dce2;
  --md-typeset-a-color: #2fd5a8;
  --md-code-bg-color: #16191d;
  --md-code-fg-color: #d5d8de;
  --md-footer-bg-color: #07080a;
  --md-footer-bg-color--dark: #050607;
  --evcc-ink: #eceef1;
  --evcc-ink-2: #c4c8cf;
  --evcc-mute: #8a909a;
  --evcc-rule: rgba(255, 255, 255, 0.1);
  --evcc-rule-2: rgba(255, 255, 255, 0.2);
  --evcc-paper: #0f1114;
  --evcc-paper-2: #15181c;
  --evcc-paper-3: #191c21;
  --evcc-signal: #2fd5a8;
  --evcc-signal-ink: #2fd5a8;
  --evcc-signal-soft: rgba(47, 213, 168, 0.14);
  --evcc-top-bg: rgba(15, 17, 20, 0.86);
  --evcc-night: #07080a;
  --evcc-on-ink: #0f1114;
  --evcc-danger: #ff8a80;
  }
}

:root {
  --evcc-accent: var(--evcc-signal-ink);
  --evcc-border: var(--evcc-rule);
  --evcc-heading-rule: var(--evcc-ink);
  --evcc-din: "DIN Alternate", "Bahnschrift", "D-DIN", "DIN Next", "Barlow", "Roboto Condensed", "PingFang SC", "Microsoft YaHei", sans-serif;
  --evcc-mono: "SF Mono", "JetBrains Mono", "Cascadia Mono", Menlo, Consolas, "PingFang SC", monospace;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", "Noto Sans SC", "Segoe UI", Roboto, sans-serif;
  background: var(--md-default-bg-color);
}

/* ---------- 顶栏与标签栏：深色“仪表头”，与编辑器、分享页一致 ---------- */
.md-header {
  color: #eceef1;
  background: var(--evcc-night);
  box-shadow: none;
  border-bottom: 0;
}
.md-header__title { font-weight: 700; letter-spacing: 0.01em; }
.md-header__button.md-logo img, .md-header__button.md-logo svg { width: 1.6rem; height: 1.6rem; }
.md-header__button.md-logo { margin: 0.3rem 0.1rem 0.3rem 0.4rem; padding: 0.2rem; border-radius: 0.5rem; background: transparent; }
.md-tabs {
  color: #aeb3bc;
  background: var(--evcc-night);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.md-tabs__link { opacity: 0.82; font-weight: 600; }
.md-tabs__link:hover, .md-tabs__item--active .md-tabs__link { opacity: 1; color: #ffffff; }
.md-tabs__item--active .md-tabs__link { box-shadow: inset 0 -3px 0 var(--evcc-signal); }
.md-search__form { border-radius: 0.3rem; background: rgba(255, 255, 255, 0.1); }
.md-search__form:hover { background: rgba(255, 255, 255, 0.16); }
.md-search__input::placeholder, .md-search__icon { color: #aeb3bc; }
.md-search__input { color: #eceef1; }
[data-md-toggle="search"]:checked ~ .md-header .md-search__form { background: var(--md-default-bg-color); }
[data-md-toggle="search"]:checked ~ .md-header .md-search__input, [data-md-toggle="search"]:checked ~ .md-header .md-search__icon { color: var(--md-default-fg-color); }

/* 日夜切换按钮（document-center.js 注入） */
.evcc-theme-toggle { display: inline-grid; place-items: center; cursor: pointer; color: inherit; background: none; border: 0; }
.evcc-theme-toggle svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.evcc-theme-toggle .i-sun { display: none; }
body[data-md-color-scheme="slate"] .evcc-theme-toggle .i-sun { display: block; }
body[data-md-color-scheme="slate"] .evcc-theme-toggle .i-moon { display: none; }

/* ---------- 左侧导航：一级分组是主入口，二级分组是任务分类 ---------- */
.md-sidebar--primary .md-nav__item--nested > .md-nav__link {
  margin-top: 0.24rem;
  padding: 0.3rem 0.48rem;
  border-left: 2px solid var(--evcc-rule-2);
  color: var(--md-default-fg-color);
  font-weight: 680;
}
.md-sidebar--primary .md-nav[data-md-level="1"] > .md-nav__list > .md-nav__item--nested > .md-nav__link {
  margin-top: 0.6rem;
  padding: 0.4rem 0.58rem;
  border-left: 3px solid var(--evcc-signal);
  background: color-mix(in srgb, var(--evcc-ink) 5%, transparent);
  font-family: var(--evcc-mono);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.md-sidebar--primary .md-nav[data-md-level="2"] > .md-nav__list > .md-nav__item--nested > .md-nav__link {
  margin: 0.28rem 0 0 0.48rem;
  padding: 0.26rem 0.42rem;
  border-left: 2px solid var(--evcc-rule-2);
  color: var(--evcc-ink-2);
  background: transparent;
  font-size: 0.66rem;
  font-weight: 720;
}
.md-nav__link--active { color: var(--evcc-signal-ink); }
.md-sidebar--primary .md-nav__link--active { font-weight: 700; }

/* ---------- 正文：更大的字号与更强的标题层级 ---------- */
.md-typeset { font-size: 0.84rem; line-height: 1.8; }
.md-content__inner { counter-reset: evcc-sec; }
.md-typeset h1 {
  margin: 0 0 1.4rem;
  padding-bottom: 0;
  border-bottom: 0;
  color: var(--md-default-fg-color);
  font-size: clamp(2.2rem, 3.4vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.16;
}
.md-typeset h1::after { content: ""; display: block; width: 3.4rem; height: 0.3rem; margin-top: 1rem; background: var(--evcc-signal); }
.md-typeset h2 {
  counter-increment: evcc-sec;
  position: relative;
  margin-top: 2.8em;
  padding: 1rem 0 0 0;
  border-top: 1px solid var(--evcc-rule-2);
  color: var(--md-default-fg-color);
  font-size: 1.5em;
  font-weight: 760;
  letter-spacing: -0.015em;
  line-height: 1.3;
}
.md-typeset h2::before {
  content: counter(evcc-sec, decimal-leading-zero);
  display: inline-block;
  margin-right: 0.7em;
  font: 700 0.62em/1 var(--evcc-din);
  letter-spacing: 0.08em;
  color: var(--evcc-signal-ink);
  vertical-align: 0.28em;
}
.md-typeset h3 { color: var(--md-default-fg-color); font-weight: 700; }
.md-typeset a { text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--evcc-signal) 55%, transparent); text-underline-offset: 0.18em; }
.md-typeset a:hover { text-decoration-color: var(--evcc-signal); }
.md-typeset .md-button, .md-typeset a.md-nav__link, .md-typeset .headerlink { text-decoration: none; }
.md-typeset code { border-radius: 0.2rem; font-family: var(--evcc-mono); }
.md-typeset pre > code { border-radius: 0.3rem; }
.md-typeset .highlight pre, .md-typeset pre { border-radius: 0.3rem; }
.md-typeset table:not([class]) { border: 1px solid var(--evcc-rule); border-radius: 0.3rem; font-size: 0.72rem; }
.md-typeset table:not([class]) th { background: var(--evcc-paper-2); color: var(--md-default-fg-color); font-weight: 700; }
.md-typeset table:not([class]) td, .md-typeset table:not([class]) th { border-color: var(--evcc-rule); }
.md-typeset .admonition, .md-typeset details { border-radius: 0.3rem; border-width: 0 0 0 0.2rem; box-shadow: none; background: color-mix(in srgb, var(--evcc-ink) 3.5%, transparent); }
.md-typeset hr { border-bottom-color: var(--evcc-rule); }
.md-footer-meta { background: var(--md-footer-bg-color--dark); }

/* ---------- 工具块（网页辅助调试台等） ---------- */
.evcc-tool {
  border: 1px solid var(--evcc-border);
  border-top: 2px solid var(--evcc-ink);
  border-radius: 0.2rem 0.2rem 0.5rem 0.5rem;
  padding: 1rem;
  margin: 1rem 0;
  background: var(--evcc-paper-3);
}
.evcc-tool label {
  display: grid;
  gap: 0.3rem;
  margin: 0.65rem 0;
  font-weight: 600;
}
.evcc-tool input,
.evcc-tool select {
  width: 100%;
  border: 1px solid var(--evcc-rule-2);
  border-radius: 0.3rem;
  padding: 0.55rem 0.65rem;
  color: inherit;
  background: var(--md-default-bg-color);
}
.evcc-tool input:focus, .evcc-tool select:focus { outline: 0.12rem solid color-mix(in srgb, var(--evcc-signal) 45%, transparent); border-color: var(--evcc-ink); }
.evcc-tool button {
  border: 0;
  border-radius: 0.3rem;
  padding: 0.55rem 0.8rem;
  color: var(--evcc-on-ink);
  background: var(--evcc-ink);
  cursor: pointer;
  font-weight: 700;
}
.evcc-tool button:hover { opacity: 0.86; }
.evcc-tool-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.8rem 0; }
.evcc-tool-message { min-height: 1.4rem; }
.evcc-tool-message.is-error { color: var(--evcc-danger); }
.evcc-catalog-table-wrap { overflow-x: auto; }
.evcc-catalog-table-wrap table { min-width: 72rem; }
.evcc-hash { font-family: var(--md-code-font-family); overflow-wrap: anywhere; font-size: 0.78rem; }

/* ---------- 页面更新时间与“复制 Markdown” ---------- */
.evcc-page-updated {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin: -0.55rem 0 1.4rem;
  color: var(--md-default-fg-color--light);
  font-family: var(--evcc-mono);
  font-size: 0.68rem;
  line-height: 1.5;
}
.evcc-page-updated time { font-variant-numeric: tabular-nums; }
.evcc-page-updated__value { display: inline-flex; align-items: baseline; white-space: nowrap; }
.evcc-copy-markdown {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  border: 1px solid var(--evcc-rule-2);
  border-radius: 0.3rem;
  padding: 0;
  color: var(--evcc-ink-2);
  background: var(--evcc-paper-3);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  line-height: 1;
  transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease;
}
.evcc-copy-markdown:hover,
.evcc-copy-markdown:focus-visible {
  color: var(--evcc-on-ink);
  border-color: var(--evcc-ink);
  background: var(--evcc-ink);
}
.evcc-copy-markdown:focus-visible { outline: 0.12rem solid color-mix(in srgb, var(--evcc-signal) 55%, transparent); outline-offset: 0.1rem; }
.evcc-copy-markdown svg { width: 0.92rem; height: 0.92rem; fill: currentColor; }
.evcc-copy-markdown__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ---------- 页眉右侧的来源图标 ---------- */
@media screen and (min-width: 60em) {
  .md-header__source {
    flex: 0 0 2.3rem;
    width: 2.3rem;
    min-width: 2.3rem;
    max-width: 2.3rem;
  }
  .md-header__source .md-source {
    display: grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 0.4rem;
  }
  .md-header__source .md-source:hover,
  .md-header__source .md-source:focus-visible {
    background: color-mix(in srgb, var(--evcc-ink) 10%, transparent);
  }
  .md-header__source .md-source__icon {
    display: grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
  }
  [dir="ltr"] .md-header__source .md-source__icon svg,
  [dir="rtl"] .md-header__source .md-source__icon svg,
  .md-header__source .md-source__icon svg {
    width: 1.25rem;
    height: 1.25rem;
    margin: 0;
  }
  .md-header__source .md-source__repository { display: none; }
  [dir="ltr"] .evcc-header-source--coauto { margin-left: 0.42rem; }
  [dir="ltr"] .evcc-header-source--github { margin-left: 0.04rem; }
}

/* ---------- 悬浮“问文档助手” ---------- */
.evcc-ask-ai {
  position: fixed;
  right: max(0.9rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 9;
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  min-height: 2.35rem;
  padding: 0.36rem 0.8rem 0.36rem 0.56rem;
  border: 1px solid var(--evcc-ink);
  border-radius: 0.3rem;
  color: var(--evcc-on-ink);
  background: var(--evcc-ink);
  box-shadow: 0 0.5rem 1.2rem -0.5rem rgb(0 0 0 / 45%);
  font-size: 0.73rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: transform 140ms ease, box-shadow 140ms ease, opacity 140ms ease;
}
.evcc-ask-ai:hover,
.evcc-ask-ai:focus-visible {
  color: var(--evcc-on-ink);
  opacity: 0.92;
  transform: translateY(-0.1rem);
}
.evcc-ask-ai:focus-visible { outline: 0.14rem solid color-mix(in srgb, var(--evcc-signal) 70%, transparent); outline-offset: 0.12rem; }
.evcc-ask-ai__mark {
  display: inline-grid;
  place-items: center;
  width: 1.28rem;
  height: 1.28rem;
  color: var(--evcc-signal);
}
.evcc-ask-ai__mark svg { width: 1.18rem; height: 1.18rem; fill: currentColor; }
.evcc-ask-ai__label { white-space: nowrap; }

@media (max-width: 44.984375em) {
  .md-content__inner { padding-bottom: 4.2rem; }

  .evcc-ask-ai {
    right: max(0.68rem, env(safe-area-inset-right));
    bottom: max(0.72rem, env(safe-area-inset-bottom));
    width: 2.55rem;
    min-height: 2.55rem;
    justify-content: center;
    padding: 0;
  }

  .evcc-ask-ai__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .evcc-ask-ai__mark { width: 1.45rem; height: 1.45rem; }
  .evcc-ask-ai__mark svg { width: 1.34rem; height: 1.34rem; }
  .md-typeset h1 { font-size: 1.9rem; }
  .md-typeset h2 { margin-top: 2.2em; }
}

@media (prefers-reduced-motion: reduce) {
  .evcc-ask-ai { transition: none; }
}

/* ---------- 语言选择（英文 / 俄文由谷歌网页翻译提供） ---------- */
.evcc-lang { position: relative; display: inline-flex; align-items: center; margin: 0 0.1rem; }
.evcc-lang__button {
  display: inline-flex; align-items: center; gap: 0.3rem; height: 1.7rem; padding: 0 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 0.3rem; color: inherit; background: transparent;
  font: 600 0.62rem/1 var(--evcc-mono); letter-spacing: 0.04em; cursor: pointer;
}
.evcc-lang__button:hover { border-color: #ffffff; color: #ffffff; }
.evcc-lang__button svg { width: 0.85rem; height: 0.85rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.evcc-lang__menu {
  position: absolute; top: calc(100% + 0.5rem); right: 0; z-index: 10; width: 9.6rem; padding: 0.3rem;
  color: var(--md-default-fg-color); background: var(--evcc-paper-3); border: 1px solid var(--evcc-rule-2); border-radius: 0.5rem;
  box-shadow: 0 0.9rem 2.4rem -1rem rgb(0 0 0 / 45%);
}
.evcc-lang__menu button {
  display: block; width: 100%; padding: 0.5rem 0.6rem; border: 0; border-radius: 0.3rem; text-align: left;
  color: inherit; background: none; font-size: 0.72rem; cursor: pointer;
}
.evcc-lang__menu button:hover, .evcc-lang__menu button:focus-visible { background: var(--evcc-paper-2); }
.evcc-lang__menu button[aria-checked="true"] { color: var(--evcc-signal-ink); background: var(--evcc-signal-soft); font-weight: 700; }
.evcc-lang__hint { margin: 0.3rem 0.6rem 0.2rem; color: var(--evcc-mute); font: 500 0.54rem/1.4 var(--evcc-mono); }
.evcc-lang-note {
  position: fixed; left: 50%; bottom: 1.2rem; z-index: 20; transform: translateX(-50%); max-width: calc(100% - 2rem);
  padding: 0.6rem 1rem; border-radius: 0.3rem; color: var(--evcc-on-ink); background: var(--evcc-ink);
  font-size: 0.72rem; box-shadow: 0 0.6rem 1.6rem -0.6rem rgb(0 0 0 / 50%);
}
/* 谷歌翻译插件自带的界面全部隐藏，只保留我们自己的语言选择；翻译后顶部不留空白条 */
#google_translate_element, .goog-te-gadget, .goog-te-banner-frame, .VIpgJd-ZVi9od-ORHb-OEVmcd, .VIpgJd-ZVi9od-aZ2wEe-wOHMyf { display: none !important; }
body { top: 0 !important; }
.skiptranslate iframe { display: none !important; }
@media (max-width: 44.984375em) { .evcc-lang__button span { display: none; } .evcc-lang__button { padding: 0 0.45rem; } }
