/* MacTutor 中文镜像 —— 全部自托管，无任何外部域名（大陆可访问是硬约束） */
:root{
  --paper:#F6F7F9; --surface:#FFFFFF; --sunk:#EDEFF3;
  --ink:#171B24; --ink-2:#4A5365; --ink-3:#7C8699;
  --rule:#DDE1E8; --rule-2:#C9CFDA;
  --accent:#27548A; --accent-soft:#E3EBF5; --on-accent:#FFFFFF;
  --locked:#27548A; --auto:#5E7085; --untr:#9A6224;
  --locked-bg:#E3EBF5; --auto-bg:#E9ECF1; --untr-bg:#F5EADB;
  --serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC",STSong,SimSun,Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){
  --paper:#10131A; --surface:#171B24; --sunk:#1E232E;
  --ink:#E7EAF0; --ink-2:#A7B0C0; --ink-3:#7A8496;
  --rule:#262C38; --rule-2:#333A48;
  --accent:#7FA8D4; --accent-soft:#1D2939; --on-accent:#10131A;
  --locked:#7FA8D4; --auto:#93A0B3; --untr:#D2A05C;
  --locked-bg:#1C2939; --auto-bg:#222733; --untr-bg:#2E2618;
}}
:root[data-theme="dark"]{
  --paper:#10131A; --surface:#171B24; --sunk:#1E232E;
  --ink:#E7EAF0; --ink-2:#A7B0C0; --ink-3:#7A8496;
  --rule:#262C38; --rule-2:#333A48;
  --accent:#7FA8D4; --accent-soft:#1D2939; --on-accent:#10131A;
  --locked:#7FA8D4; --auto:#93A0B3; --untr:#D2A05C;
  --locked-bg:#1C2939; --auto-bg:#222733; --untr-bg:#2E2618;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
     line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px}
img{max-width:100%}
.wrap{max-width:820px;margin:0 auto;padding-inline:20px;padding-block:0 64px}
.wide{max-width:1080px}

/* 站头 */
.top{border-bottom:1px solid var(--rule);background:var(--surface)}
.topin{max-width:1080px;margin:0 auto;padding:13px 20px;display:flex;gap:18px;
       align-items:baseline;flex-wrap:wrap}
.brand{font-family:var(--serif);font-size:16.5px;font-weight:600;color:var(--ink);
       text-decoration:none;letter-spacing:.03em;white-space:nowrap}
.nav{display:flex;gap:16px;font-size:13.5px;margin-left:auto;flex-wrap:wrap}
.nav a{color:var(--ink-2);text-decoration:none}
.nav a:hover,.nav a[aria-current=page]{color:var(--accent)}

.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);
         font-weight:600;margin:0 0 10px}
h1{font-family:var(--serif);font-size:clamp(27px,4.4vw,38px);font-weight:600;letter-spacing:.02em;
   margin:0 0 6px;text-wrap:balance;line-height:1.3}
h1 .en{display:block;font-family:var(--sans);font-size:16px;font-weight:400;
       color:var(--ink-2);letter-spacing:0;margin-top:7px}
h2{font-family:var(--serif);font-size:20px;font-weight:600;margin:38px 0 14px;letter-spacing:.02em}
.lede{max-width:64ch;color:var(--ink-2);font-size:15px}
p{max-width:66ch}

/* 传记页 Quick Info */
.facts{background:var(--surface);border:1px solid var(--rule);border-radius:3px;
       padding:4px 20px;margin:24px 0}
.facts dl{display:grid;grid-template-columns:auto 1fr;gap:0 22px;margin:0}
.facts dt{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);
          font-weight:600;padding:13px 0 13px;border-top:1px solid var(--rule);white-space:nowrap}
.facts dd{margin:0;padding:13px 0;border-top:1px solid var(--rule)}
.facts dl>dt:first-of-type,.facts dl>dt:first-of-type+dd{border-top:0}
.date{font-variant-numeric:tabular-nums}
.place{color:var(--ink-2)}
.summary{font-size:17px;line-height:1.85;margin:26px 0 0;max-width:62ch}

.pending{background:var(--untr-bg);border:1px solid var(--rule);border-left:3px solid var(--untr);
         border-radius:2px;padding:15px 18px;margin:32px 0 0;font-size:14px;color:var(--ink-2)}
.pending b{color:var(--ink)}
.links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.links a{font-size:13.5px;text-decoration:none;background:var(--surface);
  border:1px solid var(--rule-2);border-radius:3px;padding:8px 14px}

/* 列表与检索 */
.controls{position:sticky;top:0;z-index:5;background:var(--paper);padding-block:12px;
          border-bottom:1px solid var(--rule)}
input[type=search]{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--surface);
  border:1px solid var(--rule-2);border-radius:3px;padding:10px 13px}
.count{font-size:12.5px;color:var(--ink-3);padding:12px 2px 8px;font-variant-numeric:tabular-nums}
.list{border:1px solid var(--rule);border-radius:3px;background:var(--surface);overflow:hidden}
.item{display:flex;gap:14px;align-items:baseline;padding:11px 16px;border-top:1px solid var(--rule);
      text-decoration:none;color:inherit;flex-wrap:wrap}
.item:first-child{border-top:0}
.item:hover{background:var(--sunk)}
.item .zh{font-family:var(--serif);font-size:15.5px;letter-spacing:.02em}
.item .zh.none{font-family:var(--sans);font-size:14px;color:var(--ink-2)}
.item .en2{font-size:13px;color:var(--ink-3)}
.item .yr{margin-left:auto;font-family:var(--mono);font-size:12.5px;color:var(--ink-3);
          font-variant-numeric:tabular-nums;white-space:nowrap}
.more{display:block;width:100%;margin-top:14px;font:inherit;font-size:13.5px;cursor:pointer;
  background:var(--surface);color:var(--accent);border:1px solid var(--rule-2);
  border-radius:3px;padding:11px}

.stats{display:flex;flex-wrap:wrap;gap:1px;background:var(--rule);border:1px solid var(--rule);
       border-radius:3px;overflow:hidden;margin:28px 0}
.stat{background:var(--surface);padding:14px 18px;flex:1 1 130px}
.stat b{display:block;font-family:var(--mono);font-size:22px;font-weight:600;
        font-variant-numeric:tabular-nums}
.stat span{display:block;font-size:11.5px;color:var(--ink-3);margin-top:3px}

footer{margin-top:52px;padding-top:20px;border-top:1px solid var(--rule);
       font-size:12.5px;color:var(--ink-3);max-width:72ch;line-height:1.75}
footer p{margin:0 0 7px;max-width:none}
@media (max-width:560px){
  .wrap{padding-block:0 44px}
  .facts dl{grid-template-columns:1fr}
  .facts dt{padding-bottom:0;border-top:1px solid var(--rule)}
  .facts dd{padding-top:4px;border-top:0}
  .facts dl>dt:first-of-type+dd{border-top:0}
  .item .yr{margin-left:0;flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* 译注：译者的话，必须和原作者的正文在视觉上分开 */
.tnote{background:var(--sunk);border:1px solid var(--rule);border-left:3px solid var(--ink-3);
       border-radius:2px;padding:14px 18px;margin:24px 0 0;font-size:13.5px;color:var(--ink-2)}
.tnote b{display:block;font-size:11px;letter-spacing:.12em;color:var(--ink-3);
         margin-bottom:6px;font-weight:600}
.tnote p{margin:0;max-width:none;line-height:1.75}
