:root{
  --bg:#0e0d0c; --bg2:#161412; --card:#1c1917; --line:#302b26;
  --ink:#f2ece4; --dim:#a39a8f; --red:#e4462f; --amber:#e8a33d;
  --serif:"Noto Serif TC","Songti TC","PingFang HK",Georgia,serif;
  --sans:"Noto Sans TC","PingFang HK",-apple-system,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.narrow{max-width:760px}

/* hero */
.hero{padding:78px 0 40px;background:
  radial-gradient(900px 420px at 78% -10%,rgba(228,70,47,.22),transparent 65%),
  radial-gradient(700px 300px at 10% 0%,rgba(232,163,61,.10),transparent 60%),
  var(--bg);border-bottom:1px solid var(--line)}
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin:0 0 14px}
.hero h1{font-family:var(--serif);font-size:clamp(44px,8vw,86px);line-height:1.02;margin:0 0 18px;letter-spacing:.01em}
.hero h1 span{display:block;font-size:.34em;color:var(--dim);letter-spacing:.42em;margin-top:14px;font-family:var(--sans)}
.lede{max-width:640px;color:#d8cfc4;font-size:17px;margin:0 0 22px}
.warn{border-left:3px solid var(--red);background:rgba(228,70,47,.07);padding:10px 14px;font-size:13px;color:#e6c3bb;border-radius:0 6px 6px 0;max-width:720px}

/* controls */
.controls{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:34px 0 10px}
#q{flex:1 1 280px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:13px 20px;color:var(--ink);font-size:15px;font-family:var(--sans);outline:none}
#q:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(228,70,47,.15)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:transparent;border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer;font-family:var(--sans);transition:.18s}
.chip:hover{color:var(--ink);border-color:#4a423a}
.chip.active{background:var(--red);border-color:var(--red);color:#fff}
.count{color:var(--dim);font-size:13px;margin:6px 0 18px}

/* grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;padding-bottom:40px}
.card{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 20px 18px;transition:.2s;position:relative;overflow:hidden}
.card:hover{transform:translateY(-3px);border-color:#4d443b;background:#211d1a}
.card .tag{font-size:11px;letter-spacing:.16em;color:var(--amber);text-transform:uppercase}
.card h3{font-family:var(--serif);font-size:26px;margin:8px 0 6px;letter-spacing:.02em}
.card .one{color:var(--dim);font-size:14px;margin:0 0 16px;min-height:42px}
.card .bar{height:4px;background:#2a2521;border-radius:2px;overflow:hidden;margin-bottom:8px}
.card .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--amber))}
.card .nums{display:flex;justify-content:space-between;font-size:12px;color:#8d8478}
.core .tag::after{content:" · 核心";color:var(--red)}

/* about */
.about{border-top:1px solid var(--line);padding:34px 0 10px;color:#cfc6ba}
.about h2{font-family:var(--serif);font-size:24px;margin:0 0 14px}
.about p{font-size:15px;max-width:760px}

/* detail */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);font-size:13px;color:var(--dim)}
.topbar a{text-decoration:none}.topbar a:hover{color:var(--ink)}
.person-head{padding:46px 0 10px}
.person-head h1{font-family:var(--serif);font-size:clamp(38px,7vw,64px);margin:6px 0 10px}
.stats{color:var(--dim);font-size:14px}
.prose{font-size:16.5px;color:#e9e1d6}
.prose h1{display:none}
.prose h2{font-family:var(--serif);font-size:24px;margin:38px 0 12px;padding-top:18px;border-top:1px solid var(--line)}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 16px;padding-left:20px}
.prose li{margin:0 0 8px}
.prose strong{color:#fff}
.prose a{color:var(--amber);text-decoration:none;border-bottom:1px dotted rgba(232,163,61,.5)}
.prose a:hover{color:#ffce7a}
.prose .meta-line{color:var(--dim);font-size:14px;margin:-4px 0 6px}
.eps{margin:44px 0 10px}
.eps h2{font-family:var(--serif);font-size:20px;margin:0 0 14px}
.eps .links{display:flex;flex-wrap:wrap;gap:8px}
.eps a{font-size:13px;text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:6px 11px;color:var(--dim)}
.eps a:hover{border-color:var(--red);color:var(--ink)}
.warn.foot{margin:36px 0 60px}
footer{border-top:1px solid var(--line);padding:26px 0 46px;color:var(--dim);font-size:13px}
footer p{margin:0 0 6px}
.dim{color:#77706a}
@media(max-width:560px){.hero{padding:54px 0 30px}.controls{padding:24px 0 6px}}
