/* ============================================================
   BEP 卷宗体样式系统 v1  (boundep.com)
   依据: 品牌呈现规范 v1.6 (BPS-2026-001) + 全量格式与语言规则 v1.1 (BFR-2026-001)
   设计令牌: 纸墨朱砂; 三线表; 旁注栏; 制式文件头
   当前发布串: R3.20260920（表格断词修复 + tcap 表题）
   ============================================================ */

:root {
  --paper: #FAF7F2;   /* 纸白 */
  --paper2: #F1EEE7;  /* 纸灰(二级底/旁注栏底) */
  --ink: #1A1815;     /* 暖墨黑 */
  --gray: #5F5B54;    /* 铅灰 */
  --line: #D8D3C8;    /* 线灰 */
  --vermilion: #C3272B; /* 朱砂(唯一强调色) */
  --serif: "Noto Serif SC", "Songti SC", "SimSun", serif;
  --sans: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --mono: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  --gara: "EB Garamond", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--vermilion); text-decoration: none; }   /* 唯一强调色用于链接 */
a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 顶部导航 ---------- */
.site-nav {
  border-bottom: 1px solid var(--line);
  background: var(--paper);
  position: sticky; top: 0; z-index: 50;
}
.site-nav .inner {
  max-width: 1100px; margin: 0 auto; padding: 0.7rem 1.4rem;
  display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
}
.brand {
  display: flex; align-items: center; gap: 0.6rem; white-space: nowrap; flex-shrink: 0;
  font-family: var(--serif); font-weight: 700; font-size: 1.12rem; color: var(--ink);
}
.brand .seal {
  width: 34px; height: 34px; border: 2px solid var(--vermilion); border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  color: var(--vermilion); font-family: var(--serif); font-size: 0.5em;
  letter-spacing: 0.06em; line-height: 1; text-align: center; white-space: nowrap;
  padding: 2px; flex: 0 0 auto;
}
.nav-links { display: flex; gap: 1.4rem; flex-wrap: wrap; }
.nav-links a { color: var(--gray); font-size: 0.92rem; }
.nav-links a.active { color: var(--ink); border-bottom: 2px solid var(--vermilion); }

/* ---------- 页面容器 ---------- */
.page { max-width: 1100px; margin: 0 auto; padding: 1.6rem 1.4rem 3rem; }
.breadcrumb { font-size: 0.8rem; color: var(--gray); margin-bottom: 1rem; }

/* ---------- 制式文件头(文章) ---------- */
.file-header {
  font-family: var(--mono); font-size: 0.82rem; color: var(--gray);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: 0.65rem 0.2rem 0.65rem 0; margin: 0.9rem 0 1.6rem 0;
  display: flex; flex-wrap: wrap; gap: 0.4rem 1.6rem;
}
.file-header .idx { color: var(--vermilion); font-weight: 600; }
.file-header .tag-draft { color: var(--vermilion); }
.file-header .tag-pub { color: var(--ink); }

/* ---------- 文章标题区 ---------- */
.article-title {
  font-family: var(--serif); font-weight: 700; font-size: 1.85rem;
  line-height: 1.45; margin: 0 0 0.5rem 0;
}
.article-sub { font-family: var(--gara); color: var(--gray); font-size: 1.02rem; margin: 0 0 1rem 0; }
.byline { font-size: 0.86rem; color: var(--gray); margin-bottom: 1.8rem;
  display: flex; gap: 1.4rem; flex-wrap: wrap; }

/* ---------- 摘要 ---------- */
.abstract {
  border-left: 3px solid var(--vermilion);
  background: var(--paper2);
  padding: 1rem 1.3rem; margin: 1.4rem 0 2rem;
  font-size: 0.95rem; color: var(--ink);
}

/* ---------- 文章主体(带旁注栏) ---------- */
.article-layout { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 1024px) {
  .article-layout { grid-template-columns: minmax(0, 880px) 264px; }
  .article-main { order: 1; }
  .article-aside { order: 2; }
}

