/* ==========================================================================
   《智能革命史》设计系统 v2.0 · 纸本浅色
   单一真相源：全站 14 页共用本文件。改这里，全站生效。
   模式：长文阅读（editorial）· VARIANCE 4 / MOTION 3 / DENSITY 3
   ========================================================================== */

/* --------------------------------------------------------------------------
   1 · 令牌 TOKENS
   -------------------------------------------------------------------------- */
:root{
  color-scheme: light;

  /* 纸面：暖中性，不是纯白（纯白在长文里刺眼），也不是米黄（那是另一种气质） */
  --paper:      #FCFBF8;   /* 页面底 */
  --paper-2:    #F6F4EF;   /* 抬起面：要点框、卡片 */
  --paper-3:    #EFEDE6;   /* 表头、代码底 */
  --raised:     #FFFFFF;   /* 需要"浮起"的卡片 */

  /* 墨色：暖近黑，不用纯黑 */
  --ink:        #1B1A17;   /* 标题与强调 */
  --ink-body:   #35332E;   /* 正文 —— 比标题浅一档，长读不累 */
  --ink-2:      #6B6862;   /* 次级信息 */
  --ink-3:      #94908A;   /* 三级：置信度标注、页脚 */

  /* 界线 */
  --rule:       #E4E1D9;   /* 常规分隔线 */
  --rule-2:     #D3CFC5;   /* 强分隔线、卡片边 */

  /* 品牌强调色：沿用星座的玫红家族，压深到浅底可读（对纸面 ≈6.5:1，过 AA） */
  --accent:     #C1274B;
  --accent-ink: #9E1E3D;   /* hover / 更强 */
  --soft:       rgba(193,39,75,.055);
  --soft-2:     rgba(193,39,75,.10);

  /* 情景色：压深以适配浅底 */
  --sc-a:       #1F7A4D;   /* 分层文艺复兴 */
  --sc-b:       #9A6B00;   /* 装饰化平庸 */
  --sc-c:       #C1274B;   /* 无主决策社会 */
  --sc-d:       #6B6862;   /* 折返压制 */

  /* 字体：中文正文用系统黑体（CJK 衬线无 webfont 时在 Windows 上劣化严重，
     故不做衬线依赖；"书感"由纸色、行宽、节奏与界线承担） */
  --sans: "PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,
          BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --mono: "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* 排版刻度 */
  --fs-body:   17px;
  --lh-body:   1.9;        /* CJK 需要比拉丁更松 */
  --measure:   38em;       /* ≈38 个汉字/行，长文舒适区 */
  --measure-w: 62em;       /* 宽内容（表格、网格）可越出正文栏 */

  /* 节奏 */
  --s1: 6px;  --s2: 10px; --s3: 16px; --s4: 24px;
  --s5: 36px; --s6: 52px; --s7: 76px; --s8: 108px;

  --radius:    10px;
  --radius-lg: 14px;
  --nav-h:     60px;
}

/* --------------------------------------------------------------------------
   2 · 基础 BASE
   -------------------------------------------------------------------------- */
*{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  background:var(--paper);
  color:var(--ink-body);
  font-family:var(--sans);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* 正文栏：一处定义行宽，全站统一 */
.container{max-width:var(--measure-w);margin:0 auto;padding:0 var(--s4)}

/* 正文块限制在舒适行宽内；表格、网格等宽内容自行越出 */
section p, section > .container > ul, section > .container > ol,
.container > p, .container > ul, .container > ol{max-width:var(--measure)}

::selection{background:var(--soft-2);color:var(--ink)}

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:3px;
}

/* --------------------------------------------------------------------------
   3 · 顶栏 NAV（单行，高度 ≤80px）
   -------------------------------------------------------------------------- */
header.top{
  position:sticky;top:0;z-index:50;
  background:rgba(252,251,248,.86);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--rule);
}
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
  height:var(--nav-h);max-width:1180px;margin:0 auto;padding:0 var(--s4);
}
.brand{
  font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.02em;
  color:var(--ink);text-decoration:none;white-space:nowrap;
}
.brand span{color:var(--accent)}
nav.toc{display:flex;gap:2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
nav.toc::-webkit-scrollbar{display:none}
nav.toc a{
  font-size:13px;color:var(--ink-2);text-decoration:none;white-space:nowrap;
  padding:6px 10px;border-radius:7px;transition:color .18s,background .18s;
}
nav.toc a:hover{color:var(--ink);background:var(--paper-2)}

/* 阅读进度条 */
#bar{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:60;
  background:var(--accent);transition:width .1s linear;
}

