
/* ── 资讯页头（archive masthead） ────────────────────────── */
.pm{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.pm::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.pm .wrap{position:relative;z-index:2;padding-block:clamp(24px,2.8vw,38px)}
.pm .crumb{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;color:#8A8A85}
.pm .crumb a{color:#8A8A85;transition:color var(--dur-1)}
.pm .crumb a:hover{color:#fff}
.pm .crumb b{color:var(--gray-2);font-weight:400}
.pm .crumb .cur{color:#C9C9C4}
.pm h1{margin-top:12px;font-size:clamp(22px,2.7vw,30px);line-height:1.24;letter-spacing:-.02em}

/* ── 子栏目切换（W-UI-1 甲：原生链接形，每枚进各自栏目落地页，无 JS） ── */
.tabs{position:sticky;top:66px;z-index:40;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--gray-3)}
.tabs .wrap{display:flex;align-items:stretch;gap:2px;overflow-x:auto;scrollbar-width:none}
.tabs .wrap::-webkit-scrollbar{display:none}
.tab{position:relative;flex:none;color:var(--gray-1);padding:18px 15px 16px;font-size:15px;
  font-weight:600;letter-spacing:.02em;text-decoration:none;
  white-space:nowrap;transition:color var(--dur-1),background var(--dur-1)}
.tab::after{content:"";position:absolute;left:15px;right:15px;bottom:0;height:3px;background:var(--red);
  transform:scaleX(0);transform-origin:left;transition:transform var(--dur-2) cubic-bezier(.16,1,.3,1)}
.tab:hover{color:var(--ink);background:var(--gray-4)}
.tab:focus-visible{outline:2px solid var(--red);outline-offset:-4px}
.tab.on{color:var(--ink);font-weight:800}
.tab.on::after{transform:scaleX(1)}

/* 结果条（.res）随 W-UI-1 撤除：它显示的是 JS 当前 tab 名，无 JS 即无真值可显。
   原先由它承担的列表上间距改由 #list 自持。 */
#list{padding-top:30px}

/* ── 头条卡 ─────────────────────────────────────────────── */
.lead{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);background:var(--ink);color:#fff;
  overflow:hidden;transition:opacity var(--dur-2),transform var(--dur-2)}
.lead .ph{position:relative;overflow:hidden;background:#22222a}
.lead .ph img{width:100%;height:100%;min-height:260px;object-fit:cover;transition:transform var(--dur-3) cubic-bezier(.16,1,.3,1)}
.lead:hover .ph img{transform:scale(1.05)}
.lead .ph .cap{position:absolute;left:0;bottom:0;z-index:2;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.1em;color:#EDEDEA;background:rgba(20,20,22,.78);padding:7px 11px;border-top:2px solid var(--red)}
.lead .tx{padding:clamp(26px,3.2vw,44px);display:flex;flex-direction:column;justify-content:center}
.lead .badge{align-self:flex-start;background:var(--red);color:#fff;font-size:11px;letter-spacing:.14em;
  padding:5px 11px;font-weight:700}
.lead h2{margin-top:18px;font-size:clamp(20px,2.4vw,29px);line-height:1.5;letter-spacing:-.01em}
.lead .d{margin-top:16px;font-size:14px;line-height:1.95;color:#BFBFB9;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lead .foot{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
.lead .when{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--gray-2)}
.lead .go{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;color:#fff;letter-spacing:.04em}
.lead .go svg{width:15px;height:15px;transition:transform var(--dur-1)}
.lead:hover .go svg{transform:translateX(5px)}
.lead.nc{grid-template-columns:1fr}
.lead.nc .tx{padding-block:clamp(34px,4.4vw,58px);border-left:4px solid var(--red)}
.lead.nc h2{font-size:clamp(22px,2.8vw,33px)}
.lead.nc .d{-webkit-line-clamp:4;font-size:14.5px}

/* ── 卡片栅格 ───────────────────────────────────────────── */
.grid{margin-top:2px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--gray-3)}
.grid li{background:var(--paper)}
.grid a{position:relative;display:flex;flex-direction:column;height:100%;padding:clamp(24px,2.4vw,32px) clamp(20px,2.2vw,30px) 26px;
  transition:background var(--dur-2)}
.grid a::after{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:var(--red);transition:width var(--dur-2) cubic-bezier(.16,1,.3,1)}
.grid a:hover{background:var(--warm)}
.grid a:hover::after{width:100%}
.grid .top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.grid .cat{font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--red)}
.grid .no{font-family:var(--mono);font-size:11px;color:var(--gray-3);letter-spacing:.08em;font-weight:700;transition:color var(--dur-2)}
.grid a:hover .no{color:var(--gray-2)}
.grid h3{margin-top:16px;font-size:17.5px;line-height:1.62;font-weight:700;letter-spacing:-.005em;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--dur-1)}
.grid a:hover h3{color:var(--red)}
.grid .s{margin-top:13px;font-size:13.5px;line-height:1.9;color:var(--gray-1);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.grid .btm{margin-top:auto;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.grid time{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--gray-2)}
.grid .rd{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--gray-2);transition:color var(--dur-1)}
.grid .rd svg{width:13px;height:13px;transition:transform var(--dur-1)}
.grid a:hover .rd{color:var(--red)}
.grid a:hover .rd svg{transform:translateX(4px)}

/* ── W-UI-5 动效层（2026-10-15）：列表区从贴地文字块收进版式 ────────
   只加「高度」与悬停反馈，网格结构/间距/描线一形不动。面值全取 W-UI-4
   令牌：深影 --sh-2、浅影 --sh-1、时长 --dur-2、缓动 --ease-out；悬停位移
   -2px 照抄壳层同族形（ds.css .btn-r:hover / .hd .cta:hover），不新造尺度。
   首枚专题块本就在页面最上方且是整页最重的一块，给它一层深影即与背景分离；
   三栏条目整块给浅影，悬停的那枚换成深影并抬 2px（z-index 提到 2，
   影才不会被邻格的白底切掉）。
   reduce 档：ds.tail.css 的 *{transition:none!important} 只压得住「过渡过程」，
   压不住「位移终态」，故这里把抬升显式收回。 */
.lead{box-shadow:var(--sh-2)}
.grid{box-shadow:var(--sh-1)}
.grid li{position:relative;transition:box-shadow var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}
.grid li:hover{z-index:2;box-shadow:var(--sh-2);transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.grid li:hover{transform:none}}

/* ── 空态 ───────────────────────────────────────────────── */
.empty{padding:clamp(50px,7vw,86px) 26px;text-align:center;border:1px dashed var(--gray-3);margin-top:2px}
.empty .t{font-size:19px;font-weight:800}

/* ── 分页 ───────────────────────────────────────────────── */
/* 分页＝paginate_links 服务端直出，类名面 .page-numbers[.current|.dots|.inactive] */
.pg{margin-top:38px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.pg .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 13px;background:#fff;border:1px solid var(--gray-3);
  font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--ink-2);letter-spacing:.04em;
  text-decoration:none;transition:border-color var(--dur-1),color var(--dur-1),background var(--dur-1)}
/* .pg a.page-numbers:hover 只在 ③ 层 ds.tail.css 定义，此处重宣会被 leg=layer_order 判红 */
.pg .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}
.pg .page-numbers.inactive{opacity:.34;cursor:not-allowed}
.pg .page-numbers.dots{border-color:transparent;background:none;color:var(--gray-2)}

/* ── 窄屏收敛 ───────────────────────────────────────────── */
@media(max-width:1080px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 窄屏栏目筛选：流式胶囊，不吸顶、不横滑（业主 2026-10-07 甲案；实测横滑形在 ≤950px 即溢出） */
@media(max-width:1024px){
  .tabs{position:static;background:#fff;border-bottom:0}
  .tabs .wrap{flex-wrap:wrap;overflow-x:visible;gap:9px;padding:16px clamp(20px,4vw,36px) 18px}
  .tab{display:inline-flex;align-items:center;min-height:44px;padding:0 15px;border-radius:999px;
    border:1px solid var(--gray-3);background:#fff;font-size:14px;font-weight:600;color:var(--gray-1)}
  .tab::after{display:none}
  .tab.on{background:var(--red);border-color:var(--red);color:#fff;font-weight:700}
}
@media(max-width:900px){
  .lead{grid-template-columns:1fr}
  .lead .ph img{min-height:0;aspect-ratio:16/9}
  .lead .ph .cap{display:none}
  .lead.nc .tx{border-left:0;border-top:4px solid var(--red)}
}
@media(max-width:700px){
  .lead .tx{padding:22px 20px 26px}
  .lead h2{margin-top:14px}
  .lead .d{-webkit-line-clamp:4}
  .lead .foot{margin-top:20px;padding-top:15px}
}
@media(max-width:620px){.grid{grid-template-columns:1fr}}
@media(max-width:560px){
  .grid h3{font-size:16.5px}
  .pg .page-numbers{min-width:38px;height:38px;font-size:12.5px}
}
