/* ==========================================================================
   front-b.css — T1-04 极简专业信息站 / TLBB INDEX
   --------------------------------------------------------------------------
   站点：T1-04（模板一 独立副本）
   视觉：白底 #FFFFFF ＋ 浅灰 #F6F7F8 ＋ 石墨 #111827 ＋ 单一蓝 #1D4ED8
        ＋ 青绿已开服 #0F766E ＋ 琥珀待开服 #B45309
   依据：T1_设计交付_待审/T1-04/DESIGN.md §2 / §3 / §4
        ＋ contracts/T1-02_03_04.DOM契约.md §2 / §3 / §4
   风格：极简 —— 无卡片底色、无阴影；层级只靠 1px 边线、留白与字重建立
   加载：本文件是唯一 Token 与全局框架入口；4 个二级页 CSS 首行 @import 本文件
   离线：无远程字体 / 无远程 @import / 无 url() 外链
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. 设计 Token（DOM 契约 §4 —— 变量名与取值一字不改）
   -------------------------------------------------------------------------- */
:root{
  --c-bg:#FFFFFF; --c-surface:#F6F7F8; --c-surface-2:#FBFCFD; --c-surface-3:#EEF3FF;
  --c-line:#D9DEE5; --c-line-strong:#B8C0CC;
  --c-text:#111827; --c-text-2:#4B5563; --c-text-3:#6B7280;
  --c-accent:#1D4ED8; --c-accent-strong:#1D4ED8; --c-amber:#B45309;
  --c-ok:#0F766E; --c-danger:#B91C1C; --c-focus:#1D4ED8;
  --r-xs:2px; --r-sm:4px; --r-md:6px; --r-lg:8px;
  --shell:1280px; --gutter:20px; --col-main:880px; --col-aside:340px;
  --font-sans:"HarmonyOS Sans SC","Noto Sans SC","Microsoft YaHei",sans-serif;
  --font-mono:"Cascadia Mono","JetBrains Mono","Consolas",monospace;
  --t-fast:160ms ease; --t-panel:220ms ease;

  /* ---- T1-04 站内补充 token（不与契约同名；契约取值一字未改） ---- */
  /* 深一档蓝：按钮 / 链接 hover 用（对白底 9.72:1） */
  --c-accent-deep:#1639A6;
  /* 数字等宽字体（DESIGN §2.2「表格数字」），仅系统字体，无外链 */
  --font-num:"SF Mono","Cascadia Mono","JetBrains Mono","Consolas",monospace;
}

/* --------------------------------------------------------------------------
   1. 基础重置与白底基调
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-text);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img{max-width:100%;height:auto;display:block}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5{margin:0;font-family:var(--font-sans);font-weight:600;line-height:1.35;color:var(--c-text)}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
::selection{background:var(--c-accent);color:#FFFFFF}
:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;border-radius:var(--r-xs)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* 容器：契约 --shell(1280) 为上限；盒子 1168px → 内容 1120px，
   使主栅格严格为 760 + 80 + 280 = 1120（DESIGN §2.3）；左右内边距 24px */
.shell{width:100%;max-width:min(var(--shell),1168px);margin-inline:auto;padding-inline:24px}

/* 文字链接：蓝色 + 3px 下划线偏移（不靠颜色单独表意） */
a{color:var(--c-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--t-fast),border-color var(--t-fast),background-color var(--t-fast)}
a:hover{color:var(--c-accent-deep)}

/* 数字统一等宽（DESIGN §2.2） */
.num,.c-time,.item-time,.count,.meta,.live-clock,.step-no,.pick-no,.faq-no,
.err-code,.side-stat .v,.item-date,.rk-meta,.ticker-item time,.section-no,.guide-no{
  font-family:var(--font-num);font-variant-numeric:tabular-nums;
}

/* 区块节奏（DESIGN §2.3：区块间距 64px，移动端 40px） */
.section{padding-block:64px}
.section--tight{padding-block:40px}
.shell.section{padding-block:0}
.section,.section--tight,.page-banner,.list-section,.tips-section{margin-top:0}
section + section{margin-top:0}
/* 兜底：直接挂在 body 下、且内部没有 .shell 的 section 补左右安全边 */
body > section:not(:has(.shell)){padding-inline:var(--gutter)}

/* --------------------------------------------------------------------------
   1.5 JS 钩子 ID 锚点（DOM 契约 §0 / assets/b.js）
   只声明不改行为；DOM 结构、aria 属性、JS 监听目标全部不变。
   -------------------------------------------------------------------------- */
/* 注意：此处不给 #mainNav 写 position —— 定位由 .main-nav 规则与断点决定，
   避免 ID 特异性压过媒体查询里的 position:sticky。 */
#mainNav{z-index:100}
#navToggle{cursor:pointer}
#navList{min-width:0}
#q{outline:0}
#searchBtn{cursor:pointer}
#searchHint{position:absolute}
#liveClock{font-variant-numeric:tabular-nums}
#tickerMove{display:flex;align-items:center;height:38px;white-space:nowrap}
#toTop{cursor:pointer}

/* --------------------------------------------------------------------------
   2. 通用组件：按钮 / 章节编号 / 版本标签 / 状态 / 标签
   -------------------------------------------------------------------------- */
