/* ==========================================================================
   content-surfaces.css · 内容面板材质统一层（纯白内容区 + 边缘收口 + 统一描边）
   --------------------------------------------------------------------------
   本层合并并取代了上一轮的 list-tight.css（该文件已删除）。
   加载顺序：整条样式链的最末（跟在 grid-backdrop.css 之后）。

   ── 一、为什么"列表底色浑浊" ─────────────────────────────────────────────
   实测：列表容器在浏览器里的**实际**底色既不是 #FFFFFF 也不是米灰的中间值，
   而是 #F5F4F0。链路如下（flat-industrial-clean.css）：

     L2096  html:not(.dark) { --bg-content: #F5F4F0; --bg-input: #FAF9F6; }
     L2170  html:not(.dark) body.w2k#top#top#top .w2k-dt
              { background-color: var(--bg-content) !important; }  ← 列表 = #F5F4F0
     L2196  html:not(.dark) body.w2k#top#top
              :is(.prose-paper, .reading-content, #article-content, …)
              { background-color: var(--bg-input) !important; }    ← 正文 = #FAF9F6

   ⚠ 第 44 轮更新：上面那条路径已经**在令牌源头修掉了** ——
     flat-industrial-clean.css L2100 的 `--bg-content` 已由 #F5F4F0 改为 #FFFFFF
     （该令牌同时喂给 `.w2k-main` 与 `.w2k-dt`，是截图里"标注 1 网格下方空白"
      与"标注 2 卡片底部 15px 米色带"的共同来源）。
     所以本层第 1 节的 #FFFFFF 规则现在是**双保险**而非唯一修复点：
     令牌管住工具栏/客户区那一层，本层管住列表容器与行级。
     两者结论一致，不会互相打架。

   也就是说"浑浊米灰"来自第 23 轮引入的设计令牌层（注释原文：
   "消除大面积纯白"），它用 var(--bg-content) 把 win2000.css 里那条
   `#ffffff !important` 覆盖掉了。win2000.css:7311 的 base 规则
   `background: var(--dt, …)` 早被冲掉，所以**光看 win2000.css 会误判为已白**。
   本层的任务就是把这两个面重新钉回纯白。

   ── 二、权重策略 ─────────────────────────────────────────────────────────
   对手的 id 数最高到 3（`#top#top#top`，且带 !important）。本层一律用
   **4 个 id**（`#top#top#top#top`）—— CSS 权重先比 id 个数，一次压过，
   不再依赖源码顺序。这一点很关键：grid-backdrop.css 里也有一条
   `.win-inset` 的 #FAF9F6 守卫（(2,2,1)），四 id 同样稳压。
   注意不能省掉 `.w2k` 这个类：行级规则里必须带它，
   否则 `(4,1,1) < (3,3,2)`，行底会被容器底规则反过来吃掉（见第 1 节）。

   ── 三、第 42 轮修订：取消内凹槽，四边统一 1px 描边 ──────────────────────
   上一轮按需求稿给列表容器与正文卡装了 Win2K 内凹槽，实测截图证明它
   **只画左上两角**，导致 ① 左侧 3 条线（深）与 ② 底部 1 条线（浅）不一致。
   详细测量与根因见第 3 节。本层现在四边一律 1px 实线，无 box-shadow。
   ========================================================================== */

:root {
  /* 内容面板专用色令牌（与设计规范一一对应） */
  --surface-panel:      #FFFFFF;   /* 列表容器 / 条目行 / 正文阅读卡 */
  --surface-row-hover:  #F0F6FF;   /* 条目悬停：极浅淡蓝 */
  --surface-divider:    #ECEAE4;   /* 条目之间 1px 极细微灰分割线 */
  --panel-border:       #D4D0C8;   /* 1px 工业边框（Win9x 面底色） */
}

/* 暗色主题：面板抬到第 38 轮的"表面阶梯"里的一档。
   第 42 轮取消了内凹槽（原因见第 3 节），因此这里不再有槽的明暗令牌。 */
