/* site.css —— 个人研究主页样式
   同构自 caseos.cn 落地页视觉系统
   保留其视觉系统：680px 单栏 · 小号大写字距分节标题 · 左侧强调条卡片 · 键值身份行
   新增（本站需要）：epistemic 状态药丸 · 公式块 · 阅读路径卡 · 表格 */

:root{
  --bg:#ffffff; --fg:#16181d; --muted:#6b7280; --line:#e8eaee;
  --accent:#1a4fd8; --soft:#f7f8fa;
  --ok:#1a7f37; --okbg:#eaf6ec; --okline:#c6e6cc;
  --as:#8a6d3b; --asbg:#fff8e6; --asline:#f0e0b8;
  --cj:#8250df; --cjbg:#f6f0ff; --cjline:#e2d4f8;
  --emp:#0a6b7d; --empbg:#e8f6f9; --empline:#bfe3ec;
  --no:#b42318; --nobg:#fdecea; --noline:#f6cfca;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased}
body{background:var(--bg);color:var(--fg);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans SC",sans-serif;
  font-size:16px;line-height:1.8}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent}
a:hover{border-bottom-color:var(--accent)}
.wrap{max-width:680px;margin:0 auto;padding:64px 24px 48px}

/* 主页宣言：**刻意做成安静的引语**，不是横幅——
   无底色、无强调色、无边框盒、不居中、字号小于正文；
   只用一条与分隔线同色的细左规，读作"一句方法说明"，不读作"一次挑战"。 */
.declaration{font-size:15px;line-height:1.75;color:#4a5160;font-style:italic;
  border-left:2px solid var(--line);padding-left:14px;margin:18px 0 4px}
.declaration .en{display:block;font-size:13.5px;color:var(--muted);font-style:normal;margin-top:4px}

/* 主图：HTML + CSS + KaTeX（**不用 SVG**）
   为什么弃 SVG：SVG 里的希腊字母/上下标靠字体回退，在缺字体的机器上会被啃坏
   （Caus^op 出上标残留、κ 变怪字形、c₀ 显示成 C₀）。KaTeX 自带字体 ⇒ 到哪都一样。 */