.btn-primary,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:42px;padding:0 18px;border-radius:var(--r-sm);
  font-size:14px;font-weight:600;text-decoration:none;
  transition:background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast);
}
.btn-primary{background:var(--c-accent);border:1px solid var(--c-accent-strong);color:#FFFFFF}
.btn-primary:hover{background:var(--c-accent-deep);border-color:var(--c-accent-deep);color:#FFFFFF}
.btn-ghost{background:var(--c-bg);border:1px solid var(--c-line-strong);color:var(--c-accent)}
.btn-ghost:hover{border-color:var(--c-accent);background:var(--c-surface);color:var(--c-accent-deep)}
.btn-primary svg,.btn-ghost svg{width:15px;height:15px;flex-shrink:0}

/* Kicker / 章节编号：11–12px、字距 .16em */
.kicker,.hero-kicker,.section-no{
  display:block;margin-bottom:10px;
  font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--c-accent);
}
.section-no{font-family:var(--font-num);letter-spacing:.12em}

/* 版本标签（DESIGN §6.2：12px、1px 线、4px 圆角、白底，左侧 2px 色条区分版本） */
.badge{
  display:inline-flex;align-items:center;min-height:22px;padding:0 8px;
  border:1px solid var(--c-line);border-left:2px solid var(--c-line-strong);border-radius:var(--r-sm);
  background:var(--c-bg);color:var(--c-text-2);
  font-size:12px;font-weight:500;white-space:nowrap;
}
.badge-hj{border-left-color:var(--c-accent)}
.badge-jd{border-left-color:var(--c-ok)}
.badge-bt{border-left-color:var(--c-danger)}
.badge-gy{border-left-color:var(--c-ok)}
.badge-dz{border-left-color:var(--c-accent)}
.badge-wb{border-left-color:var(--c-line-strong)}

/* 状态：8px 形状 + 文字（形状与文字双线索，绝不只靠颜色） */
.st{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;white-space:nowrap;color:var(--c-text-2)}
.st::before{content:"";width:7px;height:7px;flex-shrink:0;border-radius:var(--r-xs);background:var(--c-text-3)}
.st-ok{color:var(--c-ok)}
.st-ok::before{background:var(--c-ok)}
.st-soon{color:var(--c-amber)}
.st-soon::before{background:transparent;border:1px solid var(--c-amber);width:8px;height:8px}
.st-new{color:var(--c-danger)}
.st-new::before{background:var(--c-danger)}

/* 标签组（卡片标签 / 侧栏标签导航） */
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags a{
  display:inline-flex;align-items:center;min-height:26px;padding:0 9px;
  border:1px solid var(--c-line);border-radius:var(--r-sm);
  background:var(--c-bg);color:var(--c-text-2);font-size:12px;text-decoration:none;
  transition:color var(--t-fast),border-color var(--t-fast);
}
.tags a:hover{border-color:var(--c-accent);color:var(--c-accent)}

/* 筛选 / 锚点标签：白底 1px 线；当前项蓝底白字（非仅换色） */
.filter-tag{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;padding:0 13px;flex:0 0 auto;
  border:1px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-bg);
  color:var(--c-text-2);font-size:13px;text-decoration:none;white-space:nowrap;
  transition:color var(--t-fast),border-color var(--t-fast),background-color var(--t-fast);
}
.filter-tag:hover{border-color:var(--c-accent);color:var(--c-accent)}
.filter-tag.active,.filter-tag[aria-current="page"]{
  background:var(--c-accent);border-color:var(--c-accent);color:#FFFFFF;font-weight:600;
}

/* --------------------------------------------------------------------------
   3. 页头（60px：品牌 | 搜索 | 今日新增；导航在 ≥1280 并入同一行）
   -------------------------------------------------------------------------- */
.site-header{background:var(--c-bg);border-bottom:1px solid var(--c-line)}
.header-bar{display:flex;align-items:center;gap:16px;min-height:60px}
.brand{flex:0 0 176px;display:flex;align-items:center;gap:8px;min-width:0;text-decoration:none;color:inherit}
.brand-mark{
  width:20px;height:20px;flex-shrink:0;display:grid;place-items:center;
  border:1px solid var(--c-line);border-radius:var(--r-xs);background:var(--c-bg);
}
.brand-mark svg{width:13px;height:13px;color:var(--c-accent)}
.brand-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.brand-name{font-size:16px;font-weight:650;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-name em{font-style:normal;color:var(--c-accent)}
.brand-sub{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.search{flex:0 1 260px;min-width:0;position:relative;margin-left:auto}
.search-field{
  display:flex;align-items:center;gap:8px;height:36px;padding-left:10px;
  background:var(--c-bg);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);
  transition:border-color var(--t-fast);
}
.search-field:focus-within{border-color:var(--c-accent)}
.search-field svg{width:15px;height:15px;color:var(--c-text-3);flex-shrink:0}
.search-field input{flex:1;min-width:0;height:100%;background:none;border:0;outline:0;font-size:13.5px;color:var(--c-text)}
.search-field input::placeholder{color:var(--c-text-3)}
.search-btn{
  width:62px;height:34px;flex-shrink:0;border:0;border-left:1px solid var(--c-line);
  border-radius:0 var(--r-sm) var(--r-sm) 0;background:none;color:var(--c-accent);
  font-size:13px;font-weight:600;cursor:pointer;
  transition:color var(--t-fast),background-color var(--t-fast);
}
.search-btn:hover{color:var(--c-accent-deep);background:var(--c-surface)}
/* 搜索提示：点击 / 回车后由 JS 加 .show —— 展开态必须保留 */
.search-hint{
  display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;
  padding:10px 12px;font-size:12.5px;line-height:1.7;color:var(--c-text-2);
  background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);
}
.search-hint.show{display:block}

.status{flex:0 0 110px;display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap;font-size:12px;color:var(--c-text-2)}
.status-live{display:flex;align-items:center;gap:7px;white-space:nowrap}
.dot{width:6px;height:6px;flex-shrink:0;border-radius:var(--r-xs);background:var(--c-accent)}
.status-live b{color:var(--c-text);font-weight:650;font-variant-numeric:tabular-nums}
/* 时钟（#liveClock）：DOM 与 JS 钩子保留，桌面端隐藏显示（DESIGN §3.1 页头未画时钟） */
.status-stat{display:none;align-items:center;gap:8px;padding-left:10px;border-left:1px solid var(--c-line)}
.status-stat .num{font-size:13px;font-weight:600;color:var(--c-text)}
.status-stat .lbl{font-size:11px;color:var(--c-text-3)}

