/* ═══════════════════════════════════════════════
   灰星内部终端 · 样式
   分七层：变量 → 基础 → 启动 → 骨架 → 导航 → 文档 → 模块
   ═══════════════════════════════════════════════ */

/* ─────────── 1. 变量 ─────────── */
:root{
  /* 颜色 */
  --bg:#07080a;
  --bg1:#0a0c0f;
  --line:rgba(150,175,185,.10);
  --line2:rgba(150,175,185,.22);
  --ink:#c6ccd2;
  --ink2:#8a9299;
  --ink3:#575e65;
  --acc:#79b4c6;
  --warn:#c2a06a;
  --alert:#bd7a72;
  --ok:#8fbf9a;

  /* 字体 */
  --sans:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei',system-ui,sans-serif;
  --mono:'JetBrains Mono','SFMono-Regular',Consolas,'PingFang SC',monospace;
}

/* ─────────── 2. 基础 ─────────── */
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:13px;
  line-height:1.55;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}

/* 屏幕质感：极淡扫描线 + 边缘暗角 */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.35;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px);
}
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:100;
  background:radial-gradient(125% 105% at 50% 38%,transparent 52%,rgba(0,0,0,.45) 100%);
}

::selection{background:rgba(121,180,198,.25);color:#fff}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-thumb{background:rgba(150,175,185,.16);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(150,175,185,.28)}
::-webkit-scrollbar-track{background:transparent}

/* ─────────── 3. 启动页 ─────────── */
.boot{
  position:fixed;inset:0;z-index:200;background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .9s ease,visibility .9s;
}
.boot.gone{opacity:0;visibility:hidden;pointer-events:none}

.boot-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(150,175,185,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(150,175,185,.05) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(60% 60% at 50% 50%,#000 0%,transparent 100%);
          mask-image:radial-gradient(60% 60% at 50% 50%,#000 0%,transparent 100%);
}

.boot-inner{position:relative;width:min(460px,86vw);text-align:center}

.boot-mark{color:var(--acc);opacity:.85;margin-bottom:26px}

.boot-org{font-size:17px;letter-spacing:.34em;text-indent:.34em;color:var(--ink)}
.boot-sub{font-family:var(--mono);font-size:8.5px;letter-spacing:.28em;
  color:var(--ink3);margin-top:8px}

.boot-prompt{margin-top:60px;font-family:var(--mono);font-size:10px;letter-spacing:.22em;
  color:var(--acc);cursor:pointer;animation:bp 2.4s ease-in-out infinite}
.boot-prompt[hidden]{display:none}
@keyframes bp{0%,100%{opacity:.35}50%{opacity:1}}

.caret{display:inline-block;width:6px;height:11px;background:var(--acc);vertical-align:-1px;
  margin-left:6px;animation:bc 1s steps(2) infinite}
@keyframes bc{0%,50%{opacity:1}51%,100%{opacity:0}}

/* ─────────── 4. 应用骨架 ─────────── */
#app{
  position:fixed;inset:0;
  display:grid;grid-template-rows:46px 1fr;
  opacity:0;transition:opacity 1.1s ease .1s;
}
#app.ready{opacity:1}

/* 顶栏 */
.bar{display:flex;align-items:center;position:relative;
  background:linear-gradient(180deg,#0b0e11,#08090b)}
.bar-t{border-bottom:1px solid var(--line);padding:0 18px;justify-content:space-between;gap:20px}
.bar-t::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(121,180,198,.28),transparent);opacity:.6}

.bar-l{display:flex;align-items:center;gap:12px;min-width:0}
.mark{color:var(--acc);flex:none}
.org{display:flex;flex-direction:column;min-width:0}
.org-cn{font-size:12.5px;letter-spacing:.20em;color:var(--ink);white-space:nowrap}
.org-en{font-family:var(--mono);font-size:7.5px;letter-spacing:.22em;color:var(--ink3);
  white-space:nowrap;margin-top:2px}

.bar-c{display:flex;gap:8px;align-items:center}
.tag{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--ink2);
  border:1px solid var(--line2);padding:4px 9px;white-space:nowrap}
.tag-warn{border-color:rgba(194,160,106,.4);color:var(--warn);background:rgba(194,160,106,.06)}

/* 主区：两栏 */
.main{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:0}

/* ─────────── 5. 导航 ─────────── */
.nav{border-right:1px solid var(--line);background:var(--bg1);
  display:flex;flex-direction:column;min-height:0}

.nav-hd{padding:13px 16px 11px;font-family:var(--mono);font-size:8.5px;letter-spacing:.2em;
  color:var(--ink3);border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:baseline}
.nav-hd b{color:var(--ink2);font-weight:400}

.nav-list{flex:1;overflow-y:auto;padding:6px 0}

.nav-item{position:relative;display:grid;grid-template-columns:42px 1fr;gap:6px;
  padding:11px 16px;cursor:pointer;border-left:2px solid transparent;
  transition:background .18s,border-color .18s}
.nav-item .idx{font-family:var(--mono);font-size:9px;color:var(--ink3);
  padding-top:2px;transition:color .18s}
.nav-item .lbl{font-size:12.5px;letter-spacing:.1em;color:var(--ink2);transition:color .18s}
.nav-item .en{display:block;font-family:var(--mono);font-size:8px;
  letter-spacing:.2em;color:var(--ink3);margin-top:3px}
.nav-item:hover{background:rgba(121,180,198,.045)}
.nav-item:hover .lbl{color:var(--ink)}
.nav-item.on{border-left-color:var(--acc);background:rgba(121,180,198,.075)}
.nav-item.on .lbl{color:#e2e7ea}
.nav-item.on .idx{color:var(--acc)}

/* ─────────── 6. 舞台 ─────────── */
.stage{position:relative;min-height:0;overflow:hidden;background:var(--bg)}

.mod{position:absolute;inset:0;opacity:0;transform:translateY(4px);
  transition:opacity .4s ease,transform .4s ease;overflow-y:auto}
.mod.on{opacity:1;transform:none}

/* ─────────── 7. 文档排版 ─────────── */
.doc{max-width:720px;margin:0 auto;padding:40px 44px 70px}

.doc-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  padding:12px 16px;border:1px solid var(--line);background:var(--bg1);
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--ink3);
  margin-bottom:24px}