/* --------------------------------------------------------------------------
   4 · 版式 TYPE
   -------------------------------------------------------------------------- */
section{padding:var(--s7) 0;border-bottom:1px solid var(--rule)}
section:last-of-type{border-bottom:0}

h1{
  font-size:clamp(32px,5.4vw,50px);font-weight:800;color:var(--ink);
  letter-spacing:-.022em;line-height:1.18;
}
h2{
  font-size:clamp(22px,3.2vw,30px);font-weight:750;color:var(--ink);
  letter-spacing:-.012em;line-height:1.35;margin:0 0 var(--s4);
}
h3{
  font-size:19px;font-weight:700;color:var(--ink);
  line-height:1.5;margin:var(--s6) 0 var(--s2);
}
h3:first-child{margin-top:0}

/* 章节内的编号前缀（h3 .n / h3 .cn / h2 .n） */
h3 .n,h3 .cn{
  font-family:var(--mono);font-size:12px;font-weight:500;color:var(--accent);
  letter-spacing:.06em;margin-right:9px;
}
h2 .n{
  display:block;font-family:var(--mono);font-size:11.5px;font-weight:500;
  color:var(--accent);letter-spacing:.18em;margin-bottom:var(--s2);
  text-transform:uppercase;
}

p{margin:var(--s3) 0;color:var(--ink-body)}
p b,li b,td b,th b{color:var(--ink);font-weight:650}

.lede{font-size:19px;line-height:1.8;color:var(--ink)}

a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}

ul,ol{margin:var(--s3) 0 var(--s3) 1.45em;color:var(--ink-body)}
li{margin:var(--s2) 0;padding-left:.15em}
li::marker{color:var(--ink-3)}

hr,.rule{border:0;border-top:1px solid var(--rule);margin:var(--s6) 0}

/* 眉标 —— 每页至多一处 */
.kicker{
  font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--accent);
  letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--s3);
}

/* 面包屑 */
.crumb{
  font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-bottom:var(--s2);
}
.crumb a{color:var(--ink-2);text-decoration:none}
.crumb a:hover{color:var(--ink)}

/* 置信度 / 元信息标注 */
.conf{font-family:var(--mono);font-size:12px;color:var(--ink-3);line-height:1.7}
.cite{font-family:var(--mono);font-size:11.5px;color:var(--accent);vertical-align:.15em;padding:0 .15em}
.meta{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);line-height:1.85;margin-top:var(--s4)}
.sub{font-size:clamp(18px,2.4vw,21px);color:var(--ink-2);font-weight:500;line-height:1.6;margin-top:var(--s3)}

/* --------------------------------------------------------------------------
   5 · 强调块 EMPHASIS
   -------------------------------------------------------------------------- */
/* 关键论断：左界线 + 极淡底 */
.key,blockquote{
  border-left:3px solid var(--accent);
  background:var(--soft);
  border-radius:0 var(--radius) var(--radius) 0;
  padding:var(--s3) var(--s4);
  margin:var(--s4) 0;
  color:var(--ink);font-weight:600;font-size:17px;line-height:1.8;
  max-width:var(--measure);
}
blockquote p{margin:0;color:var(--ink);font-size:17px}

/* 旁注框：本章要点 / 深入 / 纪律 */
.points,.callout{
  border:1px solid var(--rule-2);border-radius:var(--radius-lg);
  background:var(--paper-2);padding:var(--s4) var(--s4);margin:var(--s4) 0;
  max-width:var(--measure);
}
.points .pt,.callout .ct{
  font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--accent);
  letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--s2);
}
.points ul{margin:0 0 0 1.3em;max-width:none}
.points li{font-size:15.5px;color:var(--ink-body)}
.callout p{margin:var(--s2) 0;font-size:16px;max-width:none}
.callout p:first-of-type{margin-top:0}
.callout p:last-child{margin-bottom:0}

/* 深入 · 附加阅读 */
.deep{margin-top:var(--s6);padding-top:var(--s4);border-top:1px dashed var(--rule-2)}
.deep h3{color:var(--accent);font-size:17px;margin-top:0}

/* 接口标签 */
.tag{
  display:inline-block;font-family:var(--mono);font-size:11.5px;
  color:var(--accent);border:1px solid var(--accent);border-radius:6px;
  padding:2px 9px;margin-right:var(--s2);vertical-align:.15em;
}

