:root{
  --ink:#101317; --ink2:#2b3138; --mut:#5b6470; --mut2:#8b949e;
  --bg:#ffffff; --soft:#f6f7f9; --line:#e6e8eb; --line2:#eef0f3;
  --accent:#e03e2d; --accent-soft:#fdecea; --blue:#1b4fd8;
  --sans:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
  --r:12px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
h1,h2,h3,h4{margin:0;line-height:1.25;letter-spacing:-.018em;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px}
.sep{color:#c8cdd4;margin:0 4px}

/* header */
.hdr{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:26px;height:64px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.mark{font-family:var(--serif);font-size:24px;font-weight:700;letter-spacing:-.03em}
.mk{color:var(--accent)}
.tag{font-size:12.5px;color:var(--mut);letter-spacing:.01em;padding-left:12px;
  border-left:1px solid var(--line)}
.nav{display:flex;gap:22px;font-size:15px;color:var(--ink2);margin-left:auto}
.nav a:hover{color:var(--ink)}
.hdr-right{display:flex;align-items:center;gap:14px}
.search-btn{font-size:20px;line-height:1;color:var(--mut)}
.lang-btn{font-size:13.5px;border:1px solid var(--line);border-radius:999px;padding:5px 12px;
  color:var(--ink2)}
.lang-btn:hover{border-color:var(--ink);color:var(--ink)}

/* hero */
.hero{border-bottom:1px solid var(--line);background:
  radial-gradient(120% 90% at 100% 0%,#fbfbfc 0%,rgba(255,255,255,0) 60%)}
.hero-in{display:grid;grid-template-columns:1.55fr .95fr;gap:56px;padding:44px 24px 40px}
.lead{display:block;padding-bottom:26px;border-bottom:1px solid var(--line2)}
.lead:hover{color:inherit}
.lead-k{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);
  font-weight:700;margin-bottom:14px}
.lead-h{font-size:38px;line-height:1.22;letter-spacing:-.025em;margin-bottom:20px}
.lead blockquote{margin:0 0 22px;font-family:var(--serif);font-size:20px;line-height:1.75;
  color:var(--ink2);padding-left:22px;border-left:3px solid var(--accent)}
.lead-who{display:flex;align-items:center;gap:12px}
.lead-who b{display:block;font-size:15.5px}
.lead-who span{font-size:13.5px;color:var(--mut)}
.intro{font-size:15px;color:var(--mut);margin:22px 0 0;line-height:1.7;max-width:60ch}
.av{width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;
  align-items:center;justify-content:center;font-family:var(--serif);font-size:19px;font-weight:700;flex:none}
.av-lg{width:46px;height:46px;font-size:21px}
.av-xl{width:84px;height:84px;font-size:36px}

.h2s{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);
  padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:4px;font-weight:700}
.hero-side .qc{border:0;border-radius:0;padding:16px 0;border-bottom:1px solid var(--line2);
  background:none;box-shadow:none}
.hero-side .qc:last-child{border-bottom:0}
.hero-side .qc-h{font-size:16px}
.hero-side .qc-t{font-size:14.5px;margin:6px 0 8px;-webkit-line-clamp:2}

/* sections */
.sec{padding-top:52px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding-bottom:14px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.sec-h h2,.sec-h h3{font-size:21px}
.cnt{font-size:13.5px;color:var(--mut)}
.more{font-size:14px;color:var(--mut);white-space:nowrap}
.more:hover{color:var(--accent)}
.page-h{padding:40px 0 6px}
.page-h h1{font-size:34px;margin-bottom:8px}
.page-h h2{font-size:26px;margin-bottom:8px}
.sub{color:var(--mut);font-size:15.5px;margin:0}
.crumb{font-size:13.5px;color:var(--mut);padding:22px 0 0}
.crumb a:hover{color:var(--accent)}

/* quote cards */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding-top:6px}
.qc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px 16px;
  display:flex;flex-direction:column;transition:.15s}
.qc:hover{border-color:#d8dde3;box-shadow:0 12px 30px -24px rgba(16,19,23,.5);transform:translateY(-1px)}
.qc-top{font-size:13px;color:var(--mut);margin-bottom:8px;min-height:19px}
.qc-who{font-weight:600;color:var(--ink2)}
.qc-who span{color:var(--mut2);font-weight:400}
.qc-h{font-size:18px;line-height:1.4;display:block;margin-bottom:10px;letter-spacing:-.012em}
.qc-t{font-family:var(--serif);font-size:15.5px;line-height:1.7;color:var(--ink2);margin:0 0 14px;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.qc-m{margin-top:auto;font-size:12.5px;color:var(--mut);display:flex;align-items:center;
  flex-wrap:wrap;gap:0}
.qc-m a:hover{color:var(--accent)}
.bdg{display:inline-block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  font-weight:700;padding:2px 7px;border-radius:4px;margin-right:8px}
.bdg-q{background:#e9f5ea;color:#276b32}
.bdg-r{background:#fdf1e3;color:#8a4b12}

/* people */
.gridp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pc{display:flex;align-items:center;gap:12px;min-width:0;border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;transition:.15s}
.pc:hover{border-color:#d8dde3;color:inherit;transform:translateY(-1px)}
.pc-t{display:flex;flex-direction:column;line-height:1.3;min-width:0;flex:1 1 auto;overflow:hidden}
.pc-t b{font-size:15.5px;font-weight:600}
.pc-t i{font-style:normal;font-size:12.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
  text-overflow:ellipsis}
.pc-n{margin-left:auto;font-size:13px;color:var(--mut);font-variant-numeric:tabular-nums}

/* chips / topic cards */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px;
  color:var(--ink2);background:#fff}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.tcard{display:block;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;transition:.15s}
.tcard:hover{border-color:#d8dde3;color:inherit;transform:translateY(-1px)}
.tcard h3{font-size:18px;margin-bottom:6px}
.tcard p{font-size:14px;color:var(--mut);margin:0 0 12px;line-height:1.6}
.tcard .cnt{color:var(--accent);font-weight:600}

/* person head */
.phead{display:flex;gap:22px;align-items:flex-start;padding:36px 0 26px;border-bottom:1px solid var(--line)}
.phead h1{font-size:34px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.phead h1 small{font-size:15px;color:var(--mut2);font-weight:400;letter-spacing:0}
.role{font-size:14.5px;color:var(--accent);font-weight:600;margin:6px 0 10px}
.bio{font-size:16px;color:var(--ink2);max-width:64ch;margin-bottom:12px}
.pstats{display:flex;gap:18px;font-size:13.5px;color:var(--mut);flex-wrap:wrap;margin-bottom:10px}
.pstats b{color:var(--ink)}
.ptopics{font-size:13.5px;color:var(--mut);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ptopics a{border-bottom:1px solid var(--line);padding-bottom:1px}

/* quote page */
.qp{padding:24px 0 8px}
.qp-tags{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--mut);margin-bottom:14px}
.qp-tags a{color:var(--accent);font-weight:600}
.qp-h{font-size:36px;line-height:1.25;letter-spacing:-.025em;margin-bottom:24px}
.qp-q{margin:0 0 20px;padding:4px 0 4px 26px;border-left:4px solid var(--accent);
  font-family:var(--serif);font-size:23px;line-height:1.7}
.qp-q p{margin:0}
.qp-ctx{font-size:15px;color:var(--mut);margin-bottom:22px}
.qp-who{display:flex;align-items:center;gap:12px;padding:18px 0;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);margin-bottom:22px}
.qp-who b{display:block;font-size:15.5px}
.qp-who span{font-size:13.5px;color:var(--mut)}
.src-card{border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;background:var(--soft)}
.src-card h3,.cov h3,.same h3,.tr h3{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mut);margin-bottom:8px;font-weight:700}
.src-card a{display:block;font-size:16px;line-height:1.5;color:var(--blue);margin-bottom:6px}
.src-card a:hover{color:var(--accent)}
.src-meta,.src{font-size:13px;color:var(--mut)}
.cov{margin-top:16px;background:#fbfbfc;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.cov p{font-size:15px;line-height:1.7;color:var(--ink2);margin:0 0 6px}
.same{margin-top:16px;border:1px dashed var(--line);border-radius:var(--r);padding:16px 20px}
.same a{display:block;font-size:15px;padding:5px 0;color:var(--blue)}
.tr{margin:0 0 18px;background:var(--soft);border-radius:var(--r);padding:16px 20px}
.tr p{font-size:15.5px;line-height:1.7;margin:0;color:var(--ink2)}

/* 分享条（言论页） */
.share{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 18px;padding-top:18px;
  border-top:1px solid var(--line)}
.share-l{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-weight:700}
.share-btns{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sh{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;min-width:36px;
  padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink2);
  font-family:inherit;font-size:13.5px;line-height:1;cursor:pointer;-webkit-appearance:none;
  transition:border-color .15s,color .15s,background .15s}
.sh svg{width:17px;height:17px;display:block;flex:none}
.sh:hover{border-color:var(--ink);color:var(--ink)}
.sh-x:hover{border-color:#000;color:#000}
.sh-li:hover{border-color:#0a66c2;color:#0a66c2}
.sh-fb:hover{border-color:#1877f2;color:#1877f2}
.sh-wa:hover{border-color:#25d366;color:#1da851}
.sh-tg:hover{border-color:#229ed9;color:#229ed9}
.sh-copy.done{border-color:#1a7f4b;color:#1a7f4b;background:#f2fbf6}
.sh-native{border-color:var(--ink);color:var(--ink)}
.sh[hidden]{display:none}

/* archive */
.days{display:flex;flex-wrap:wrap;gap:8px}
.day{display:flex;flex-direction:column;align-items:center;min-width:56px;padding:9px 10px;
  border:1px solid var(--line);border-radius:9px}
.day:hover{border-color:var(--accent);color:var(--accent)}
.day b{font-size:16px;font-family:var(--serif)}
.day span{font-size:11px;color:var(--mut)}

/* pager */
.pg{display:flex;gap:6px;justify-content:center;padding:40px 0 6px;flex-wrap:wrap}
.pg a,.pg span{min-width:38px;text-align:center;padding:7px 11px;border:1px solid var(--line);
  border-radius:8px;font-size:14.5px}
.pg a:hover{border-color:var(--accent);color:var(--accent)}
.pg .on{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}
.pg .gap{border:0}

/* search */
.inp{width:100%;font-size:17px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;
  margin:16px 0 22px;font-family:inherit;color:var(--ink);background:#fff}
.inp:focus{outline:none;border-color:var(--ink)}
.hits{display:flex;flex-direction:column}
.hit{display:block;padding:14px 0;border-bottom:1px solid var(--line2)}
.hit b{display:block;font-size:17px;margin-bottom:3px;letter-spacing:-.01em}
.hit span{font-size:13px;color:var(--mut)}
.hit p{margin:5px 0 0;font-size:14.5px;color:var(--ink2)}
.hint{color:var(--mut);font-size:15px}

/* prose */
.prose{padding:36px 0 56px}
.prose h1{font-size:34px;margin-bottom:16px}
.prose h2{font-size:21px;margin:32px 0 10px}
.prose .lede{font-size:18px;color:var(--ink2);line-height:1.7;margin-bottom:24px}
.prose p,.prose li{color:var(--ink2);font-size:16.5px;line-height:1.75}
.prose ul,.prose ol{padding-left:22px;margin:0 0 1em}
.prose li{margin-bottom:8px}
.prose code{background:var(--soft);padding:1px 5px;border-radius:4px;font-size:.9em}
.btn{display:inline-block;background:var(--ink);color:#fff;padding:9px 18px;border-radius:8px;
  font-size:15px;margin-top:8px}
.btn:hover{background:var(--accent);color:#fff}

/* ads */
.ad{margin:26px 0;text-align:center}
.ad-tag{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#b6bcc4;
  margin-bottom:6px}

/* footer */
.ftr{border-top:1px solid var(--line);margin-top:64px;padding:40px 0 34px;background:var(--soft)}
.ftr-grid{display:grid;grid-template-columns:1.7fr .9fr .9fr .9fr;gap:32px}
.ftr-brand p{font-size:13.5px;color:var(--mut);line-height:1.7;max-width:38ch;margin:10px 0 0}
.ftr h4{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);
  margin-bottom:10px;font-weight:700}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{font-size:14px;color:var(--ink2);margin-bottom:7px}
.ftr-legal{font-size:12.5px;color:var(--mut2);margin:30px 0 0;padding-top:18px;
  border-top:1px solid #e3e6ea;line-height:1.7}

/* responsive */
@media (max-width:1000px){
  .hero-in{grid-template-columns:1fr;gap:32px}
  .grid3{grid-template-columns:repeat(2,1fr)}
  .gridp{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .ftr-brand{grid-column:1/-1}
  .lead-h{font-size:31px}
  .qp-h{font-size:29px}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .wrap{padding:0 18px}
  .hdr-in{height:56px;gap:14px}
  .tag{display:none}
  .nav{display:none}
  .grid3,.gridp,.timeline{grid-template-columns:1fr}
  .hero-in{padding:26px 18px 28px}
  .lead-h{font-size:26px}
  .lead blockquote{font-size:17.5px;padding-left:16px}
  .qp-q{font-size:19.5px;padding-left:16px}
  .qp-h{font-size:25px}
  .page-h h1,.prose h1,.phead h1{font-size:27px}
  .phead{flex-direction:column;gap:14px}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .share{gap:10px}
  .share-l{width:100%}
  .sh-copy span,.sh-native span{display:none}
}