html.dark {
  --surface-panel:      #2D2D2D;
  --surface-row-hover:  #363636;
  --surface-divider:    #333333;
  --panel-border:       #3A3A3A;
}

/* ==========================================================================
   1. 纯白内容面板：列表容器 + 条目行 + 正文阅读卡
   ========================================================================== */

/* 1.1 列表外层容器。模板同时挂了两个类名，语义完全等价，这里两个都写：
       · .w2k-dt.win-inset            —— 站点既有类名
       · .article-list-container      —— 设计规范类名（第 41 轮补的别名）
       底色 #F5F4F0 → #FFFFFF。同时钉住边框色与直角（Tailwind 的 rounded-*
       会引入圆角，Win2K 面板必须是 0）。 */
html:not(.dark) body.w2k#top#top#top#top :is(.w2k-dt, .article-list-container),
html.dark body.w2k#top#top#top#top :is(.w2k-dt, .article-list-container) {
  background-color: var(--surface-panel) !important;
  /* 显式清掉图片层：win2000.css 第 30.1 节曾在这个元素上画过一条
     `repeating-linear-gradient` 假行线（每 28px 一条），注释写明
     "旧版每 28px 一条的虚拟行线"，虽已被同处的 background-image:none 关掉，
     这里再钉一次，杜绝"白灰条纹"从图片层复活的可能。 */
  background-image: none !important;
  border: 1px solid var(--panel-border) !important;
  border-radius: 0 !important;
}

/* 1.2 条目行：纯白。
       1px 分割线仍然挂在**行**上（.w2k-dt-row 的 border-bottom），
       符合"条目行之间 1px 分割线"的语义。 */
html:not(.dark) body.w2k#top#top#top#top :is(.w2k-dt, .article-list-container)
  :is(.w2k-dt-row, .article-row-item),
html.dark body.w2k#top#top#top#top :is(.w2k-dt, .article-list-container)
  :is(.w2k-dt-row, .article-row-item) {
  background-color: var(--surface-panel) !important;
  border-bottom: 1px solid var(--surface-divider) !important;
}

/* 1.3 整条链接：透明，让 1.2 的纯白透上来。此举同时"收编"了各处悬停色 ——
       win2000.css 的 `--dt-hover-bg: #f0f4f9`（第 30.3 节）与
       clean 层的 `--bg-surface-elevated`（第 25.2 节，暗色）都挂在 <a> 上，
       这里让 <a> 恒为透明并带 !important，第 2 节的 row-level 悬停才成为
       唯一生效的反馈色，不会再出现"白灰条纹相间"。

   ⚠ 必须带 :not(:hover)（第 46 轮修正 —— 这正是"点击标题发白"的根因）：
     本层是 4 个 id，而 win2000.css 第 30.9 节为了让选中行的深蓝不被冲淡，
     写了一条只有 1 个 id 的规则：
       L7522  `.w2k-dt-row:focus-within .w2k-dt-link:hover`      = (1,5,1)
                { background-color: transparent !important }
     **点击行内链接会让这一行同时进入 :focus-within 与 :hover**，
     JS（win2000.js L118）在 mousedown 时又给它加上 .is-selected：
       · 行：本层 2.1 已用 :not(.is-selected) 放行 → 深蓝 #000080 正常
       · 链接：本层这条无条件规则（4,4,1）压过 win2000 的 (1,5,1)，
              把 L7522 的 transparent 覆盖成 win2000 自己的 --dt-hover-bg
              浅蓝灰 —— 于是深蓝底上叠出一条浅色带
       · 文字：win2000 L7516 同时把标题刷成 #ffffff
     三者叠加 = 白字压在浅色带上，正是截图里那一行"发白"。
     加上 :not(:hover) 后，链接只在**非悬停**时被钉成透明；
     悬停时把控制权交还 win2000 的 L7522（选中→transparent，未选中→行级 #F0F6FF），
     两家的意图各归其位。 */