/* --------------------------------------------------------------------------
   6 · 表格 TABLE（宽内容可越出正文栏）
   -------------------------------------------------------------------------- */
table{
  border-collapse:collapse;width:100%;margin:var(--s4) 0;
  font-size:14.5px;line-height:1.7;
}
th,td{
  border:1px solid var(--rule);padding:11px 14px;
  text-align:left;vertical-align:top;color:var(--ink-body);
}
th{background:var(--paper-3);color:var(--ink);font-weight:650}
tbody tr:nth-child(even) td,tr:nth-child(even) td{background:rgba(0,0,0,.012)}

/* 窄屏可横向滚动，不撑破版面 */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--s4) 0}
.tw table{margin:0;min-width:520px}

/* --------------------------------------------------------------------------
   7 · 卡片 / 网格 CARDS
   -------------------------------------------------------------------------- */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3);margin-top:var(--s5)}
.card{
  border:1px solid var(--rule);border-radius:var(--radius-lg);
  padding:var(--s4);background:var(--raised);
  text-decoration:none;display:block;
  transition:border-color .18s,transform .18s,box-shadow .18s;
}
.card:hover{
  border-color:var(--rule-2);transform:translateY(-2px);
  box-shadow:0 6px 22px rgba(27,26,23,.055);text-decoration:none;
}
.card:active{transform:translateY(0)}
.card .no{font-family:var(--mono);font-size:11.5px;color:var(--accent);letter-spacing:.08em}
.card .tt{font-size:16.5px;font-weight:700;color:var(--ink);margin-top:var(--s1);line-height:1.45}
.card .ds{font-size:13.5px;color:var(--ink-2);margin-top:var(--s1);line-height:1.65}

/* 兄弟站点胶囊 */
.sib{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s3)}
.sib a{
  font-family:var(--mono);font-size:12.5px;color:var(--ink-2);
  border:1px solid var(--rule-2);border-radius:999px;padding:6px 15px;
  text-decoration:none;transition:color .18s,border-color .18s,background .18s;
}
.sib a:hover{color:var(--accent);border-color:var(--accent);background:var(--soft);text-decoration:none}

/* 章节导航 */
.chapnav{display:flex;justify-content:space-between;gap:var(--s3);margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--rule)}
.chapnav a{
  flex:1;border:1px solid var(--rule);border-radius:var(--radius-lg);
  padding:var(--s3) var(--s4);background:var(--raised);text-decoration:none;
  transition:border-color .18s,box-shadow .18s;
}
.chapnav a:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(27,26,23,.05);text-decoration:none}
.chapnav .dir{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
.chapnav .t{font-size:14.5px;font-weight:650;color:var(--ink);margin-top:3px;line-height:1.45}
.chapnav a.next{text-align:right}

/* --------------------------------------------------------------------------
   8 · 情景卡 SCENARIOS（05 章）
   -------------------------------------------------------------------------- */
.scen{
  border:1px solid var(--rule-2);border-left:3px solid var(--rule-2);
  border-radius:0 var(--radius-lg) var(--radius-lg) 0;
  background:var(--raised);padding:var(--s4) var(--s5);margin:var(--s4) 0;
}
.scen .st{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.12em;margin-bottom:var(--s2)}
.scen p{max-width:none}

/* --------------------------------------------------------------------------
   9 · 首篇长文 ESSAY
   -------------------------------------------------------------------------- */
.hero{padding:var(--s8) 0 var(--s5);border-bottom:1px solid var(--rule)}

/* --------------------------------------------------------------------------
   10 · 指标仪表 DASHBOARD（08 章）
   -------------------------------------------------------------------------- */
.dash{
  border:1px solid var(--rule-2);border-radius:var(--radius-lg);
  background:var(--raised);margin:var(--s4) 0;overflow:hidden;
}
.dash .dh{
  display:flex;align-items:center;gap:var(--s2);
  padding:13px var(--s4);border-bottom:1px solid var(--rule);background:var(--paper-2);
}
.dash .dot{width:9px;height:9px;border-radius:50%;flex:none}
.dash .dn{font-weight:750;font-size:15.5px;color:var(--ink)}
.dash .dl{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);margin-left:auto;text-align:right}
.dash table{margin:0;font-size:14px}
.dash th,.dash td{border:0;border-bottom:1px solid var(--rule)}
.dash tr:last-child td{border-bottom:0}
.dash tr:nth-child(even) td{background:transparent}