/* --------------------------------------------------------------------------
   4. 主导航（44px 横条；≥1280 并入页头同一行；当前项蓝底白字）
   -------------------------------------------------------------------------- */
.main-nav{position:relative;z-index:100;background:var(--c-bg);border-bottom:1px solid var(--c-line)}
.nav-bar{display:flex;align-items:center;gap:8px;min-height:44px}
.nav-list{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
.nav-list::-webkit-scrollbar{display:none}
.nav-list a{
  display:inline-flex;align-items:center;height:32px;padding:0 10px;flex:0 0 auto;
  border-radius:var(--r-sm);background:transparent;
  font-size:13px;color:var(--c-text-2);text-decoration:none;white-space:nowrap;
  transition:color var(--t-fast),background-color var(--t-fast);
}
.nav-list a:hover{color:var(--c-accent);background:var(--c-surface)}
.nav-list a[aria-current="page"]{background:var(--c-accent);color:#FFFFFF;font-weight:600}
.nav-cta{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:32px;padding:0 12px;
  background:var(--c-bg);border:1px solid var(--c-accent);border-radius:var(--r-sm);
  color:var(--c-accent);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;
  transition:background-color var(--t-fast),color var(--t-fast);
}
.nav-cta:hover{background:var(--c-accent);color:#FFFFFF}
.nav-cta svg{width:14px;height:14px}
.nav-toggle{
  display:none;width:44px;height:44px;flex-shrink:0;
  background:var(--c-bg);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);
  cursor:pointer;place-items:center;
}
.nav-toggle svg{width:20px;height:20px;color:var(--c-text)}
.nav-toggle[aria-expanded="true"]{border-color:var(--c-accent)}
.nav-toggle[aria-expanded="true"] svg{color:var(--c-accent)}

/* ≥1280：导航与品牌同行（DESIGN §3.1）。用「负外边距 + 透明覆盖」实现，
   页头本身吸顶，导航层覆盖在页头同一行的中部；链接区可横向滚动，永不压住搜索框。 */
@media (min-width:1280px){
  .site-header{position:sticky;top:0;z-index:101;min-height:60px}
  /* 与品牌/搜索同行：用 ID 选择器保证 z-index 特异性高于 L85 的 #mainNav{z-index:100}，
     否则主导航会被不透明页头完全遮挡（不可见也不可点）。 */
  #mainNav{
    position:sticky;top:0;z-index:102;margin-top:-60px;height:60px;
    background:transparent;border-bottom:0;pointer-events:none;
  }
  .nav-bar{height:60px;padding-left:212px;padding-right:360px;pointer-events:none}
  .nav-list,.nav-cta,.nav-toggle{pointer-events:auto}
}
/* 兜底：若将来 nav 被放进 header 内部，取消覆盖还原为普通块 */
.site-header .main-nav{position:static;margin-top:0;height:auto;background:transparent;border-bottom:0}
.site-header .main-nav .nav-bar{height:auto;min-height:44px;padding-left:24px;padding-right:24px}

/* --------------------------------------------------------------------------
   5. 页脚（三栏；友链 6 条 / 快速导航 7 项 / 底栏 3 项 —— 不按 footer_variant 分叉）
   -------------------------------------------------------------------------- */
.site-footer{border-top:1px solid var(--c-line);background:var(--c-bg);padding-top:48px;margin-top:64px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:48px;padding-bottom:40px}
.foot-col h3{margin-bottom:16px;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--c-text)}
.foot-about p{font-size:13.5px;line-height:1.9;color:var(--c-text-2);margin-bottom:10px}
.foot-about p:last-child{margin-bottom:0}
.foot-about strong{color:var(--c-text);font-weight:600}
.foot-links li{margin-bottom:8px}
.foot-links a{font-size:13.5px;color:var(--c-text-2);text-decoration:none}
.foot-links a:hover{color:var(--c-accent);text-decoration:underline;text-underline-offset:3px}
.foot-friend{display:flex;flex-wrap:wrap;gap:8px}
.foot-friend a{
  display:inline-flex;align-items:center;min-height:28px;padding:0 10px;
  border:1px solid var(--c-line);border-radius:var(--r-sm);
  background:var(--c-bg);color:var(--c-text-2);font-size:12.5px;text-decoration:none;
  transition:color var(--t-fast),border-color var(--t-fast);
}
.foot-friend a:hover{border-color:var(--c-accent);color:var(--c-accent)}
.foot-note{margin-top:14px;font-size:12px;line-height:1.8;color:var(--c-text-3)}
.foot-note code{font-family:var(--font-mono);font-size:11.5px;color:var(--c-text-3)}
.copyright{
  border-top:1px solid var(--c-line);padding-block:20px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:12.5px;color:var(--c-text-2);
}
.copyright .cc-links{display:flex;gap:18px;flex-wrap:wrap}
.copyright a{color:var(--c-text-2)}
.copyright a:hover{color:var(--c-accent)}

/* --------------------------------------------------------------------------
   6. 返回顶部（JS 切换 .show —— 出现态必须保留）
   -------------------------------------------------------------------------- */
.to-top{
  position:fixed;right:24px;bottom:24px;z-index:120;width:44px;height:44px;
  display:grid;place-items:center;
  background:var(--c-bg);color:var(--c-text);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);
  cursor:pointer;opacity:0;visibility:hidden;
  transition:opacity var(--t-panel),visibility var(--t-panel),border-color var(--t-fast),color var(--t-fast);
}
.to-top.show{opacity:1;visibility:visible}
.to-top:hover{border-color:var(--c-accent);color:var(--c-accent)}
.to-top svg{width:18px;height:18px}

/* --------------------------------------------------------------------------
   7. 通用页面框架（标题区 / 区块头 / 双栏）
   -------------------------------------------------------------------------- */
