.archive-body { background: var(--paper); }
.archive-main { width: min(1120px, calc(100% - 48px)); min-height: 80vh; margin: 0 auto; padding: 160px 0 110px; }
.archive-hero { padding: 38px 0 44px; display: flex; align-items: end; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--border); }
.archive-hero p {
  margin: 0;
  color: var(--red);
  font: 700 18px/1.4 Georgia, "Times New Roman", var(--serif); /* 西文数字装饰衬线，刻意不并入 --serif */
  letter-spacing: .12em;
}
.archive-hero > div:first-child span { color: var(--ink-soft); font: 15px/1.8 var(--serif); letter-spacing: .04em; }
.archive-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.archive-controls label { display: flex; align-items: center; gap: 7px; }
.archive-controls select, .archive-controls button {
  /* 独立高度开关：默认 auto = 与分页按钮同算法（7px×2 + 11px 行高 + 2px 边框），
     任何平台任何浏览器都与分页按钮逐像素一致；需要单独定高就把 auto 改成数值，
     如 26px（box-sizing: border-box，含边框）。分页按钮本身绝不改动。 */
  --sort-ctrl-h: auto;
  height: var(--sort-ctrl-h);
  box-sizing: border-box;
  padding: 7px 11px;
  color: var(--red);
  background: transparent;
  border: 1px solid var(--red);
  border-radius: 3px;
  font-size: 11px;
}
/* appearance:none 之后 height 完全可用（此前原生 select 无视 height/padding 是「不能自定义
   高度」的根因）：29px 与分页按钮实高（7px×2 + 11px 行高 + 2px 边框 ≈ 29px）一致；
   下拉箭头改由背景 SVG 提供 */
.archive-controls select { appearance: none; -webkit-appearance: none; padding-right: 26px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23681014' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 8px center; }
.archive-controls button { cursor: pointer; }
.archive-controls button:hover { background: var(--wash); }
/* 聚焦样式补全（focus 环同后台表单约定；只作用于归档控件，分页按钮不碰） */
.archive-controls select:focus, .archive-controls button:focus-visible { outline: var(--focus-ring); border-color: var(--red); }
.archive-item { border-bottom: 1px solid var(--border); }
.archive-item a { min-height: 210px; display: grid; grid-template-columns: 160px 1fr auto; align-items: center; gap: 34px; padding: 35px 18px; transition: padding .25s, background .25s; }
.archive-item a:hover { padding-inline: 30px; background: var(--white-soft); }
.archive-index { position: relative; align-self: stretch; display: grid; place-items: center; }
.archive-index time { color: var(--seal-red); font: 500 40px/1 Georgia, "Times New Roman", var(--serif); /* 同上 */ letter-spacing: .04em; }
.archive-index-year { position: absolute; top: 2px; left: 4px; color: var(--faint); font-size: 10px; letter-spacing: .22em; }
.archive-index-time { position: absolute; right: 4px; bottom: 2px; color: var(--faint); font-size: 11px; letter-spacing: .18em; }
.archive-copy p { margin: 0 0 14px; color: var(--red-700); font-size: 10px; letter-spacing: .12em; }
.archive-copy h2 { margin: 0 0 12px; font: 700 clamp(23px,3vw,34px)/1.45 var(--serif); }
.archive-item b { color: var(--red-700); font-size: 22px; font-weight: 400; transition: transform .2s; }
.archive-item a:hover b { transform: translate(4px,-4px); }
.archive-loading { padding: 80px 0; text-align: center; }
/* 底部：桌面端靠右、手机端左右散开（同管理后台）；分页按钮小档样式见 site-shell.css 公共段 */
.archive-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding-top: 26px; color: var(--faint); font-size: 12px; }
/* 顶部：电脑端与排序按钮同行；手机端由下方媒体查询换行独占一行、与排序分离 */
.archive-pagination-inline { display: inline-flex; align-items: center; gap: 8px; margin-left: 14px; color: var(--faint); font-size: 12px; }
.archive-pagination[hidden], .archive-pagination-inline[hidden] { display: none; }
@media (max-width: 760px) {
  .archive-main { width: calc(100% - 38px); padding-top: 105px; }
  .archive-hero { padding-block: 30px 36px; align-items: start; flex-wrap: wrap; gap: 16px 18px; }
  .archive-hero p { font-size: 17px; }
  .archive-item a { min-height: 0; grid-template-columns: 108px 1fr; gap: 18px; padding: 28px 4px; }
  .archive-index time { font-size: 30px; }
  .archive-index-year { top: 0; left: 2px; font-size: 9px; }
  .archive-index-time { right: 2px; bottom: 0; font-size: 10px; }
  .archive-item b { display: none; }
  .archive-copy h2 { font-size: 22px; }
    .archive-controls { width: 100%; } /* 分页换行后占满整行：上一页顶页面最左、下一页顶页面最右 */
  /* 底部：左右散开占一行；顶部：换行独占一行、与排序控件分离，同样左右散开（同管理后台） */
  .archive-pagination { justify-content: space-between; gap: 8px; font-size: 11px; }
  .archive-pagination-inline { display: flex; width: 100%; justify-content: space-between; margin-left: 0; gap: 8px; font-size: 11px; }
  .archive-pagination button, .archive-pagination-inline button { padding: 7px 10px; font-size: 11px; }
}
