/* ============ 首屏 ============ */
.hero{background-image:var(--hero-wash); border-bottom:1px solid var(--line-soft)}
.hero-in{max-width:1320px; margin:0 auto; padding:76px 24px 60px}
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; letter-spacing:.08em;
  color:var(--fs-blue); background:var(--fs-blue-soft); padding:5px 12px; border-radius:100px}
.hero h1{
  margin:20px 0 0; font-size:clamp(30px,4.4vw,50px); line-height:1.2; font-weight:900;
  letter-spacing:-.02em; text-wrap:balance; max-width:19ch;
}
.hero h1 .hl{background:linear-gradient(180deg,transparent 62%,var(--fs-blue-soft) 62%); padding:0 2px}
.hero-sub{margin:20px 0 0; max-width:62ch; font-size:16.5px; color:var(--ink-2); line-height:1.8}
.hero-facts{display:flex; flex-wrap:wrap; gap:10px; margin-top:28px}
.fact{display:flex; align-items:baseline; gap:8px; background:var(--bg-card); border:1px solid var(--line);
  border-radius:100px; padding:7px 16px; box-shadow:var(--shadow-s); font-size:13.5px; color:var(--ink-2)}
.fact b{font-family:var(--mono); font-weight:600; font-size:15px; color:var(--ink); font-variant-numeric:tabular-nums}

/* 四场景因果条 */
.chain{margin-top:40px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.chain-card{background:var(--bg-card); border:1px solid var(--line); border-radius:var(--r-m); padding:16px 16px 14px;
  box-shadow:var(--shadow-s); position:relative; overflow:hidden}
.chain-card::before{content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--cc,var(--fs-blue))}
.chain-k{font-size:11.5px; font-weight:700; letter-spacing:.1em; color:var(--cc,var(--fs-blue)); text-transform:uppercase}
.chain-t{font-weight:700; margin-top:6px; font-size:15px; letter-spacing:-.01em}
.chain-d{font-size:13px; color:var(--ink-3); margin-top:4px; line-height:1.65}
.chain-r{margin-top:10px; font-size:12px; color:var(--ink-2); background:var(--bg-soft); border-radius:var(--r-s); padding:5px 9px; display:inline-block}
@media (max-width:900px){ .chain{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .chain{grid-template-columns:1fr} }

/* ============ 主体骨架 ============ */
.shell{max-width:1320px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:266px minmax(0,1fr); gap:48px; align-items:start}
.toc{position:sticky; top:56px; max-height:calc(100vh - 56px); overflow-y:auto; padding:32px 8px 60px 0; scrollbar-width:thin}
.toc::-webkit-scrollbar{width:6px} .toc::-webkit-scrollbar-thumb{background:var(--line); border-radius:3px}
.toc-h{font-size:11.5px; font-weight:700; letter-spacing:.12em; color:var(--ink-3); padding:0 12px 10px}
.toc a{display:block; padding:6px 12px; border-radius:var(--r-s); color:var(--ink-2); text-decoration:none;
  font-size:13.5px; line-height:1.5; border-left:2px solid transparent; margin-left:-2px}
.toc a:hover{background:var(--bg-soft); color:var(--ink)}
.toc a.lv1{font-weight:700; color:var(--ink); margin-top:14px}
.toc a.lv2{padding-left:22px; font-size:13px}
.toc a.on{color:var(--fs-blue); background:var(--fs-blue-wash); border-left-color:var(--fs-blue); font-weight:600}
.toc a:focus-visible{outline:2px solid var(--fs-blue); outline-offset:1px}
main{padding:40px 0 96px; min-width:0; max-width:880px}
@media (max-width:1040px){
  .shell{grid-template-columns:1fr; gap:0}
  .menu-btn{display:block}
  .toc{position:fixed; inset:56px auto 0 0; width:280px; background:var(--bg); border-right:1px solid var(--line);
    z-index:55; transform:translateX(-102%); transition:transform .22s ease; padding:24px 12px 60px; max-height:none; height:calc(100vh - 56px)}
  .toc.open{transform:none; box-shadow:var(--shadow-m)}
}

/* ============ 排版 ============ */
main h1{
  font-size:clamp(24px,3vw,34px); font-weight:900; letter-spacing:-.02em; line-height:1.3;
  margin:76px 0 22px; padding-top:30px; border-top:1px solid var(--line); text-wrap:balance; scroll-margin-top:80px;
}
main > h1:first-child{margin-top:8px; border-top:0; padding-top:0}
main h2{font-size:21px; font-weight:700; letter-spacing:-.015em; line-height:1.45; margin:52px 0 16px; text-wrap:balance; scroll-margin-top:80px}
main h3{font-size:16.5px; font-weight:700; margin:34px 0 12px; letter-spacing:-.01em; color:var(--ink)}
main h4{font-size:14.5px; font-weight:700; margin:24px 0 8px; color:var(--ink-2)}
main p{margin:14px 0; color:var(--ink-2)}
main p strong, li strong, td strong{color:var(--ink); font-weight:700}
main ul,main ol{margin:14px 0; padding-left:22px; color:var(--ink-2)}
main li{margin:7px 0}
main li::marker{color:var(--ink-4)}
main a{color:var(--fs-blue); text-decoration:none; border-bottom:1px solid color-mix(in srgb,var(--fs-blue) 35%,transparent)}
main a:hover{border-bottom-color:var(--fs-blue)}
main hr{border:0; border-top:1px solid var(--line-soft); margin:44px 0}
main h1 + hr, main h2 + hr{display:none}

/* 章节序号：h2 前的小蓝点 */
main h2::before{content:""; display:inline-block; width:6px; height:6px; border-radius:2px;
  background:var(--fs-blue); margin-right:10px; vertical-align:4px}

/* ============ 表格 ============ */
.tw{overflow-x:auto; margin:20px 0; border:1px solid var(--line); border-radius:var(--r-m); background:var(--bg-card); box-shadow:var(--shadow-s)}
table{border-collapse:collapse; width:100%; font-size:13.8px; line-height:1.7}
thead th{background:var(--bg-soft); color:var(--ink); font-weight:700; text-align:left; white-space:nowrap;
  padding:11px 14px; border-bottom:1px solid var(--line); font-size:13px; letter-spacing:.01em}
tbody td{padding:11px 14px; border-bottom:1px solid var(--line-soft); color:var(--ink-2); vertical-align:top}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:var(--bg-soft)}
td:first-child, th:first-child{padding-left:16px}
td code, th code{white-space:nowrap}

