/* ==========================================================================
   Wash 模板 — 首页美化修复补丁（home-polish.css）
   职责：头部操作区 / 横幅广告 / 三栏广告卡片 / 下载专区 / 文章专区 / 底部统一
   原则：本文件全站最后加载（header.php 中位于 checkin.css 之后），
         同优先级下覆盖旧样式；不修改任何既有 CSS 文件。
   适配：全程消费 vars.css 设计令牌，暗色模式自动适配。

   区块→色相映射表（变量定义于 vars.css 的 --mc-*，全站唯一真相源）：
     导航/搜索 focus = blue ｜ 最近更新标题 = cyan ｜ 签到按钮 = peach
     广告卡片按钮 = yellow ｜ 下载专区 = green ｜ 文章专区 = peach
     友情链接 = purple ｜ list-tit 圆点 = 六色轮换
   用法：激活态/chips 一律 soft 底 + deep 字；solid 仅小面积点缀。
   ========================================================================== */

/* ==========================================================================
   1. 头部操作区：签到 / 夜间模式 / 登录 / 搜索 —— 统一 36px，同一行垂直居中
   ========================================================================== */

.header-center {
  align-items: center;
}

.wash-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex-shrink: 0;
}

#wash-checkin-slot {
  display: flex;
  align-items: center;
}

/* 三控件统一 36px 高（覆盖 ui-modern.css 后段的 30px 签到按钮规则） */
.wash-header-actions .wash-checkin-btn,
.wash-header-actions .wash-auth-btn {
  height: 36px !important;
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
}

.wash-header-actions .wash-theme-toggle {
  width: 36px;
  height: 36px;
}

/* 签到按钮：蜜桃马卡龙 */
.wash-header-actions .wash-checkin-btn {
  border-color: var(--mc-peach);
  color: var(--mc-peach-deep);
}

.wash-header-actions .wash-checkin-btn:hover {
  background: var(--mc-peach-soft);
  border-color: var(--mc-peach);
  color: var(--mc-peach-deep);
}

.wash-header-actions .wash-checkin-btn.signed {
  background: var(--mc-peach-deep);
  border-color: var(--mc-peach-deep);
  color: #fff;
}

/* 签到按钮：36px 纯 ICO 圆形 + 动画 */
.wash-header-actions .wash-checkin-btn {
  width: 36px !important;
  padding: 0 !important;
  justify-content: center;
  border-radius: var(--radius-full);
  position: relative;
  transition: transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.wash-header-actions .wash-checkin-btn .wash-ico {
  margin: 0;
}

.wash-header-actions .wash-checkin-btn:not(.signed) {
  animation: wash-checkin-breathe 2s ease-in-out infinite;
}

.wash-header-actions .wash-checkin-btn:hover {
  transform: scale(1.12);
}

.wash-header-actions .wash-checkin-btn.signed[data-streak]::after {
  content: attr(data-streak);
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 16px;
  height: 16px;
  padding: 0 3px;
  border-radius: var(--radius-full);
  background: var(--mc-peach-deep);
  color: #fff;
  font-size: 10px;
  line-height: 16px;
  text-align: center;
  box-sizing: border-box;
}

@keyframes wash-checkin-breathe {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mc-peach) 45%, transparent); }
  50% { box-shadow: 0 0 0 7px transparent; }
}

@media (prefers-reduced-motion: reduce) {
  .wash-header-actions .wash-checkin-btn {
    animation: none !important;
  }
}

/* --- 搜索框：中和 common.css 的 50px 灰胶囊外壳，改为 36px 现代胶囊 --- */
.header-center-search {
  width: 140px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--color-surface-hover) !important;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full) !important;
  line-height: normal !important;
  float: none;
  flex: 0 0 auto !important;
  box-sizing: border-box;
  transition: border-color var(--transition-fast), width var(--transition-normal);
}

.header-center-search:focus-within {
  width: 200px !important;
  border-color: var(--color-primary);
}

.header-center-search form {
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0;
}

.header-center-search input,
.header-center-search .focus {
  flex: 1;
  min-width: 0;
  width: auto !important;
  height: 34px !important;
  padding: 0 6px 0 8px !important;
  border: 0 !important;
  background: transparent !important;
  font-size: .8125rem;
  color: var(--color-text);
  line-height: 34px;
  outline: none;
  box-sizing: border-box;
}

.header-center-search input::placeholder {
  color: var(--color-text-tertiary);
}

/* 搜索按钮：ICO 化（覆盖 common.css 的 PNG 背景绝对定位） */
.header-center-search button {
  position: static !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 3px 0 0;
  padding: 0;
  border: 0 !important;
  border-radius: 50%;
  background: var(--color-primary) !important;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background var(--transition-fast);
}

.header-center-search button:hover {
  background: var(--color-primary-hover) !important;
}

.header-center-search button .wash-ico {
  width: 15px;
  height: 15px;
  margin: 0;
  vertical-align: 0;
}

@media screen and (max-width: 768px) {
  .wash-header-actions {
    order: 2;
    width: auto;
    margin-left: auto;
  }
  .header-center-search {
    order: 3;
    width: 100% !important;
    flex: 1 1 100% !important;
  }
}

/* ==========================================================================
   2. 横幅广告：X 行 2 列全宽网格（与下方框架同宽），图片 contain 完整展示
   ========================================================================== */

.header-tulist {
  width: 100% !important;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  overflow: visible;
  box-sizing: border-box;
}

