:root{--paper:#fafaf7;--ink:#242c29;--muted:#66716b;--accent:#28594c;--line:#dce2dc;--tint:#eef2ed}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.skip-link{position:fixed;top:-80px;left:16px;padding:8px 16px;background:var(--ink);color:white;z-index:10}.skip-link:focus{top:10px}
.site-header{border-bottom:1px solid var(--line)}.header-inner{max-width:1100px;margin:auto;padding:22px 40px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.wordmark{font-weight:700;letter-spacing:.08em;white-space:nowrap}.wordmark span{margin-left:15px;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:.03em}
nav{display:flex;gap:25px;font-size:13px;color:var(--muted)}
.page{max-width:1100px;padding:0 40px;margin:auto}.hero{padding:76px 0 65px;display:flex;justify-content:space-between;align-items:center;gap:50px}.eyebrow{font-size:13px;color:var(--accent);font-weight:600;letter-spacing:.16em;margin:0 0 12px}
h1{font-size:58px;line-height:1.2;letter-spacing:.08em;margin:0 0 25px;font-weight:750}.hero-statement{font-size:24px;line-height:1.65;font-weight:500;margin:0 0 22px}.affiliation{color:var(--muted);font-size:14px;margin:0 0 15px}.contact{display:inline-flex;align-items:center;gap:10px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:5px;overflow-wrap:anywhere}.contact span{font-size:20px;color:var(--accent)}
.portrait{position:relative;width:180px;aspect-ratio:280/358;overflow:hidden;border-radius:5px;background:white;flex-shrink:0;margin-right:25px}.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:54% center;}
.section{border-top:1px solid var(--line);padding:38px 0 44px;display:grid;grid-template-columns:210px minmax(0,1fr);gap:35px}.section-heading{display:flex;align-items:baseline;gap:12px}.section-number{font-size:12px;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}h2{font-size:21px;letter-spacing:.03em;margin:0;line-height:1.5}h3{font-size:17px;line-height:1.65;margin:0;font-weight:700}h4{font-size:15px;margin:0;line-height:1.7}p{margin:0 0 12px}.section-content>p{color:var(--muted)}.section-content .intro{font-size:19px;font-weight:500;color:var(--ink);margin-bottom:12px}
.tags{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}.tags li{padding:3px 11px;background:var(--tint);color:var(--accent);border-radius:3px;font-size:12px}
.timeline{border-left:1px solid var(--line);padding-left:25px}.experience{position:relative;padding-bottom:29px;margin-bottom:27px;border-bottom:1px solid var(--line)}.experience:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}.experience:before{content:"";position:absolute;width:7px;height:7px;background:var(--accent);border-radius:50%;left:-29px;top:10px;box-shadow:0 0 0 5px var(--paper)}.entry-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.date{font-size:12px;color:var(--muted);white-space:nowrap;letter-spacing:.02em;font-variant-numeric:tabular-nums;margin:0}.role{font-size:13px;color:var(--accent);font-weight:600;margin:5px 0 14px}.experience>p:last-child,.teaching-item p{color:var(--muted);font-size:14px;margin-bottom:0}.teaching-item{margin-top:16px}.teaching-item h4{margin-bottom:3px}
.education-list{display:grid;grid-template-columns:1fr 1fr;gap:30px}.education-list h3{margin:8px 0 2px}.education-list article>p:not(.date){font-size:14px;color:var(--muted);margin:0}.education-list .rank{margin-top:14px!important}.rank strong{color:var(--accent);margin-left:8px;font-size:18px;font-weight:600}
.achievements-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px}.subheading{margin-bottom:17px}.credentials{list-style:none;margin:0;padding:0;font-size:14px}.credentials li{padding:8px 0;border-bottom:1px solid var(--line)}.credentials li:first-child{padding-top:0}.credentials li:last-child{border-bottom:0}.credentials strong{display:block;font-size:13px;color:var(--accent);font-weight:500}.award{margin-bottom:22px}.award-result{font-size:12px;letter-spacing:.04em;color:var(--accent);margin-bottom:5px;font-weight:600}.award p:last-child:not(.award-result){color:var(--muted);font-size:13px;margin-top:7px}
footer{border-top:1px solid var(--line);padding:24px 0 30px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}footer p{margin:0}footer span{margin-left:16px}footer a{white-space:nowrap}
@media(max-width:900px){.section{grid-template-columns:165px minmax(0,1fr);gap:24px}.entry-heading{display:block}.entry-heading .date{margin-top:3px}.achievements-grid{gap:24px}}
@media(max-width:640px){html{scroll-padding-top:20px}.header-inner{padding:18px 22px;display:block}.wordmark{font-size:15px}nav{gap:20px;margin-top:14px;font-size:12px}.page{padding:0 22px}.hero{padding:39px 0;gap:18px;align-items:flex-start}h1{font-size:40px;margin-bottom:17px}.eyebrow{font-size:11px;letter-spacing:.08em}.hero-statement{font-size:18px;margin-bottom:16px}.affiliation{font-size:12px;max-width:210px}.contact{font-size:11px;gap:5px}.portrait{width:94px;margin:7px 0 0}.section{display:block;padding:29px 0 32px}.section-heading{margin-bottom:22px}h2{font-size:20px}.section-content .intro{font-size:17px}.section-content>p{font-size:14px}.timeline{margin-left:3px;padding-left:20px}.experience:before{left:-24px}.education-list,.achievements-grid{grid-template-columns:1fr;gap:25px}footer span{display:block;margin:2px 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:white;font-size:12px}.site-header,.skip-link,footer a{display:none}.page{max-width:none;padding:0}.hero{padding:10px 0 25px}h1{font-size:36px}.hero-statement{font-size:18px}.portrait{width:120px}.section{padding:20px 0;grid-template-columns:130px minmax(0,1fr);gap:20px;display:grid}.section-heading{margin-bottom:0}h2{font-size:17px}.experience,.education-list article,.award{break-inside:avoid}.experience{padding-bottom:15px;margin-bottom:15px}.education-list,.achievements-grid{grid-template-columns:1fr 1fr}.tags li{background:none;border:1px solid var(--line)}footer{padding:12px 0}}
