
:root{
  --paper:#f6f2ea; --card:#fafaf7; --ink:#1c1917; --soft:#4a453d;
  --mute:#6e6a62; --faint:#8a857b; --rule:#e3ded2; --red:#9b1e26;
  --serif:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  --mono:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:14px;line-height:1.75}
main{max-width:860px;margin:0 auto;padding:48px 28px 80px}
a{color:var(--soft);text-decoration:none;border-bottom:1px solid var(--rule);text-underline-offset:3px}
a:hover{color:var(--red);border-bottom-color:#dcc2bd}
.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--red);margin:0 0 14px}
h1{font-family:var(--serif);font-weight:500;font-size:34px;letter-spacing:.02em;line-height:1.35;margin:0 0 10px}
h2{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:.02em;margin:0}
h3{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:26px 0 10px}
.intro{color:var(--mute);margin:0 0 30px;font-size:15px}
.atlas-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 42px}
.atlas{display:block;padding:18px 20px;background:var(--card);border:1px solid var(--rule);border-radius:4px}
.atlas strong{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  font-family:var(--serif);font-weight:500;font-size:18px;color:var(--ink);white-space:nowrap}
.atlas strong span{display:inline;font-size:15px;color:var(--red);font-family:var(--mono)}
.atlas > span{display:block;color:var(--mute);font-size:12px;margin-top:4px}
.atlas:hover{border-color:#c9c0ae}
.atlas:hover strong{color:var(--red)}
.search-box input:focus,.search-box select:focus{outline:2px solid #e0d6c6;outline-offset:1px;border-color:#c9c0ae}
section{border-top:1px solid var(--rule);padding:30px 0 6px}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.section-heading .meta{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--faint)}
.note{color:var(--mute);font-size:13px;margin:10px 0 20px;max-width:680px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule);
  border:1px solid var(--rule);border-radius:4px;overflow:hidden;margin:18px 0}
.stat{background:var(--card);padding:16px 14px}
.stat b{display:block;font-family:var(--mono);font-weight:500;font-size:22px;letter-spacing:-.02em}
.stat span{display:block;font-size:11px;color:var(--mute);margin-top:2px}
.tiers{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--soft);font-size:12px;margin:12px 0 0}
.tiers b{font-weight:500}
.tiers i{font-style:normal;font-family:var(--mono);color:var(--faint)}
.search-box{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 4px}
.search-box input{flex:1;min-width:200px;padding:11px 12px;border:1px solid var(--rule);
  border-radius:4px;background:var(--card);color:var(--ink);font:inherit;font-size:13px}
.search-box select{padding:11px 10px;border:1px solid var(--rule);border-radius:4px;
  background:var(--card);color:var(--soft);font:inherit;font-size:12px}
.result-count{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--faint);margin:8px 0 0}
.person-list,.source-list,.timeline-list{list-style:none;margin:0;padding:0}
.person,.source{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;
  padding:13px 0;border-top:1px solid var(--rule)}
.person:first-child,.source:first-child{border-top:0}
.number{font-family:var(--mono);font-size:11px;color:var(--faint);padding-top:3px}
.name{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--ink)}
.tier{font-size:11px;color:var(--red);margin-left:8px;font-family:var(--mono);letter-spacing:.04em}
.role{font-size:12px;color:var(--soft);margin-top:2px}
.links{font-size:11px;color:var(--mute);margin-top:5px;word-break:break-all}
.links a{margin-right:14px;white-space:nowrap}
.source-link{font-size:13px;color:var(--ink)}
.source-link .host{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.04em;
  color:var(--red);margin-top:2px}
.url{font-family:var(--mono);font-size:10px;color:var(--faint);word-break:break-all;margin-top:5px}
details summary{font-size:11px;color:var(--faint);cursor:pointer;margin-top:4px;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"▸ ";color:var(--red)}
details[open] summary::before{content:"▾ "}
.more{display:block;width:100%;margin:18px 0 6px;padding:11px;border:1px solid var(--rule);
  border-radius:4px;background:var(--card);color:var(--soft);font:inherit;font-size:12px;cursor:pointer}
.more:hover{border-color:#c9c0ae;color:var(--red)}
.more[hidden]{display:none}
.timeline-list li{display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;
  padding:16px 0;border-top:1px solid var(--rule)}
.timeline-list li:first-child{border-top:0}
.year{font-family:var(--mono);font-size:14px;color:var(--red);letter-spacing:.04em;padding-top:2px}
.quote{font-family:var(--serif);font-size:16px;line-height:1.85;color:var(--ink)}
.quote .src{display:block;font-family:var(--mono);font-size:10px;color:var(--faint);margin-top:6px}
.footer{border-top:1px solid var(--rule);margin-top:50px;padding-top:18px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:11px;color:var(--faint)}
.footer strong{font-weight:400;font-family:var(--mono);letter-spacing:.1em}
@media(max-width:650px){
  main{padding:30px 18px 60px}
  h1{font-size:27px}
  .atlas-links{grid-template-columns:1fr;gap:8px;margin-bottom:30px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .person,.source{grid-template-columns:42px minmax(0,1fr);gap:6px}
  .timeline-list li{grid-template-columns:60px minmax(0,1fr);gap:8px}
}