.header-tulist span a {
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.header-tulist span a:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.header-tulist span {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.header-tulist span a {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  display: block;
}

.header-tulist span a,
.header-tulist span a img {
  height: 80px !important;
}

.header-tulist span a img {
  width: 100%;
  object-fit: cover;
  box-sizing: border-box;
  border-radius: var(--radius-md);
  display: block;
}

@media screen and (max-width: 999px) {
  .header-tulist span a,
  .header-tulist span a img {
    height: 60px !important; /* 覆盖 common.css 移动端的 45px */
  }
}

@media screen and (max-width: 480px) {
  .header-tulist {
    grid-template-columns: 1fr;
  }
  .header-tulist span a,
  .header-tulist span a img {
    height: 50px !important;
  }
}

/* ==========================================================================
   2.5 文字广告：X 行 4 列网格（8个=2行、12个=3行），每格水平/垂直居中
   ========================================================================== */

.header-zilist.wash-box ul {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 4px 8px !important;
}

.header-zilist.wash-box ul li {
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-zilist.wash-box ul li::after {
  display: none !important; /* 清除 ui-modern.css 的 '·' 分隔点 */
}

.header-zilist.wash-box ul li a {
  display: block;
  max-width: 100%;
  padding: 4px 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  border-radius: var(--radius-sm);
  transition: background var(--transition-fast);
}

.header-zilist.wash-box ul li a:hover {
  background: var(--mc-blue-soft);
}

@media screen and (max-width: 768px) {
  .header-zilist.wash-box ul {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .header-zilist.wash-box ul li {
    max-width: none !important;
  }
}

@media screen and (max-width: 480px) {
  .header-zilist.wash-box ul {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   3. 三栏广告卡片：横向紧凑行（图标 + 标题 + 按钮完整展示）
   ========================================================================== */

.wash-home-main .indexnews-ad {
  width: auto !important;
  max-width: 100%;
  padding: var(--space-2) !important;
  margin: 0 0 var(--space-2) !important;
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md);
  height: auto !important;
  min-height: 0 !important;
  box-sizing: border-box;
}

/* 根治浮起遮挡：覆盖 ui-modern.css 中 .wash-home-main .indexnews-ad 的 overflow:hidden */
.wash-home-main .indexnews-ad {
  overflow: visible !important;
}

/* hover 浮起保险：层叠于兄弟卡片之上 */
.indexnews-ad .indexnewss-ad li:hover {
  position: relative;
  z-index: 2;
}

.indexnewss-ad {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: var(--space-2);
  padding: 0;
  margin: 0;
  list-style: none;
  align-items: stretch;
}

.indexnewss-ad li {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  min-width: 0;
  box-sizing: border-box !important;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 10px;
  padding: 14px 16px;
}

.indexnewss-ad li img {
  width: 52px;
  height: 52px;
  float: none;
  margin: 0;
  object-fit: contain;
  border-radius: 10px;
  flex-shrink: 0;
  background: var(--mc-yellow-soft);
}

.indexnewss-ad li > div {
  flex: 1;
  min-width: 0;
  width: auto !important;
  float: none;
  padding: 0;
}

.indexnewss-ad li > div h3 {
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.indexnewss-ad li .go {
  float: none;
  width: auto !important;
  margin: 0;
  flex-shrink: 0;
  white-space: nowrap;
  height: 28px;
  line-height: 26px;
  padding: 0 14px;
  font-size: .8125rem;
  border-radius: var(--radius-full);
  border: 1px solid var(--mc-yellow);
  color: var(--mc-yellow-deep) !important;
  background: transparent;
}

.indexnewss-ad li .go:hover {
  background: var(--mc-yellow-soft);
}

@media screen and (max-width: 768px) {
  .indexnewss-ad {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   4. 下载专区：面板宽度链重置 + 4 行 3 列网格
   （选项卡滑动不变式：.list-top 宽度必须恒等于区块内容宽 → flex:0 0 100%）
   ========================================================================== */

.down-list .tpl-tr-wai,
.article-list .tpl-tr-wai {
  height: auto !important;
  overflow: hidden; /* 保留：选项卡滑动裁剪 */
  /* 缓冲+补偿：垂直 padding 为 hover 浮起/阴影让位，负 margin 抵消下推（视觉零位移） */
  padding: 8px 0 6px;
  margin-top: -8px;
}

.down-list .tpl-tr,
.article-list .tpl-tr {
  display: flex !important;
  width: auto !important;
}

/* 消除常驻横向滚动条（覆盖 ui-modern.css 中 .tpl-tr 的 overflow-x:auto） */
.down-list .tpl-tr {
  overflow: hidden !important;
}

.down-list .list-top,
.article-list .list-top {
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 0;
  float: none !important;
  margin: 0 !important;
  height: auto !important;
  box-sizing: border-box;
}

/* --- 区块标题行 + 选项卡：水平两端对齐、垂直居中、选中态胶囊化 --- */
.down-list .title,
.article-list .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-1);
  text-indent: 0;
  padding-left: 15px; /* 为 .title:after 左侧绿条保留空间 */
}

.down-list .title .type,
.article-list .title .type {
  display: flex;
  align-items: center;
  gap: 4px;
  float: none;
}

.down-list .title .type a,
.article-list .title .type a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 14px;
  border-radius: var(--radius-full);
  font-size: .8125rem;
  line-height: 1.4;
  color: var(--color-text-secondary);
  background: transparent;
  text-decoration: none;
  white-space: nowrap;
  transition: all var(--transition-fast);
}

.down-list .title .type a:hover,
.article-list .title .type a:hover {
  color: var(--color-primary);
  background: var(--color-surface-hover);
}

.down-list .title .type a.hover,
.article-list .title .type a.hover {
  background: var(--color-primary) !important;
  color: #fff !important;
}

/* --- 下载区网格：4 列 × 4 行（16 篇） --- */
.down-list .tpl-tr .list-top ul {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: var(--space-2) !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none;
  width: 100%;
  box-sizing: border-box;
  overflow: visible; /* grid 容器无需裁剪，避免 hover 浮起被裁 */
}

/* --- 下载卡片：横版小卡（左图 + 右上标题 + 右下下载按钮） --- */
.down-list .tpl-tr .list-top ul li {
  width: auto !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  float: none;
  display: flex;
  flex-direction: row !important;
  gap: 12px;
  align-items: center;
  text-align: left;
}

.down-list .tpl-tr .list-top ul li:hover {
  position: relative;
  z-index: 2;
}

.down-list .tpl-tr .list-top ul li .fl {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: auto !important;
  min-height: 0;
  aspect-ratio: 1;
  border-radius: 14px;
  flex-shrink: 0;
  margin: 0 !important;
  overflow: hidden;
}

.down-list .tpl-tr .list-top ul li .fl img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 14px;
}

.down-list .tpl-tr .list-top ul li .fr {
  flex: 1;
  min-width: 0;
  width: auto !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 6px;
  float: none !important;
}

.down-list .tpl-tr .list-top ul li .fr .tit h3 {
  width: auto !important;
  text-align: left;
}

/* --- 立即下载按钮：复活并高级现代化（压过 ui-modern.css 的 display:none） --- */
.down-list .tpl-tr .list-top ul li .fr .down {
  display: block !important;
  width: 100%;
  margin-top: auto;
}

.down-list .tpl-tr .list-top ul li .fr .down span a {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 16px;
  border-radius: var(--radius-full);
  background: transparent;
  border: 1px solid var(--color-border-strong);
  color: var(--color-text) !important;
  font-size: .75rem;
  font-weight: 600;
  box-shadow: none;
  text-decoration: none;
  transition: all var(--transition-fast);
}

.down-list .tpl-tr .list-top ul li .fr .down span a:hover {
  background: var(--color-surface-hover);
  border-color: var(--color-border-strong);
  color: var(--color-text) !important;
}

/* --- 下载专区色条 + 选项卡分色（马卡龙绿） --- */
.down-list .title::after {
  display: block !important;
  background: var(--mc-green) !important;
}

.down-list .title .type a.hover {
  background: var(--mc-green-soft) !important;
  color: var(--mc-green-deep) !important;
}

@media screen and (max-width: 800px) {
  .down-list .tpl-tr .list-top ul li {
    display: flex !important; /* 覆盖 index.css 移动端隐藏旧规则 */
  }
}

@media screen and (max-width: 768px) {
  .down-list .tpl-tr .list-top ul {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media screen and (max-width: 480px) {
  .down-list .tpl-tr .list-top ul {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   5. 文章专区：图片 1 行 4 列（4 篇） + 文字 3 行 3 列（9 篇）
   ========================================================================== */

.article-list .tpl-tr .list-top ul.list-img {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: var(--space-2) !important;
  padding: 0 !important;
  margin: 0 0 var(--space-1) !important;
  list-style: none;
  width: 100%;
  box-sizing: border-box;
  overflow: visible; /* grid 容器无需裁剪，避免 hover 浮起被裁 */
}

.article-list .tpl-tr .list-top ul.list-tit {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 4px var(--space-2) !important;
  padding: 0 !important;
  margin: 0 !important;
  border-top: 0 !important;
  padding-top: 0 !important;
  list-style: none;
  width: 100%;
  box-sizing: border-box;
}

/* --- 文章卡片/文字行归一化 --- */
.article-list .list-top ul.list-img li {
  width: auto !important;
  margin: 0 !important;
  float: none;
}

.article-list .list-top ul.list-img li:hover {
  position: relative;
  z-index: 2;
}

.article-list .list-top ul.list-tit li {
  display: flex;
  align-items: center;
  width: auto !important;
  margin: 0 !important;
  float: none;
}

.article-list .list-top ul.list-tit li a {
  flex: 1;
  min-width: 0;
}

.article-list .list-top ul.list-tit li span {
  flex-shrink: 0;
}

/* list-tit 圆点：马卡龙六色轮换（柔化 index.css 高饱和旧色） */
.article-list .list-top ul.list-tit li:nth-child(6n+1) a::before { background: var(--mc-blue) !important; }
.article-list .list-top ul.list-tit li:nth-child(6n+2) a::before { background: var(--mc-cyan) !important; }
.article-list .list-top ul.list-tit li:nth-child(6n+3) a::before { background: var(--mc-green) !important; }
.article-list .list-top ul.list-tit li:nth-child(6n+4) a::before { background: var(--mc-yellow) !important; }
.article-list .list-top ul.list-tit li:nth-child(6n+5) a::before { background: var(--mc-peach) !important; }
.article-list .list-top ul.list-tit li:nth-child(6n+6) a::before { background: var(--mc-purple) !important; }

/* --- 文章专区色条 + 选项卡分色（马卡龙蜜桃） --- */
.article-list .title::after {
  display: block !important;
  background: var(--mc-peach) !important;
}

.article-list .title .type a.hover {
  background: var(--mc-peach-soft) !important;
  color: var(--mc-peach-deep) !important;
}

@media screen and (max-width: 1024px) {
  .article-list .tpl-tr .list-top ul.list-img {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media screen and (max-width: 800px) {
  .article-list .list-top ul.list-img li {
    display: block !important; /* 覆盖 index.css 移动端隐藏旧规则 */
  }
  .article-list .list-top ul.list-tit li {
    display: flex !important; /* 覆盖 index.css 移动端隐藏旧规则 */
  }
}

@media screen and (max-width: 480px) {
  .article-list .tpl-tr .list-top ul.list-img,
  .article-list .tpl-tr .list-top ul.list-tit {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   6. 底部统一：消灭黑色长条 / 雪碧灰圆 / 裸露链接，全部整齐居中
   ========================================================================== */

/* --- 黑条根治：common.css 残留的 #313131 / #424242 背景 --- */
.footer .about {
  background: transparent !important;
  line-height: 1.8;
}

.flink ul {
  background: transparent !important;
  padding: 0 !important;
}

/* --- 底部顶行：logo 左、链接 + 图标右，垂直居中 --- */
.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.footer-top .footer-left,
.footer-top .footer-right {
  float: none;
}

.footer-top .footer-right {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.footer-top .us {
  float: none !important;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* --- 联系图标：雪碧灰圆 → 现代描边圆 + mask 图标（跟随文字色，暗色自适应） --- */
.footer-top .us a {
  float: none !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  background-image: none !important;
  background-color: transparent;
  border: 1px solid var(--color-border-strong);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: .85;
  font-size: .75rem;
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: all var(--transition-fast);
}

.footer-top .us a:hover {
  opacity: 1;
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.footer-top .us a.email::before,
.footer-top .us a.weibo::before {
  content: "";
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.footer-top .us a.email::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='20' height='16' rx='2'/><path d='m22 7-10 6L2 7'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='20' height='16' rx='2'/><path d='m22 7-10 6L2 7'/></svg>");
}

.footer-top .us a.weibo::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/></svg>");
}

/* 未知 class 的联系链接：回退为胶囊文字按钮 */
.footer-top .us a:not(.email):not(.weibo) {
  width: auto !important;
  padding: 0 14px !important;
  border-radius: var(--radius-full);
}

/* --- 友情链接：标签与链接同行、垂直居中 --- */
.flink {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  margin-bottom: var(--space-3);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--mc-purple);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.flink > span {
  display: inline-block;
  margin: 0;
  height: auto;
  line-height: 30px;
  flex-shrink: 0;
  color: var(--mc-purple-deep);
  font-weight: 600;
}

.flink ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 6px;
  flex: 1;
  margin: 0;
  list-style: none;
}

.flink ul li {
  float: none !important;
  margin: 0 !important;
  height: auto !important;
  line-height: 1.4;
}

/* 友链 chips：马卡龙六色轮换 */
.flink ul li a {
  display: inline-flex;
  align-items: center;
  height: 28px;
  box-sizing: border-box;
  padding: 0 14px;
  border-radius: var(--radius-full);
}

.flink ul li:nth-child(6n+1) a { background: var(--mc-blue-soft) !important; color: var(--mc-blue-deep) !important; }
.flink ul li:nth-child(6n+2) a { background: var(--mc-cyan-soft) !important; color: var(--mc-cyan-deep) !important; }
.flink ul li:nth-child(6n+3) a { background: var(--mc-green-soft) !important; color: var(--mc-green-deep) !important; }
.flink ul li:nth-child(6n+4) a { background: var(--mc-yellow-soft) !important; color: var(--mc-yellow-deep) !important; }
.flink ul li:nth-child(6n+5) a { background: var(--mc-peach-soft) !important; color: var(--mc-peach-deep) !important; }
.flink ul li:nth-child(6n+6) a { background: var(--mc-purple-soft) !important; color: var(--mc-purple-deep) !important; }

.flink ul li a:hover {
  color: #fff !important;
}

.flink ul li:nth-child(6n+1) a:hover { background: var(--mc-blue-deep) !important; }
.flink ul li:nth-child(6n+2) a:hover { background: var(--mc-cyan-deep) !important; }
.flink ul li:nth-child(6n+3) a:hover { background: var(--mc-green-deep) !important; }
.flink ul li:nth-child(6n+4) a:hover { background: var(--mc-yellow-deep) !important; }
.flink ul li:nth-child(6n+5) a:hover { background: var(--mc-peach-deep) !important; }
.flink ul li:nth-child(6n+6) a:hover { background: var(--mc-purple-deep) !important; }

/* --- 隐藏 sitemap 插件经 index_footer 钩子注入的裸链接
       （彻底去除可在后台 sitemap 插件设置中关闭"底部显示"） --- */
a[rel="sitemap"] {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .footer-top {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-top .footer-right {
    flex-wrap: wrap;
  }
  .flink {
    flex-direction: column;
    gap: 6px;
  }
}

/* ==========================================================================
   7. 头部导航美化 + LOGO 放大
   ========================================================================== */

.header-center h1 {
  margin: 0;
}

.header-center .logoimg {
  height: 72px;
  width: auto;
  max-height: 72px;
}

.header-nav .layui-nav {
  display: flex;
  align-items: center;
  height: var(--header-height);
}

.header-nav .layui-nav .layui-nav-item > a,
.header-nav .layui-nav .layui-this > a {
  padding: 0 18px !important;
  font-size: 15px !important;
  color: var(--color-text-secondary) !important;
  border-radius: var(--radius-full);
  height: 36px;
  display: inline-flex;
  align-items: center;
  transition: all var(--transition-fast);
}

.header-nav .layui-nav .layui-nav-item > a:hover {
  background: var(--mc-blue-soft) !important;
  color: var(--mc-blue-deep) !important;
}

.header-nav .layui-nav .layui-this > a {
  background: var(--mc-blue-soft) !important;
  color: var(--mc-blue-deep) !important;
  font-weight: 600;
}

/* 隐藏旧绿色下划线/滑动条（选中态已由胶囊表达） */
.header-nav .layui-nav-bar,
.header-nav .layui-this:after {
  display: none !important;
}

/* 层级修复：导航不被横幅/卡片遮挡（!important 压过 common.js 内联 z-index:99） */
.header-nav {
  position: relative;
  z-index: var(--z-nav) !important;
}

/* 下拉菜单贴合导航底部，消除 layui 默认 top:65px 的 hover 断档缝隙 */
.header-nav .layui-nav-child {
  top: 100%;
}

.fhdb {
  z-index: var(--z-backtop);
}

.wash-ad-float {
  z-index: var(--z-float-ad);
}

/* 最近更新标题：青蓝马卡龙点缀 */
.wash-section-title::after {
  background: var(--mc-cyan);
}

.wash-section-title .wash-ico {
  color: var(--mc-cyan);
}

@media screen and (max-width: 800px) {
  .header-center .logoimg {
    width: auto !important;
    height: 44px;
    max-height: 44px;
  }
}

/* ==========================================================================
   8. 全局间距收紧 + 评论排序按钮
   ========================================================================== */

.wash-box {
  padding: var(--space-2) !important;
  margin-bottom: var(--space-2) !important;
}

.wash-home-layout {
  gap: var(--space-2);
}

/* --- 评论排序切换（热门/最新） --- */
.article-pl > .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-1);
  text-indent: 0;
  padding-left: 15px; /* 为 common.css 的 .title:after 绿条留位 */
}

.wash-comment-sort {
  display: flex;
  align-items: center;
  gap: 4px;
}

.wash-comment-sort a {
  display: inline-flex;
  align-items: center;
  padding: 3px 12px;
  border-radius: var(--radius-full);
  font-size: .8125rem;
  line-height: 1.4;
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: all var(--transition-fast);
}

.wash-comment-sort a:hover {
  color: var(--mc-peach-deep);
  background: var(--mc-peach-soft);
}

.wash-comment-sort a.hover {
  background: var(--mc-peach-soft);
  color: var(--mc-peach-deep);
  font-weight: 600;
}

/* 排序激活后楼层号（沙发/N楼）失真，隐藏 */
ol.comment-list.comment-sorted .floor {
  display: none;
}

/* ==========================================================================
   12. 宽度链统一 + 下载列表页（down_list）主题化 + 文章图标题下移
   ========================================================================== */

/* --- 宽度链：桌面 max-width 1200 弹性，中屏不再横向溢出 --- */
.container {
  width: 100% !important;
  max-width: var(--container-max);
  box-sizing: border-box;
}

.index-container {
  width: 100% !important;
  max-width: calc(var(--container-max) - 2 * var(--space-2));
  margin: 10px auto;
  box-sizing: border-box;
}

.list-container {
  max-width: 100%;
}

/* --- 头底宽度与内容框架精确对齐（1168px boxed） --- */
.header,
.footer {
  width: 100%;
  max-width: calc(var(--container-max) - 2 * var(--space-2));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* 吸顶守卫：导航 fixed 后自动居中 */
.header-nav {
  left: 0;
  right: 0;
  margin: 0 auto;
  max-width: calc(var(--container-max) - 2 * var(--space-2));
}

/* --- 文章专区图片标题：图片下方蜜桃高亮胶囊（覆盖 index.css 压图渐变定位） --- */
.article-list .tpl-tr .list-top ul.list-img li a span {
  position: static !important;
  bottom: auto;
  left: auto;
  right: auto;
  height: auto;
  line-height: 1.4;
  display: block;
  background: var(--mc-cyan-soft) !important;
  color: var(--mc-cyan-deep) !important;
  font-weight: 600;
  padding: 4px 10px;
  margin: 0;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}



/* ==========================================================================
   9. 文章页标题区（高级现代感重设计）
   ========================================================================== */

.article_content .left .article-title {
  font-size: 1.875rem;
  font-weight: 750;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: var(--color-text);
  margin: 0 0 var(--space-2);
  padding-bottom: var(--space-2);
  position: relative;
  text-wrap: balance;
}

.article_content .left .article-title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 64px;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--mc-blue), var(--mc-purple));
}

/* 信息行：三色马卡龙胶囊（重置 article.css 的 float + 50px 行高） */
.article_content .left .article-bq {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.article_content .left .article-bq .bq-zz,
.article_content .left .article-bq time,
.article_content .left .article-bq .bq-wg {
  float: none;
  height: auto;
  line-height: 1.4;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  font-size: .8125rem;
  margin: 0;
}

.article_content .left .article-bq .bq-zz {
  background: var(--mc-peach-soft);
  color: var(--mc-peach-deep);
}

.article_content .left .article-bq time {
  background: var(--mc-blue-soft);
  color: var(--mc-blue-deep);
}

.article_content .left .article-bq .bq-wg {
  background: var(--mc-green-soft);
  color: var(--mc-green-deep);
}

.article_content .left .article-bq a {
  color: inherit;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .article_content .left .article-title {
    font-size: 1.35rem;
  }
}

/* ==========================================================================
   10. 文章页左右栏对齐（flex 化 + 复活 sticky）
   ========================================================================== */

@media screen and (min-width: 769px) {
  .index-container > .article_content {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 0;
    box-sizing: border-box;
  }

  .index-container > .article_content > .left {
    float: none;
    margin: 0;
    flex: 1;
    min-width: 0;
    width: auto;
  }

  .index-container > .article_content > .right {
    float: none;
    margin: 0;
    flex: 0 0 300px;
    width: 300px;
  }

  .article_content .right .wash-sidebar-card:last-child {
    margin-bottom: 0;
  }
}

/* 复活 sticky：overflow:hidden 是其失效根因；::after 替代 BFC 清浮动 */
.index-container {
  overflow: visible;
}

.index-container::after {
  content: '';
  display: block;
  clear: both;
}

/* ==========================================================================
   11. 评论赞踩按钮
   ========================================================================== */

.comment-vote {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 8px;
}

.comment-vote a {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 10px;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text-secondary);
  font-size: .75rem;
  line-height: 1.4;
  text-decoration: none;
  transition: all var(--transition-fast);
}

.comment-vote a i {
  font-style: normal;
  font-weight: 600;
}

.comment-vote a:hover {
  border-color: var(--mc-blue);
  color: var(--mc-blue-deep);
  background: var(--mc-blue-soft);
}

.comment-vote a.cv-up.active {
  background: var(--mc-blue-soft);
  border-color: var(--mc-blue);
  color: var(--mc-blue-deep);
}

.comment-vote a.cv-down.active {
  background: var(--mc-peach-soft);
  border-color: var(--mc-peach);
  color: var(--mc-peach-deep);
}

/* ==========================================================================
   13. 第七轮修复：最近更新区间距 + 置顶广告徽章 + 文章页框架隔开 + 分类胶囊
   ========================================================================== */

/* --- 最近更新：标题与列表间距收窄 --- */
.index-news .wash-section-title {
  margin-bottom: 8px;
}

.index-news .news-article_container ul {
  padding-top: 4px;
}

/* ==========================================================================
   15. 第十轮：标题黑色 + 底部适配 + 分类页横版卡片 + 下载列表复用
   ========================================================================== */

/* --- 最近更新普通标题统一黑色（压过 ui-modern.css 的灰色） --- */
.news-article_container ul li a span {
  color: var(--color-text);
}

/* --- 底部内容不顶圆角边 --- */
.footer-container,
.footer-copyright .container {
  padding-left: var(--space-3);
  padding-right: var(--space-3);
  box-sizing: border-box;
}

/* --- log_list.php 分类页：flex 布局 + 左图右信息横版卡片 --- */
@media screen and (min-width: 769px) {
  .index-container:has(> .list-container) {
    display: flex;
    gap: 20px;
    align-items: flex-start;
  }

  .index-container > .list-container {
    flex: 1;
    min-width: 0;
    width: auto !important;
    float: none;
  }

  .index-container > .right {
    flex: 0 0 300px;
    width: 300px;
    float: none;
    margin: 0;
  }
}

.list-container .list-ul li {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-2);
  margin-bottom: var(--space-2);
  transition: all var(--transition-fast);
}

.list-container .list-ul li:hover {
  border-color: var(--mc-blue);
  box-shadow: var(--shadow-md);
}

.list-container .list-ul li .list-info {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.list-container .list-ul li .info-img {
  flex: 0 0 200px;
  width: 200px !important;
  float: none;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: var(--radius-sm);
}

.list-container .list-ul li .info-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.list-container .list-ul li .info-tit {
  flex: 1;
  min-width: 0;
  width: auto !important;
  float: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  height: auto !important;
}

.list-container .list-ul li .info-tit .list-ca {
  float: none;
}

.list-container .list-ul li .info-tit .list-btn {
  margin-top: 8px !important;
  float: none !important;
  position: static;
  height: auto !important;
  line-height: normal !important;
}

.list-container .list-ul li .info-tit .list-btn a {
  float: none !important;
  width: auto !important;
  height: auto !important;
  line-height: 1.4;
  display: inline-flex;
  align-items: center;
  padding: 4px 16px;
  border-radius: var(--radius-full);
  background: var(--mc-green-soft);
  color: var(--mc-green-deep);
  font-size: .8125rem;
  text-decoration: none;
  transition: all var(--transition-fast);
}

.list-container .list-ul li .info-tit .list-btn a:hover {
  background: var(--mc-green);
  color: #fff;
}

/* --- down_list.php 复用首页下载卡：外壳中和 + 日期样式 --- */
.list-container .down-list {
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  box-shadow: none;
}

.down-list .tpl-tr .list-top ul li .fr .list-date {
  display: block;
  color: var(--color-text-tertiary);
  font-size: .75rem;
}

/* ==========================================================================
   16. down_list.php 竖版卡 + 悬停上弹白色动画层
   （全部 .list-container 前缀，与首页 .wash-home-main 下载专区零污染）
   ========================================================================== */

.list-container .down-list .tpl-tr .list-top ul li {
  flex-direction: column !important;
  align-items: stretch;
  gap: 0;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
}

.list-container .down-list .tpl-tr .list-top ul li:hover {
  transform: translateY(-2px);
  border-color: var(--mc-green);
  box-shadow: var(--shadow-md);
}

/* 封面：满宽置顶，4:3 防 CLS */
.list-container .down-list .tpl-tr .list-top ul li .fl {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 4 / 3;
  border-radius: 0;
  flex-shrink: 0;
  margin: 0 !important;
  overflow: hidden;
}

.list-container .down-list .tpl-tr .list-top ul li .fl img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

/* 信息区：标题 + 时间（上弹层的定位与裁剪容器） */
.list-container .down-list .tpl-tr .list-top ul li .fr {
  position: relative;
  overflow: hidden;
  display: block;
  height: 96px;
  padding: 10px 12px !important;
  flex: none;
  width: 100% !important;
  float: none !important;
}

/* 上弹白色动画层（复用 .down 元素，只盖标题+时间区） */
.list-container .down-list .tpl-tr .list-top ul li .fr .down {
  position: absolute;
  inset: 0;
  margin: 0 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: var(--color-surface);
  opacity: 0;
  transform: translateY(100%);
  pointer-events: none;
  transition: transform var(--transition-normal), opacity var(--transition-normal);
  z-index: 2;
}

.list-container .down-list .tpl-tr .list-top ul li:hover .fr .down {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .list-container .down-list .tpl-tr .list-top ul li .fr .down {
    transition: none;
  }
}

@media screen and (max-width: 768px) {
  .list-container .list-ul li .list-info {
    flex-direction: column;
  }

  .list-container .list-ul li .info-img {
    flex: none;
    width: 100% !important;
  }
}

/* ==========================================================================
   14. 头底圆角框 + 区块间隔统一
   ========================================================================== */

@media screen and (min-width: 1200px) {
  .header {
    border-radius: var(--radius-lg);
  }

  .header > section:first-child {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }

  .header-nav {
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  }

  .footer {
    border-radius: var(--radius-lg);
    overflow: hidden;
  }

  .footer-copyright {
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  }
}

/* 区块间隔统一：压掉 index.css 残留的 13px margin-top，四区块恒为 16px 节奏 */
.wash-home-main .down-list,
.wash-home-main .article-list {
  margin-top: 0 !important;
}

/* --- 最近更新列表行：flex 归一化（修复置顶“广告”徽章被挤压） --- */
.news-article_container ul li {
  display: flex;
  align-items: center;
}

.news-article_container ul li a {
  flex: 1;
  min-width: 0;
  float: none;
  width: auto;
}

.news-article_container ul li span {
  float: none;
  flex-shrink: 0;
  margin: 0;
}

.news-article_container ul li span.myad {
  order: -1;
  width: auto;
  height: auto;
  margin: 0 8px 0 0;
  padding: 3px 10px;
  border: 0;
  line-height: 1.4;
  border-radius: var(--radius-full);
  background: var(--mc-yellow-soft);
  color: var(--mc-yellow-deep);
  font-size: .75rem;
  font-weight: 700;
  white-space: nowrap;
}

/* --- 文章页框架与卡片隔开：白框透明化，露出浅灰页面底 --- */
.index-container:has(> .article_content) {
  background: transparent;
}

/* --- 分类胶囊：清除内部链接的近白芯片残留 --- */
.article_content .left .article-bq .bq-wg a {
  background: transparent;
  padding: 0;
  font-size: inherit;
  border-radius: 0;
}

/* ==========================================================================
   17. 第十一轮：三栏广告卡片降高/垂直居中/防溢出 + 面包屑 + 游客评论提示
   ========================================================================== */

/* --- 广告卡网格：固定 3 列 minmax(0,1fr)（结构性根治按钮被挤出框架，
       覆盖本文件第 3 区的 auto-fit minmax(240px,1fr)） --- */
.indexnewss-ad {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* --- 外壳降高 --- */
.wash-home-main .indexnews-ad {
  padding: 12px 16px !important;
}

/* --- 卡片降高 + 内容垂直居中（上下间距一致） --- */
.indexnewss-ad li {
  padding: 10px 14px;
  align-items: center;
  min-width: 0;
}

.indexnewss-ad li img {
  width: 44px;
  height: 44px;
}

.indexnewss-ad li > div {
  min-width: 0;
}

/* 标题行归一：中和 index.css 的 height:25px/line-height:30px 错位（上下间距不一致根因） */
.indexnewss-ad li > div h3 {
  margin: 0;
  height: auto;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 按钮防溢出：不收缩、不换行、最小点击宽（“瞅”单字也完整显示） */
.indexnewss-ad li .go {
  flex-shrink: 0;
  white-space: nowrap;
  min-width: 44px;
  box-sizing: border-box;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .indexnewss-ad {
    grid-template-columns: 1fr !important;
  }
}

/* --- SEO 面包屑（echo_log.php 输出，Notion 小号灰字） --- */
.wash-breadcrumb {
  font-size: .8125rem;
  color: var(--color-text-tertiary);
  margin-bottom: var(--space-1);
}

.wash-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.wash-breadcrumb li {
  display: inline-flex;
  align-items: center;
  line-height: 1.6;
}

.wash-breadcrumb li + li::before {
  content: '›';
  margin-right: 4px;
  color: var(--color-text-tertiary);
}

.wash-breadcrumb a {
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.wash-breadcrumb a:hover {
  color: var(--color-primary);
}

/* --- 游客评论身份提示 / 登录引导（R4 新 DOM） --- */
.wash-guest-tip {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 6px 14px;
  margin-bottom: 8px;
  border-radius: var(--radius-full);
  background: var(--mc-blue-soft);
  color: var(--mc-blue-deep);
  font-size: .8125rem;
}

.wash-guest-tip strong {
  font-weight: 700;
}

.wash-login-required {
  text-align: center;
  padding: var(--space-3) var(--space-2);
}

.wash-login-required p {
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-2);
}

/* 验证码行归一：旧 QQ 输入框移除后，清除 common.css 的 float:left;width:50% 残留 */
#comment-input .verifycode {
  float: none;
  width: 100%;
  margin-top: 8px;
}

/* ==========================================================================
   18. 第十一轮：Markdown h3(###)/h4(####) 左侧竖线重设计 + 列表错位根治
   （选择器与 markdown.css v4 块同权重，靠 home-polish 后加载胜出）
   ========================================================================== */

/* --- h3(###)：青蓝渐变竖条 + 浅青底卡
   （清除 article.css L5 动态下划线/cursor:pointer/z-index:16 与 markdown.css v4 圆点） --- */
.article_content .left .article-content > h3 {
  display: flex;
  align-items: center;
  padding: 8px 14px;
  background: var(--mc-cyan-soft);
  border: none;
  border-radius: var(--radius-md);
  cursor: default;
  z-index: auto;
  font-weight: 650;
  line-height: 1.5;
}

.article_content .left .article-content > h3::before {
  content: '';
  width: 4px;
  height: 1.1em;
  border-radius: var(--radius-full);
  background: linear-gradient(180deg, var(--mc-cyan), var(--mc-blue));
  margin-right: 10px;
  flex-shrink: 0;
}

/* --- h4(####)：蜜桃竖条 + 浅桃底卡（覆盖 article.css L7 蓝竖条与 markdown.css v4 小横杠） --- */
.article_content .left .article-content > h4 {
  display: flex;
  align-items: center;
  padding: 6px 14px;
  background: var(--mc-peach-soft);
  border: none;
  border-radius: var(--radius-md);
  color: var(--color-text);
  font-weight: 600;
  line-height: 1.5;
}

.article_content .left .article-content > h4::before {
  content: '';
  width: 4px;
  height: .95em;
  border-radius: var(--radius-full);
  background: var(--mc-peach);
  margin-right: 10px;
  flex-shrink: 0;
}

/* --- 列表错位根治：全部嵌套层级归一（markdown.css L423-440 仅覆盖直接子级是错位根因） --- */
.article_content .left .article-content ul li,
.article_content .left .article-content ol li {
  padding: 0 !important; /* 压制 article.css L16 的 padding:0 25px !important */
  margin-bottom: 4px;
  line-height: 1.9;
}

.article_content .left .article-content ul li::before {
  content: '';
  display: inline-block;
  position: static; /* 压制 article.css L17 的 position:absolute */
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mc-blue) !important; /* 压制 markdown.css L264 的 primary !important */
  margin: 0 8px 0 0;
  vertical-align: 2px;
}

.article_content .left .article-content ol {
  counter-reset: item;
}

.article_content .left .article-content ol li {
  counter-increment: item;
}

.article_content .left .article-content ol li::before {
  content: counter(item) ".";
  position: static; /* 压制 article.css L17 的 position:absolute（ol 数字错位根因） */
  width: auto;
  height: auto;
  background: none !important;
  color: var(--mc-blue-deep);
  font-weight: 600;
  margin-right: 6px;
}

.article_content .left .article-content li > ul,
.article_content .left .article-content li > ol {
  margin: 4px 0;
}

/* ==========================================================================
   19. 第十一轮：分页语义化样式（ul.wash-page）+ 列表页对齐精修
   （#page 前缀压过 common.css 的 #page .layui-laypage 系列规则）
   ========================================================================== */

#page .wash-page {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}

#page .wash-page li {
  margin: 0;
  display: inline-flex;
}

#page .wash-page li a,
#page .wash-page li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  box-sizing: border-box;
  padding: 0 12px;
  margin: 0;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text-secondary);
  font-size: .8125rem;
  line-height: 1;
  text-decoration: none;
  transition: all var(--transition-fast);
}

#page .wash-page li a:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

#page .wash-page li.thisclass a {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

/* 暗色下 theme-dark.css 的 .layui-laypage !important 会压当前页样式，显式回压 */
[data-theme="dark"] #page .wash-page li.thisclass a {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

#page .wash-page li .pageinfo {
  border: 0;
  background: transparent;
}

#page .wash-page li .pageinfo strong {
  color: var(--color-primary);
  margin: 0 2px;
}

/* --- 列表页标题省略与网格拉伸精修 --- */
.list-container .list-ul li .info-tit .soft-title {
  max-width: 100%;
}

.list-container .down-list .tpl-tr .list-top ul {
  align-items: stretch;
}

/* ==========================================================================
   20. 第十一轮：移动端全站精修（仅 ≤768px / ≤480px，PC 端零影响）
   ========================================================================== */

@media screen and (max-width: 768px) {
  /* --- 头部：logo/操作区/搜索换行居中 --- */
  .header-center {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }

  .header-center h1 {
    width: 100%;
    text-align: center;
  }

  .header-center > a {
    text-align: center;
  }

  .wash-header-actions {
    margin-left: 0;
  }

  /* --- 最近更新：时间列收缩防挤出 --- */
  .news-article_container ul li span {
    font-size: .75rem;
    max-width: 5.5em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  /* --- 文章专区文字列表 3 列 → 2 列 --- */
  .article-list .tpl-tr .list-top ul.list-tit {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* --- 评论区标题栏：排序切换允许换行 --- */
  .article-pl > .title {
    flex-wrap: wrap;
    gap: 6px;
  }

  /* --- 分页：小屏缩小胶囊 --- */
  #page .wash-page li a,
  #page .wash-page li span {
    min-width: 30px;
    height: 30px;
    padding: 0 8px;
  }
}

@media screen and (max-width: 480px) {
  /* --- 文章专区文字列表 2 列 → 单列 --- */
  .article-list .tpl-tr .list-top ul.list-tit {
    grid-template-columns: 1fr !important;
  }

  /* --- 最近更新：时间列隐藏保标题（置顶“广告”徽章保留） --- */
  .news-article_container ul li span {
    display: none;
  }

  .news-article_container ul li span.myad {
    display: inline-block;
  }

  /* --- 游客提示：全宽居中 --- */
  .wash-guest-tip {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
}

/* ==========================================================================
   21. 热修复：清除 flex/grid 容器内的 layui-clear 幽灵项 + 解除侧栏
       min-content 钳制（仅 ≥769px 作用于 flex 布局区，移动端零影响）
   权重账本：压制 layui.css `.layui-clear::after`（0,1,1）与本文件 L1256
   `.index-container::after`（0,1,1）；本区选择器 (0,2,1)/(0,3,1) 且本文件
   最后加载。实测根因：幽灵 flex 项多吞一个 20px gap（侧栏右缘内缩 20px）；
   .right 的 min-width:auto 被侧栏 nowrap 标题钳宽（ui-modern.css L552）。
   注：.tpl-tr/.flink 的同类幽灵项零宽不可见，有意不修（最小改动）。
   ========================================================================== */
@media screen and (min-width: 769px) {
  .index-container > .article_content::after,          /* 文章页/单页 flex 容器（第 10 区） */
  .index-container:has(> .list-container)::after {     /* 列表/下载页 flex 容器（第 15 区） */
    display: none;
  }
  .index-container > .article_content > .right,
  .index-container > .right {
    min-width: 0;                                      /* 解除 min-content 钳制，恢复 300px 设计宽 */
  }
}

/* 首页广告卡 ul.layui-clear（includes/ad.php L37）在 grid 下产生幻影空行（全视口生效） */
.indexnewss-ad.layui-clear::after {
  display: none;
}

/* ==========================================================================
   22. 第十二轮：广告卡根治 / 文章页间距 / Markdown列表重排 / 下载卡重构 /
       列表按钮权重封顶 / 侧栏收口与卡片化
   权重账本：本文件最后加载；index.css `.indexnewss-ad li:nth-child(3)`(0,2,1)
   以同权重+后加载胜出；article.css L18 `li p{!important}`以更高权重(0,3,2)
   +同级 !important 胜出；ui-modern L928 `.list-soft li{border-bottom:!important}`
   以 li border !important 全边覆盖。旧区冲突注释：第16区（.tpl-tr 祖先缺失）
   自 R5 起退役休眠，不删。
   ========================================================================== */

/* --- 22.1 R1 广告卡：第三列 padding 修复 + 自适应降列根治溢出 --- */
.indexnewss-ad {
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)) !important;
  /* 列宽恒 ≥220px > 166px 刚性下限，超窄自动降 2/1 列；不支持 min() 的古早浏览器丢弃声明回落第17区 repeat(3) */
}

.indexnewss-ad li:nth-child(3) {
  padding-right: 14px;
}

.indexnewss-ad li {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
}

.indexnewss-ad li .go {
  justify-self: end;
}

/* --- 22.2 R3 文章页间距收紧（避开 article.css 移动端 ≤800 的 margin:4% 规则） --- */
@media screen and (min-width: 801px) {
  .index-container > .article_content {
    margin: 10px 0;
  }
}

/* --- 22.3 R4 Markdown 列表 flex 重排（作用域限 .article-content，评论区 .article-pl 天然免疫） --- */
.article_content .left .article-content ul li,
.article_content .left .article-content ol li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

.article_content .left .article-content li > p {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.article_content .left .article-content li > p + p {
  flex-basis: 100%;
  margin-top: 4px !important;
}

.article_content .left .article-content li > ul,
.article_content .left .article-content li > ol {
  flex-basis: 100%;
  margin: 4px 0;
}

/* --- 22.4 R5 新版下载卡（全部 .list-container .list-soft 前缀，与首页零交集） --- */
.list-container .list-soft {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-2);
  padding: 0 !important;
  overflow: visible;
}

.list-container .list-soft li {
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  background: var(--color-surface);
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md);
  padding: var(--space-2);
  transition: all var(--transition-fast);
}

.list-container .list-soft li:hover {
  transform: translateY(-2px);
  border-color: var(--mc-green) !important;
  box-shadow: var(--shadow-md);
}

.list-container .list-soft .list-img {
  display: block;
  float: none !important;
  width: 72px !important;
  height: 72px !important;
  margin: 0 auto var(--space-1) !important;
  border-radius: 16px;
  overflow: hidden;
}

.list-container .list-soft .list-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.list-container .list-soft .list-info {
  float: none !important;
  max-width: none !important;
}

.list-container .list-soft .soft-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-align: center;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.5;
  min-height: 2.625rem;
  color: var(--color-text);
  text-decoration: none;
}

.list-container .list-soft .soft-title:hover {
  color: var(--mc-green-deep);
}

.list-container .list-soft .list-ca {
  text-align: center;
  font-size: .75rem;
  color: var(--mc-green-deep);
  margin-top: 6px;
}

.list-container .list-soft .list-btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: auto !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
  background: var(--color-surface);
  opacity: 0;
  transform: translateY(100%);
  pointer-events: none;
  transition: transform var(--transition-normal), opacity var(--transition-normal);
}

.list-container .list-soft li:hover .list-btn {
  height: auto;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.list-container .list-soft .list-btn a {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 18px;
  border-radius: var(--radius-full);
  background: var(--mc-green-soft);
  color: var(--mc-green-deep);
  font-size: .8125rem;
  font-weight: 600;
  text-decoration: none;
}

.list-container .list-soft .list-btn a:hover {
  background: var(--mc-green);
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .list-container .list-soft li,
  .list-container .list-soft .list-btn {
    transition: none;
  }
}

@media screen and (max-width: 1024px) {
  .list-container .list-soft {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 768px) {
  .list-container .list-soft {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .list-container .list-soft .list-btn {
    position: static;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    padding: 8px 0 0;
  }
}

@media screen and (max-width: 480px) {
  .list-container .list-soft {
    grid-template-columns: 1fr;
  }
}

/* --- 22.5 R6 按钮权重封顶（当前已免疫时视觉零变化，防任何规则回潮） --- */
body .list-container .list-ul li .info-tit {
  height: auto !important;
}

body .list-container .list-ul li .info-tit .list-btn {
  margin-top: 8px !important;
  float: none !important;
  position: static;
  height: auto !important;
  line-height: normal !important;
}

/* --- 22.6 R7 侧栏：滚动收口 + 简介围堵 + 栏目分类卡片化 --- */
@media screen and (min-width: 769px) {
  /* 列表页/文章页 sticky 侧栏高度收口（sticky 规则在 ui-modern.css L636-643 同断点激活） */
  .index-container .right {
    max-height: calc(100vh - var(--header-height) - 32px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--color-border-strong) transparent;
  }

  .index-container .right::-webkit-scrollbar {
    width: 4px;
  }

  .index-container .right::-webkit-scrollbar-thumb {
    background: var(--color-border-strong);
    border-radius: 999px;
  }
}

@media screen and (min-width: 1025px) {
  /* 首页侧栏同患（其 sticky 在 ui-modern.css L1914-1920 于 ≥1025px 激活），同参数收口 */
  .wash-home-sidebar {
    max-height: calc(100vh - var(--header-height) - 32px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--color-border-strong) transparent;
  }

  .wash-home-sidebar::-webkit-scrollbar {
    width: 4px;
  }

  .wash-home-sidebar::-webkit-scrollbar-thumb {
    background: var(--color-border-strong);
    border-radius: 999px;
  }
}

/* 简介桌面端围堵（list.css 桌面无 line-clamp/overflow，垃圾长文可横溢） */
.list-container .list-ul li .list-intro {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 50px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* 栏目分类纳入卡片体系（对齐 .wash-sidebar-card/.wash-sidebar-title） */
.index-container .right .list-right.nav {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-2);
  margin: 0 0 var(--space-2) 0;
  overflow: hidden;
}

.index-container .right .list-right.nav .title {
  font-size: .9375rem;
  font-weight: 600;
  color: var(--color-text);
  text-indent: 0;
  height: auto;
  line-height: 1.5;
  margin-bottom: var(--space-1);
  padding-bottom: var(--space-1);
  border-bottom: 1px solid var(--color-border);
}

.index-container .right .nav ul {
  margin: 0;
}

.index-container .right .nav ol {
  float: none !important;
  display: inline-flex;
  margin: 0 6px 4px 0;
}

.index-container .right .nav ol a {
  display: inline-flex;
  align-items: center;
  border: 0;
  border-radius: var(--radius-full);
  padding: 4px 12px;
  background: var(--mc-blue-soft);
  color: var(--mc-blue-deep);
  font-size: .8125rem;
  text-decoration: none;
}

.index-container .right .nav ol a:hover {
  background: var(--mc-blue);
  color: #fff;
}

/* ==========================================================================
   23. 第十三轮：769-800px 断点死区根治（list.css max-800 移动规则与第15区
       min-769 桌面规则同窗激活的 32px 夹缝，统一收口为桌面行为；第15/22.5区
       卡片规则本就全局生效，本区只中和 list.css 移动声明）
   权重账本：本文件最后加载；list.css 移动规则 (0,2,0)/(0,3,1)/(0,4,1)/(0,1,1)
   以平级或更高权重 + 后加载胜出，不新增 !important。
   ========================================================================== */
@media screen and (min-width: 769px) and (max-width: 800px) {
  /* 侧栏复活：压 list.css .index-container .right{display:none} (0,2,0)；
     文章页 .right 为孙级不命中本选择器，天然零波及 */
  .index-container > .right { display: block; }
  /* 容器/导航/列表留白回桌面档 */
  .index-container > .list-container { padding: 0; }
  .list-container .current_nav { width: auto; margin: 20px 20px; }
  .list-container .list-ul { padding: 0 30px 45px; }
  /* “立即查看”按钮复活（绿胶囊样式第15区本就在位，只缺 display） */
  .list-container .list-ul li .info-tit .list-btn { display: block; }
  /* 分类徽章复活 */
  .list-container .list-ul li .info-tit .soft-title i { display: inline-block; }
  /* 图片高度解锁：交还 aspect-ratio 3/2（第15区 width:200px !important 已在位），与 ≥801px 基准一致 */
  .list-container .list-ul li .list-info .info-img { height: auto; }
  /* 标题/简介/信息条回桌面档 */
  .list-container .list-ul li .info-tit .soft-title { font-size: 20px; font-weight: 700; }
  .list-container .list-ul li .list-intro { width: auto; height: auto; min-height: 50px; font-size: 14px; line-height: 25px; margin: 5px 0 0; }
  .list-container .list-ul li .list-ca { margin: 10px 0; }
  /* down_list 悬浮按钮去移动角标化：list.css .list-soft .list-btn a 四定位属性 */
  .list-container .list-soft .list-btn a { position: static; top: auto; right: auto; width: auto; }
}

/* ==========================================================================
   24. 第十四轮：新马卡龙令牌 / 侧栏滚动条隐形 / 下载按钮实色化 / 框架透明化 /
       签到图标卡通化 / 按钮同行 / SEO 语义
   权重账本：本文件最后加载；:root 与 [data-theme="dark"] 同权重后加载胜出；
   R8 margin-top:0 以 body 前缀 + !important 压第22.5区同 !important 封顶。
   ========================================================================== */

/* --- 24.0 R6 新马卡龙令牌（blue/cyan、--color-primary、--color-bg 不动） --- */
:root {
  --mc-green: #73BC71;
  --mc-green-deep: #4E9448;
  --mc-green-soft: #E9F4E8;
  --mc-yellow: #EDCF73;
  --mc-yellow-deep: #A8842A;
  --mc-yellow-soft: #FBF4DC;
  --mc-peach: #E09F9F;
  --mc-peach-deep: #BC6262;
  --mc-peach-soft: #F9ECEC;
  --mc-purple: #9FA4E0;
  --mc-purple-deep: #6F74C2;
  --mc-purple-soft: #EFEFFB;
}

[data-theme="dark"] {
  --mc-green: #86C584;
  --mc-green-deep: #A6D8A4;
  --mc-green-soft: rgba(134, 197, 132, .14);
  --mc-yellow: #EFD488;
  --mc-yellow-deep: #F2DFA8;
  --mc-yellow-soft: rgba(239, 212, 136, .13);
  --mc-peach: #E8AEAE;
  --mc-peach-deep: #EFC6C6;
  --mc-peach-soft: rgba(232, 174, 174, .14);
  --mc-purple: #AEB2E8;
  --mc-purple-deep: #C6C9F0;
  --mc-purple-soft: rgba(174, 178, 232, .15);
}

/* --- 24.1 R1 侧栏滚动条隐形（保留 max-height+overflow-y 与 sticky，滚轮/触屏仍可滚） --- */
@media screen and (min-width: 769px) {
  .index-container .right {
    scrollbar-width: none;
    scrollbar-color: transparent transparent;
  }

  .index-container .right::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
}

@media screen and (min-width: 1025px) {
  .wash-home-sidebar {
    scrollbar-width: none;
    scrollbar-color: transparent transparent;
  }

  .wash-home-sidebar::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
}

/* --- 24.2 R2 下载按钮实色化（border 覆盖 list.css 残留灰/绿边；暗色改深字保对比） --- */
.list-container .list-soft .list-btn a {
  background: var(--mc-green);
  border-color: transparent;
  color: #fff;
}

.list-container .list-soft .list-btn a:hover {
  background: var(--mc-peach);
  border-color: transparent;
  color: #fff;
}

[data-theme="dark"] .list-container .list-soft .list-btn a,
[data-theme="dark"] .list-container .list-soft .list-btn a:hover {
  color: #1f2d1f;
}

/* --- 24.3 R3 列表页框架透明化 + 溢出围堵（消除“白底大板叠白卡”连体观感） --- */
.index-container:has(> .list-container) {
  background: transparent;
}

.index-container > .list-container {
  background: transparent;
}

[data-theme="dark"] .index-container > .list-container {
  background: transparent !important; /* 压 theme-dark.css L88 的 !important */
}

.list-container .current_nav {
  border-bottom-color: var(--color-border);
}

.wash-sidebar-card {
  overflow: hidden;
}

.index-container .right,
.index-container > .list-container {
  overflow-wrap: anywhere;
}

/* --- 24.4 R5 签到图标卡通化配套样式 --- */
.wash-header-actions .wash-checkin-btn .wash-ico {
  width: 20px;
  height: 20px;
}

.wash-header-actions .wash-checkin-btn:not(.signed):hover .wash-ico {
  animation: wash-gift-wiggle .6s ease;
}

@keyframes wash-gift-wiggle {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-8deg); }
  50% { transform: rotate(6deg); }
  75% { transform: rotate(-3deg); }
}

@media (prefers-reduced-motion: reduce) {
  .wash-header-actions .wash-checkin-btn .wash-ico {
    animation: none !important;
  }
}

/* --- 24.5 R8 按钮移至“发布时间”右侧（≥769px；≤768 移动端按钮本就隐藏不复活） --- */
@media screen and (min-width: 769px) {
  body .list-container .list-ul li .info-tit {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }

  body .list-container .list-ul li .info-tit .soft-title,
  body .list-container .list-ul li .info-tit .list-intro {
    flex-basis: 100%;
  }

  body .list-container .list-ul li .info-tit .list-btn {
    margin-top: 0 !important;
    margin-left: auto;
  }
}

/* --- 24.6 R4 SEO 语义辅助 --- */
.wash-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================================
   25. 第十五轮：侧栏滚动删除 / 评论头像时间 / 用户卡双按钮 / 绿线根治 / 夜间钮+搜索
   权重账本：本文件最后加载；除 25.4 防回潮用 !important 外均同权重 (0,2,0)
   后加载胜出（24.1 区滚动条隐形规则随 25.1 overflow:visible 自然退役，不删）。
   ========================================================================== */

/* --- 25.1 R1 侧栏滚动功能彻底删除（position:static 中和 sticky，自然流全量可见） --- */
@media screen and (min-width: 769px) {
  .index-container .right {
    position: static;
    max-height: none;
    overflow: visible;
  }
}

@media screen and (min-width: 1025px) {
  .wash-home-sidebar {
    position: static;
    max-height: none;
    overflow: visible;
  }
}

/* --- 25.2 R2 最新评论：头像 + 昵称/时间 + 内容 行布局 --- */
.wash-sidebar-card ul li a.wash-cmt-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  white-space: normal; /* 解除 ui-modern.css 的 nowrap（评论行需多行） */
}

.wash-cmt-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
  background: var(--color-surface-hover);
}

.wash-cmt-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.wash-cmt-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.wash-cmt-meta strong {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wash-cmt-meta time {
  flex-shrink: 0;
  font-size: .75rem;
  color: var(--color-text-tertiary);
}

.wash-cmt-text {
  font-size: .8125rem;
  color: var(--color-text-secondary);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}

/* --- 25.3 R8 侧栏用户卡双按钮（水平居中分布） --- */
.wash-user-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.wash-user-actions .wash-auth-btn {
  flex: 1 1 0;
  text-align: center;
  white-space: nowrap;
}

.wash-user-actions .wash-auth-ghost {
  background: transparent;
  border: 1px solid var(--color-border);
  color: var(--color-text-secondary);
}

.wash-user-actions .wash-auth-ghost:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

/* --- 25.4 R10 文章/下载专区选项卡绿线根治
   （index.css 的 .type .hover{border-bottom:1px solid #4CAF50;height:42px}
    从未被任何层覆盖，粉/绿胶囊下残留 1px 绿线 + 42px 撑高） --- */
.down-list .title .type a.hover,
.article-list .title .type a.hover {
  border-bottom: 0 !important;
  height: auto !important;
}

/* --- 25.5 R11 夜间模式按钮圆框 + 搜索框精修 --- */
.wash-header-actions .wash-theme-toggle {
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  transition: border-color var(--transition-fast), background var(--transition-fast);
}

.wash-header-actions .wash-theme-toggle:hover {
  border-color: var(--color-primary);
  background: var(--color-surface-hover);
}

/* 搜索框精修：不声明 width（保 L134-137 扩宽与移动端 100% 链），聚焦光环 + 按钮幽灵化 */
.header-center-search {
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), width var(--transition-normal);
}

.header-center-search:focus-within {
  box-shadow: 0 0 0 3px var(--mc-blue-soft);
}

.header-center-search button {
  background: transparent !important;
  color: var(--color-text-tertiary);
}

.header-center-search button:hover {
  background: var(--color-surface-hover) !important;
  color: var(--color-primary);
}

[data-theme="dark"] .header-center-search input {
  background: transparent;
}

/* ==========================================================================
   26. 第十六轮：专区空态 / 标题去底线 / 头部圆角 / 底部间距 / 侧栏对齐 / 广告行灰点
   权重账本：本文件最后加载；同权重后加载胜出；仅 26.6 为压移动端隐藏规则用 !important。
   ========================================================================== */

/* --- 26.1 R4 文章标题去底部渐变线（echo_log.php 与 page.php 共用 .article-title） --- */
.article_content .left .article-title::after {
  content: none;
}

/* --- 26.2 R5① 头部圆角（1025-1199px 新增 boxed+圆角；≥1200px 与第14区同值零差异；
   header-top 开/关两种情形由 section:first-child 通吃） --- */
@media screen and (min-width: 1025px) {
  .header {
    width: calc(100% - 2 * var(--space-2));
    border-radius: var(--radius-lg);
  }

  .header > section:first-child {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }

  .header-nav {
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  }
}

/* --- 26.3 R5② 底部间距 16px 统一节奏（顶部→LOGO = LOGO→友链 = 友链→版权条 = 16px） --- */
.footer {
  padding-top: 0; /* 清 common.css 的 30px 顶留白 */
}

.footer-container {
  padding: var(--space-2) 0; /* 24→16，上下一致 */
}

.footer-top {
  margin-bottom: 0; /* 清 common.css 的 25px */
}

.flink {
  margin: var(--space-2) 0 0 0; /* 与上方间距 16px */
}

/* --- 26.4 R6 首页侧栏底缘与主栏底缘对齐（末卡拉伸填满，移动端纵排不命中） --- */
@media screen and (min-width: 1025px) {
  .wash-home-layout {
    align-items: stretch;
  }

  .wash-home-sidebar {
    display: flex;
    flex-direction: column;
  }

  .wash-home-sidebar > .wash-sidebar-card:last-child {
    flex: 1 1 auto;
    margin-bottom: 0;
  }

  .wash-home-main > section:last-child {
    margin-bottom: 0;
  }
}

/* --- 26.5 R7 置顶广告行：去灰点与缩进，标题直接跟在“广告”徽章后（普通行保留灰点） --- */
.news-article_container ul li:has(> .myad) > a::before {
  display: none;
}

.news-article_container ul li:has(> .myad) > a {
  text-indent: 0;
}

/* --- 26.6 R1 专区空分类空态行（压 index.css 移动端 li 隐藏/窄宽规则） --- */
.down-list .tpl-tr .list-top ul li.wash-tab-empty {
  grid-column: 1 / -1;
  width: 100% !important;
  display: block !important;
  margin: 0 !important;
  border: 0 !important;
  padding: 24px 0 !important;
  text-align: center;
  color: var(--color-text-tertiary);
}

.article-list .list-top ul.list-tit li.wash-tab-empty {
  grid-column: 1 / -1;
  text-align: center;
  color: var(--color-text-tertiary);
}

.wash-tab-empty:hover {
  background: transparent !important;
  transform: none;
}

/* ==========================================================================
   27. 第十七轮：列表白底 / 卡片间距 / 底部版权条配套 / 暗色适配 / 移动端 / 空态居中 / 标题间距
   权重账本：本文件最后加载；同权重后加载胜出；压旧 !important 需同级 !important；
   暗色规则全部 [data-theme="dark"] 前缀（浅色零影响）。
   ========================================================================== */

/* --- 27.1 R1① 列表页恢复白底（压 24.3 的 transparent，暗色同级 !important） --- */
.index-container > .list-container {
  background: var(--color-surface);
}

[data-theme="dark"] .index-container > .list-container {
  background: var(--color-surface) !important;
}

/* --- 27.2 R1② 列表卡片“发布时间”到卡片底部间距收紧（16→8，与上方一致） --- */
@media screen and (min-width: 769px) {
  .list-container .list-soft li,
  .list-container .list-ul li {
    padding-bottom: var(--space-1);
  }
}

/* --- 27.3 R2 底部版权条已移入 footer-container（配合 footer.php，保持 16px 节奏） --- */
.footer-copyright {
  margin-top: var(--space-2);
  padding: var(--space-2) 0 0;
  background: transparent !important;
  border-top: 1px solid var(--color-border) !important;
}

/* --- 27.4 R7 暗色适配修复（article.css 遗留硬编码深灰字；全部 dark 前缀，浅色零影响） --- */
[data-theme="dark"] .article_content .left .article-content h3 {
  color: var(--color-text);
}

[data-theme="dark"] .article_content .left .article-content ol,
[data-theme="dark"] .article_content .left .article-content ul {
  color: var(--color-text);
}

[data-theme="dark"] .article_content .left .article-content ol li:before,
[data-theme="dark"] .article_content .left .article-content ul li:before {
  background: var(--color-text-tertiary);
}

[data-theme="dark"] .article_content .left .article-content ol li p,
[data-theme="dark"] .article_content .left .article-content ul li p {
  color: var(--color-text) !important;
}

/* --- 27.5 R8 移动端适配修补（全部 max-width 媒体块隔离，桌面零影响） --- */
@media screen and (max-width: 768px) {
  /* 文章页下载按钮区：R5 动态行数后不再 4 等分，改自适应换行 */
  .article-down a {
    width: auto !important;
    flex: 1 1 45%;
    min-width: 120px;
  }

  .article-down {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  /* 底部版权条移入专区后的移动端内边距 */
  .footer-copyright {
    padding: var(--space-2) var(--space-2) 0;
  }
}

@media screen and (max-width: 480px) {
  .article-down a {
    flex: 1 1 100%;
  }
}

/* --- 27.6 R9后半 专区空态水平/垂直居中（压 26.6 的 display:block） --- */
.down-list .tpl-tr .list-top ul li.wash-tab-empty {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  padding: 0 !important;
}

.article-list .list-top ul.list-tit li.wash-tab-empty {
  padding: 40px 0;
  text-align: center;
}

/* --- 27.7 R10 文章标题与 meta 间距收紧（删渐变线遗留占位 16px） --- */
.article_content .left .article-title {
  margin-bottom: var(--space-1);
  padding-bottom: 0;
}

/* ==========================================================================
   28. 第十八轮：前台下载方式编辑器 + 移动端专区选项卡滑动
   权重账本：本文件最后加载；28.2 仅 max-width:800px 媒体块内（桌面零影响）。
   ========================================================================== */

/* --- 28.1 前台下载方式编辑器（user.php 写文章面板） --- */
.wash-user-page .wash-dl-row {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}

.wash-user-page .wash-dl-row input {
  flex: 1;
  min-width: 0;
}

.wash-user-page .wash-dl-row .wd-name {
  flex: 0 0 26%;
}

.wash-user-page .wash-dl-row .wd-code {
  flex: 0 0 18%;
}

.wash-user-page .wash-dl-row .wd-del {
  flex: 0 0 36px;
  background: var(--mc-peach-soft);
  color: var(--mc-peach-deep);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: background var(--transition-fast);
}

.wash-user-page .wash-dl-row .wd-del:hover {
  background: var(--mc-peach);
  color: #fff;
}

.wash-user-page .wash-dl-add {
  margin-top: 2px;
}

.wash-user-page .wash-dl-tip {
  margin-top: 6px;
  font-size: .75rem;
  color: var(--color-text-tertiary);
}

@media screen and (max-width: 768px) {
  .wash-user-page .wash-dl-row {
    flex-wrap: wrap;
  }

  .wash-user-page .wash-dl-row .wd-name,
  .wash-user-page .wash-dl-row .wd-code {
    flex: 1 1 40%;
  }

  .wash-user-page .wash-dl-row .wd-url {
    flex: 1 1 100%;
    order: -1;
  }
}

/* --- 28.2 移动端专区选项卡横向滑动（压 index.css max-800 的 .type 隐藏/压扁；桌面零影响） --- */
@media screen and (max-width: 800px) {
  .down-list .title .type,
  .article-list .title .type {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .down-list .title .type::-webkit-scrollbar,
  .article-list .title .type::-webkit-scrollbar {
    display: none;
  }

  .down-list .title .type a,
  .article-list .title .type a {
    flex-shrink: 0;
    width: auto;
    overflow: visible;
    white-space: nowrap;
  }
}

/* ==========================================================================
   29. 第十九轮 — 底部框架收敛 + 版权居中 + 文章互动三按钮
   权重账本：footer 修复压 common.css(width:1200px / 移动端 margin:0 3%) 与
   本文件 2750 行 .footer-container padding shorthand 覆盖冲突；
   三按钮为全新组件（无冲突目标，常规特异性即可）
   ========================================================================== */

/* --- 29.1 底部框架收敛：注销 common 定宽/移动端边距，恢复水平内边距 --- */
.NewArticleWrap.footer .footer-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--space-3) !important;
  padding-right: var(--space-3) !important;
  box-sizing: border-box !important;
}

.NewArticleWrap.footer .flink {
  max-width: 100% !important;
}

.NewArticleWrap.footer .flink ul li a {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* --- 29.2 底部版权条：水平居中 + 解除 common.css 55px 定高裁切 --- */
.NewArticleWrap.footer .footer-copyright {
  text-align: center !important;
  height: auto !important;
  line-height: 1.8 !important;
  overflow: visible !important;
}

.NewArticleWrap.footer .footer-copyright .container {
  padding-left: var(--space-3) !important;
  padding-right: var(--space-3) !important;
  text-align: center !important;
}

/* --- 29.3 文章互动三按钮（赞/踩/收藏）：马卡龙胶囊，暗色随令牌自适应 --- */
.wash-react {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.wash-react-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 var(--space-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  background: var(--color-surface);
  font-size: .875rem;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.wash-react-btn .wash-ico {
  width: 18px;
  height: 18px;
}

.wash-react-btn b {
  font-weight: 600;
  min-width: 1em;
  text-align: center;
}

.wash-react-btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.wash-react-btn[data-op="like"] {
  color: var(--mc-green-deep);
}

.wash-react-btn[data-op="dislike"] {
  color: var(--mc-peach-deep);
}

.wash-react-btn[data-op="collect"] {
  color: var(--mc-yellow-deep);
}

.wash-react-btn[data-op="like"]:hover {
  background: var(--mc-green-soft);
  border-color: var(--mc-green);
}

.wash-react-btn[data-op="dislike"]:hover {
  background: var(--mc-peach-soft);
  border-color: var(--mc-peach);
}

.wash-react-btn[data-op="collect"]:hover {
  background: var(--mc-yellow-soft);
  border-color: var(--mc-yellow);
}

.wash-react-btn.active[data-op="like"] {
  background: var(--mc-green-soft);
  border-color: var(--mc-green-deep);
  color: var(--mc-green-deep);
  font-weight: 600;
}

.wash-react-btn.active[data-op="dislike"] {
  background: var(--mc-peach-soft);
  border-color: var(--mc-peach-deep);
  color: var(--mc-peach-deep);
  font-weight: 600;
}

.wash-react-btn.active[data-op="collect"] {
  background: var(--mc-yellow-soft);
  border-color: var(--mc-yellow-deep);
  color: var(--mc-yellow-deep);
  font-weight: 600;
}

@media screen and (max-width: 800px) {
  .wash-react {
    gap: var(--space-1);
  }

  .wash-react-btn {
    flex: 1 1 0;
    justify-content: center;
    padding: 0 var(--space-1);
  }
}

/* ==========================================================================
   30. 第二十轮 — 全局垂直节奏归一 + 侧栏标题修复 + GEO 卡片
   权重账本：footer/容器间距压 common.css(margin-top:20px / margin:10px auto /
   #page padding-bottom:40px)；竖线隐藏压 common.css .title:after；GEO 卡片为新组件
   ========================================================================== */

/* --- 30.1 栏目分类标题：隐藏 common.css 遗留绿条（与 .wash-sidebar-title 统一） --- */
.index-container .right .list-right.nav .title::after {
  display: none !important;
}

/* --- 30.2 页顶页底"单一拥有者"节奏（16px） --- */
main.container {
  margin-top: var(--space-2) !important;
}

.index-container {
  margin: var(--space-2) auto 0 !important;
}

.header-tulist.wash-box,
.header-zilist.wash-box {
  margin-top: 0 !important;
}

.NewArticleWrap.footer {
  margin-top: var(--space-2) !important;
}

.wash-home-main > section:last-child {
  margin-bottom: 0 !important;
}

.wash-home-sidebar > .wash-sidebar-card:last-child {
  margin-bottom: 0 !important;
}

#page {
  padding-bottom: var(--space-2) !important;
}

/* --- 30.3 GEO 内容摘要卡（Notion callout：soft 底 + 左色条，暗色随令牌） --- */
.wash-summary {
  background: var(--mc-blue-soft);
  border-left: 4px solid var(--mc-blue);
  border-radius: var(--radius-md);
  padding: var(--space-2);
  margin: 0 0 var(--space-2);
}

.wash-summary .wash-summary-title {
  font-weight: 600;
  color: var(--mc-blue-deep);
  font-size: .875rem;
  margin-bottom: 4px;
}

.wash-summary p {
  color: var(--color-text);
  font-size: .875rem;
  line-height: 1.7;
}

/* --- 30.4 GEO 本文目录卡 --- */
.wash-toc {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-2);
  margin: 0 0 var(--space-3);
}

.wash-toc .wash-toc-title {
  font-weight: 600;
  font-size: .9375rem;
  margin-bottom: var(--space-1);
}

.wash-toc ol {
  list-style: none;
  padding: 0;
}

.wash-toc ol li {
  padding: 2px 0;
}

.wash-toc ol li.lv3 {
  padding-left: var(--space-2);
}

.wash-toc ol li a {
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: .875rem;
}

.wash-toc ol li a:hover {
  color: var(--color-primary);
}

/* ==========================================================================
   31. 第二十一轮 — 移动端修复 + down_list 分页提示
   权重账本：导航横滚压 945-949 全宽度 flex 与 common.css 移动段背景图标；
   菜单按钮退役（导航已改拖动条）；index-news 收敛压 index.css 102% 泄漏
   ========================================================================== */
@media screen and (max-width: 800px) {
  /* 31.1 导航改"菜单"按钮+下拉（点按展开/收起；slideToggle 内联 display 驱动，JS 零改动） */
  .header-nav .menu {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 44px;
    background: none !important;
    cursor: pointer;
    font-weight: 600;
    color: var(--color-text);
  }

  .header-nav .header-nav-main .layui-nav {
    display: none;
    height: auto !important;
    flex-direction: column !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  .header-nav .header-nav-main .layui-nav .layui-nav-item {
    width: 100% !important;
  }

  .header-nav .header-nav-main .layui-nav .layui-nav-item > a {
    justify-content: center !important;
  }

  /* 31.2 最近更新专区收敛（标题栏可换行 + 链接行同化拖动条 + 列表单列） */
  .index-news .wash-section-title {
    flex-wrap: wrap !important;
  }

  .index-news .wash-section-title .news-type {
    margin-left: 0 !important;
    flex: 1 1 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  .news-article_container ul li {
    width: 100% !important;
    float: none !important;
    margin: 0 0 8px 0 !important;
  }

  .index-news {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* 31.3 全局防横向溢出兜底 */
  html,
  body {
    overflow-x: hidden;
  }
}

/* 31.5 down_list 网格移动端列数 */
@media screen and (max-width: 800px) {
  .list-container .list-soft {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 480px) {
  .list-container .list-soft {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   32. 第二十二轮 — 宽度对齐 + 移动端溢出根治 + 友链网格 + 分类摘要区
   权重账本：index-container 收窄压 common.css(width:1200px)；
   align-items 压 ui-modern.css:1223(flex-start)；友链网格压既有 flex chips
   ========================================================================== */

/* --- 32.1 列表/文章页容器与头底对齐（1168px） --- */
.index-container {
  max-width: calc(var(--container-max) - 2 * var(--space-2)) !important;
}

/* --- 32.2 移动端布局溢出根治（column 区间 item 拉伸到容器宽） --- */
@media screen and (max-width: 1024px) {
  .wash-home-layout {
    align-items: stretch !important;
  }

  .wash-home-main,
  .wash-home-sidebar {
    width: 100% !important;
    min-width: 0 !important;
  }

  .wash-home-main {
    overflow: hidden !important;
  }
}

/* --- 32.5 最近更新标题省略兜底（防 index.css 省略规则被覆盖场景） --- */
.news-article_container ul li a {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ==========================================================================
   33. 第二十三轮 — 头部移动集群 + 列表横排卡 + 友链兜底 + 文章页节奏
   权重账本：header 内缩压满宽；info-img 压 15 区全局 200px；
   article-down h4 背景压 article.css:37(down.svg)；间距归一 16px
   ========================================================================== */

/* --- 33.1 头部移动集群（LOGO 居中 + 搜索不变短 + 头底与广告同宽） --- */
@media screen and (max-width: 800px) {
  .header-center {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px var(--space-2) !important;
  }

  .header-center > h1,
  .header-center > a {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .wash-header-actions {
    margin-left: 0 !important;
    justify-content: center !important;
  }

  .header-center-search,
  .header-center-search:focus-within {
    width: 100% !important;
    max-width: 100% !important;
  }

  .NewArticleWrap.header,
  .NewArticleWrap.footer {
    max-width: calc(100% - 2 * var(--space-2)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: var(--radius-lg);
  }
}

/* --- 33.2 log_list 移动横排卡（压 15 区全局 200px 图） --- */
@media screen and (max-width: 768px) {
  .list-container .list-ul li .list-info {
    flex-direction: row !important;
  }

  .list-container .list-ul li .info-img {
    flex: 0 0 110px !important;
    width: 110px !important;
    height: auto !important;
    aspect-ratio: 3 / 2;
  }

  .list-container .list-ul li .info-tit {
    flex: 1 1 auto;
    min-width: 0;
  }

  .list-container .list-ul li .info-tit .list-btn {
    display: none !important;
  }
}

/* --- 33.3 down_list 移动横排卡（压 31.5 网格竖卡） --- */
@media screen and (max-width: 768px) {
  .list-container .list-soft {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .list-container .list-soft li {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 10px !important;
  }

  .list-container .list-soft .list-img {
    flex: 0 0 96px !important;
    width: 96px !important;
    height: 96px !important;
    margin: 0 !important;
    float: none !important;
    border-radius: var(--radius-md);
    object-fit: cover;
  }

  .list-container .list-soft .list-info {
    flex: 1 1 auto;
    min-width: 0;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    max-width: none !important;
    float: none !important;
  }

  .list-container .list-soft .soft-title {
    text-align: left !important;
  }

  .list-container .list-soft .list-ca {
    text-align: left !important;
    margin-top: 0 !important;
  }

  .list-container .list-soft .list-btn {
    position: static !important;
    opacity: 1 !important;
    transform: none !important;
    padding: 0 !important;
    height: auto !important;
    pointer-events: auto !important;
    width: 100% !important;
  }

  .list-container .list-soft .list-btn a {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    position: static !important;
  }
}

/* --- 33.4 友链兜底（自然宽度 chips 换行，防极端长名撑破） --- */
@media screen and (max-width: 800px) {
  .NewArticleWrap.footer .flink ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  .NewArticleWrap.footer .flink ul li a {
    width: auto !important;
    justify-content: flex-start !important;
    padding: 0 12px !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

/* --- 33.5 下载区（h4 去 ICO 背景 + 按钮纵向） --- */
.article-down h4 {
  background-image: none !important;
  padding-left: 0 !important;
}

@media screen and (max-width: 768px) {
  .article-down {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .article-down h4 {
    flex: 1 1 100% !important;
    width: 100% !important;
    border-top: 0 !important;
  }

  .article-down a {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    justify-content: center !important;
  }
}

/* --- 33.6 文章页间距归一（16px 节奏） --- */
.article_content .left .article-content {
  padding: var(--space-2) 0 !important;
}

.article-down {
  margin-top: var(--space-2) !important;
  padding-top: var(--space-2) !important;
}

.NewArticleWrap.mzsm {
  margin: var(--space-2) 0 !important;
  padding: var(--space-2) var(--space-3) !important;
}

.article-fx {
  height: auto !important;
  margin-bottom: var(--space-2) !important;
}

.wash-toc {
  margin-bottom: var(--space-2) !important;
}

.article-pl {
  margin-top: var(--space-2) !important;
}

/* ==========================================================================
   34. 第二十四轮 — 移动端精修（弹窗菜单/等高卡/三列卡/容器同宽/圆角/友链）
   权重账本：34.1 恢复 common.css absolute 浮层语义（已删 1113-1117 static）；
   34.2 延续 14 区/26.2 桌面圆角模式；34.3 压 15 区 align-items:flex-start；
   34.4 压 33.3 全宽按钮；34.5 压 common.css .index-container width:100%；
   34.6 压 common.css flink li 25% 与 33.4 过度裁切
   ========================================================================== */

/* --- 34.1 弹窗式菜单（浮层覆盖内容上方，不撑开头部，文字双居中） --- */
@media screen and (max-width: 800px) {
  .header-nav .header-nav-main {
    position: absolute !important;
    top: 100%;
    left: 0;
    right: 0;
    z-index: var(--z-nav);
    /* 清零 container 内边距：面板撑满 = 头部框架宽（对齐 16px 内缩节奏） */
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .header-nav .header-nav-main .layui-nav {
    /* 面板满宽：压 layui.css 的 display:inline-block（shrink-to-fit 靠左） */
    width: 100% !important;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-top: none;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 4px 0;
  }

  .header-nav .header-nav-main .layui-nav .layui-nav-item > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
  }
}

/* --- 34.2 头/底圆角显形（子元素圆角模式；header 禁 overflow 保 34.1 浮层） --- */
@media screen and (max-width: 800px) {
  .NewArticleWrap.header > section:first-child {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }

  .NewArticleWrap.header .header-nav {
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  }

  .NewArticleWrap.footer {
    overflow: hidden;
  }
}

/* --- 34.3 log_list 右侧与封面等高（stretch 拉伸 + 简介钳 1 行） --- */
@media screen and (max-width: 768px) {
  .list-container .list-ul li .list-info {
    align-items: stretch !important;
  }

  .list-container .list-ul li .info-tit {
    justify-content: space-between !important;
  }

  .list-container .list-ul li .info-tit .list-intro {
    -webkit-line-clamp: 1 !important;
    line-clamp: 1 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
  }

  .list-container .list-ul li .info-tit .list-ca {
    margin: 0 !important;
  }
}

/* --- 34.4 down_list 三列卡（1:1 封面 + 标题/时间 + 右侧圆角方形按钮） --- */
@media screen and (max-width: 768px) {
  .list-container .list-soft .list-info {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center !important;
  }

  .list-container .list-soft .list-btn {
    flex: 0 0 auto;
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .list-container .list-soft .list-btn a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 52px !important;
    height: 52px !important;
    min-height: 0 !important;
    padding: 4px !important;
    border-radius: var(--radius-md) !important;
    background: var(--mc-green-soft) !important;
    color: var(--mc-green-deep) !important;
    font-weight: 600;
    line-height: 1.3;
    white-space: normal !important;
    word-break: break-all;
    position: static !important;
  }
}

/* --- 34.5 分类页容器与头部同宽（内缩 16px，与首页排版一致） --- */
@media screen and (max-width: 800px) {
  .index-container {
    max-width: calc(100% - 2 * var(--space-2)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: var(--radius-lg);
  }
}

/* --- 34.6 友链满宽（杀 ul 收缩 + li 25% + a 放宽自然宽度） --- */
@media screen and (max-width: 800px) {
  .NewArticleWrap.footer .flink {
    align-items: stretch !important;
  }

  .NewArticleWrap.footer .flink ul {
    width: 100% !important;
    align-self: stretch !important;
  }

  .NewArticleWrap.footer .flink ul li {
    width: auto !important;
    max-width: 100% !important;
  }

  .NewArticleWrap.footer .flink ul li a {
    max-width: 16em !important;
  }
}

/* ==========================================================================
   35. 第二十五轮 — down_list 等比缩小 + 相关文章
   权重账本：down_list 压 33.3(96px封面/间距)/34.4(52px按钮) 与 22.4 泄漏的
   .soft-title min-height:2.625rem；相关文章为新组件
   ========================================================================== */

/* --- 35.1 down_list 等比缩小（96→64，按钮 52→36，间距字号等比） --- */
@media screen and (max-width: 768px) {
  .list-container .list-soft li {
    gap: var(--space-1) !important;
    padding: var(--space-1) !important;
  }

  .list-container .list-soft .list-img {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
  }

  .list-container .list-soft .list-info .soft-title {
    font-size: .8125rem !important;
    min-height: 0 !important;
  }

  .list-container .list-soft .list-info .list-ca {
    font-size: .75rem !important;
  }

  /* 下载按钮容器转 flex 居中（修复按钮在容器内底部对齐、中心偏下 5px 的问题） */
  .list-container .list-soft .list-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
  }

  .list-container .list-soft .list-btn a {
    width: 46px !important;
    height: 46px !important;
    font-size: .8125rem !important;
    line-height: 1.35 !important;
    padding: 4px !important;
  }
}

/* --- 35.2 相关文章（服务端直出 SEO 内链卡，马卡龙令牌） --- */
.wash-related {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-2);
  margin: var(--space-2) 0;
}

.wash-related .wash-related-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .9375rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: var(--space-2);
}

.wash-related ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-2);
  list-style: none;
  padding: 0;
}

.wash-related ul li a {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  transition: all var(--transition-fast);
}

.wash-related ul li a:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: var(--mc-blue);
}

.wash-related ul li img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.wash-related ul li span {
  font-size: .8125rem;
  color: var(--color-text);
  line-height: 1.4;
  padding: 0 var(--space-1) var(--space-1);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .wash-related ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ==========================================================================
   36. 本轮 — 评论验证码排版（Notion+马卡龙 flex 行；属性选择器兜底官方 id）
   ========================================================================== */
.comment-post .verifycode {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  margin: var(--space-1) 0;
}

.comment-post .verifycode img[src*="checkcode"] {
  height: 40px;
  width: auto;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  cursor: pointer;
  flex-shrink: 0;
}

.comment-post .verifycode input {
  flex: 0 1 180px;
  min-width: 0;
  padding: 10px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text);
  font-size: .9375rem;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.comment-post .verifycode input:focus {
  outline: none;
  border-color: var(--mc-blue);
  box-shadow: 0 0 0 3px var(--mc-blue-soft);
}