.page-banner{background:var(--c-bg);border-bottom:1px solid var(--c-line);padding-block:40px}
.page-banner h1{font-size:36px;line-height:1.2;font-weight:650;color:var(--c-text);overflow-wrap:break-word}
.page-banner h1 span{display:block;margin-top:8px;font-size:17px;line-height:1.5;font-weight:400;color:var(--c-text-2)}
.page-banner h1 small{
  display:inline-block;margin-left:12px;padding:3px 10px;vertical-align:middle;
  border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-bg);
  font-size:13px;font-weight:500;color:var(--c-text-2);
}
.page-banner p{color:var(--c-text-2);font-size:15px;line-height:1.8}
.page-banner p.banner-desc{margin-top:12px;max-width:68ch}

.section-head{margin-bottom:26px}
.section-head .kicker,.section-head .section-no{margin-bottom:8px}
.section-head h2{font-size:26px;line-height:1.3;font-weight:650;color:var(--c-text)}
.section-head p{margin-top:10px;max-width:66ch;color:var(--c-text-2);font-size:15px;line-height:1.8}
.section-head .meta,.section-head .count{font-size:13px;color:var(--c-text-3)}

/* 首页双栏：主栏 760 + 间距 80 + 侧栏 280 = 1120（DESIGN §2.3 主栅格） */
.page-grid,.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:80px;align-items:start}
.page-grid > main,.home-grid > main{min-width:0}
.page-grid > aside,.home-grid > aside{min-width:0}
.page-grid > main > section + section{margin-top:56px}

/* --------------------------------------------------------------------------
   8. 标题区（.page-title-block：H1 + 副标 + 说明 + 4 个页内锚点）
   -------------------------------------------------------------------------- */
.page-title-block,.title-block{padding-block:44px 36px;border-bottom:1px solid var(--c-line)}
.page-title-block h1,.title-block h1{font-size:44px;line-height:1.15;font-weight:650;letter-spacing:-.01em;color:var(--c-text);overflow-wrap:break-word}
.page-title-block h1 span,.title-block h1 span{display:block;margin-top:10px;font-size:17px;line-height:1.5;font-weight:400;color:var(--c-text-2)}
.page-title-block p,.title-block p{margin-top:14px;margin-bottom:0;max-width:66ch;font-size:15px;line-height:1.8;color:var(--c-text-2)}
.page-title-block p:last-of-type,.title-block p:last-of-type{margin-bottom:22px}
.page-title-block .page-meta,.title-block .page-meta,.page-title-block .title-meta,.title-block .title-meta,
.page-title-block .meta,.title-block .meta{margin-top:10px;font-size:13px;line-height:1.8;color:var(--c-text-3)}
.page-title-block a[href^="#"]{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-bg);font-size:13.5px;color:var(--c-text-2);text-decoration:none;white-space:nowrap;transition:border-color var(--t-fast),color var(--t-fast)}
.page-title-block a[href^="#"]:hover,.title-block a[href^="#"]:hover{border-color:var(--c-accent);background:var(--c-surface-3);color:var(--c-accent)}
.page-title-block a[href^="#"].active,.page-title-block a[href^="#"][aria-current="true"]{background:var(--c-accent);border-color:var(--c-accent);color:#FFFFFF;font-weight:600}
/* 锚点容器：只匹配「直接子元素全部是锚点」的容器，
   避免把含 h1/p 的外层（.shell）误判为横向条。 */
.page-title-block > *:has(> a[href^="#"]):not(:has(> :not(a[href^="#"]))),
.title-block > *:has(> a[href^="#"]):not(:has(> :not(a[href^="#"]))),
.page-title-block nav:has(> a[href^="#"]):not(:has(> :not(a[href^="#"]))),
.title-block nav:has(> a[href^="#"]):not(:has(> :not(a[href^="#"]))),
.page-title-block div:has(> a[href^="#"]):not(:has(> :not(a[href^="#"]))),
.title-block div:has(> a[href^="#"]):not(:has(> :not(a[href^="#"]))),
.page-title-block .anchor-nav,.page-title-block .page-anchors,.page-title-block .title-anchors,
.page-title-block .anchor-list,.title-block .anchor-nav,.title-block .page-anchors,.title-block .anchor-list{
  display:flex;flex-wrap:wrap;gap:8px;
}

/* Hero 外壳兜底：T1-04 取消大 Hero，若仍存在 .hero 容器则不加任何视觉包装 */
.hero{background:var(--c-bg);border-bottom:0}
.hero-inner{display:block;min-height:0;padding-block:0}
.hero-main{min-width:0}
.hero-lead{max-width:66ch;font-size:15px;line-height:1.8;color:var(--c-text-2)}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.ver-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ver-tags a{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--c-line);border-radius:var(--r-sm);font-size:12.5px;color:var(--c-text-2);text-decoration:none}
.ver-tags a:hover{border-color:var(--c-accent);color:var(--c-accent)}
/* 开区速览面板（备用结构）：极简线框，不使用卡片底色 */
.hero-panel{border-left:2px solid var(--c-accent);padding-left:16px;min-width:0}
.panel-title{font-size:17px;font-weight:600}
.panel-sub{margin-top:6px;font-size:13px;color:var(--c-text-2)}
.panel-steps{margin-top:14px;display:flex;flex-direction:column;gap:12px}
.step{padding-bottom:12px;border-bottom:1px solid var(--c-line)}
.step-no{font-size:13px;font-weight:600;color:var(--c-accent)}
.step-title{display:block;font-size:15px;font-weight:600;color:var(--c-text)}
.step-desc{display:block;margin-top:2px;font-size:12.5px;color:var(--c-text-2)}
.panel-foot{margin-top:14px;font-size:13.5px}

/* --------------------------------------------------------------------------
   9. 播报条（#tickerMove —— 元素与 id 必须保留；T1-04 为细分隔线下的静态横条）
   -------------------------------------------------------------------------- */