.rd{font-family:var(--mono);font-weight:650}
.rd.hot{color:var(--sc-c)}
.rd.warm{color:var(--sc-b)}
.rd.cool{color:var(--sc-a)}
.rd.zero{color:var(--ink-3)}

.legend2{display:flex;gap:var(--s4);flex-wrap:wrap;font-size:13px;color:var(--ink-2);margin-top:var(--s3)}

/* --------------------------------------------------------------------------
   11 · 逻辑图 LOGIC MAP
   -------------------------------------------------------------------------- */
.map{padding:var(--s6) 0 var(--s4)}
.layer{
  border:1px solid var(--rule-2);border-radius:16px;background:var(--raised);
  padding:var(--s4) var(--s5) var(--s5);
}
.layer .lt{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s1)}
.layer .no{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;color:var(--accent)}
.layer .tt{font-size:17.5px;font-weight:800;color:var(--ink)}
.layer .vol{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);margin-left:auto}
.layer .ds{font-size:13.5px;color:var(--ink-2);margin-bottom:var(--s3);max-width:var(--measure)}

.flow{display:flex;flex-direction:column;align-items:center;padding:2px 0}
.flow .stem{width:2px;height:16px;background:var(--rule-2)}
.flow .lab{
  font-family:var(--mono);font-size:11.5px;color:var(--accent);
  background:var(--paper);border:1px solid var(--rule-2);border-radius:999px;
  padding:4px 15px;margin:2px 0;
}
.flow .head{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid var(--rule-2);margin-top:2px}
.flow .sub{font-size:11.5px;color:var(--ink-3);margin-top:3px;font-weight:400}

.grid{display:grid;gap:var(--s2)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g6{grid-template-columns:repeat(6,1fr)}

.node{border:1px solid var(--rule);border-radius:11px;background:var(--paper-2);padding:13px 15px}
.node .k{font-family:var(--mono);font-size:10.5px;color:var(--accent);letter-spacing:.07em;margin-bottom:4px}
.node .h{font-size:13.5px;font-weight:700;line-height:1.45;color:var(--ink)}
.node .d{font-size:12px;color:var(--ink-2);margin-top:5px;line-height:1.6}
.node.now{border-color:var(--accent);background:var(--soft)}
.node.cand{border:1.5px dashed var(--accent);background:var(--soft)}
.node.dimmed{opacity:.92}

.cands{display:grid;gap:var(--s2);margin-top:var(--s3);padding-top:var(--s3);border-top:1px dashed var(--rule-2)}
.cands .cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--ink-3)}

.timeline{display:flex;align-items:stretch;margin-top:var(--s1);overflow-x:auto;padding-bottom:var(--s1)}
.stage{flex:1;min-width:132px;padding:13px 15px;border:1px solid var(--rule);background:var(--paper-2)}
.stage:first-child{border-radius:11px 0 0 11px}
.stage:last-child{border-radius:0 11px 11px 0}
.stage+.stage{border-left:none}
.stage .k{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);margin-bottom:3px}
.stage .h{font-size:13.5px;font-weight:700;color:var(--ink)}
.stage .d{font-size:11.5px;color:var(--ink-2);margin-top:4px;line-height:1.55}
.stage.done .k{color:var(--sc-a)}
.stage.now{border:1.5px solid var(--accent);background:var(--soft);border-radius:9px;z-index:2}
.stage.now .k{color:var(--accent)}

.scen-node{border-radius:11px;padding:13px 15px;background:var(--paper-2);border:1px solid var(--rule)}
.scen-node .st{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;margin-bottom:4px;font-weight:600}
.scen-node .h{font-size:13.5px;font-weight:700;color:var(--ink)}
.scen-node .d{font-size:12px;color:var(--ink-2);margin-top:5px;line-height:1.6}

.loopback{display:flex;align-items:center;gap:var(--s3);border:1.5px dashed var(--accent);border-radius:var(--radius-lg);background:var(--soft);padding:var(--s3) var(--s4);margin-top:var(--s3)}
.loopback .arr{font-size:22px;color:var(--accent);flex:none;line-height:1}
.loopback .h{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--accent);margin-bottom:3px}
.loopback .d{font-size:13px;color:var(--ink-body);line-height:1.65}