html:not(.dark) body.w2k#top#top#top#top :is(.w2k-dt, .article-list-container)
  .w2k-dt .w2k-dt-link:not(:hover),
html.dark body.w2k#top#top#top#top :is(.w2k-dt, .article-list-container)
  .w2k-dt .w2k-dt-link:not(:hover) {
  background: transparent !important;
  background-color: transparent !important;
}

/* 1.4 正文阅读卡（模板中的 .prose-paper.reading-content#article-content /
       规范里的 .post-detail-content）：由 #FAF9F6 提回纯白，
       给段落、代码块、警告框、信息框最高阅读对比度。 */
html:not(.dark) body.w2k#top#top#top#top
  :is(.prose-paper, .reading-content, #article-content),
html.dark body.w2k#top#top#top#top
  :is(.prose-paper, .reading-content, #article-content) {
  background-color: var(--surface-panel) !important;
  border-radius: 0 !important;
}

/* ==========================================================================
   2. 悬停反馈：#F0F6FF（极浅淡蓝）
   --------------------------------------------------------------------------
   行级 + <a> 两条都写：行级是视觉主体，<a> 那条是防御性的 ——
   win2000.css L7385 `.w2k-dt-link:hover` 与 clean L2428 的暗色悬停都在
   <a> 上，必须让它们失效，否则叠出两层不同的底。

   ⚠ 必须带 :not(.is-selected):not(:focus-within)（第 43 轮修正）：
     本层是 4 个 id，而 win2000.css 第 30.9 节的选中态
       `body.w2k#top .w2k-dt-row.is-selected { background-color:#000080 }`
     只有 1 个 id —— 不带排除项时，本节的悬停规则会**连选中行一起压掉**，
     Win2K 深蓝反白语义在悬停瞬间失效。加上排除项后：
       普通行悬停 → #F0F6FF（2.1）
       置顶行悬停 → #F0F6FF（2.2）
       选中行悬停 → 保持 #000080 深蓝，且 L7522 那条 link 透明规则照旧生效
   ========================================================================== */
html:not(.dark) body.w2k#top#top#top#top
  .w2k-dt :is(.w2k-dt-row, .article-row-item):hover:not(.is-selected):not(:focus-within),
html.dark body.w2k#top#top#top#top
  .w2k-dt :is(.w2k-dt-row, .article-row-item):hover:not(.is-selected):not(:focus-within),
html:not(.dark) body.w2k#top#top#top#top
  .w2k-dt :is(.w2k-dt-row, .article-row-item):hover:not(.is-selected):not(:focus-within) > .w2k-dt-link,
html.dark body.w2k#top#top#top#top
  .w2k-dt :is(.w2k-dt-row, .article-row-item):hover:not(.is-selected):not(:focus-within) > .w2k-dt-link {
  background-color: var(--surface-row-hover) !important;
}

/* 置顶行（.is-pinned）**不再单独固化底色** —— 第 43 轮修订。
   --------------------------------------------------------------------------
   第 41 轮这里曾写死一条 `background-color: var(--surface-panel) !important`
   把置顶行的冷色底压掉。那条规则的权重与本节 2.1 的悬停规则**完全相同**
   （都是 4 个 id + 同样多的类），而它排在后面 —— 于是它连 :hover 一起压死：
   置顶条目悬停时永远停在纯白，与普通条目的 #F0F6FF 反馈不一致。
   实测依据：clean 层 L2431 的注释已确认"第 39 轮：置顶行的冷色底已按需求取消
   （明暗一起）……悬停也回到 --dt-hover-bg 的普通表现"，
   也就是说置顶底色**本来就已经被取消**，这条规则纯属多余且有害。
   现在删除它：置顶行与普通行共用 2.1 的悬停反馈，整站列表交互一致。
   --------------------------------------------------------------------------
   2.2 显式补一条置顶悬停规则：不依赖"删掉之后恰好回落到 2.1"，
       而是把置顶态**明确写进**悬停选择器，语义自解释、也不怕将来
       有人再加回一条置顶底色。选中态（.is-selected / :focus-within）
       仍然放行，保留 Win2K 深蓝反白语义。 */
html:not(.dark) body.w2k#top#top#top#top
  .w2k-dt :is(.w2k-dt-row, .article-row-item):is(.is-pinned, [data-pinned="true"]):hover:not(.is-selected):not(:focus-within),
html.dark body.w2k#top#top#top#top
  .w2k-dt :is(.w2k-dt-row, .article-row-item):is(.is-pinned, [data-pinned="true"]):hover:not(.is-selected):not(:focus-within),
html:not(.dark) body.w2k#top#top#top#top
  .w2k-dt :is(.w2k-dt-row, .article-row-item):is(.is-pinned, [data-pinned="true"]):hover:not(.is-selected):not(:focus-within) > .w2k-dt-link,
html.dark body.w2k#top#top#top#top
  .w2k-dt :is(.w2k-dt-row, .article-row-item):is(.is-pinned, [data-pinned="true"]):hover:not(.is-selected):not(:focus-within) > .w2k-dt-link {
  background-color: var(--surface-row-hover) !important;
}

/* ==========================================================================
   3. 面板轮廓：统一的 1px 细描边（**取消内凹槽**）
   --------------------------------------------------------------------------
   修订记录（第 42 轮）：本节原先把需求稿要求的 Win2K 内凹槽
     `inset 1px 1px 0 #808080, inset -1px -1px 0 #FFFFFF`
   装回列表容器与正文卡上。实测截图（1221×556）证明这条槽**只画了左上两角**，
   造成四边观感不一致：
     左侧 x=671/672/673 = rgb(245,244,240) / rgb(201,198,190) / rgb(128,128,128)
        → 1px 边框 + 1px 暗槽 #808080 + 1px 亮槽，共 3 条，深
     底部 y=450/451/452 = rgb(255,255,255) / rgb(201,198,190) / rgb(245,244,240)
        → 只有 1px 边框，且落点被卡片自身的白背景吃掉，浅
   根因：inset 正/负偏移只作用于左上/右下各两边，右下那侧写的是
   --panel-bevel-light；而全站去浮雕层把 --light 扁平化成 #E7E5E0
   （见 flat-industrial.css L47），打在纯白卡片上等于不可见。
   暗色下更糟：--light = #2D2D2D 比面板 #2D2D2D 同色，右下角完全消失。

   处理：四边一律收敛为 1px 实线描边，box-shadow 置 none。
   —— 这不是"新增风格"，而是**回到本层引入之前的状态**：
      flat-industrial.css 第 2 / 第 9 节本来就是全站单一 1px 中性描边，
      那条 #808080 槽是上一轮为满足需求稿才加上的。
   —— 描边色沿用既有令牌 --panel-border（#D4D0C8），不引入新色阶。
   —— 只作用于 .w2k-dt / .w2k-pane-doc / .prose-paper 三个面板，
      其余元素仍由全站扁平规则接管。
   ========================================================================== */
html:not(.dark) body.w2k#top#top#top#top :is(.w2k-dt, .article-list-container,
  .w2k-pane-doc, .prose-paper, .reading-content, #article-content),
html.dark body.w2k#top#top#top#top :is(.w2k-dt, .article-list-container,
  .w2k-pane-doc, .prose-paper, .reading-content, #article-content) {
  box-shadow: none !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--panel-border) !important;
  border-radius: 0 !important;
}