.ticker{
  display:flex;align-items:center;width:100%;height:38px;
  background:var(--c-bg);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);overflow:hidden;
}
.ticker-label{
  flex-shrink:0;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;
  border-right:1px solid var(--c-line);background:var(--c-bg);
  color:var(--c-accent);font-size:11.5px;font-weight:600;letter-spacing:.1em;
}
.ticker-label svg{width:13px;height:13px}
.ticker-track{flex:1;min-width:0;height:38px;overflow:hidden;position:relative}
.ticker-move{display:flex;align-items:center;height:38px;white-space:nowrap;width:max-content}
.ticker-item{display:inline-flex;align-items:center;gap:10px;padding-inline:16px;font-size:12.5px;color:var(--c-text-2)}
.ticker-item time{font-weight:600;color:var(--c-text)}
.ticker-item b{color:var(--c-text);font-weight:600}
.ticker-item .sep{width:3px;height:3px;flex-shrink:0;background:var(--c-line-strong);border-radius:50%}

/* --------------------------------------------------------------------------
   10. 今日开服表（#kaifu；表头 44 / 行高 52；不放在卡片里，只用一条外框线）
   -------------------------------------------------------------------------- */
.table-wrap{border:1px solid var(--c-line);background:var(--c-bg);min-width:0}
.table-head{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:12px 16px;border-bottom:1px solid var(--c-line);
}
.table-head h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}
.table-head h3 svg{width:15px;height:15px;color:var(--c-accent)}
.table-head .meta{font-size:12.5px;color:var(--c-text-3)}
.table-scroll{overflow-x:auto;overflow-y:hidden}
.kaifu-table{min-width:760px;font-size:14px}
.kaifu-table thead th{
  height:44px;padding:0 16px;text-align:left;white-space:nowrap;
  background:var(--c-surface);border-bottom:1px solid var(--c-line);
  font-size:12.5px;font-weight:600;color:var(--c-text-2);
}
.kaifu-table thead th:nth-child(1){width:110px}
.kaifu-table thead th:nth-child(2){width:190px}
.kaifu-table thead th:nth-child(3){width:110px}
.kaifu-table thead th:nth-child(4){width:150px}
.kaifu-table thead th:nth-child(5){width:84px}
.kaifu-table thead th:nth-child(6){width:76px}
.kaifu-table tbody td{height:52px;padding:0 16px;border-bottom:1px solid var(--c-line);color:var(--c-text-2);vertical-align:middle}
.kaifu-table tbody tr{transition:background-color var(--t-fast)}
.kaifu-table tbody tr[data-href]{cursor:pointer}
.kaifu-table tbody tr:hover{background:var(--c-surface)}
.kaifu-table tbody tr:hover .g-name{color:var(--c-accent);text-decoration:underline;text-underline-offset:3px}
.kaifu-table tbody tr:last-child td{border-bottom:0}
.kaifu-table tbody tr:focus-visible{outline:2px solid var(--c-focus);outline-offset:-2px}
.c-time{font-size:13px;font-weight:600;color:var(--c-text);white-space:nowrap}
.c-time small{display:block;font-family:var(--font-sans);font-size:11.5px;font-weight:400;color:var(--c-text-3)}
.g-name{font-size:15px;font-weight:600;color:var(--c-text);white-space:nowrap;transition:color var(--t-fast)}
.g-name small{display:block;font-family:var(--font-sans);font-size:11.5px;font-weight:400;color:var(--c-text-3);margin-top:2px}
.c-version{white-space:nowrap}
.c-line{color:var(--c-text-2)}
.c-state{text-align:left;white-space:nowrap}
/* .c-go 必须保持表格单元格语义：这里只写 td.c-go，绝不给 .c-go 设 display */
td.c-go{white-space:nowrap;text-align:right}
.c-go-arrow{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--c-accent);text-decoration:none}
.c-go-arrow svg{width:13px;height:13px;flex-shrink:0}
span.c-go{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--c-accent);text-decoration:none}
span.c-go svg{width:13px;height:13px;flex-shrink:0}
.kaifu-table tbody tr:hover .c-go-arrow,.kaifu-table tbody tr:hover span.c-go{color:var(--c-accent-deep)}
/* 首列吸附（横向滚动时不遮挡内容） */
.kaifu-table thead th:first-child,.kaifu-table tbody td:first-child{
  position:sticky;left:0;z-index:2;background:var(--c-bg);border-right:1px solid var(--c-line);
}
.kaifu-table thead th:first-child{background:var(--c-surface);z-index:3}
.kaifu-table tbody tr:hover td:first-child{background:var(--c-surface)}
.table-foot{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:12px 16px;border-top:1px solid var(--c-line);background:var(--c-surface-2);
}
.table-foot p{font-size:12.5px;line-height:1.8;color:var(--c-text-3);max-width:70ch}
.table-foot .btn-ghost{min-height:34px;padding:0 14px;font-size:13px}

/* --------------------------------------------------------------------------
   11. 六条补充记录（.card-grid 双列紧凑；无卡片底色、无阴影，只用 1px 底边）
   -------------------------------------------------------------------------- */
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.s-card{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;
  padding:14px 0;border-bottom:1px solid var(--c-line);background:none;
}
.s-card-top{order:1;display:flex;align-items:center;gap:8px;flex:0 0 auto}
.s-card h3{order:2;flex:1 1 auto;min-width:0;font-size:15px;line-height:1.4;font-weight:600;color:var(--c-text)}
.s-card .more{order:3;flex:0 0 auto;font-size:13px;font-weight:600;color:var(--c-accent);text-decoration:none;white-space:nowrap}
.s-card .more:hover{color:var(--c-accent-deep);text-decoration:underline;text-underline-offset:3px}
.s-card .spec{order:4;flex:0 0 100%;display:flex;flex-wrap:wrap;gap:6px 16px;margin:2px 0 0;font-size:12.5px;color:var(--c-text-3)}
.s-card .spec li{display:flex;gap:6px;white-space:nowrap}
.s-card .spec li b{font-weight:400;color:var(--c-text-3)}
.s-card .spec li span{color:var(--c-text-2)}
.s-card .tags{order:5;flex:0 0 100%;margin-top:4px}
.s-card .tag{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border:1px solid var(--c-line);border-radius:var(--r-sm);font-size:12px;color:var(--c-text-2)}
.s-card .brief{order:6;flex:0 0 100%;margin-top:6px;font-size:13px;line-height:1.7;color:var(--c-text-3)}
/* 精选短评 / 近期推荐卡（备用结构） */
.s-card--pick{border-left:2px solid var(--c-accent);padding-left:14px}
.pick-head{display:flex;align-items:baseline;gap:10px;order:1;flex:0 0 100%}
.pick-no{font-size:13px;font-weight:600;color:var(--c-accent)}
.pick-name{font-size:15px;font-weight:600;color:var(--c-text)}
.pick-meta{display:block;order:4;flex:0 0 100%;font-size:12.5px;color:var(--c-text-3)}