/* ============ 引用块 → 飞书文档高亮块 ============ */
blockquote{
  margin:20px 0; padding:16px 18px; border-radius:var(--r-m);
  background:var(--bg-soft); border:1px solid var(--line-soft); border-left:3px solid var(--ink-4); color:var(--ink-2);
}
blockquote > :first-child{margin-top:0} blockquote > :last-child{margin-bottom:0}
blockquote p{color:inherit; margin:10px 0}
blockquote.warn{background:color-mix(in srgb,var(--fs-orange) 8%,var(--bg)); border-color:color-mix(in srgb,var(--fs-orange) 22%,var(--line-soft)); border-left-color:var(--fs-orange)}
blockquote.star{background:color-mix(in srgb,var(--fs-blue) 7%,var(--bg)); border-color:color-mix(in srgb,var(--fs-blue) 20%,var(--line-soft)); border-left-color:var(--fs-blue)}
blockquote.stop{background:color-mix(in srgb,var(--fs-red) 7%,var(--bg)); border-color:color-mix(in srgb,var(--fs-red) 20%,var(--line-soft)); border-left-color:var(--fs-red)}
blockquote .tw{box-shadow:none}

/* ============ 代码 ============ */
pre{background:var(--bg-code); border:1px solid var(--line); border-radius:var(--r-m); padding:16px 18px;
  overflow-x:auto; margin:20px 0; line-height:1.62}
pre code{font-family:var(--mono); font-size:12.6px; color:var(--ink-2); white-space:pre; background:none; padding:0; border:0}
:not(pre) > code{font-family:var(--mono); font-size:.88em; background:var(--bg-code); border:1px solid var(--line-soft);
  padding:1px 5px; border-radius:4px; color:var(--fs-blue-deep)}

/* ============ 证据分级徽标（本文的结构装置）============ */
.tag{display:inline-flex; align-items:center; font-size:11.5px; font-weight:700; line-height:1.5;
  padding:1px 7px; border-radius:4px; letter-spacing:.02em; white-space:nowrap; vertical-align:1px; margin:0 1px}
.tag-src{background:color-mix(in srgb,var(--fs-purple) 12%,var(--bg)); color:var(--fs-purple)}
.tag-ver{background:color-mix(in srgb,var(--fs-teal) 15%,var(--bg)); color:color-mix(in srgb,var(--fs-teal) 80%,var(--ink))}
.tag-doc{background:color-mix(in srgb,var(--fs-blue) 12%,var(--bg)); color:var(--fs-blue)}
.tag-inf{background:color-mix(in srgb,var(--fs-orange) 13%,var(--bg)); color:color-mix(in srgb,var(--fs-orange) 85%,var(--ink))}
.docref{font-weight:600; color:var(--ink); border-bottom:1px dashed var(--ink-4); cursor:help}

/* ============ 优先级药丸 ============ */
.pri{display:inline-flex; align-items:center; gap:5px; font-family:var(--mono); font-size:11.5px; font-weight:600;
  padding:1px 8px; border-radius:100px; border:1px solid currentColor; margin-left:6px; vertical-align:2px; letter-spacing:.02em}
.pri-p0,.pri-p1{color:var(--fs-red)} .pri-p2{color:var(--fs-orange)} .pri-p3{color:var(--fs-blue)} .pri-p4{color:var(--ink-3)}

/* ============ 页脚 ============ */
footer{border-top:1px solid var(--line); background:var(--bg-soft)}
.foot-in{max-width:1320px; margin:0 auto; padding:34px 24px 46px; display:flex; flex-wrap:wrap; gap:18px; align-items:baseline}
.foot-in p{margin:0; font-size:13px; color:var(--ink-3)}
.foot-in .sp{flex:1}
.backtop{border:1px solid var(--line); background:var(--bg-card); color:var(--ink-2); border-radius:var(--r-s);
  padding:6px 14px; font:inherit; font-size:13px; cursor:pointer}
.backtop:hover{border-color:var(--fs-blue); color:var(--fs-blue)}
:focus-visible{outline:2px solid var(--fs-blue); outline-offset:2px; border-radius:3px}

/* 优先级药丸：色点 + 期号 */
.pri i{width:6px; height:6px; border-radius:50%; background:currentColor; display:inline-block; flex:none}
.pri-hi{color:var(--fs-red)} .pri-md{color:var(--fs-orange)} .pri-lo{color:var(--ink-3)}
.pri{border-color:color-mix(in srgb,currentColor 35%,transparent); background:color-mix(in srgb,currentColor 8%,var(--bg))}

/* 中文避头尾与行内断行 */
body{line-break:strict; word-break:normal; overflow-wrap:anywhere}
main p, main li, td, th, blockquote p{text-align:justify; text-justify:inter-character}
.hero-sub{max-width:640px; text-align:left}
main pre, main code{overflow-wrap:normal}