/* ---------- 标题层级 ---------- */
h2.sec {
  font-family: var(--serif); font-weight: 700; font-size: 1.35rem;
  margin: 2.6rem 0 1rem; padding-bottom: 0.45rem;
  border-bottom: 1px solid var(--line);
}
h2.sec .secno { color: var(--vermilion); margin-right: 0.5rem; }
h3.sub { font-family: var(--sans); font-weight: 600; font-size: 1.1rem; margin: 1.8rem 0 0.7rem; }
p { margin: 0 0 0.9rem; }
strong { font-weight: 600; }
blockquote {
  margin: 1.1rem 0; padding: 0.45rem 0 0.45rem 1rem;
  border-left: 2px solid var(--vermilion); color: var(--gray);
  font-family: var(--serif); font-size: 0.96rem;
}
sup.ref { font-size: 0.7em; }

/* ---------- 三线表 (Nature) ---------- */
.table-wrap { overflow-x: auto; margin: 1.4rem 0 1.9rem; }
table.data {
  border-collapse: collapse; width: 100%;
  border-top: 1.5px solid var(--ink); border-bottom: 1.5px solid var(--ink);
  font-size: 0.9rem;
}
table.data thead th {
  border-bottom: 0.8px solid var(--line);
  font-weight: 600; letter-spacing: 0.02em;
  text-align: left; padding: 0.55rem 0.7rem; white-space: nowrap;
}
table.data tbody td { padding: 0.55rem 0.7rem; vertical-align: top; }
table.data tbody tr td:not(:first-child) { text-align: left; }
table.data td.num, table.data th.num { text-align: right; font-family: var(--mono); font-size: 0.85em; }
.cap {
  margin: -1.7rem 0 2rem; font-size: 0.85rem; color: var(--gray); line-height: 1.6;
}
.cap b { color: var(--ink); }