.figure{margin:22px 0 10px;border:1px solid var(--line);border-radius:10px;
  background:#fff;padding:18px 16px 12px}
.figure figcaption{font-size:12.5px;color:var(--muted);margin-top:14px;line-height:1.7;
  border-top:1px solid var(--line);padding-top:10px}
.spine{display:flex;flex-direction:column;gap:0}
.spine-sec{position:relative;padding-left:104px}
.spine-sec + .spine-sec{margin-top:2px}
.spine-sec>.lab{position:absolute;left:0;top:2px;width:96px;
  font-size:9.5px;letter-spacing:.16em;color:var(--muted);line-height:1.5;text-align:right}
.spine-sec:before{content:"";position:absolute;left:96px;top:0;bottom:0;width:2px;
  background:var(--accent);opacity:.5;border-radius:2px}
.spine-sec>.inner{display:flex;flex-direction:column;align-items:center;gap:0;padding:2px 0 2px 14px}
.sbox{border:1px solid var(--line);background:var(--soft);border-radius:8px;
  padding:7px 14px;font-size:13.5px;color:#22262e;text-align:center;max-width:100%}
.sbox.hl{background:#f0f4ff;border-color:#c9d7f8;padding:9px 16px}
.sbox .slabel{display:block;font-size:9.5px;letter-spacing:.18em;color:var(--accent);margin-bottom:2px}
.sbox .math .katex{font-size:1.02em}
.sarrow{font-size:10.5px;color:var(--muted);padding:3px 0;line-height:1.7;text-align:center}
.sarrow:before{content:"↓";display:block;color:#c8cdd6;font-size:12px;line-height:1}
.sarrow.plain:before{content:"↓"}
.sbranch{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;width:100%}
.sbranch>.sbox{flex:1 1 180px}
.snote{font-size:11.5px;color:var(--muted);text-align:center;margin:4px 0 2px;line-height:1.7}
.sdivider{margin:14px 0 14px 104px;padding:14px 0 0;border-top:1px dashed var(--line);
  font-size:11.5px;color:var(--as);text-align:center;line-height:1.7}
@media(max-width:560px){
  .spine-sec{padding-left:0}
  .spine-sec:before{display:none}
  .spine-sec>.lab{position:static;width:auto;text-align:left;margin-bottom:6px}
  .spine-sec>.inner{padding-left:0}
  .sdivider{margin-left:0}
}

/* 顶部：语言切换 + 品牌 */
.lang{text-align:right;font-size:13px;color:var(--muted)}
.lang a{color:var(--muted);border-bottom:1px solid var(--line)}
.lang a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.brand{margin-top:28px;font-size:13px;letter-spacing:.28em;color:var(--muted);text-transform:uppercase}

/* 标题 */
h1{font-size:34px;line-height:1.35;font-weight:650;margin:14px 0 6px;letter-spacing:.01em}
.sub{font-size:15px;color:var(--muted);margin-bottom:34px}
h2{font-size:13px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase;
   margin:0 0 12px;font-weight:600}
h3{font-size:17px;font-weight:650;margin:26px 0 8px}
p.body{font-size:16px;color:#2a2f3a;margin-bottom:14px}
hr{border:0;border-top:1px solid var(--line);margin:26px 0}
ul,ol{padding-left:1.35em;margin-bottom:14px}
li{margin:5px 0;color:#2a2f3a}

/* 面包屑（深页用） */
.crumb{font-size:13px;color:var(--muted);margin-top:24px}
.crumb a{color:var(--muted);border-bottom:1px solid var(--line)}

/* 卡片：方向卡 / 步骤卡 / 阅读路径卡（同 caseos .dir） */
.dirs{display:flex;flex-direction:column;gap:14px;margin:4px 0 20px}
.dir{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;
     background:var(--soft);padding:14px 18px}
.dir b{display:block;font-size:16px;margin-bottom:5px;font-weight:650}
.dir b a{color:var(--accent)}
.dir span{font-size:14.5px;color:#3a4150;line-height:1.8;display:block}
.dir .num{font-size:12px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;display:block;margin-bottom:4px}

/* 步骤链（ontology → geometry → dynamics → observable） */
.chain{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 22px;font-size:14px}
.chain .n{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:5px 13px;color:#2a2f3a}
.chain .ar{color:var(--muted)}

/* epistemic 状态药丸 */
.pill{display:inline-block;font-size:11.5px;letter-spacing:.06em;border-radius:999px;
      padding:2px 10px;border:1px solid;vertical-align:middle;white-space:nowrap}
.pill.def{color:var(--muted);background:var(--soft);border-color:var(--line)}
.pill.thm{color:var(--ok);background:var(--okbg);border-color:var(--okline)}
.pill.asm{color:var(--as);background:var(--asbg);border-color:var(--asline)}
.pill.cjt{color:var(--cj);background:var(--cjbg);border-color:var(--cjline)}
.pill.emp{color:var(--emp);background:var(--empbg);border-color:var(--empline)}
.pill.no {color:var(--no);background:var(--nobg);border-color:var(--noline)}

/* 公式块（**由 LaTeX 预渲染**为 KaTeX HTML，页面不依赖客户 JS）
   旧的 Unicode 代码块样式保留给纯文本公式（如链条图示） */
.formula{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  font-size:13.5px;line-height:1.75;background:var(--soft);border:1px solid var(--line);
  border-radius:8px;padding:12px 14px;margin:10px 0 14px;overflow-x:auto;white-space:pre;color:#22262e}
.mathblock{margin:16px 0;overflow-x:auto;padding:2px 0}
.mathblock .katex-display{margin:0}
.mathblock .katex{font-size:1.06em}
.math{white-space:nowrap}
.katex{color:#16181d}
code{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
     font-size:13px;background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:1px 5px}

/* 提示块 */
.flag{display:inline-block;font-size:12px;color:var(--as);background:var(--asbg);
      border:1px solid var(--asline);border-radius:999px;padding:2px 12px;margin-top:14px}
.note{font-size:14px;color:#3a4150;background:var(--soft);border:1px solid var(--line);
      border-radius:10px;padding:14px 16px;margin:12px 0}
.note b{font-weight:600}
.note.warn{background:var(--asbg);border-color:var(--asline);color:#6b5325}
.note.stop{background:var(--nobg);border-color:var(--noline);color:#7a2018}

/* 表格 */
table{border-collapse:collapse;width:100%;margin:12px 0 18px;font-size:14px}
th,td{border:1px solid var(--line);padding:7px 11px;text-align:left;vertical-align:top}
th{background:var(--soft);font-weight:600;color:var(--muted);font-size:12.5px;
   letter-spacing:.06em;text-transform:uppercase}
td{color:#2a2f3a}

/* 身份键值行（同 caseos .identity） */
.identity{margin-top:8px}
.identity .row{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}
.identity .row:last-child{border-bottom:0}
.identity .k{flex:0 0 92px;color:var(--muted);font-size:14px}
.identity .v{color:#22262e}

/* 页脚：页内导航 + 版权 */
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:34px;
       padding-top:16px;border-top:1px solid var(--line);font-size:14px}
.pager .nx{text-align:right;margin-left:auto}
footer{margin-top:34px;font-size:12.5px;color:#9aa1ad;text-align:center;line-height:1.9}

@media(max-width:520px){
  .wrap{padding:40px 18px 32px}
  h1{font-size:27px}
  .identity .row{flex-direction:column;gap:2px}
  .identity .k{flex:none}
}

/* 核心殿堂（并入自内部陈列；承 131/135） */
.pillar{border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin:0 0 20px;background:#fff}
.pillar .pnum{font-size:11px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase}
.pillar h3{font-size:19px;margin:6px 0 10px;font-weight:650}
.pillar .affirm{font-size:15.5px;line-height:1.85;color:#22262e;margin-bottom:10px}
.pillar .evi{font-size:12.5px;color:var(--muted);line-height:1.75;margin-bottom:12px;
  border-left:2px solid var(--line);padding-left:12px}
.pillar blockquote{margin:0;padding:10px 14px;background:var(--soft);
  border-left:3px solid var(--line);border-radius:0 8px 8px 0;font-size:14.5px;color:#2a2f3a;line-height:1.85}
.pillar blockquote.zh{margin:0;padding:10px 14px;background:var(--soft);
  border-left:3px solid var(--line);border-radius:0 8px 8px 0;font-size:14.5px;color:#2a2f3a;line-height:1.85}

/* 页内目录（R2a-2） */
.toc{display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.toc b{letter-spacing:.08em}
.toc a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}

/* 引用文献（R2a-3） */
.refs{font-size:14px;line-height:1.9;color:#3a4150}
.scaf{background:#fff8e6;border:1px solid #f0e0b8;border-radius:8px;padding:12px 16px;
  font-size:13.5px;color:#6b5325}
.scaf b{display:block;margin-bottom:6px;color:#8a6d3b}
.scaf ul{margin:0;padding-left:1.2em}
.scaf li{margin:6px 0;line-height:1.8;color:#5c4a20}
.notice{margin:22px 0 8px;padding:14px 18px;border:1px dashed var(--line);border-radius:10px;
  background:#fbfbfd;font-size:15px;line-height:1.85;color:#22262e}
.dag{margin:20px 0}
.dag img{width:100%;height:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.dag figcaption{margin-top:8px;font-size:13px;color:var(--muted)}

/* 时间戳流水账（OTS1） */
.ts-wrap{overflow-x:auto;margin:12px 0 18px;-webkit-overflow-scrolling:touch}
.ts-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:1000px}
.ts-table th,.ts-table td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
.ts-table th{background:var(--soft);font-weight:600;color:var(--muted);font-size:12px;letter-spacing:.04em}
.ts-table td{color:#2a2f3a;line-height:1.6}
.ts-table code{font-size:12px;word-break:break-all}
.ts-sha .full{display:block;font-size:11px;color:var(--muted);margin-top:3px;word-break:break-all}
.ts-status.pending{color:#b07a1e}
.ts-status.confirmed{color:#2e7d32}