/* 正文区的 .w2k-pane-doc 在模板里**不带** .win-inset（detail.html L81），
   它的边框由上面那条统一规则给出，与正文卡同色同宽，
   两者叠加时完全重合（同位置同 1px），不会出现 2px 双框。
   —— 保留这条显式声明，避免后续把 .win-inset 加回 pane-doc 时
      重新长出第二条边。 */
html:not(.dark) body.w2k#top#top#top#top .w2k-pane-doc,
html.dark body.w2k#top#top#top#top .w2k-pane-doc {
  box-shadow: none !important;
}

/* ==========================================================================
   4. 高度自适应 + 边缘收口
   --------------------------------------------------------------------------
   4.1 列表容器：禁止被 flex 父级拉伸。
       .article-region 是 flex column（win2000.css L1609），宽屏下
       `.w2k-dt { flex: 1 1 auto }`（L7551）会把它拉满整行 —— 文章少时
       就在下方空出一大片。这里改成按内容高度、并以 align-self 拒绝拉伸。
       同时清掉宽屏那条 `min-height: 220px` 地板值。
   ========================================================================== */
html:not(.dark) body.w2k#top#top#top#top .w2k-dt,
html.dark body.w2k#top#top#top#top .w2k-dt {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;   /* 规范要求：父级为 Flex 时强制不拉伸 */
}