/* --------------------------------------------------------------------------
   12. 版本定义表（.compare；表头 44 / 行高 56；表下「判断顺序」用 2px 蓝左边线）
   -------------------------------------------------------------------------- */
.compare{min-width:760px;font-size:14px}
.compare thead th{
  height:44px;padding:0 16px;text-align:left;white-space:nowrap;
  background:var(--c-surface);border-bottom:1px solid var(--c-line);
  font-size:12.5px;font-weight:600;color:var(--c-text-2);
}
.compare thead th:first-child{width:120px}
.compare tbody th,.compare tbody td{
  height:56px;padding:0 16px;text-align:left;vertical-align:middle;
  border-bottom:1px solid var(--c-line);color:var(--c-text-2);line-height:1.7;
}
.compare tbody th{color:var(--c-text);font-weight:600;white-space:nowrap}
.compare tbody tr:last-child th,.compare tbody tr:last-child td{border-bottom:0}
.compare thead th:first-child,.compare tbody th:first-child{
  position:sticky;left:0;z-index:2;background:var(--c-bg);border-right:1px solid var(--c-line);
}
.compare thead th:first-child{background:var(--c-surface);z-index:3}
.compare-note{
  margin:20px 0 0;padding:2px 0 2px 16px;border-left:2px solid var(--c-accent);
  font-size:14px;line-height:1.85;color:var(--c-text-2);max-width:68ch;
}

/* --------------------------------------------------------------------------
   13. 四步排除法长文（#guide；编号 + 标题 + 正文 + 排除清单）
   -------------------------------------------------------------------------- */
#guide{display:block}
.guide-nav{
  display:flex;flex-wrap:wrap;gap:0;margin-bottom:32px;
  padding-bottom:12px;border-bottom:1px solid var(--c-line);
}
.guide-nav a{
  display:inline-flex;align-items:center;height:28px;padding:0 16px 0 0;margin-right:16px;
  font-size:13.5px;color:var(--c-text-2);text-decoration:none;
  transition:color var(--t-fast);
}
.guide-nav a:hover{color:var(--c-accent)}
.guide-body{min-width:0;max-width:760px}
.guide-section{padding-top:28px;margin-top:28px;border-top:1px solid var(--c-line);scroll-margin-top:80px}
.guide-section:first-child{padding-top:0;margin-top:0;border-top:0}
.guide-section h3{font-size:18px;line-height:1.45;font-weight:600;color:var(--c-text);margin-bottom:12px}
.guide-title{font-size:18px;line-height:1.45;font-weight:600;color:var(--c-text);margin-bottom:12px}
.guide-section p{font-size:16px;line-height:1.8;color:var(--c-text-2);margin:0 0 16px;max-width:68ch}
.guide-section p:last-child{margin-bottom:0}
.guide-section strong{color:var(--c-text);font-weight:600}
/* 排除清单：左侧 1px 细线，不生成文字（避免与正文里的「□」重复） */
.guide-section ul,.guide-section ol{margin:0 0 16px;padding:0;list-style:none;max-width:68ch}
.guide-section li{position:relative;padding:6px 0 6px 16px;border-left:1px solid var(--c-line);font-size:15.5px;line-height:1.8;color:var(--c-text-2)}
.guide-section li + li{border-top:0}
.guide-end{
  margin:24px 0 0;padding:14px 0 0;border-top:1px solid var(--c-line);
  font-size:15px;line-height:1.85;color:var(--c-text-2);
}
.guide-no{display:block;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--c-accent)}
.pull-quote,.pullquote,.quote,blockquote{
  margin:28px 0;padding:0 0 0 16px;max-width:32ch;border-left:2px solid var(--c-accent);
  font-size:20px;line-height:1.5;font-weight:600;color:var(--c-text);
}

/* --------------------------------------------------------------------------
   14. FAQ（#wenda：3 条；左侧序号 + 右侧 ＋/－；展开后左侧 2px 蓝线）
   -------------------------------------------------------------------------- */
.faq{max-width:760px}
.faq-item{border-bottom:1px solid var(--c-line)}
.faq-item h3{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}
.faq-q{
  position:relative;display:block;width:100%;padding:22px 44px 22px 0;
  background:none;border:0;text-align:left;cursor:pointer;
  font-size:17px;font-weight:600;line-height:1.4;color:var(--c-text);
  transition:color var(--t-fast);
}
.faq-q:hover{color:var(--c-accent)}
.faq-no{font-family:var(--font-num);font-size:13px;font-weight:600;color:var(--c-accent);margin-right:10px}
.faq-q .ico{
  position:absolute;right:0;top:20px;width:22px;height:22px;flex-shrink:0;
  border:1px solid var(--c-line-strong);border-radius:var(--r-xs);
}
.faq-q .ico::before,.faq-q .ico::after{
  content:"";position:absolute;top:50%;left:50%;background:var(--c-text-2);transform:translate(-50%,-50%);
}
.faq-q .ico::before{width:10px;height:1px}
.faq-q .ico::after{width:1px;height:10px;transition:opacity var(--t-fast)}
.faq-item.open .faq-q{color:var(--c-accent)}
.faq-item.open .faq-q .ico{border-color:var(--c-accent)}
.faq-item.open .faq-q .ico::after{opacity:0}
.faq-a{display:none;padding:0 44px 22px 0;font-size:15.5px;line-height:1.85;color:var(--c-text-2)}
.faq-item.open .faq-a{display:block;border-left:2px solid var(--c-accent);padding-left:18px}
.faq-a p{margin-bottom:12px}
.faq-a p:last-child{margin-bottom:0}
.faq-a strong{color:var(--c-text);font-weight:600}

