
/* ============================================================
   发展史专属：纵向轨道
   —— 一条贯穿的时间轴，节点自己带来源脚注
   —— 滚动进入时由共享动效层一次性浮现
   2026-10-15：轨道与节点由金色改为暖白。
   时间轴是"结构"（一条线串起一串点），结构不该是彩色的 ——
   上色会让它读成装饰，而不是骨架。
   ============================================================ */
.tl-wrap{ margin-top:clamp(40px,5.6vw,72px); }
.tl{ position:relative; padding-left:clamp(56px,9vw,110px); }
.tl::before{
  content:""; position:absolute; left:clamp(18px,3.4vw,44px); top:10px; bottom:10px; width:3px;
  background:var(--ink);
}
.node{ position:relative; padding-bottom:clamp(44px,5.6vw,76px); }
.node::before{
  content:""; position:absolute; left:calc(clamp(18px,3.4vw,44px) - clamp(56px,9vw,110px)); top:9px;
  width:9px; height:9px; border-radius:50%; transform:translateX(-50%);
  background:var(--bg); border:2px solid var(--line-hard);
}
.node.pre::before{ border-color:var(--dim); }
.node[id]{ scroll-margin-top:calc(var(--nav-h) + 20px); }
/* —— 右侧年份索引：功能件（原生锚点，零 JS），填宽屏右侧留白；窄屏隐藏 —— */
.tl-ix{ display:none; }
@media (min-width:1180px){
  .tl-wrap{ display:grid; grid-template-columns:minmax(0,1fr) 172px; gap:clamp(48px,6vw,110px); align-items:start; }
  .tl-ix{
    display:flex; flex-direction:column; gap:.15em;
    position:sticky; top:calc(var(--nav-h) + 28px);
    font-size:var(--fs-sm);
    /* 索引贴着右栏时，右下角的「问奶蛙」浮钮会压住年份链。
       左移 64px 吃进栏间距（1180px 时仍有 6px 空档），链接宽度不变。 */
    transform:translateX(-64px);
  }
  .tl-ix a{
    display:flex; justify-content:space-between; align-items:baseline; gap:.8em;
    padding:.36em .55em; color:var(--text-2); text-decoration:none;
    border-bottom:2px solid var(--line-hard);
  }
  .tl-ix a b{ font-weight:600; color:var(--ink); }
  .tl-ix a:hover{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
  .tl-ix a:hover b{ color:var(--bg); }
}
.node.pre .when b{ color:var(--text-2); }
.when{ display:flex; align-items:center; gap:.85em; flex-wrap:wrap; margin-bottom:.7em; }
/* 年份：它是这一段的标题，不是一段元数据 —— 衬线 + 900。 */
.when b{
  font-family:var(--serif-display);
  font-size:var(--fs-lg); letter-spacing:0; color:var(--ink); font-weight:900;
}
.when span{
  font-family:var(--mono); font-size:var(--fs-xs); font-weight:700;
  padding:.3em .6em; border:2px solid var(--ink); border-radius:var(--r-pill); color:var(--ink);
  background:var(--cream);
}
/* 每个节点是时间里的一站 —— 它是一级区块，不是一个 h3。
   全页没有别的 h2，节点用 h3 会让大纲从 h1 直接跳到 h3。
   衬线是「区块大标题」的标记，这里要的是清单项的清晰，所以钉回无衬线。 */
.node h2{ font-family:var(--sans); font-size:var(--fs-xl); letter-spacing:0; margin:0 0 .5em; }
.node p{ margin:.8em 0 0; color:var(--text-2); line-height:1.85; max-width:min(36em,760px); }
.node p b{ color:var(--ink); font-weight:700; }
.node .src{
  display:block; margin-top:1em; font-family:var(--mono); font-size:var(--fs-xs); color:var(--text-2);
}
.node .src a{ color:var(--text-2); border-bottom:1px solid var(--ink); }
.node .src a:hover{ color:var(--ink); border-bottom-width:2px; }
.node .art{
  margin-top:1.2em; border-radius:var(--r-sm);
  background:var(--paper); border:2px solid var(--ink);
  padding:.95em 1.15em; font-size:var(--fs-sm); color:var(--text-2); max-width:min(40em,560px);
}
.node .art b{ color:var(--ink); }

/* 免责块：原来是"3px 金色左竖条 + 金底"，是被点名的生成感标记。
   改成一块普通面板 —— 它本来就是"一段正文"，不需要虚线或色条把它框出来。 */
.disclaim{
  margin-top:clamp(34px,4.4vw,56px); padding:1.4rem 1.6rem;
  border-radius:var(--r-md); background:var(--paper);
  border:var(--bw) solid var(--ink); box-shadow:var(--sd-2);
  font-size:var(--fs-sm); color:var(--text-2); line-height:1.85; max-width:42em;
}

@media (max-width:560px){
  .tl{ padding-left:44px; }
  .tl::before{ left:14px; }
  .node::before{ left:calc(14px - 44px); }
}