/* 4.2 工作区列同样不再跟随 grid 行拉伸（上一轮的修复，保留）。
       宽屏 `.w2k-client-explorer { align-items: stretch }`（L6240）会把
       工作区拉成与左侧目录树等高，那是"列表下方大面积留白"的另一个来源。 */
html:not(.dark) body.w2k#top#top#top > .w2k-client .w2k-client-explorer > .w2k-main,
html.dark body.w2k#top#top#top > .w2k-client .w2k-client-explorer > .w2k-main {
  align-self: flex-start !important;
  height: auto !important;
  padding-bottom: 20px !important;
}
html:not(.dark) body.w2k#top#top#top > .w2k-client .w2k-client-explorer > .w2k-sidebar,
html.dark body.w2k#top#top#top > .w2k-client .w2k-client-explorer > .w2k-sidebar {
  align-self: flex-start !important;
  height: auto !important;
}

/* 4.3 最后一条条目移除底边分割线，容器底部自然收口。
       同时覆盖规范类名 .article-row-item 与既有类名 .w2k-dt-row。 */
html:not(.dark) body.w2k#top#top#top#top :is(.w2k-dt, .article-list-container)
  .w2k-dt-list > :is(.w2k-dt-row, .article-row-item):last-child,
html.dark body.w2k#top#top#top#top :is(.w2k-dt, .article-list-container)
  .w2k-dt-list > :is(.w2k-dt-row, .article-row-item):last-child {
  border-bottom: 0 !important;
}

/* 4.4 容器底部 20px 外边距（移动端 16px），让底板自然过渡。
       注意必须覆盖 win2000.css L7319 / L8618 的 `margin: 0 !important`，
       以及 L7318 的 `margin: 0`（分写，不用 background/margin 简写）。 */
html:not(.dark) body.w2k#top#top#top#top .article-region
  > :is(.w2k-dt, .article-list-container),
html.dark body.w2k#top#top#top#top .article-region
  > :is(.w2k-dt, .article-list-container) {
  margin-bottom: 20px !important;
}
@media (max-width: 767px) {
  html:not(.dark) body.w2k#top#top#top#top .article-region
    > :is(.w2k-dt, .article-list-container),
  html.dark body.w2k#top#top#top#top .article-region
    > :is(.w2k-dt, .article-list-container) {
    margin-bottom: 16px !important;
  }
}