/* ---------- 图 ---------- */
figure {
  margin: 1.6rem 0 2.1rem; text-align: center;
}
figure img { max-width: 100%; height: auto; border: 1px solid var(--line); background: #fff; }
figcaption {
  text-align: left; font-size: 0.85rem; color: var(--gray);
  margin-top: 0.5rem; line-height: 1.65;
}
figcaption b { color: var(--ink); }

/* ---------- 旁注栏 ---------- */
.article-aside { font-size: 0.84rem; }
.article-aside .note-card {
  background: var(--paper2); border-left: 1px solid var(--line);
  padding: 0.7rem 0.9rem; margin-bottom: 1rem; line-height: 1.6;
}
.article-aside .note-card b { color: var(--ink); }
.article-aside .note-card .term { color: var(--vermilion); }
@media (max-width: 1023px) {
  .article-aside { font-size: 0.86rem; }
}

/* ---------- 文献 ---------- */
.reflist { font-size: 0.86rem; line-height: 1.7; }
.reflist ol { padding-left: 1.4rem; }
.reflist li { margin-bottom: 0.35rem; }
.reflist .refgroup { font-weight: 600; color: var(--gray); margin: 1rem 0 0.4rem; }

/* ---------- 卷尾注/修订/免责 ---------- */
.meta-block { border-top: 1px solid var(--line); margin-top: 2.6rem; padding-top: 1.2rem; }
.disclaimer {
  font-size: 0.85rem; color: var(--gray); background: var(--paper2);
  padding: 0.9rem 1.1rem; margin-top: 1.4rem; line-height: 1.7;
}

/* ---------- 页脚 ---------- */
footer.site-footer {
  border-top: 1px solid var(--line); margin-top: 2.5rem;
  padding: 1.1rem 1.4rem 1.6rem; font-size: 0.8rem; color: var(--gray);
}
footer.site-footer .inner { max-width: 1100px; margin: 0 auto; display: flex;
  flex-wrap: wrap; gap: 0.6rem 2rem; justify-content: space-between; }

/* ---------- 首页: 卷宗索引 ---------- */
.hero { margin: 1.4rem 0 2.2rem; }
.hero h1 { font-family: var(--serif); font-size: 2.1rem; margin: 0 0 0.3rem; }
.hero .motto { font-family: var(--gara); color: var(--gray); font-size: 1.05rem; }
.hero .lead { max-width: 62ch; color: var(--ink); margin-top: 1rem; }
.section-head {
  display: flex; align-items: baseline; gap: 0.8rem; margin: 2rem 0 0.9rem;
}
.section-head h2 { font-family: var(--serif); font-size: 1.3rem; margin: 0; }
.section-head .line { flex: 1; border-top: 1px solid var(--line); }
.section-head .fl { color: var(--vermilion); font-size: 0.8rem; letter-spacing: 0.15em; }
.entry-card {
  border: 1px solid var(--line); background: #fff; padding: 0.9rem 1.1rem;
  margin-bottom: 0.8rem; display: block; color: var(--ink);
}
.entry-card:hover { border-color: var(--vermilion); }
.entry-card .meta { font-family: var(--mono); font-size: 0.74rem; color: var(--gray); margin-bottom: 0.3rem; }
.entry-card .t { font-family: var(--serif); font-weight: 700; font-size: 1.02rem; }
.entry-card .d { font-size: 0.86rem; color: var(--gray); margin-top: 0.25rem; }

/* 小工具 */
.nowrap { white-space: nowrap; }
.mono { font-family: var(--mono); font-size: 0.88em; }

/* ============================================================
   响应式深度适配 R1 —— 全终端（375px 手机 → 1440px² 桌面）
   ============================================================ */
img { max-width: 100%; height: auto; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }

/* 标题流式缩放 */
.article-title { font-size: clamp(1.42rem, 4.6vw, 1.85rem); }
.hero h1 { font-size: clamp(1.65rem, 5.4vw, 2.1rem); }

/* 窄屏（手机/大屏手机单列） */
@media (max-width: 767px) {
  body { font-size: 0.98rem; }
  .site-nav .inner { gap: 0.7rem; padding: 0.55rem 0.9rem; }
  .brand { font-size: 1.0rem; gap: 0.45rem; }
  .brand .seal { width: 29px; height: 29px; }
  .nav-links { gap: 0.85rem; }
  .nav-links a { font-size: 0.86rem; }
  .page { padding: 1.05rem 0.9rem 2.1rem; }
  .breadcrumb { font-size: 0.74rem; margin-bottom: 0.7rem; }
  .file-header { font-size: 0.76rem; gap: 0.35rem 0.9rem; padding: 0.55rem 0.1rem; }
  .article-sub { font-size: 0.92rem; }
  .byline { gap: 0.5rem 1rem; font-size: 0.8rem; margin-bottom: 1.2rem; }
  .abstract { padding: 0.8rem 0.95rem; font-size: 0.9rem; }
  h2.sec { font-size: 1.16rem; margin: 1.9rem 0 0.75rem; }
  h3.sub { font-size: 1.0rem; margin: 1.4rem 0 0.55rem; }
  p { margin-bottom: 0.7rem; }
  blockquote { padding: 0.4rem 0 0.4rem 0.85rem; font-size: 0.92rem; }
  .table-wrap { margin: 1.0rem 0 1.4rem; }
  table.data { font-size: 0.79rem; }
  table.data thead th, table.data tbody td { padding: 0.42rem 0.5rem; }
  table.data thead th { white-space: normal; }
  .cap { font-size: 0.78rem; margin: -1.3rem 0 1.4rem; }
  figure { margin: 1.2rem 0 1.6rem; }
  figcaption { font-size: 0.79rem; }
  .article-aside { font-size: 0.8rem; }
  .note-card { padding: 0.55rem 0.75rem; margin-bottom: 0.8rem; }
  .section-head { margin: 1.5rem 0 0.7rem; }
  .section-head h2 { font-size: 1.12rem; }
  .entry-card { padding: 0.7rem 0.85rem; }
  .entry-card .t { font-size: 0.98rem; }
  footer.site-footer .inner { flex-direction: column; align-items: flex-start; gap: 0.45rem; }
  footer.site-footer { padding: 0.9rem 0.9rem 1.3rem; }
}

/* 极窄屏（≤400px：小屏手机与折叠屏外屏） */
@media (max-width: 400px) {
  .brand { font-size: 0.95rem; }
  .brand .seal { width: 26px; height: 26px; }
  .nav-links { gap: 0.7rem; }
  .nav-links a { font-size: 0.8rem; }
  table.data { font-size: 0.74rem; }
  .file-header { font-size: 0.72rem; }
}

/* 平板（768–1023px）：保持单列阅读，调节间距 */
@media (min-width: 768px) and (max-width: 1023px) {
  .page { padding: 1.3rem 1.6rem 2.4rem; }
  table.data { font-size: 0.84rem; }
}

/* 打印（导出/尽调场景） */
@media print {
  .site-nav { display: none; }
  body { background: #fff; }
  .page { max-width: none; padding: 0; }
  .article-aside { display: none; }
  figure, .table-wrap { break-inside: avoid; }
  table.data { font-size: 0.72rem; }
  a { color: inherit; }
}

/* long-formula-guard */

/* 长 URL/文献防溢出（篇三起启用；2026-09-20 修订：不再作用于表格单元格，
   表中英文单词恢复整词换行——anywhere 曾导致 td 内英文被任意字母处折断） */
.article-main p, .reflist li, code.mono, .abstract {
  overflow-wrap: break-word; word-break: normal;
}
table.data td, table.data th { overflow-wrap: normal; word-break: normal; }
p.tcap { font-size: 0.85rem; color: var(--gray); margin: 0.3rem 0 0.4rem; line-height: 1.6; }
p.tcap b { color: var(--ink); }
figure img { max-width: 100%; }
.toc a { display: block; margin: 0.1rem 0; }

/* home-v2 */

/* 首页新版：英雄徽章 / 最新双卡 / 头条卡 */
.hero-badges { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1.1rem 0 0.2rem; }
.hero-badges a { display: inline-flex; align-items: center; gap: 0.4rem; border: 1px solid var(--line,#D8D3C8);
  border-radius: 999px; padding: 0.28rem 0.75rem; font-size: 0.82rem; color: var(--gray); }
.hero-badges a:hover { border-color: var(--vermilion); color: var(--ink); }
.hero-badges .fl { font-size: 0.68rem; margin: 0; }
.latest-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem; margin: 0.9rem 0 1.6rem; }
@media (max-width: 767px) { .latest-pair { grid-template-columns: 1fr; } }
.entry-card.featured { border-left: 3px solid var(--vermilion); }
.entry-card.featured .t { font-size: 1.08rem; }

/* kb-nav */

/* ============ 知识树导航（Obsidian 式）kb-nav ============ */
.kb-rail { position: fixed; top: 0; left: 0; bottom: 0; width: 232px; overflow-y: auto;
  background: #FAF7F2; border-right: 1px solid var(--line,#D8D3C8); padding: 1rem 0.9rem 2rem; z-index: 40; }
.kb-rail .kb-brand { display: block; font-family: var(--serif); font-weight: 700; font-size: 1.02rem;
  color: var(--ink); margin: 0.1rem 0.2rem 0.8rem; }
.kb-rail .kb-brand small { display:block; font-family: var(--gara); font-weight:400; color: var(--gray); font-size:0.72rem; }
.kb-tree, .kb-tree details { margin: 0; }
.kb-tree summary { cursor: pointer; list-style: none; padding: 0.32rem 0.4rem; border-radius: 5px;
  font-size: 0.88rem; color: var(--ink); user-select: none; }
.kb-tree summary::-webkit-details-marker, .kb-tree summary::marker { display: none; content: ""; }
.kb-tree summary .tw { display: inline-block; width: 1.1em; color: var(--gray); font-size: 0.72rem; }
.kb-tree details[open] > summary .tw::before { content: "▾"; }
.kb-tree details:not([open]) > summary .tw::before { content: "▸"; }
.kb-tree summary:hover { background: var(--paper,#F1EDE6); }
.kb-tree ul { list-style: none; margin: 0 0 0.7rem 0; padding: 0 0 0 0.85rem; border-left: 1px solid var(--line,#E5E0D6); }
.kb-tree li { margin: 0.05rem 0; }
.kb-tree a { display: block; padding: 0.28rem 0.45rem; border-radius: 5px; font-size: 0.84rem; color: var(--gray); }
.kb-tree a:hover { background: var(--paper,#F1EDE6); color: var(--ink); }
.kb-tree a.active { background: #FBF0EE; color: var(--vermilion); font-weight: 600; }
.kb-tree .kb-note { font-size: 0.72rem; color: var(--gray); padding: 0.2rem 0.45rem; }
.kb-close { display: none; }
@media (min-width: 1024px) {
  body { margin-left: 232px; }
}
@media (max-width: 1023px) {
  .kb-rail { position: fixed; top: 0; left: 0; bottom: 0; width: 272px; transform: translateX(-100%);
    transition: transform .22s ease; box-shadow: none; }
  .kb-rail.open { transform: translateX(0); box-shadow: 0 0 30px rgba(26,24,21,.18); }
  .kb-rail .kb-close { display:block; text-align:right; font-size: 0.8rem; color: var(--gray); padding: 0.2rem 0.3rem 0.4rem; }
  .kb-rail .kb-close button { border:1px solid var(--line,#D8D3C8); background:#fff; border-radius:5px; padding:0.18rem 0.55rem; cursor:pointer; }
  body.kb-open { overflow: hidden; }
  .kb-mask { display:none; position:fixed; inset:0; background:rgba(26,24,21,.25); z-index:39; }
  body.kb-open .kb-mask { display:block; }
  .kb-bar { display:block; position: sticky; top: 0; z-index: 30; background: #FAF7F2;
    border-bottom: 1px solid var(--line,#D8D3C8); padding: 0.45rem 0.9rem; }
  .kb-bar button { border: 1px solid var(--line,#D8D3C8); background: #fff; border-radius: 5px;
    padding: 0.3rem 0.7rem; font-size: 0.86rem; cursor: pointer; }
}
@media (min-width: 1024px) { .kb-bar, .kb-mask { display: none; } }

/* kb-nav-v2 */

/* kb-nav v2：零 JS 纯 CSS */
.kb-cb { position: absolute; }
.kb-btn { display: none; }
.kb-mask { display: none; }
.kb-rail .kb-close { display: none; }
@media (max-width: 1023px) {
  .kb-btn { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid var(--line,#D8D3C8);
    background: #fff; border-radius: 999px; padding: .22rem .62rem; font-size: .82rem; color: var(--gray); cursor: pointer; }
  .kb-rail { position: fixed; top: 0; left: 0; bottom: 0; width: 274px; transform: translateX(-102%);
    transition: transform .22s ease; z-index: 41; }
  #kb-cb:checked ~ .kb-rail { transform: translateX(0); box-shadow: 0 0 30px rgba(26,24,21,.2); }
  .kb-rail .kb-close { display: block; text-align: right; margin: 0.2rem 0.2rem 0.4rem;
    font-size: 0.8rem; color: var(--gray); cursor: pointer; }
  
  #kb-cb:checked ~ .kb-mask { display: block; position: fixed; inset: 0; background: rgba(26,24,21,.25); z-index: 40; }
}

/* kb-nav-v3：单一吸顶导航（消除双 sticky 互穿） */
@media (max-width: 1023px) {
  .site-nav { box-shadow: 0 1px 0 rgba(26,24,21,.06); }
  .site-nav .inner { row-gap: .35rem; }
  .nav-links { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; max-width: 100%; }
  .nav-links::-webkit-scrollbar { display: none; }
  .kb-btn { flex: 0 0 auto; }
}

/* kb-nav-v4：抽屉覆盖导航（避免顶栏探头） */
@media (max-width: 1023px) {
  .kb-rail { z-index: 60; }
  #kb-cb:checked ~ .kb-mask { z-index: 59; }
  .kb-rail .kb-close { position: sticky; top: 0; background: #FAF7F2; }
}

/* ================= kb-nav v5 · 移动端导航全量重构 ================= */
/* 锚点跳转不被吸顶栏遮挡 */
h1, h2, h3, h4, .sec, .sub, [id] { scroll-margin-top: 96px; }
@media (min-width: 1024px) { h1, h2, h3, h4, .sec, .sub, [id] { scroll-margin-top: 84px; } }

@media (max-width: 1023px) {
  /* 单行吸顶栏：品牌 + ☰（导航链接收进抽屉，避免两行占位遮内容） */
  .site-nav .inner { flex-wrap: nowrap; gap: .5rem; padding: .5rem .85rem; align-items: center; }
  .nav-links { display: none; }
  .kb-btn { display: inline-flex; flex: 0 0 auto; margin-left: auto; }

  /* 抽屉：全屏面板，自身可滚，覆盖导航 */
  .kb-rail { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%;
    height: 100dvh; max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch; z-index: 70; padding: 0 1rem 4rem;
    transform: translateY(-101%); transition: transform .24s ease; box-shadow: none; }
  #kb-cb:checked ~ .kb-rail { transform: translateY(0); }
  .kb-rail .kb-close { position: sticky; top: 0; z-index: 2; background: #FAF7F2;
    display: flex; align-items: center; justify-content: space-between;
    padding: .7rem 0 .6rem; margin-bottom: .4rem; border-bottom: 1px solid var(--line,#E5E0D6);
    font-size: .9rem; color: var(--ink); }
  .kb-rail .kb-close::before { content: "站内目录"; font-family: var(--serif); font-weight: 700; }
  .kb-rail .kb-close::after { content: "收起 ×"; color: var(--vermilion); }
  .kb-rail .kb-close { font-size: 0; }
  .kb-rail .kb-close::before, .kb-rail .kb-close::after { font-size: .92rem; }
  .kb-tree summary { padding: .5rem .35rem; font-size: .95rem; }
  .kb-tree a { padding: .45rem .5rem; font-size: .9rem; }
  .kb-tree ul { padding-left: .9rem; }
  #kb-cb:checked ~ .kb-mask { display: block; position: fixed; inset: 0; z-index: 65;
    background: rgba(26,24,21,.35); }
  body.kb-open { overflow: hidden; }
}

/* kb-nav v5b：关闭行布局修正 */
@media (max-width: 1023px) {
  .kb-rail .kb-close { display: flex !important; justify-content: space-between; align-items: center; }
}

/* ============================================================
   R4 纸墨卷宗深化层（2026-09-21）——去 AI 默认审美
   技术取材：墨色纪律（朱砂让位印章/编号/引用角标）· 章节编号延线
   · 竖排侧标 · 登记簿式条目（发丝线分隔取代卡片）· 双细线文件头
   ============================================================ */

/* 1. 墨色纪律：链接回归墨色，朱砂只留给印章/编号/状态/引用角标 */
a { color: var(--ink); }
a:hover { color: var(--vermilion); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
sup.ref a, a.ref-jump { color: var(--vermilion); }
sup.ref a:hover, a.ref-jump:hover { text-decoration: underline; }
.kb-tree a.active { color: var(--vermilion); }
.file-header .idx, .file-header .tag-draft { color: var(--vermilion); }
.entry-card:hover .t { color: var(--vermilion); }
table.data td a, .reflist li a { color: inherit; border-bottom: 1px dotted var(--line); text-decoration: none; }
table.data td a:hover, .reflist li a:hover { color: var(--vermilion); border-bottom-color: var(--vermilion); }

/* 2. 章节编号延线：标题 + 延伸至版心的发丝线（印刷目录工艺） */
h2.sec { display: flex; align-items: baseline; gap: 1rem; border-bottom: none; padding-bottom: 0; }
h2.sec::after { content: ""; flex: 1 1 auto; min-width: 2.5rem; border-bottom: 1px solid var(--line); transform: translateY(-0.32em); }
h3.sub { border-bottom: none; }

/* 3. 制式文件头：双细线（档案公文的 double rule） */
.file-header { border-top: 3px double var(--line); border-bottom: 3px double var(--line); }

/* 4. 登记簿条目：去卡片化——发丝线分行、悬停仅变色、无圆角无填充 */
.entry-card { border: none; border-radius: 0; background: transparent; padding: 0.85rem 0 0.95rem; border-top: 1px solid var(--line); }
.entry-card:last-child { border-bottom: 1px solid var(--line); }
.entry-card:hover { border-top-color: var(--line); background: transparent; }
.entry-card .t { transition: color .15s ease; }
.entry-card .meta { font-size: 0.72rem; letter-spacing: 0.05em; }
.entry-card.featured { border-left: none; }
.entry-card.featured .t { font-size: 1.18rem; }
.latest-pair { grid-template-columns: 1fr; gap: 0; }
@media (max-width: 767px) {
  .entry-card { padding: 0.7rem 0 0.8rem; }
  .entry-card.featured .t { font-size: 1.05rem; }
}

/* 5. 板块徽章去 pills：等宽小字 + 竖线分隔的纯文字导航 */
.hero-badges { gap: 0; }
.hero-badges a { border: none; border-radius: 0; padding: 0.15rem 0.8rem 0.15rem 0; font-family: var(--mono); font-size: 0.78rem; letter-spacing: 0.06em; color: var(--gray); }
.hero-badges a:hover { color: var(--vermilion); text-decoration: none; }
.hero-badges a + a { border-left: 1px solid var(--line); padding-left: 0.8rem; }
.hero-badges .fl { color: var(--vermilion); font-size: 0.68rem; margin-right: 0.45rem; }

/* 6. 目录登记化：点线引导的印刷目录行 */
.toc { border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); padding: 0.7rem 0 0.8rem; }
.toc b { font-family: var(--mono); font-size: 0.78rem; letter-spacing: 0.2em; color: var(--gray); }
.toc a { display: block; margin: 0; padding: 0.32rem 0; border-bottom: 1px dotted var(--line); font-size: 0.9rem; }
.toc a:last-child { border-bottom: none; }
.toc a:hover { color: var(--vermilion); text-decoration: none; }

/* 7. 竖排侧标（中文直排工艺，仅桌面） */
.v-text { writing-mode: vertical-rl; letter-spacing: 0.32em; font-family: var(--serif); }
@media (max-width: 1023px) { .v-text { writing-mode: horizontal-tb; letter-spacing: 0.12em; } }

/* 8. 知识树按钮去 pills */
.kb-btn { border-radius: 0; background: transparent; font-family: var(--mono); font-size: 0.76rem; letter-spacing: 0.04em; }
.kb-btn:hover { color: var(--vermilion); border-color: var(--ink); }

/* 9. 报头（首页 home-v3） */
.masthead { border-bottom: 2px solid var(--ink); padding: 1.6rem 0 0.9rem; }
.mast-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.mast-title { font-family: var(--serif); font-weight: 700; font-size: clamp(2.2rem, 6.4vw, 3.4rem); line-height: 1.15; margin: 0; letter-spacing: 0.04em; }
.mast-en { display: block; font-family: var(--gara); font-weight: 400; font-size: 0.32em; color: var(--gray); letter-spacing: 0.14em; margin-top: 0.35rem; }
.mast-side { font-size: 0.82rem; color: var(--gray); padding-top: 0.3rem; }
.mast-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.35rem 1.1rem; margin-top: 1rem; padding-top: 0.55rem; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 0.74rem; letter-spacing: 0.05em; color: var(--gray); }
.mast-meta a { font-family: var(--mono); font-size: 0.74rem; color: var(--gray); }
.mast-meta a:hover { color: var(--vermilion); }
@media (max-width: 767px) {
  .masthead { padding: 1.1rem 0 0.7rem; }
  .mast-side { display: none; }
  .mast-meta { gap: 0.3rem 0.8rem; }
}

/* R4b 复审修订层（2026-09-21 · claude xhigh + codex astra-high 双审后） */
/* 导语独立行长（裸 p 曾横贯版心） */
.lead { max-width: 42em; font-family: var(--serif); font-size: 1.02rem; color: var(--gray); margin: 1.4rem 0 0; }
/* 英文副题：独立字号下限 + 小写字距收敛（字距只配全大写） */
.mast-en { font-size: clamp(0.82rem, 1.5vw, 1.02rem); letter-spacing: 0.03em; }
/* 竖排侧标改绝对定位，不再撑高报头 */
.masthead { position: relative; }
.mast-side { position: absolute; right: 0; top: 1.5rem; }
/* 登记组底线由 registry 统一提供；说明行不再被 .cap 负边距回拉 */
.registry { border-bottom: 1px solid var(--line); }
.registry + .cap, .table-wrap + .cap { margin-top: 0.5rem; }
.entry-card .t a { color: inherit; text-decoration: none; }
.entry-card .t a:hover { color: var(--vermilion); text-decoration: underline; text-underline-offset: 3px; }
.entry-card:has(a) .t { transition: color .15s ease; }
.entry-card:has(a):hover .t { color: var(--vermilion); }
.entry-card.pending .t { color: var(--gray); }
/* 章节标签统一等宽字系 */
.section-head .fl { font-family: var(--mono); font-size: 0.78rem; letter-spacing: 0.08em; }
/* 印章做实（阳文实底直角），桌面端顶栏品牌让位给知识树侧栏 */
.brand .seal { background: var(--vermilion); color: var(--paper); border: none; border-radius: 0; font-size: 0.42em; }
@media (min-width: 1024px) { .site-nav .brand { display: none; } }
/* 知识树去 Obsidian 皮：直角 + 侧线反馈（修悬停同色无反馈 bug） */
.kb-tree summary { border-radius: 0; }
.kb-tree summary:hover { background: var(--paper2); }
.kb-tree a { border-radius: 0; }
.kb-tree a:hover { background: transparent; color: var(--ink); box-shadow: inset 2px 0 0 var(--ink); }
.kb-tree a.active { background: transparent; box-shadow: inset 2px 0 0 var(--vermilion); }
/* R4c 收尾微调：日期/状态列不换行 */
table.data td.nw, table.data th.nw { white-space: nowrap; }

/* ============================================================
   R5 焦点化层（2026-09-21 · 3-Agent 讨论定案：一件主件，其余入册）
   ============================================================ */
/* 卷首主件：全页唯一视觉主角，双细线框界 */
.hero-piece { border-top: 3px double var(--ink); border-bottom: 3px double var(--ink); padding: 1.3rem 0 1.5rem; margin: 1.6rem 0 2.2rem; }
.hp-meta { font-family: var(--mono); font-size: 0.74rem; letter-spacing: 0.05em; color: var(--gray); margin-bottom: 0.8rem; }
.hp-tag { color: var(--vermilion); margin-right: 0.7rem; letter-spacing: 0.2em; }
.hp-title { display: block; font-family: var(--serif); font-weight: 700; font-size: clamp(1.55rem, 5.2vw, 2.35rem); line-height: 1.35; color: var(--ink); margin: 0 0 0.7rem; }
.hp-title:hover { color: var(--vermilion); text-decoration: none; }
.hp-sub { font-size: 0.92rem; color: var(--gray); margin: 0 0 1rem; max-width: 42em; }
.hp-read { font-family: var(--mono); font-size: 0.86rem; color: var(--vermilion); letter-spacing: 0.08em; }
.hp-read:hover { text-decoration: underline; text-underline-offset: 3px; }
/* 报头收敛半档，降噪 */
.mast-title { font-size: clamp(1.9rem, 5vw, 2.7rem); }
/* 区块标签让位（灰，不再抢戏） */
.section-head .fl { color: var(--gray); }
@media (max-width: 767px) {
  .hero-piece { padding: 1rem 0 1.2rem; margin: 1.2rem 0 1.8rem; }
}

/* ============================================================
   R6 移动端表格分流（2026-09-21 · BFR v1.2 裁决点 #5）
   cardable：窄屏行卡片（data-label 静态注入，零 JS）
   wide：窄屏横滚 + 首列冻结；打印保持桌面三线表
   ============================================================ */
@media (max-width: 767px) {
  table.data.cardable { display: block; border-top: none; border-bottom: none; }
  table.data.cardable thead { display: none; }
  table.data.cardable tbody { display: block; }
  table.data.cardable tr {
    display: block; border: 1px solid var(--line); border-top: 1.2px solid var(--ink);
    padding: 0.5rem 0.7rem; margin: 0 0 0.9rem; background: #fff;
  }
  table.data.cardable td { display: block; padding: 0.22rem 0; border: none; text-align: left; }
  table.data.cardable td::before {
    content: attr(data-label);
    font-family: var(--mono); font-size: 0.72rem; color: var(--gray);
    margin-right: 0.6rem; letter-spacing: 0.03em;
  }
  table.data.cardable td:first-child::before { content: none; }
  table.data.cardable td:first-child { font-weight: 600; border-bottom: 1px dotted var(--line); margin-bottom: 0.25rem; padding-bottom: 0.35rem; }
  table.data.wide { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  table.data.wide { min-width: 620px; }
  table.data.wide th:first-child, table.data.wide td:first-child {
    position: sticky; left: 0; background: var(--paper); z-index: 1;
    box-shadow: 1px 0 0 var(--line);
  }
}
@media print {
  table.data.cardable, table.data.cardable tbody, table.data.cardable tr, table.data.cardable td { display: revert; }
  table.data.cardable thead { display: revert; }
  table.data.cardable td::before { content: none; }
  table.data.cardable tr { border: none; padding: 0; margin: 0; background: transparent; }
}