/* --------------------------------------------------------------------------
   15. 侧栏（.side-rail：本页导航 / 收录概览 / 使用提醒 / 攻略入口）
   -------------------------------------------------------------------------- */
.side-rail{position:sticky;top:76px;display:flex;flex-direction:column;gap:32px;min-width:0}
.side-card{padding-top:16px;border-top:1px solid var(--c-line);min-width:0}
.side-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.side-head h3{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--c-text)}
.side-head h3 svg{width:15px;height:15px;color:var(--c-accent)}
.side-head .more{font-size:12.5px;color:var(--c-text-3);text-decoration:none}
.side-card h3{font-size:14px;font-weight:600;color:var(--c-text);margin-bottom:12px}
.side-card p{font-size:13.5px;line-height:1.8;color:var(--c-text-2)}
.side-card .side-text{font-size:13.5px;line-height:1.8;color:var(--c-text-2)}
.side-card .side-note{margin-top:10px;font-size:12px;line-height:1.75;color:var(--c-text-3)}
.side-card .side-link{margin-top:12px;font-size:13px}
.side-card .side-link a{font-weight:600}
/* 本页导航（页内锚点） */
.side-card a[href^="#"]{display:block;padding:7px 0 7px 12px;border-left:2px solid transparent;font-size:13px;line-height:1.6;color:var(--c-text-2);text-decoration:none;transition:color var(--t-fast),border-color var(--t-fast)}
.side-card a[href^="#"]:hover{color:var(--c-accent);border-left-color:var(--c-accent);background:var(--c-surface-3)}
.side-card a[href^="#"].active,.side-card a[href^="#"][aria-current="true"]{color:var(--c-accent);border-left-color:var(--c-accent);font-weight:600}
/* 使用提醒 / 攻略入口：条目用细线分隔 */
.side-card ul li{position:relative;padding:7px 0;border-bottom:1px solid var(--c-line);font-size:13.5px;line-height:1.75;color:var(--c-text-2)}
.side-card ul li:last-child{border-bottom:0}
.side-card ol li{position:relative;padding:7px 0 7px 20px;border-bottom:1px solid var(--c-line);font-size:13.5px;line-height:1.75;color:var(--c-text-2);counter-increment:sideStep}
.side-card ol{counter-reset:sideStep}
.side-card ol li::before{content:counter(sideStep);position:absolute;left:0;top:9px;font-family:var(--font-num);font-size:11.5px;font-weight:600;color:var(--c-accent)}
/* 收录概览 2×2 */
.side-stat{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px}
.side-stat .v{display:block;font-size:20px;font-weight:500;line-height:1.2;color:var(--c-text)}
.side-stat .k{display:block;margin-top:3px;font-size:12px;color:var(--c-text-3)}
/* 近期记录榜（备用结构） */
.rank{list-style:none;margin:0;padding:0}
.rank li{border-bottom:1px solid var(--c-line)}
.rank li:last-child{border-bottom:0}
.rank a{display:flex;align-items:center;gap:10px;padding:10px 0;text-decoration:none}
.rank .no{
  width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;
  border:1px solid var(--c-line);border-radius:var(--r-xs);
  font-size:11.5px;font-weight:600;color:var(--c-text-2);
}
.rank .rk-body{flex:1;min-width:0}
.rank .rk-name{display:block;font-size:13.5px;font-weight:600;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank a:hover .rk-name{color:var(--c-accent);text-decoration:underline;text-underline-offset:3px}
.rank .rk-meta{display:block;font-size:12px;color:var(--c-text-3)}
/* 站内评分 / 人气数字：不展示（DOM 契约 §6） */
.rank .rk-pop{display:none}

/* 收尾小注 */
.closing-note,.page-end,.end-note{
  margin-top:40px;padding:14px 0 0;border-top:1px solid var(--c-line);
  font-size:14px;line-height:1.85;color:var(--c-text-2);
}

/* 锚点跳转留白（页内链接不会被吸顶页头遮住） */
#kaifu,#guide,#wenda,#cards,#compare,#records,#title-block{scroll-margin-top:80px}

/* --------------------------------------------------------------------------
   16. 响应式（5 档：≥1280 基准 / 1024–1279 / 768–1023 / ≤767 / ≤390）
   -------------------------------------------------------------------------- */

/* 1024–1279：导航回到独立横条；侧栏收窄 */
@media (max-width:1279px){
  .site-header{position:sticky;top:0;z-index:101}
  .main-nav{position:static;margin-top:0;height:auto}
  .nav-bar{padding-left:24px;padding-right:24px}
  .brand{flex:0 0 auto}
  .search{flex:0 1 220px}
  .status{flex:0 0 auto}
  .status-stat{display:flex}
  .page-grid,.home-grid{grid-template-columns:minmax(0,1fr) 260px;gap:40px}
  .page-title-block h1,.title-block h1{font-size:38px}
  .section-head h2{font-size:24px}
  .foot-grid{gap:36px}
  .card-grid{column-gap:32px}
}

/* 768–1023：侧栏下移到正文之后；页头不再吸顶（移动端页头有两行，避免占用过多视口） */
@media (max-width:1023px){
  .shell{padding-inline:20px}
  .site-header{position:static}
  .page-grid,.home-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .side-rail{position:static;top:auto}
  .page-grid > main > section + section{margin-top:44px}
  .section{padding-block:48px}
  .section--tight{padding-block:32px}
  .section-head h2{font-size:23px}
  .page-banner{padding-block:32px}
  .page-banner h1{font-size:30px}
  .page-title-block,.title-block{padding-block:36px 28px}
  .page-title-block h1,.title-block h1{font-size:34px}
  .card-grid{column-gap:24px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .foot-about{grid-column:1/-1}
}

/* ≤767：单列；导航抽屉；搜索独占一行 44px；表格横向滚动 + 首列吸附 */
@media (max-width:767px){
  .header-bar{flex-wrap:wrap;gap:12px;min-height:0;padding-block:12px}
  .brand{flex:1 1 auto}
  .status{flex:0 0 auto}
  .search{order:3;flex:1 0 100%;max-width:none;margin-left:0}
  .search-field{height:44px}
  .search-btn{height:44px;width:68px}
  .status-stat{display:none}
  .nav-bar{flex-wrap:wrap;min-height:44px;gap:0}
  .nav-cta{order:1;margin-left:0;height:40px}
  .nav-toggle{display:grid;order:2;margin-left:auto}
  .nav-list{display:none;order:3;flex:1 0 100%;padding-block:8px;border-top:1px solid var(--c-line);overflow:visible;flex-direction:column;align-items:stretch;gap:2px}
  .nav-list.open{display:flex}
  .nav-list a{height:auto;padding:13px 12px;border-radius:var(--r-sm);font-size:14px}
  .nav-list a[aria-current="page"]{background:var(--c-accent);color:#FFFFFF}
  .page-title-block h1,.title-block h1{font-size:30px}
  .page-title-block h1 span,.title-block h1 span{font-size:15px}
  .page-title-block > *:has(> a[href^="#"]):not(:has(> :not(a[href^="#"]))),
  .title-block > *:has(> a[href^="#"]):not(:has(> :not(a[href^="#"]))),
  .page-title-block nav:has(> a[href^="#"]):not(:has(> :not(a[href^="#"]))),
  .page-title-block div:has(> a[href^="#"]):not(:has(> :not(a[href^="#"]))),
  .page-title-block .anchor-nav,.page-title-block .page-anchors,.page-title-block .title-anchors,
  .page-title-block .anchor-list{
    flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;
  }
  .page-title-block > *:has(> a[href^="#"]):not(:has(> :not(a[href^="#"])))::-webkit-scrollbar,
  .page-title-block nav:has(> a[href^="#"]):not(:has(> :not(a[href^="#"])))::-webkit-scrollbar,
  .page-title-block .anchor-nav::-webkit-scrollbar{display:none}
  .page-title-block a[href^="#"]{flex:0 0 auto;height:36px}
  .section-head h2{font-size:22px}
  .section{padding-block:40px}
  .section--tight{padding-block:28px}
  .page-banner{padding-block:28px}
  .page-banner h1{font-size:26px}
  .page-banner h1 span{font-size:15px}
  .card-grid{grid-template-columns:1fr}
  .kaifu-table thead th,.kaifu-table tbody td{padding-inline:12px}
  .compare thead th,.compare tbody th,.compare tbody td{padding-inline:12px}
  .table-head,.table-foot{padding-inline:12px}
  .table-foot .btn-ghost{width:100%}
  .guide-nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .guide-nav a{flex:0 0 auto}
  .guide-section p{font-size:16px;line-height:1.8}
  .faq-q{font-size:16px;padding-right:36px}
  .faq-q .ico{top:18px;width:20px;height:20px}
  .faq-a{padding-right:0;font-size:15px}
  .faq-item.open .faq-a{padding-left:16px}
  .foot-grid{grid-template-columns:1fr;gap:28px;padding-bottom:32px}
  .copyright{flex-direction:column;align-items:flex-start;gap:10px}
  .to-top{right:16px;bottom:16px;width:44px;height:44px}
  .side-rail{gap:28px}
}

/* ≤390：边距 16px；H1 30px；触控目标 ≥44px */
@media (max-width:390px){
  .shell{padding-inline:16px}
  .page-title-block h1,.title-block h1{font-size:30px}
  .section-head h2{font-size:21px}
  .brand-name{font-size:15px}
  /* 移动端触控目标：搜索 / 菜单 / CTA / 筛选均 ≥44px（DESIGN §8 验收点） */
  .search-btn,.nav-toggle,.nav-cta,.filter-tag{min-height:44px}
  .nav-toggle{width:44px;height:44px}
  .search-btn{height:44px}
  .filter-tag{padding:0 14px}
  .btn-primary,.btn-ghost{min-height:44px}
  .table-foot .btn-ghost{min-height:44px}
  .join-btn{min-height:44px}
  .faq-q{padding-top:18px;padding-bottom:18px}
  .foot-friend a{min-height:32px}
}

/* --------------------------------------------------------------------------
   17. 降低动效偏好：播报静止并允许横向滚动 / 平滑滚动关闭 / 过渡关闭
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important;
  }
  .ticker-move{animation:none!important;transform:none!important;width:max-content}
  .ticker-track{overflow-x:auto;overflow-y:hidden}
  .ticker-track::-webkit-scrollbar{height:4px}
  .ticker-track::-webkit-scrollbar-thumb{background:var(--c-line-strong);border-radius:var(--r-xs)}
}


/* --------------------------------------------------------------------------
   内联 SVG 尺寸兜底（总控 2026-10-21 增补）
   只写 viewbox、没写 width/height 的 inline SVG，若漏了对应 CSS 尺寸规则，
   会按 100% 宽撑满容器（曾出现 945×945 的时钟图标）。
   用 :where() 把特异性压到 (0,0,1)，保证任何显式尺寸规则都仍然优先，
   本条只在「完全没有尺寸规则」时兜底为 1em。
   -------------------------------------------------------------------------- */
svg:where(:not([width]):not([height])){width:1em;height:1em;flex-shrink:0}