/* ==========================================================================
   5. 图片资源卡片：文本信息承载区（第 43 轮引入，第 45 轮修正暗色）
   --------------------------------------------------------------------------
   覆盖四类封面卡片的「图片下方文字区」（标题 + 日期 + 分类徽章容器）：
     横版 16:9   .post-card-body      （分类页横图视图）
                 .magazine-post-copy  （首页 landscape 楼层）
     竖版 3:4    .poster-copy         （分类页竖图视图 / 音乐封面）
                 .magazine-poster-copy（首页 portrait 楼层）

   ★ 第 45 轮修正：暗色**不再刷白**。
     第 43 轮把明暗一起写成 #FFFFFF，暗色下因此出事 ——
     卡片文字用的是暗色令牌（--text-primary #E6E6E6 / --text-secondary #A0A0A0 /
     --text-tertiary #6E6E6E，见 clean 层第 25.1 节的"中性灰阶"），
     把它们放到白底上就是"浅灰字压白底"：
       实测截图 xz.png（2183×1014）卡片标题 = #E6E6E6、日期 = #A0A0A0，
       对 #FFFFFF 分别只有 1.25:1 与 2.55:1 —— 远低于可读线，正是
       "标题和日期看不清"的原因。
     现在暗色交还给令牌 var(--bg-surface-card) = #2D2D2D，
     与文字令牌同属暗色体系：标题 #E6E6E6 对 #2D2D2D ≈ 10.3:1，日期 ≈ 4.5:1。
     浅色保持纯白（需求稿原意），标题 #30302E 对 #FFFFFF ≈ 13.5:1。
   —— 一句话：白底只属于浅色主题，暗色跟随令牌走。
   ========================================================================== */