.ifaces{margin-top:var(--s5)}
.ifaces .cap{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;color:var(--ink-3);margin-bottom:var(--s3)}
.iface{border:1px solid var(--rule);border-radius:11px;background:var(--raised);padding:13px 15px}
.iface .h{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:var(--s2);color:var(--ink)}
.iface .dir{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.iface .d{font-size:12.5px;color:var(--ink-2);margin-top:5px;line-height:1.65}

.keybar{border-left:3px solid var(--accent);background:var(--soft);border-radius:0 var(--radius) var(--radius) 0;padding:13px var(--s4);margin-top:var(--s3);font-size:14px;color:var(--ink);font-weight:600}

.legend{display:flex;gap:var(--s4);flex-wrap:wrap;margin-top:var(--s3);font-size:12.5px;color:var(--ink-2);align-items:center}
.legend .it{display:flex;align-items:center;gap:7px}
.sw{width:22px;height:13px;border-radius:4px;flex:none}
.sw.solid{border:1.5px solid var(--rule-2);background:var(--paper-2)}
.sw.cand{border:1.5px dashed var(--accent);background:var(--soft)}
.sw.now{border:1.5px solid var(--accent);background:var(--soft)}

.candbtn{
  margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--accent);
  background:var(--raised);border:1px solid var(--accent);border-radius:999px;
  padding:5px 15px;cursor:pointer;transition:background .18s;
}
.candbtn:hover{background:var(--soft)}

.chips{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s3)}
.chips a{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);border:1px solid var(--rule-2);border-radius:999px;padding:5px 13px;text-decoration:none;transition:color .18s,border-color .18s}
.chips a:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}

.uses{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2);margin-top:var(--s3)}
.uses .use{font-size:12.5px;color:var(--ink-2);border:1px solid var(--rule);border-radius:var(--radius);padding:10px 13px;line-height:1.65;background:var(--paper-2)}
.uses .use b{color:var(--ink)}

body.hidecand .cands{display:none}
.layer,.ifaces{scroll-margin-top:calc(var(--nav-h) + 16px)}

/* --------------------------------------------------------------------------
   12 · 页脚 FOOTER
   -------------------------------------------------------------------------- */
footer{
  padding:var(--s6) 0 var(--s8);color:var(--ink-3);font-size:13px;
  line-height:1.85;border-top:1px solid var(--rule);
}
footer a{color:var(--ink-2)}
footer a:hover{color:var(--accent)}

/* --------------------------------------------------------------------------
   13 · 响应式 RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width:900px){
  .g6{grid-template-columns:repeat(3,1fr)}
  .g4{grid-template-columns:repeat(2,1fr)}
  .uses{grid-template-columns:1fr}
}
@media (max-width:680px){
  :root{--fs-body:16.5px;--s7:52px;--s8:72px}
  .container{padding:0 var(--s3)}
  .cards,.g2,.g3{grid-template-columns:1fr}
  .g6{grid-template-columns:repeat(2,1fr)}
  .chapnav{flex-direction:column}
  .chapnav a.next{text-align:left}
  .scen{padding:var(--s4)}
  .layer{padding:var(--s4)}
  table{font-size:13.5px}
  th,td{padding:9px 11px}
  .loopback{flex-direction:column;align-items:flex-start;gap:var(--s2)}
}

/* --------------------------------------------------------------------------
   14 · 动效克制 + 无障碍
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;
  }
  #bar{transition:none}
}

/* --------------------------------------------------------------------------
   15 · 打印（这是一本书，理应可以印出来读）
   -------------------------------------------------------------------------- */
@media print{
  header.top,#bar,.chapnav,nav.toc,.candbtn,.chips{display:none !important}
  body{background:#fff;color:#000;font-size:11pt;line-height:1.7}
  .container{max-width:none;padding:0}
  section{padding:var(--s4) 0;border-bottom:none;break-inside:auto}
  h1,h2,h3{break-after:avoid;color:#000}
  table,.key,.points,.callout,.scen,.dash{break-inside:avoid}
  .key,blockquote{background:none;border-left:2pt solid #000}
  a{color:#000;text-decoration:underline}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#555}
}

/* --------------------------------------------------------------------------
   16 · 兼容别名：旧变量名映射到新令牌（行内 style 仍可用）
   -------------------------------------------------------------------------- */
:root{
  --bg:var(--paper); --bg1:var(--raised); --bg2:var(--paper-3);
  --line:var(--rule); --line2:var(--rule-2);
  --fg:var(--ink); --dim:var(--ink-body); --dim2:var(--ink-2); --dim3:var(--ink-3);
  --ac:var(--accent); --ac-soft:var(--soft);
  --green:var(--sc-a); --yellow:var(--sc-b); --gray:var(--sc-d); --blue:#2C6FA8;
}
