.demo-source-note {
  margin: 18px 0 0;
  padding: 13px 0 0;
  border-top: 1px solid #edf1f6;
  color: #8a95a5;
  font-size: 12px;
  text-align: right;
}

.demo-empty {
  min-height: 120px !important;
  padding: 44px 20px !important;
  color: #7b8798;
  text-align: center;
}

.demo-empty::before {
  display: none !important;
}

.is-disabled {
  cursor: default !important;
  pointer-events: none;
}

.is-disabled:hover {
  box-shadow: none !important;
  transform: none !important;
}

.demo-category-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 30px;
}

.demo-category-tabs a {
  padding: 5px 12px;
  border-radius: 4px;
  color: #59677b;
  font-size: 14px;
}

.demo-category-tabs a.active {
  color: #0866cf;
  background: #edf5ff;
  font-weight: 700;
}

.side-menu a {
  position: relative;
  padding-right: 52px;
}

.side-menu a small {
  position: absolute;
  top: 50%;
  right: 18px;
  color: #a2adba;
  font-size: 11px;
  font-weight: 400;
  transform: translateY(-50%);
}

.article-meta a,
.leader-section a {
  color: #0864cc;
}

/*
 * 微信导入正文（.article-body）样式冲突修复：仅用 CSS 覆盖，不改动 HTML。
 *
 * 冲突原因：
 * 1. 正文内联了 font-size: var(--articleFontsize)，本站从未定义该变量，
 *    声明在计算阶段失效，字号回退为继承值，即父级 #meta_content 内联的
 *    font-size: 0px；字号为 0 后，子元素 em 单位的 line-height（1.75em）
 *    被计算为 0，而内部 span 又强制 17px，导致整段文字上下重叠。
 * 2. #meta_content 内联的 line-height: 20px 会向下污染未显式设置行高的
 *    section 正文，使行距远小于站点正文规范。
 *
 * 修复方式：补齐缺失的 CSS 变量，并把两个容器的字号/行高重置为继承站点
 * .article-body 的取值；子元素自带的内联样式优先级更高，不受影响。
 */
.article-body {
  --articleFontsize: 17px;
}

.article-body #meta_content,
.article-body #js_content {
  font-size: var(--articleFontsize) !important;
  line-height: inherit !important;
}

.article-body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 18px auto;
}

.article-body .imported-image-block {
  margin: 0 0 20px;
  text-align: center;
  text-indent: 0;
}

.article-body .imported-media-link {
  padding: 14px 18px;
  border-radius: 5px;
  background: #f2f7fd;
  text-align: center;
  text-indent: 0;
}

.article-body .imported-media-link a {
  color: #0867d1;
  font-weight: 700;
}

.article-body .imported-table {
  width: 100%;
  margin: 22px 0;
  border-collapse: collapse;
}

.article-body .imported-table td,
.article-body .imported-table th {
  padding: 9px 12px;
  border: 1px solid #dce5ef;
  line-height: 1.65;
}

.leader-group a small {
  display: block;
  margin-top: 3px;
  color: #8793a4;
  font-size: 11px;
  font-weight: 400;
}

@media (max-width: 767px) {
  .demo-source-note {
    text-align: left;
  }

  .side-menu a {
    padding-right: 12px;
  }

  .side-menu a small {
    display: none;
  }

  .demo-category-tabs {
    width: 100%;
    gap: 4px;
    overflow-x: auto;
    margin: 8px 0 0;
    padding-bottom: 2px;
  }

  .section-title.has-demo-tabs {
    height: auto;
    min-height: 56px;
    flex-wrap: wrap;
    padding-bottom: 8px;
  }

  .demo-category-tabs a {
    flex: 0 0 auto;
    padding: 5px 9px;
    font-size: 12px;
  }

  .article-body {
    overflow-wrap: anywhere;
  }

  .article-body .imported-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .leader-group a small {
    display: none;
  }
}