html:not(.dark) body.w2k#top#top#top#top :is(.post-card-body, .magazine-post-copy,
  .poster-copy, .magazine-poster-copy) {
  background-color: #FFFFFF !important;
  background-image: none !important;
}
html.dark body.w2k#top#top#top#top :is(.post-card-body, .magazine-post-copy,
  .poster-copy, .magazine-poster-copy) {
  background-color: var(--bg-surface-card, #2D2D2D) !important;
  background-image: none !important;
}

/* 5.1 卡片外壳也一并纯白 —— 与 5.0 的文字区同一层。
       为什么必须一起改：卡片外壳改前是 var(--bg-card) = #ECEAE5，
       若只把文字区刷白，封面四周会留一圈米灰、文字区是白块，
       正是前几轮反复出现的那种"白块贴在灰面上"的断层感。
       —— 这不是偏离需求，而是**与暗色对齐**：暗色下 clean 层 L2418 / L2423
          本来就把卡片与信息区写成同一个 "--bg-surface-card"，注释原文
          "封面下方信息区与卡片同层（不再另起一档）"。浅色这边只是补齐。
       外框：1px 细线 + 直角，颜色沿用 --panel-border，
       与列表容器、正文卡同一根线，全站一个色阶。
       —— 关于需求稿里的"微凹拟物阴影"：本项目有两条带 !important 的全站去浮雕
          总闸（flat-industrial.css 第 2 节 + clean 层第 3 节），
          templates/win2000.html 的首帧内联样式里还有一条
          `*,*::before,*::after{box-shadow:none!important}`。
          这三条会吃掉任何 box-shadow 声明，加进去只会变成死代码
          （第 41 轮已在 .prose-paper 上踩过一次，实测无效）。
          因此这里只给 1px 实线，用边框色阶承担"微凹"的视觉暗示。 */
html:not(.dark) body.w2k#top#top#top#top :is(.post-card, .poster-card,
  .magazine-post-card, .magazine-poster, .w2k-card) {
  background-color: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid var(--panel-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* 暗色：交还暗色令牌，理由同第 5.0 节（白底会把 #E6E6E6 / #A0A0A0 的文字压成不可读） */
html.dark body.w2k#top#top#top#top :is(.post-card, .poster-card,
  .magazine-post-card, .magazine-poster, .w2k-card) {
  background-color: var(--bg-surface-card, #2D2D2D) !important;
  background-image: none !important;
  border: 1px solid var(--panel-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ==========================================================================
   6. 归档页：去掉年份区块的大面积底色（第 45 轮）
   --------------------------------------------------------------------------
   截图 gui.png（2239×1308）实测，归档时间轴上有一条横贯整行的米色带，
   把背后的工程方格纸竖线整条切断 —— 就是用户标注 1 / 2 的位置：
     y=117..132   rgb(236,234,229)  ← #ECEAE5  .archive-year（年份框本体）
     y=133..137   rgb(220,217,209)  ← #DCD9D1  .archive-year-title（年份标题条）
     y=160..176   rgb(255,255,255)  ← 已经是白
     y=177        rgb(201,198,190)  ← 行分割线
   三条来源（clean 层第 10.6 节 + win2000.css 第 33 节）：
     #f7f6f2            → .archive-year / .archive-year-list / .archive-timeline-item:not(:hover)
     var(--window)      → .archive-year-list
     var(--face)#ECEAE5 → .archive-year-title
   处理：三处一律改白（与第 44 轮把 --bg-content 改成 #FFFFFF 后的内容区同色）。
   —— 为什么用白而不是 transparent：本页两者视觉结果相同（内容区本来就是白），
      但白是"实心面"，不依赖父级有没有底，鲁棒性更好；也不会意外把卡片
      变成"能透出网格"的形态。
   —— 权重走 7 个 id（(7,2,1)）：clean 层第 10.6 节那条用 7 个 .w2k 撑成 (1,8,1)，
      本层从 id 个数这一侧一次压过，不比 class 数。
   —— 行分割线 #e4e0d7 保留：它是"条目行之间 1px 细线"的语义，不是色带。
   ========================================================================== */
html:not(.dark) body.w2k#top#top#top#top#top#top#top .archive-year,
html:not(.dark) body.w2k#top#top#top#top#top#top#top .archive-year-list,
html:not(.dark) body.w2k#top#top#top#top#top#top#top .archive-timeline-item:not(:hover) {
  background-color: #FFFFFF !important;
}
html.dark body.w2k#top#top#top#top#top#top#top .archive-year,
html.dark body.w2k#top#top#top#top#top#top#top .archive-year-list,
html.dark body.w2k#top#top#top#top#top#top#top .archive-timeline-item:not(:hover) {
  background-color: var(--bg-surface-card, #2D2D2D) !important;
}
/* 年份标题条：原来用 var(--face) #ECEAE5，是这条带上最深的一小段。
   改白后与内容区同色，"图例"身份只由 13px 字号与 500 字重承担。 */
html:not(.dark) body.w2k#top#top#top#top#top#top#top .archive-year-title {
  background-color: #FFFFFF !important;
}
html.dark body.w2k#top#top#top#top#top#top#top .archive-year-title {
  background-color: var(--bg-surface-card, #2D2D2D) !important;
}

/* ==========================================================================
   7. 移动端：工具栏里的搜索框收掉，只留菜单栏放大镜（第 45 轮）
   --------------------------------------------------------------------------
   第 29 轮已经做掉了「菜单栏内那条通栏搜索栏」：
     clean 层 L1759  `body.w2k#top #w2k-client .w2k-search { display:none }`
     clean 层 L1773  `.w2k-search-toggle { display:none }`（PC 隐藏放大镜）
     clean 层 L1788  `<768px` 放大镜 24×24 显示、点开浮出 .w2k-search-panel
   但归档 / 关于这类静态页走 **.w2k-toolbar**，filterBar 又自带一份 .w2k-search
   （模板 filterbar.html L2 → L73 w2kBarTail → w2kSearchForm），
   这两处都不在 `#w2k-client` 作用域内，所以移动端仍会露出输入框 + 搜索键。
   本层把它们一并收掉，移动端只剩放大镜图标与点开的面板。
   —— 用 display:none 而非只去边框：需求是"去掉搜索外框、只保留放大镜"，
      留着占位的空输入框并不符合。
   —— 桌面端完全不动：整条包在 max-width:767px 内，与全站断点一致
      （第 29 轮也是 767px，不引入第二个阈值）。
   ========================================================================== */
@media (max-width: 767px) {
  html:not(.dark) body.w2k#top#top#top#top#top#top#top
    :is(.w2k-toolbar, .compact-filter, .unified-filter, .filter-bar, .front-filter) .w2k-search,
  html.dark body.w2k#top#top#top#top#top#top#top
    :is(.w2k-toolbar, .compact-filter, .unified-filter, .filter-bar, .front-filter) .w2k-search {
    display: none !important;
  }
}
