/* ---------------------------------------------------------------------------
 * kb.css — 站点外壳覆盖样式（在 assets/styles.css 之后加载）
 * 1) 导航移到顶栏后，取消左侧常驻导航占位
 * 2) 顶栏下拉导航（Carbon HeaderNavigation 结构）的补充样式
 * 3) ohesg 式深色页脚
 * 4) 首页卡片层级
 * ------------------------------------------------------------------------- */

/* 1. 桌面端不再保留常驻左侧导航 */
:root {
  /* callout 共享 token：四类提示（章节 blockquote / 版本说明 / 搜索空态 / 命名规则）统一用 */
  --kb-callout-accent: var(--kb-green, #198038);
  --kb-callout-bg: var(--kb-green-tint, #defbe6);
  --kb-callout-ink: #161616;
}
@media (min-width: 66rem) {
  .cds--side-nav--ux {
    display: none;
  }
  .page-main {
    margin-inline-start: 0;
  }
}

/* 2. 顶栏导航 */
.kb-nav-badge {
  display: inline-block;
  margin-inline-start: 0.5rem;
  padding: 0 0.375rem;
  border-radius: 0.625rem;
  background: var(--kb-green, #198038);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1rem;
  vertical-align: middle;
}

.cds--header__menu-title.kb-nav-current {
  border-block-end: 2px solid var(--kb-green, #198038);
}

.cds--header__menu-title {
  cursor: pointer;
}

/* 品牌居左、主导航居右 */
.cds--header__nav {
  margin-inline-start: auto;
}

/* 3. ohesg 式页脚 */
.kb-footer {
  margin-block-start: 4rem;
  padding: 3rem 1rem 1.5rem;
  background: #1f2937;
  color: #d1d5db;
}

.kb-footer__inner {
  max-width: 72rem;
  margin-inline: auto;
}

.kb-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
  gap: 2.5rem;
}

.kb-footer__brand-header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.kb-footer__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 2rem;
  block-size: 2rem;
  border-radius: 0.5rem;
  background: #10b981;
  color: #06281d;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
}

.kb-footer__brand-name {
  font-size: 1.0625rem;
  font-weight: 600;
  color: #f9fafb;
}

.kb-footer__desc {
  margin-block: 1rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.7;
  color: #9ca3af;
}

.kb-footer__note {
  font-size: 0.75rem;
  line-height: 1.6;
  /* #9ca3af on #1f2937 = 5.76:1（WCAG AA 正文 ≥4.5:1）；原 #6b7280 仅 3.04:1 */
  color: #9ca3af;
}

.kb-footer__heading {
  margin: 0 0 0.875rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #f9fafb;
}

.kb-footer__col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kb-footer__col li {
  margin-block: 0.5rem;
}

.kb-footer a {
  color: #9ca3af;
  font-size: 0.875rem;
  text-decoration: none;
}

.kb-footer a:hover,
.kb-footer a:focus {
  color: #10b981;
  text-decoration: underline;
}

.kb-footer__bottom {
  margin: 2.5rem 0 0;
  padding-block-start: 1.25rem;
  border-block-start: 1px solid #374151;
  font-size: 0.75rem;
  line-height: 1.6;
  color: #9ca3af;
}

.kb-footer__bottom a {
  font-size: inherit;
}

@media (max-width: 64rem) {
  .kb-footer__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 48rem) {
  .kb-footer {
    padding: 2.5rem 1rem 1.5rem;
  }
  .kb-footer__grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
}

/* 4. 首页卡片层级：核心场景 >> 行业卷 >> 工具 */
/* hero 标签不截断（Carbon tag 默认 max-width 10rem） */
.home-hero .cds--tag {
  max-inline-size: 20rem;
}

.kb-subtle {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--cds-text-secondary, #525252);
}

.home-section-title--sub {
  margin-block-start: 3rem;
}

.card-grid--primary {
  grid-template-columns: minmax(0, 1fr);
}

.card-grid--tools {
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 42rem) {
  .card-grid--primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .card-grid--tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 66rem) {
  .card-grid--tools {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.entry-card--main.cds--tile--clickable {
  min-height: 16rem;
  border-block-start-width: 5px;
  background: linear-gradient(180deg, var(--kb-green-tint, #defbe6) 0%, var(--cds-layer, #f4f4f4) 55%);
}

.entry-card--main .entry-card__title {
  font-size: 1.75rem;
  line-height: 1.25;
  color: var(--kb-green-strong, #0e6027);
}

.entry-card--main .entry-card__desc {
  font-size: 1rem;
}

.entry-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.kb-badge {
  display: inline-block;
  padding: 0.1875rem 0.5rem;
  border-radius: 0.75rem;
  background: var(--kb-green, #198038);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
}

.kb-badge--soft {
  background: var(--kb-green-tint, #defbe6);
  color: var(--kb-green-strong, #0e6027);
}

.entry-card__hint {
  font-size: 0.8125rem;
  color: var(--kb-green-strong, #0e6027);
}

.entry-card--secondary.cds--tile--clickable {
  min-height: 9rem;
  border-block-start: 2px solid var(--cds-border-subtle-01, #e0e0e0);
  background: var(--cds-layer, #f4f4f4);
}

.entry-card--secondary .entry-card__title {
  font-size: 1.125rem;
}

.entry-card--tool.cds--tile--clickable {
  min-height: 0;
  padding: 1rem;
  border-block-start: 3px solid var(--kb-green, #198038);
}

.entry-card--tool .entry-card__title {
  font-size: 1rem;
}

.entry-card--tool .entry-card__desc {
  font-size: 0.8125rem;
}

/* ---------------------------------------------------------------------------
 * 5. L2 章节全文层（页眉/面包屑/正文/翻页）
 * ------------------------------------------------------------------------- */
.kb-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-block: 0.5rem 1.25rem;
  font-size: 0.8125rem;
  color: var(--cds-text-secondary, #525252);
}

.kb-breadcrumb a {
  color: var(--kb-green-strong, #0e6027);
  text-decoration: none;
}

.kb-breadcrumb a:hover {
  text-decoration: underline;
}

.kb-breadcrumb__sep {
  color: var(--cds-border-strong-01, #8d8d8d);
}

.kb-chapter-head {
  margin-block-end: 1.5rem;
  padding-block-end: 1.25rem;
  border-block-end: 1px solid var(--cds-border-subtle-01, #e0e0e0);
}

.kb-chapter-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--cds-text-secondary, #525252);
}

.kb-chapter-title {
  margin: 0.5rem 0 0.75rem;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.25;
}

.kb-chapter-title__en {
  display: block;
  margin-block-start: 0.375rem;
  font-size: 1rem;
  font-weight: 400;
  color: var(--cds-text-secondary, #525252);
}

.kb-chapter-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  font-size: 0.8125rem;
}

.kb-chapter-meta__item {
  color: var(--cds-text-secondary, #525252);
}

.kb-tag {
  display: inline-block;
  padding: 0.0625rem 0.4375rem;
  border-radius: 0.625rem;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.25rem;
  white-space: nowrap;
}

.kb-tag--rf {
  background: var(--kb-green-tint, #defbe6);
  color: var(--kb-green-strong, #0e6027);
}

.kb-tag--old {
  background: #fdf6dd;
  color: #6b5200;
}

.kb-tag--cur {
  background: #e8e8e8;
  color: #3d3d3d;
}

.kb-chapter-note {
  margin: 1rem 0 1.5rem;
  padding: 0.75rem 1rem;
  background: var(--kb-callout-bg, #f4f4f4);
  border-inline-start: 3px solid var(--kb-callout-accent, #198038);
  font-size: 0.875rem;
  color: #3d3d3d;
}

.kb-chapter-toc {
  margin: 1.5rem 0;
  padding: 0.75rem 1rem;
  background: var(--cds-layer, #f4f4f4);
  border-radius: 0.25rem;
  font-size: 0.875rem;
}

.kb-chapter-toc__title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
}

.kb-chapter-toc__groups {
  columns: 2;
  column-gap: 2.5rem;
}

/* ---- 「本章结构」：分组编号大纲（多栏网格，长条目不再被窄栏折行） ---- */
.kb-chapter-toc {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem 1.25rem;
  background: var(--cds-layer, #f4f4f4);
  border-radius: 0.25rem;
  font-size: 0.875rem;
}

.kb-chapter-toc__head {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-block-end: 0.75rem;
  padding-block-end: 0.5rem;
  border-block-end: 1px solid var(--cds-border-subtle-01, #e0e0e0);
}

.kb-chapter-toc__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

.kb-chapter-toc__count {
  color: var(--cds-text-secondary, #525252);
  font-size: 0.8125rem;
}

.kb-chapter-toc__groups {
  columns: 2;
  column-gap: 2.5rem;
}

@media (max-width: 56rem) {
  .kb-chapter-toc__groups {
    columns: 1;
  }
}

.kb-toc-group {
  break-inside: avoid;
  margin-block-end: 1.5rem;
}

.kb-toc-group__title {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin: 0 0 0.625rem;
  font-size: 0.9375rem;
  font-weight: 600;
}

.kb-toc-group__num {
  flex: 0 0 auto;
  min-inline-size: 2.25rem;
  color: var(--kb-green, #198038);
  font-variant-numeric: tabular-nums;
}

.kb-toc-group__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kb-toc-item {
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  gap: 0.5rem;
  align-items: baseline;
  padding: 0.375rem 0;
}

.kb-toc-item__num {
  color: var(--cds-text-secondary, #525252);
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
  text-align: end;
}

.kb-toc-item__text {
  min-inline-size: 0;
}

/* TOC 条目的英文原标题（中文主显时的辅助文本） */
.kb-toc-en {
  color: var(--cds-text-secondary, #525252);
  font-size: 0.8125rem;
}

/* ---- 6b. 章节「方法要点速查」原创层 ---- */
.kb-notes {
  margin-block: 1.5rem 2rem;
  padding: 1.25rem 1.25rem 1.5rem;
  border: 1px solid var(--cds-border-subtle-01, #e0e0e0);
  border-block-start: 3px solid var(--kb-green, #198038);
  border-radius: 0.25rem;
  background: var(--cds-layer, #fff);
  font-size: 1rem;
  line-height: 1.75;
}

.kb-notes__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.75rem;
  margin-block-end: 0.5rem;
}

.kb-notes__title {
  margin: 0;
  font-size: 1.375rem;
}

.kb-note-lead {
  margin: 0.5rem 0 0;
  max-inline-size: none;
  color: var(--cds-text-primary, #161616);
}

.kb-note-sec {
  margin-block-start: 1.75rem;
}

.kb-note-sec__title {
  margin: 0 0 0.75rem;
  padding-block-end: 0.375rem;
  border-block-end: 1px solid var(--cds-border-subtle-01, #e0e0e0);
  font-size: 1.125rem;
}

.kb-note-points {
  margin: 0;
  padding-inline-start: 1.25rem;
  max-inline-size: none;
}

.kb-note-points li {
  margin-block: 0.375rem;
}

.kb-note-points--warn li::marker {
  color: #da1e28;
}

.kb-note-block {
  margin-block: 1rem;
}

.kb-note-block__title {
  margin: 0 0 0.375rem;
  font-size: 1rem;
  font-weight: 600;
}

.kb-note-eqs {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kb-note-eq {
  display: grid;
  grid-template-columns: minmax(9rem, auto) 1fr;
  gap: 0.25rem 1rem;
  align-items: baseline;
  padding: 0.625rem 0;
  border-block-end: 1px solid var(--cds-border-subtle-01, #e0e0e0);
}

.kb-note-eq:last-child {
  border-block-end: 0;
}

.kb-note-eq__name {
  font-weight: 600;
  font-size: 0.9375rem;
}

.kb-note-eq__expr {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.875rem;
  overflow-wrap: anywhere;
  background: var(--cds-layer-accent-01, #f4f4f4);
  padding: 0.125rem 0.375rem;
  border-radius: 0.125rem;
}

.kb-note-eq__note {
  grid-column: 2;
  color: var(--cds-text-secondary, #525252);
  font-size: 0.875rem;
}

.kb-note-table th {
  white-space: nowrap;
}

.kb-note-sources {
  margin-block-start: 1.75rem;
  padding: 0.75rem 1rem;
  background: var(--cds-layer-accent-01, #f4f4f4);
  font-size: 0.875rem;
}

.kb-note-sources ul {
  margin: 0.5rem 0 0;
  padding-inline-start: 1.25rem;
}

.kb-note-sources li {
  margin-block: 0.25rem;
}

@media (max-width: 42rem) {
  .kb-note-eq {
    grid-template-columns: 1fr;
  }
  .kb-note-eq__note {
    grid-column: 1;
  }
}

.kb-chapter-body {
  font-size: 1rem;
  line-height: 1.75;
}

/* 正文度量：prose 限制在约 62 字/行，宽表与图保持全宽 */
.kb-chapter-body > p,
.kb-chapter-body > ul,
.kb-chapter-body > ol,
.kb-chapter-body > blockquote,
.kb-chapter-body > h2,
.kb-chapter-body > h3,
.kb-chapter-body > h4,
.kb-chapter-body > h5,
.kb-chapter-body > h6,
.kb-chapter-body > .math-block {
  max-inline-size: none;
}

.kb-chapter-body h2 {
  margin-block: 2.5rem 1rem;
  padding-block-end: 0.5rem;
  border-block-end: 1px solid var(--cds-border-subtle-01, #e0e0e0);
  font-size: 1.5rem;
}

.kb-chapter-body h3 {
  margin-block: 2rem 0.75rem;
  font-size: 1.25rem;
}

.kb-chapter-body h4 {
  margin-block: 1.5rem 0.5rem;
  font-size: 1.0625rem;
}

.kb-chapter-body h5,
.kb-chapter-body h6 {
  margin-block: 1.25rem 0.5rem;
  font-size: 1rem;
}

.kb-chapter-body p {
  margin-block: 0.875rem;
}

.kb-chapter-body a {
  color: var(--kb-green-strong, #0e6027);
}

.kb-list {
  margin-block: 0.75rem;
  padding-inline-start: 1.25rem;
}

.kb-li-2 {
  margin-inline-start: 1.25rem;
  list-style: circle;
}

.kb-li-3 {
  margin-inline-start: 2.5rem;
  list-style: square;
}

.kb-chapter-body blockquote {
  margin: 1rem 0;
  padding: 0.5rem 1rem;
  border-inline-start: 3px solid var(--kb-callout-accent);
  background: var(--kb-callout-bg);
  color: var(--kb-callout-ink);
}

.kb-pre {
  overflow-x: auto;
  padding: 0.75rem 1rem;
  background: #161616;
  color: #f4f4f4;
  font-size: 0.8125rem;
}

.math-block {
  overflow-x: auto;
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  background: var(--cds-layer, #f4f4f4);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.875rem;
}

.kb-figure {
  margin: 1.5rem 0;
}

.kb-figure img {
  display: block;
  max-width: 100%;
  height: auto;
}

.kb-figure figcaption {
  margin-block-start: 0.5rem;
  font-size: 0.75rem;
  color: var(--cds-text-secondary, #525252);
}

.table-scroll {
  overflow-x: auto;
  margin: 1.25rem 0;
}

.table-scroll table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.kb-chapter-body table {
  margin: 1.25rem 0;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.kb-chapter-body th,
.kb-chapter-body td {
  padding: 0.375rem 0.5rem;
  border: 1px solid var(--cds-border-subtle-01, #e0e0e0);
  vertical-align: top;
}

.kb-chapter-body table tr:first-child td {
  background: var(--cds-layer, #f4f4f4);
  font-weight: 600;
}

.kb-chapter-body img {
  max-width: 100%;
  height: auto;
}

.kb-chapter-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-block-start: 3rem;
  padding-block-start: 1.5rem;
  border-block-start: 1px solid var(--cds-border-subtle-01, #e0e0e0);
}

.kb-chapter-nav a {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--cds-border-subtle-01, #e0e0e0);
  border-radius: 0.25rem;
  text-decoration: none;
}

.kb-chapter-nav a:hover {
  border-color: var(--kb-green, #198038);
}

.kb-chapter-nav__next {
  text-align: end;
}

.kb-chapter-nav__dir {
  font-size: 0.75rem;
  color: var(--cds-text-secondary, #525252);
}

.kb-chapter-nav__name {
  font-size: 0.9375rem;
  color: var(--kb-green-strong, #0e6027);
}

/* ---------------------------------------------------------------------------
 * 6. 章节全文库索引页
 * ------------------------------------------------------------------------- */
.kb-index-head {
  margin-block-end: 2rem;
}

.kb-index-title {
  margin: 0 0 0.75rem;
  font-size: 2.25rem;
  font-weight: 600;
}

.kb-index-desc {
  max-width: 70rem;
  margin-block-end: 1.5rem;
  color: var(--cds-text-secondary, #525252);
  line-height: 1.7;
}

.kb-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-block-start: 1.5rem;
}

.kb-filter__label {
  font-size: 0.875rem;
  font-weight: 600;
}

.kb-filter__input {
  max-width: 24rem;
}

.kb-filter__vols {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.kb-chip {
  padding: 0.25rem 0.75rem;
  border: 1px solid var(--cds-border-subtle-01, #c6c6c6);
  border-radius: 1rem;
  background: transparent;
  color: inherit;
  font-size: 0.8125rem;
  cursor: pointer;
}

.kb-chip--on {
  background: var(--kb-green, #198038);
  border-color: var(--kb-green, #198038);
  color: #fff;
}

.kb-filter__count {
  flex-basis: 100%;
  font-size: 0.8125rem;
  color: var(--cds-text-secondary, #525252);
}

.kb-vol-section {
  margin-block-start: 2.5rem;
}

.kb-vol-section__title {
  margin-block-end: 0.75rem;
  font-size: 1.25rem;
}

.kb-vol-section__title a {
  color: var(--kb-green-strong, #0e6027);
  text-decoration: none;
}

.kb-chapter-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--cds-border-subtle-01, #e0e0e0);
}

.kb-chapter-row {
  display: grid;
  grid-template-columns: 4.5rem 1fr auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0;
  border-block-end: 1px solid var(--cds-border-subtle-01, #e0e0e0);
}

.kb-chapter-row__kind {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.8125rem;
  color: var(--cds-text-secondary, #525252);
}

.kb-chapter-row__main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.kb-chapter-row__title {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--kb-green-strong, #0e6027);
  text-decoration: none;
}

.kb-chapter-row__title:hover {
  text-decoration: underline;
}

.kb-chapter-row__tags {
  display: inline-flex;
  gap: 0.375rem;
}

.kb-chapter-row__links {
  display: inline-flex;
  gap: 0.875rem;
  font-size: 0.8125rem;
}

.kb-chapter-row[hidden] {
  display: none;
}

.kb-chapter-link {
  color: inherit;
  text-decoration: none;
}

.kb-chapter-link:hover {
  color: var(--kb-green-strong, #0e6027);
  text-decoration: underline;
}

.kb-chapter-jump {
  margin-inline-start: 0.5rem;
  font-size: 0.75rem;
  color: var(--kb-green-strong, #0e6027);
}

@media (max-width: 48rem) {
  .kb-chapter-toc__groups {
    columns: 1;
  }
  .kb-chapter-row {
    grid-template-columns: 3.5rem 1fr;
  }
  .kb-chapter-row__links {
    grid-column: 2;
  }
  .kb-chapter-nav {
    grid-template-columns: 1fr;
  }
}

/* ---- 7. 版本说明横幅（2019RF 修订说明 / 2006 原文） ---- */
.kb-ver-note {
  margin: 0 0 1.25rem;
  padding: 0.875rem 1rem;
  border-inline-start: 4px solid var(--kb-callout-accent);
  background: var(--kb-callout-bg);
  border-radius: 0 4px 4px 0;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--kb-callout-ink);
}

.kb-ver-note--delta {
  border-inline-start-color: #f1c21b;
  background: #fdf6dd;
}

.kb-ver-note--old {
  border-inline-start-color: #8d8d8d;
  background: #f4f4f4;
}

.kb-tag--link {
  text-decoration: none;
  cursor: pointer;
}

.kb-tag--link:hover {
  text-decoration: underline;
}

/* 8. 站内搜索页 */
.kb-search {
  margin-block-start: 1.25rem;
  max-inline-size: 54rem;
}

.kb-search__input {
  inline-size: 100%;
  font-size: 1rem;
}

.kb-search__meta {
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
  color: #525252;
}

.kb-search__empty {
  margin-block-start: 1.5rem;
  padding: 1rem 1.25rem;
  border-inline-start: 3px solid var(--kb-callout-accent);
  background: var(--kb-callout-bg);
  color: var(--kb-callout-ink);
}

.kb-search-results {
  margin-block-start: 0.5rem;
}

.kb-search-group {
  margin-block-start: 1.75rem;
}

.kb-search-group__title {
  margin: 0 0 0.5rem;
  padding-block-end: 0.375rem;
  border-block-end: 1px solid #e0e0e0;
  font-size: 1rem;
  font-weight: 600;
}

.kb-search-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kb-search-hit {
  border-block-end: 1px solid #f4f4f4;
}

.kb-search-hit__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.25rem 1rem;
  padding: 0.625rem 0.75rem;
  text-decoration: none;
  color: inherit;
}

.kb-search-hit--active .kb-search-hit__link,
.kb-search-hit__link:hover {
  background: var(--kb-green-tint);
  box-shadow: inset 3px 0 0 var(--kb-green);
}

.kb-search-hit__title {
  font-weight: 600;
  color: var(--kb-green-strong);
}

.kb-search-hit__desc {
  grid-column: 1;
  font-size: 0.8125rem;
  color: #525252;
}

.kb-search-hit__where {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  white-space: nowrap;
  font-size: 0.75rem;
  color: #6f6f6f;
}

.kb-search-results mark {
  background: #fdf6dd;
  color: inherit;
  padding: 0 1px;
}

/* 404 页：独立导航链接加下划线，保证可点辨识度 */
.kb-notfound .kb-list a {
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
}

.kb-notfound .kb-list a:hover {
  color: var(--kb-green, #198038);
}

.kb-index-desc kbd {
  display: inline-block;
  padding: 0 0.3rem;
  border: 1px solid #c6c6c6;
  border-block-end-width: 2px;
  border-radius: 2px;
  background: #f4f4f4;
  font-family: inherit;
  font-size: 0.75rem;
}

/* 8b. 全站搜索弹层（顶栏按钮 / 「/」打开） */
/* 顶栏「站内搜索」按钮：与相邻 a.cds--header__menu-item 同款盒模型（14px/1.125rem、
   0 1rem 内边距、2px 透明边框、满高 flex 居中），并补一个放大镜图标，
   避免按钮呈 UA 默认控件外观（18px 高、无内边距、与菜单项不对齐）。 */
.cds--header__menu-bar .kb-search-open {
  background: none;
  border: 2px solid #0000;
  cursor: pointer;
  font: inherit;
  color: inherit;
  block-size: 100%;
  align-items: center;
  padding: 0 1rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0;
  transition: background-color 0.11s, border-color 0.11s, color 0.11s;
}
.cds--header__menu-bar .kb-search-open:hover {
  background-color: var(--cds-background-hover, #8d8d8d1f);
  color: var(--cds-text-primary, #161616);
}
.cds--header__menu-bar .kb-search-open:active {
  background-color: var(--cds-background-active, #8d8d8d80);
  color: var(--cds-text-primary, #161616);
}
.cds--header__menu-bar .kb-search-open:focus-visible {
  border-color: var(--cds-focus, #0f62fe);
  outline: none;
}
.kb-search-open { display: inline-flex; align-items: center; gap: 0.5rem; }
.kb-search-open__icon { flex: 0 0 auto; }

.kb-search-modal-open { overflow: hidden; }
.kb-search-modal {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.kb-search-modal[hidden] { display: none; }
.kb-search-modal__backdrop {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(22, 22, 22, 0.5);
  cursor: default;
}
.kb-search-modal__panel {
  position: relative;
  z-index: 1;
  inline-size: min(46rem, 100%);
  margin: 7vh 1rem 1rem;
  max-block-size: 82vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-block-start: 3px solid var(--kb-green);
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.3);
  padding: 1.25rem 1.5rem 1.5rem;
}
.kb-search-modal__title {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6f6f6f;
}
.kb-search-modal__bar { display: flex; align-items: stretch; gap: 0.5rem; }
.kb-search-modal__input {
  flex: 1 1 auto;
  min-inline-size: 0;
  font-size: 1rem;
  padding: 0.625rem 0.75rem;
  border: 0;
  border-block-end: 1px solid #8d8d8d;
  background: #f4f4f4;
  color: #161616;
}
.kb-search-modal__input:focus { outline: 2px solid var(--kb-green); outline-offset: 0; }
.kb-search-modal__close {
  flex: 0 0 auto;
  border: 1px solid #8d8d8d;
  background: #fff;
  color: #525252;
  font-size: 0.75rem;
  padding: 0 0.75rem;
  cursor: pointer;
}
.kb-search-modal__close:hover { background: #f4f4f4; }
.kb-search-modal__meta { margin: 0.5rem 0 0; font-size: 0.8125rem; color: #525252; }
.kb-search-modal__results { overflow: auto; margin-block-start: 0.25rem; }
.kb-search-modal__results .kb-search-group:first-child { margin-block-start: 1rem; }
.kb-search-modal__results .kb-search__empty { margin-block-start: 1rem; }
@media (max-width: 42rem) {
  .kb-search-modal__panel {
    margin: 0;
    max-block-size: none;
    block-size: 100%;
    inline-size: 100%;
    border-block-start-width: 0;
  }
}

/* ef.html 中英切换按钮 */
.ef-lang { display: flex; justify-content: flex-end; margin-block-start: -2.25rem; }
.ef-lang .cds--btn--secondary { background-color: #393939; }
@media (max-width: 42rem) { .ef-lang { margin-block-start: 0.5rem; } }
