/* pingshengwu.com 共用樣式（bio / cv 文字頁）。視覺 token 與 /works/ 的 style.css 同源：
   黑底、Work Sans + PingFang TC、15px/1.7、letter-spacing -.02em、font-weight 300。
   works 的頁首是 position:fixed + mix-blend-mode:difference（浮在滿版影像上）；
   文字頁改用 sticky + 實心背景，否則捲動時會糊在內文上。其餘尺寸、間距、灰階一致。 */
:root{
  --bg:#000; --fg:#fff; --grey:#a1a2ad; --gd:#1e1e1e;
  --m:clamp(16px,4vw,48px); --gap:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--bg); color:var(--fg);
  font-family:"Work Sans","PingFang TC","Noto Sans TC",system-ui,sans-serif;
  font-size:15px; line-height:1.7; letter-spacing:-.02em; font-weight:300;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--grey)}
img{display:block;max-width:100%}
em{font-style:italic}

/* ---- 共用頁首（與 works 同款：logo 左、nav 與語言切換靠右） ---- */
.top{
  position:sticky; top:0; z-index:10; background:var(--bg);
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:14px var(--m); border-bottom:1px solid var(--gd);
}
.top .logo{font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.top nav{display:flex;gap:18px;margin-left:auto}
.top nav a,.top .logo,.top .lang{font-size:15px;line-height:24px}
.top nav a[aria-current="page"]{color:var(--grey)}
.top .lang a{opacity:.45}
.top .lang a.on{opacity:1}
@media(max-width:767px){.top nav{display:none}}

/* ---- 版面 ---- */
.container{max-width:880px;margin:0 auto;padding:calc(var(--m)*1.6) var(--m) calc(var(--m)*2.5)}
header.intro{margin-bottom:calc(var(--m)*1.4)}
h1,h2,h3{font-weight:400;letter-spacing:-.034em}
h1{
  font-size:clamp(28px,4vw,44px); line-height:1.15;
  text-transform:uppercase; letter-spacing:-.03em; margin-bottom:.3em;
}
h1 .zh{display:block;font-size:.5em;color:var(--grey);margin-top:.45em;text-transform:none;letter-spacing:-.02em}
h2{
  font-size:21px; line-height:25px; text-transform:uppercase; color:var(--grey);
  margin-bottom:var(--gap); padding-bottom:8px; border-bottom:1px solid var(--gd);
}
h2 .h2-en{font-size:.72em;color:var(--grey);margin-left:.6em}
section{margin-bottom:calc(var(--m)*1.3)}

.bio{max-width:70ch}
.bio p+p{margin-top:1.1em}
.lede{max-width:70ch;margin-top:calc(var(--m)*.6)}
.lede p+p{margin-top:.9em}

.download-cta{margin-bottom:var(--gap);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.download-cta a{display:inline-block;color:var(--grey);border:1px solid var(--gd);padding:.5em 1.4em}
.download-cta a:hover{color:var(--fg);border-color:var(--grey)}
html.doc .top,html.doc .download-cta{display:none}

/* ---- CV 條列 ---- */
dl.cv-list{display:grid;grid-template-columns:8.5rem 1fr;gap:.4rem 1.5rem}
dl.cv-list dt{font-variant-numeric:tabular-nums;font-size:13px;color:var(--grey);padding-top:.2em}
dl.cv-list dd{margin-bottom:.85rem}
dl.cv-list dd .work{font-weight:400}
dl.cv-list dd .work em{font-weight:300}
dl.cv-list dd .work a{border-bottom:1px solid var(--gd)}
dl.cv-list dd .work a:hover{border-bottom-color:var(--grey)}
dl.cv-list dd .meta{display:block;font-size:13px;color:var(--grey);margin-top:.2em}

ul.education,ul.awards{list-style:none}
ul.education li,ul.awards li{display:grid;grid-template-columns:8.5rem 1fr;gap:.4rem 1.5rem;margin-bottom:.6rem}
ul.education li .yr,ul.awards li .yr{font-variant-numeric:tabular-nums;color:var(--grey);font-size:13px;padding-top:.2em}

/* ---- 共用頁尾（與 works 同款） ---- */
footer.site{padding:var(--m);border-top:1px solid var(--gd);color:var(--grey)}
footer.site p{margin:0}
footer.site .links{display:flex;flex-wrap:wrap;gap:var(--gap);margin-bottom:10px}
footer.site .links a{color:var(--fg)}
footer.site .links a:hover{color:var(--grey)}
footer.site .c{font-size:12px}

@media(max-width:640px){
  dl.cv-list{grid-template-columns:1fr;gap:.2rem}
  dl.cv-list dt{padding-top:0;margin-top:.6rem}
  dl.cv-list dd{margin-bottom:.4rem}
  ul.education li,ul.awards li{grid-template-columns:1fr;gap:.1rem}
  h2{font-size:18px}
  h2 .h2-en{display:block;margin-left:0;margin-top:.2em}
}
@media print{
  :root{--bg:#fff;--fg:#1a1a1a;--grey:#555;--gd:#d8d4cc}
  body{background:#fff;color:#1a1a1a}
  .top,footer.site,.download-cta{display:none}
  .container{padding:1cm}
  section{page-break-inside:avoid}
}