.doc-head .dh-sep{color:rgba(87,94,101,.7)}

.doc-title{font-size:26px;font-weight:500;letter-spacing:.06em;color:#e8ecef;
  margin:0 0 8px;line-height:1.3}
.doc-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;
  color:var(--ink3);margin-bottom:20px}

.doc-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:26px}
.doc-meta > div{background:var(--bg);padding:11px 14px}
.doc-meta .mk{font-family:var(--mono);font-size:8px;letter-spacing:.18em;color:var(--ink3)}
.doc-meta .mv{font-family:var(--mono);font-size:11px;color:var(--ink);
  margin-top:6px;letter-spacing:.04em}

.doc-body{font-family:var(--sans);font-size:14px;line-height:1.95;
  color:#b3bac2;letter-spacing:.015em}
.doc-body p{margin:0 0 16px}
.doc-body p:last-child{margin-bottom:0}
.doc-body strong{color:#dfe4e8;font-weight:500}
.doc-link{padding:0;border:0;background:none;color:var(--acc);font:inherit;
  text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.doc-body h3{font-family:var(--mono);font-size:10px;letter-spacing:.22em;
  color:var(--acc);font-weight:400;margin:32px 0 14px;padding-top:8px}
.doc-body h3:first-child{margin-top:0}

.doc-rev{margin-top:32px;padding-top:16px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  color:var(--ink3);display:flex;flex-wrap:wrap;gap:16px}

/* 密级徽章 */
.cls{font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;padding:3px 8px;
  border:1px solid;white-space:nowrap;display:inline-block}
.cls-pub{color:var(--ink3);border-color:rgba(150,175,185,.25);background:rgba(150,175,185,.04)}
.cls-int{color:var(--acc);border-color:rgba(121,180,198,.38);background:rgba(121,180,198,.06)}
.cls-res{color:var(--warn);border-color:rgba(194,160,106,.42);background:rgba(194,160,106,.07)}
.cls-sec{color:var(--alert);border-color:rgba(189,122,114,.45);background:rgba(189,122,114,.07)}

/* 术语 */
.term{border-bottom:1px dashed rgba(121,180,198,.42);cursor:help;
  transition:border-color .18s,color .18s}
.term:hover{border-bottom-color:rgba(121,180,198,.9);color:#dfe4e8}

/* 术语提示框 */
.tip{position:fixed;z-index:300;pointer-events:none;max-width:280px;
  padding:9px 12px;background:#0d1014;border:1px solid rgba(121,180,198,.35);
  font-family:var(--sans);font-size:11.5px;line-height:1.7;
  color:var(--ink);letter-spacing:.02em;
  opacity:0;transform:translateY(3px);
  transition:opacity .15s ease,transform .15s ease;
  box-shadow:0 6px 24px rgba(0,0,0,.55)}
.tip.on{opacity:1;transform:translateY(0)}
.tip-k{font-family:var(--mono);font-size:8px;letter-spacing:.22em;
  color:var(--acc);display:block;margin-bottom:5px}
.tip-b{display:block}

/* ─────────── 8. 列表式模块（档案库 / 规程） ─────────── */
.split{display:grid;grid-template-columns:280px minmax(0,1fr);height:100%;min-height:0}

.split-side{border-right:1px solid var(--line);background:var(--bg1);
  display:flex;flex-direction:column;min-height:0;overflow-y:auto}

.side-hd{padding:13px 16px 11px;font-family:var(--mono);font-size:8.5px;
  letter-spacing:.2em;color:var(--ink3);border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;position:sticky;top:0;
  background:var(--bg1);z-index:2}

.side-group{padding:14px 16px 6px;font-family:var(--mono);font-size:8px;
  letter-spacing:.22em;color:var(--ink3)}

.side-item{padding:11px 16px;border-left:2px solid transparent;cursor:pointer;
  border-bottom:1px solid var(--line);transition:background .18s,border-color .18s}
.side-item:hover{background:rgba(121,180,198,.04)}
.side-item.on{background:rgba(121,180,198,.075);border-left-color:var(--acc)}
.si-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.si-id{font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;
  color:var(--acc);opacity:.75}
.si-cls{font-family:var(--mono);font-size:7.5px;letter-spacing:.16em}
.si-cls.cls-pub{color:var(--ink3);opacity:.8}
.si-cls.cls-int{color:var(--acc);opacity:.7}
.si-cls.cls-res{color:var(--warn);opacity:.85}
.si-cls.cls-sec{color:var(--alert);opacity:.9}
.si-title{font-size:12.5px;color:var(--ink2);margin-top:4px;
  letter-spacing:.05em;line-height:1.4}
.side-item.on .si-title{color:#e2e7ea}

.split-detail{overflow-y:auto;background:var(--bg)}

/* 档案库搜索框 */
.db-search{padding:12px 14px;border-bottom:1px solid var(--line);flex-shrink:0}
.db-search input{width:100%;background:var(--bg);border:1px solid var(--line2);
  color:var(--ink);font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  padding:7px 10px;outline:none;transition:border-color .18s}
.db-search input:focus{border-color:rgba(121,180,198,.55)}
.db-search input::placeholder{color:var(--ink3);letter-spacing:.14em}

/* 分类标签 */
.db-cats{display:flex;flex-wrap:wrap;gap:1px;padding:10px 12px;
  border-bottom:1px solid var(--line);flex-shrink:0}
.db-cat{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;
  padding:4px 8px;border:1px solid var(--line);color:var(--ink3);
  cursor:pointer;transition:all .18s}
.db-cat:hover{color:var(--ink2);border-color:var(--line2)}
.db-cat.on{color:var(--acc);border-color:rgba(121,180,198,.45);
  background:rgba(121,180,198,.06)}

/* 列表容器：滚动区 */
.db-list{flex:1;overflow-y:auto;padding:4px 0}

/* 相关条目按钮 */
.ref{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
  padding:5px 10px;border:1px solid var(--line2);color:var(--ink2);
  cursor:pointer;transition:all .18s;background:var(--bg1);display:inline-block}
.ref:hover{color:var(--acc);border-color:rgba(121,180,198,.5);
  background:rgba(121,180,198,.05)}

/* 文档：相关条目区 */
.doc-related{margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}
.doc-related-h{font-family:var(--mono);font-size:8.5px;letter-spacing:.22em;
  color:var(--ink3);margin-bottom:12px}
.doc-related-list{display:flex;flex-wrap:wrap;gap:8px}

/* 规程：特殊段落与步骤 */
.warn-t{color:var(--warn)}
.alert-t{color:var(--alert)}
.mn-quote{margin:22px 0;padding:16px 20px;
  border-left:2px solid rgba(121,180,198,.4);
  background:rgba(121,180,198,.035);
  font-size:13.5px;line-height:1.9;color:var(--ink2);letter-spacing:.02em}
.mn-quote em{font-style:normal;color:var(--acc);font-family:var(--mono);
  font-size:10.5px;letter-spacing:.14em;display:block;margin-bottom:8px}
.mn-step{display:grid;grid-template-columns:22px 1fr;gap:12px;
  padding:9px 0;border-bottom:1px solid var(--line)}
.mn-step:last-child{border-bottom:none}
.mn-step .sn{font-family:var(--mono);font-size:9.5px;color:var(--ink3);
  letter-spacing:.06em;padding-top:3px}
.mn-step .st{font-size:13.5px;line-height:1.85;color:var(--ink2)}

/* ─────────── 9. 图谱模块 ─────────── */
.atlas-wrap{display:grid;grid-template-columns:220px minmax(0,1fr);height:100%;min-height:0}
.atlas-list{overflow-y:auto;border-right:1px solid var(--line);background:var(--bg1)}
.atlas-right{display:grid;grid-template-rows:minmax(0,1.05fr) minmax(0,1fr);
  min-height:0;overflow:hidden}
.atlas-map{position:relative;overflow:hidden;
  background:radial-gradient(70% 70% at 50% 45%,#0b0e12 0%,#07080a 100%);
  border-bottom:1px solid var(--line)}
.atlas-map svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.atlas-detail{overflow-y:auto;background:var(--bg1);padding:22px 28px 32px}

.ring-svg{fill:none;stroke:rgba(150,175,185,.18);stroke-width:1;
  transition:stroke .2s,fill .2s;cursor:pointer}
.ring-svg:hover{stroke:rgba(121,180,198,.6);fill:rgba(121,180,198,.04)}
.ring-svg.on{stroke:rgba(121,180,198,.85);fill:rgba(121,180,198,.07)}

.ring-label{font-family:var(--mono);font-size:11px;
  fill:rgba(150,175,185,.55);pointer-events:none;letter-spacing:.16em}
.ring-label.on{fill:rgba(121,180,198,.95)}
.atlas-center{fill:rgba(121,180,198,.10);stroke:rgba(121,180,198,.5);stroke-width:1}

.atlas-item{padding:11px 16px;border-bottom:1px solid var(--line);cursor:pointer;
  border-left:2px solid transparent;transition:background .18s,border-color .18s}
.atlas-item:hover{background:rgba(121,180,198,.04)}
.atlas-item.on{background:rgba(121,180,198,.075);border-left-color:var(--acc)}
.atlas-item .ai-id{font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;
  color:var(--acc);opacity:.7}
.atlas-item .ai-name{font-size:12.5px;color:var(--ink2);margin-top:4px;letter-spacing:.06em}
.atlas-item.on .ai-name{color:#e2e7ea}
.atlas-item .ai-meta{font-family:var(--mono);font-size:8px;letter-spacing:.14em;
  color:var(--ink3);margin-top:4px}

/* ─────────── 10. 响应式 ─────────── */
@media (max-width:860px){
  .main{grid-template-columns:1fr}
  #app{grid-template-rows:46px auto minmax(0,1fr)}
  .main{grid-row:2}
  .bar-c{display:none}
  .split,.atlas-wrap{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .split-side,.atlas-list{max-height:200px;
    border-right:none;border-bottom:1px solid var(--line)}
  .doc{padding:24px 22px 50px}
}
/* ═══════════════════════════════════════════════
   补充：新目录结构样式
   ═══════════════════════════════════════════════ */

/* 侧栏组标题稍作强调 */
.side-group{
  padding:18px 16px 8px;
  font-size:8.5px;
  letter-spacing:.24em;
  color:var(--acc);
  opacity:.75;
  text-transform:none;
}
.side-group:first-child{padding-top:14px}

/* 空组提示 */
.side-empty{
  padding:10px 16px 14px;
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.14em;
  color:var(--ink3);
  opacity:.6;
}

/* 条目上的标签：必读 / 补充 */
.si-tags{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}
.si-tag{
  font-family:var(--mono);
  font-size:7.5px;
  letter-spacing:.16em;
  padding:2px 6px;
  border:1px solid;
  white-space:nowrap;
}
.si-tag-req{
  color:var(--warn);
  border-color:rgba(194,160,106,.5);
  background:rgba(194,160,106,.08);
}
.si-tag-note{
  color:var(--ink3);
  border-color:rgba(150,175,185,.28);
  background:rgba(150,175,185,.04);
}

/* 侧栏条目：只显示标题，字号稍大一点 */
.side-item .si-title{
  font-size:13px;
  letter-spacing:.06em;
  line-height:1.45;
}

/* 无序列表 */
.doc-list{
  margin:0 0 16px;
  padding-left:22px;
  list-style:none;
}
.doc-list li{
  position:relative;
  padding:3px 0 3px 0;
  color:#b3bac2;
  font-size:13.5px;
  line-height:1.9;
}
.doc-list li::before{
  content:'·';
  position:absolute;
  left:-16px;
  color:var(--acc);
  font-family:var(--mono);
}
/* ═══════════════════════════════════════════════
   补充：二级导航 + 行内链接
   ═══════════════════════════════════════════════ */

/* ── 子条目容器 ── */
.side-sub{
  border-bottom:1px solid var(--line);
  background:rgba(0,0,0,.18);
}

/* ── 子条目 ── */
.side-sub-item{
  position:relative;
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:8px 16px 8px 32px;
  cursor:pointer;
  border-left:2px solid transparent;
  transition:background .18s,border-color .18s;
}
.side-sub-item:hover{background:rgba(121,180,198,.05)}

.side-sub-item .sub-mark{
  font-family:var(--mono);
  font-size:9px;
  color:var(--ink3);
  opacity:.5;
  flex:none;
  transition:color .18s,opacity .18s;
}
.side-sub-item .sub-title{
  font-size:12px;
  letter-spacing:.06em;
  color:var(--ink2);
  transition:color .18s;
}

.side-sub-item:hover .sub-title{color:var(--ink)}
.side-sub-item:hover .sub-mark{color:var(--acc);opacity:.9}

/* 子条目激活 */
.side-sub-item.on{
  background:rgba(121,180,198,.07);
  border-left-color:var(--acc);
}
.side-sub-item.on .sub-title{color:#e2e7ea}
.side-sub-item.on .sub-mark{color:var(--acc);opacity:1}

/* ── 父条目：子条目激活时的标记 ── */
.side-item.parent-active{
  border-left-color:rgba(121,180,198,.35);
}
.side-item.parent-active .si-title{color:var(--ink)}

/* ── 行内链接：点击阅读 ── */
.doc-link-wrap{
  margin:20px 0 22px;
  padding-left:0;
}
.doc-link{
  display:inline-block;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.14em;
  color:var(--acc);
  padding:7px 14px 7px 12px;
  border:1px solid rgba(121,180,198,.35);
  background:rgba(121,180,198,.05);
  cursor:pointer;
  transition:background .18s,border-color .18s,color .18s;
  user-select:none;
}
.doc-link:hover{
  background:rgba(121,180,198,.11);
  border-color:rgba(121,180,198,.7);
  color:#c8e3ec;
}
.doc-link::after{
  content:'';
  display:inline-block;
  width:0;
  transition:width .2s;
}
/* ═══════════════════════════════════════════════
   补充：三级导航
   ═══════════════════════════════════════════════ */

/* 三级条目：缩进更深，标记更小 */
.side-sub-item-2{
  padding-left:48px;
  background:rgba(0,0,0,.08);
}
.side-sub-item-2 .sub-mark{
  font-size:10px;
  opacity:.35;
}
.side-sub-item-2 .sub-title{
  font-size:11.5px;
  letter-spacing:.05em;
  color:var(--ink3);
}
.side-sub-item-2:hover .sub-title{color:var(--ink2)}
.side-sub-item-2:hover .sub-mark{color:var(--acc);opacity:.7}

.side-sub-item-2.on{
  background:rgba(121,180,198,.06);
  border-left-color:rgba(121,180,198,.75);
}
.side-sub-item-2.on .sub-title{color:#dfe4e8}
.side-sub-item-2.on .sub-mark{color:var(--acc);opacity:.9}

/* 父级 / 祖先级：淡色左侧标记 */
.side-sub-item.parent-active{
  border-left-color:rgba(121,180,198,.4);
}
.side-sub-item.parent-active .sub-title{color:var(--ink)}
.side-sub-item.parent-active .sub-mark{color:rgba(121,180,198,.7);opacity:.8}

.side-sub-item-2.parent-active{
  border-left-color:rgba(121,180,198,.3);
}
.side-sub-item-2.parent-active .sub-title{color:var(--ink2)}
/* ═══════════════════════════════════════════════
   补充：子章节（滚动阅读）
   ═══════════════════════════════════════════════ */

/* 每个子章节：上下留白 + 顶部分隔线 */
.doc-section{
  margin-top:64px;
  padding-top:28px;
  border-top:1px solid var(--line);
  scroll-margin-top:24px;
}

/* 子章节标题 */
.doc-section-title{
  font-size:20px;
  font-weight:500;
  letter-spacing:.08em;
  color:#e2e7ea;
  margin:0 0 8px;
  line-height:1.35;
}

/* 子章节副标题 */
.doc-section-sub{
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.22em;
  color:var(--ink3);
  margin-bottom:20px;
}

/* 子章节正文 */
.doc-section-body{
  font-family:var(--sans);
  font-size:14px;
  line-height:1.95;
  color:#b3bac2;
  letter-spacing:.015em;
}
.doc-section-body p{margin:0 0 16px}
.doc-section-body p:last-child{margin-bottom:0}
.doc-section-body h3{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.22em;
  color:var(--acc);
  font-weight:400;
  margin:26px 0 12px;
  padding-top:6px;
}
.doc-section-body h3:first-child{margin-top:0}
.doc-section-body strong{color:#dfe4e8;font-weight:500}

/* 行内链接：点读 → 滚动 */
.doc-link-wrap{margin:22px 0}
/* ═══════════════════════════════════════════════
   移动端适配
   ——桌面端不受影响，全部包在媒体查询里
   ═══════════════════════════════════════════════ */

/* 菜单按钮：桌面端隐藏 */
.menu-toggle{display:none}

/* 遮罩：桌面端隐藏 */
.nav-mask{display:none}

/* ── 超小屏（iPhone SE 之类） ── */
@media (max-width: 380px){
  .doc{padding:20px 16px 50px}
  .doc-title{font-size:20px}
  .doc-body{font-size:14.5px}
  .doc-section-title{font-size:17px}
  .doc-section-body{font-size:14.5px}
}
/* ═══════════════════════════════════════════════
   移动端适配 · 修正版
   ——只在窄屏生效，桌面端完全不受影响
   ═══════════════════════════════════════════════ */

.menu-toggle{display:none}
.nav-mask{display:none}

@media (max-width: 768px){

  #app{grid-template-rows:46px minmax(0,1fr)}

  /* ── 顶栏 ── */
  .bar-t{padding:0 14px;gap:12px}
  .bar-c{display:none}
  .org-en{display:none}
  .org-cn{font-size:13px;letter-spacing:.14em}

  /* ── 菜单按钮 ── */
  .menu-toggle{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    width:36px;
    height:36px;
    padding:0;
    background:transparent;
    border:1px solid var(--line2);
    cursor:pointer;
    flex:none;
  }
  .menu-toggle span{
    display:block;
    width:16px;
    height:1px;
    background:var(--ink2);
    margin:0 auto;
  }
  .menu-toggle:active span{background:var(--acc)}

  /* ── 遮罩 ── */
  .nav-mask{
    display:block;
    position:fixed;
    top:46px;left:0;right:0;bottom:0;
    z-index:85;
    background:rgba(0,0,0,.55);
    opacity:0;
    pointer-events:none;
    transition:opacity .28s ease;
  }
  .nav-mask.on{opacity:1;pointer-events:auto}

  /* ── 主区：不用 grid，改 block ── */
  .main{
    display:block;
    grid-row:2;
    position:relative;
    min-height:0;
    height:auto;
  }

  /* ── 舞台：绝对定位铺满 ── */
  .stage{
    position:absolute;
    inset:0;
    overflow:hidden;
  }

  /* ── 文档块：铺满 stage ── */
  .mod{
    position:absolute;
    inset:0;
    overflow-y:auto;
  }

  /* ── 导航：抽屉 ── */
  .nav{
    position:fixed;
    top:46px;left:0;bottom:0;
    width:min(82vw,320px);
    z-index:90;
    transform:translateX(-100%);
    transition:transform .28s ease;
    border-right:1px solid var(--line);
    box-shadow:4px 0 24px rgba(0,0,0,.5);
    background:var(--bg1);
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .nav.open{transform:translateX(0)}

  /* ── 侧栏条目：手指更好点 ── */
  .side-item{padding:13px 18px}
  .side-item .si-title{font-size:14px}
  .side-sub-item{padding:10px 18px 10px 34px}
  .side-sub-item .sub-title{font-size:13px}
  .side-sub-item-2{padding-left:50px}
  .side-sub-item-2 .sub-title{font-size:12.5px}
  .side-group{padding:16px 18px 8px;font-size:9px}

  /* ── 文档排版 ── */
  .doc{padding:26px 20px 60px;max-width:none}
  .doc-title{font-size:22px}
  .doc-sub{font-size:9px;margin-bottom:16px}
  .doc-head{padding:10px 12px;font-size:8.5px;gap:8px;flex-wrap:wrap}
  .doc-body{font-size:15px;line-height:1.9}
  .doc-body p{margin:0 0 14px}
  .doc-body h3{font-size:10px;margin:26px 0 12px}

  .doc-section{margin-top:48px;padding-top:22px}
  .doc-section-title{font-size:18px}
  .doc-section-sub{font-size:9px;margin-bottom:14px}
  .doc-section-body{font-size:15px;line-height:1.9}

  .doc-meta{grid-template-columns:1fr 1fr}

  .doc-link{font-size:12px;padding:9px 14px;display:block;text-align:center}

  .mn-quote{padding:14px 16px;font-size:14px}
  .tip{max-width:calc(100vw - 40px);font-size:12.5px}
}

@media (max-width: 380px){
  .doc{padding:20px 16px 50px}
  .doc-title{font-size:20px}
  .doc-body{font-size:14.5px}
  .doc-section-title{font-size:17px}
  .doc-section-body{font-size:14.5px}
}