@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;650&family=Noto+Sans+SC:wght@400;500;600&display=swap');

:root{--bg:#fafafa;--surface:#fff;--surface-soft:#f5f7f9;--text:#171717;--text-soft:#666;--muted:#8a8a8a;--line:#e5e7eb;--blue:#005bac;--blue-hover:#004a8f;--blue-soft:rgba(0,91,172,.06);--focus:#005bac;--shadow:0 14px 40px rgba(18,37,58,.06);--font:"Inter","Noto Sans SC",system-ui,sans-serif;--max:1180px}
[data-theme="dark"]{--bg:#0d1117;--surface:#151b23;--surface-soft:#11161d;--text:#e6edf3;--text-soft:#9ba4ae;--muted:#7f8994;--line:#27303a;--blue:#58a6ff;--blue-hover:#8bc2ff;--blue-soft:rgba(88,166,255,.09);--focus:#8bc2ff;--shadow:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.72;transition:background .25s,color .25s}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 16%,rgba(0,91,172,.07),transparent 29%),linear-gradient(rgba(0,91,172,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(0,91,172,.018) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px;z-index:-1}a{color:var(--blue);text-decoration:none}a:hover{color:var(--blue-hover)}button{font:inherit}button,a{outline-offset:3px}button:focus-visible,a:focus-visible{outline:2px solid var(--focus)}.shell{width:min(var(--max),calc(100% - 48px));margin:auto}.section{padding:104px 0;border-top:1px solid var(--line);scroll-margin-top:68px}.section-heading{max-width:690px;margin-bottom:42px}.index{display:block;color:var(--blue);font-size:12px;letter-spacing:.12em;font-weight:600;margin-bottom:8px}.section h2{font-size:clamp(32px,4vw,44px);line-height:1.16;letter-spacing:-.035em;margin:0 0 12px;font-weight:650}.section-heading p{margin:0;color:var(--text-soft);font-size:17px}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Navbar */.navbar{height:68px;position:fixed;inset:0 0 auto;z-index:20;transition:background .25s,border-color .25s}.navbar.scrolled{background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.wordmark{color:var(--text);font-weight:650;font-size:16px;letter-spacing:-.02em}.nav-links{display:flex;align-items:center;gap:22px}.nav-links a{font-size:13px;font-weight:500;color:var(--text-soft)}.nav-links a:hover{color:var(--blue)}.nav-tools{display:flex;align-items:center;gap:4px}.icon-button,.lang-toggle{border:0;background:transparent;color:var(--text-soft);width:34px;height:34px;border-radius:7px;display:grid;place-items:center;cursor:pointer}.icon-button:hover,.lang-toggle:hover{background:var(--blue-soft);color:var(--blue)}.lang-toggle{font-size:12px;font-weight:600}.mobile-toggle{display:none}
/* Hero */.hero{min-height:90vh;display:flex;align-items:center;padding:112px 0 58px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(280px,.72fr);gap:72px;align-items:center}.eyebrow{margin:0 0 18px;color:var(--blue);font-size:12px;font-weight:600;letter-spacing:.13em}.hero h1{font-size:clamp(54px,7vw,88px);line-height:.98;letter-spacing:-.067em;margin:0;font-weight:650}.hero h1 .zh-name{display:block;font-size:.44em;letter-spacing:.02em;font-weight:500;color:var(--text-soft);margin-top:17px}.hero-role{font-size:19px;line-height:1.45;margin:30px 0 12px;font-weight:500}.hero-description{max-width:670px;margin:0;color:var(--text-soft);font-size:17px}.tagline{color:var(--blue);font-size:15px;margin:20px 0 28px}.hero-actions,.socials{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{height:43px;padding:0 17px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;background:transparent}.button:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.button.primary:hover{background:var(--blue-hover);color:#fff}.socials{margin-left:4px}.social-link{width:38px;height:38px;border:1px solid var(--line);display:grid;place-items:center;color:var(--text-soft)}.social-link:hover{color:var(--blue);border-color:var(--blue)}.portrait-wrap{position:relative;justify-self:end;width:min(100%,370px)}.portrait-wrap:before{content:"";position:absolute;inset:-19px 18px 22px -20px;background-image:radial-gradient(var(--blue) .85px,transparent .85px);background-size:10px 10px;opacity:.14;z-index:-1}.portrait{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 10%;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.scroll-cue .icon{animation:down 1.7s ease-in-out infinite}@keyframes down{50%{transform:translateY(5px)}}
/* Content */.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:start}.about-copy{font-size:18px;max-width:700px;margin:0}.facts{border-top:1px solid var(--line)}.fact{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.fact dt{color:var(--muted)}.fact dd{margin:0;font-weight:500}.interest-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.interest{padding:25px 23px;min-height:220px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:transform .22s ease,background .22s,border-color .22s}.interest:hover{transform:translateY(-3px);background:var(--surface);box-shadow:var(--shadow)}.interest .interest-top{display:flex;align-items:center;justify-content:space-between;color:var(--blue)}.interest .number{font-size:12px;font-weight:600;letter-spacing:.1em}.interest h3{font-size:18px;line-height:1.35;margin:23px 0 10px;font-weight:600}.interest p{font-size:14px;color:var(--text-soft);margin:0}.news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:88px 1fr;gap:24px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}.news-year{font-size:13px;font-weight:600;color:var(--blue)}.text-link{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:500;margin-top:21px}.arrow{transition:transform .2s}.text-link:hover .arrow{transform:translate(2px,-2px)}
/* Research */.research-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.research-card{border:1px solid var(--line);background:var(--surface);overflow:hidden;transition:transform .24s ease,border-color .24s,box-shadow .24s}.research-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--blue) 45%,var(--line));box-shadow:var(--shadow)}.research-card:hover .research-visual:before{transform:scale(1.025)}.research-visual{height:220px;position:relative;overflow:hidden;background:var(--surface-soft)}.research-visual:before{content:"";position:absolute;inset:0;transition:transform .25s ease}.research-visual.medical:before{background:radial-gradient(ellipse at 49% 53%,transparent 0 13%,rgba(0,91,172,.24) 13.6% 14.8%,transparent 15.5% 23%,rgba(0,91,172,.15) 23.5% 25%,transparent 25.7%),repeating-radial-gradient(ellipse at center,rgba(0,91,172,.10) 0 1px,transparent 2px 25px),linear-gradient(130deg,#eef4f8,#dbe9f3)}.research-visual.edge:before{background:linear-gradient(135deg,transparent 49%,rgba(0,91,172,.18) 50%,transparent 51%) 0 0/30px 30px,radial-gradient(circle at 30% 35%,rgba(0,91,172,.3) 0 3px,transparent 4px),linear-gradient(145deg,#f3f7fa,#e0eaf1)}.research-visual.steel:before{background:repeating-linear-gradient(115deg,rgba(0,91,172,.08) 0 1px,transparent 1px 18px),linear-gradient(145deg,#e7edf0,#f8fafb)}.research-visual.underwater:before{background:radial-gradient(circle at 70% 30%,rgba(0,91,172,.21),transparent 29%),linear-gradient(180deg,#dae9f1 0%,#b9d7e4 49%,#dcecef 50%,#edf5f6 100%)}.visual-label{position:absolute;left:19px;bottom:15px;color:var(--blue);background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(4px);padding:5px 8px;font-size:11px;letter-spacing:.08em}.research-body{padding:22px}.research-area{color:var(--blue);font-size:11px;letter-spacing:.1em;font-weight:600}.research-body h3{font-size:21px;line-height:1.35;letter-spacing:-.025em;margin:11px 0 10px}.research-body p{font-size:14px;color:var(--text-soft);margin:0}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0}.tag{font-size:11px;color:var(--text-soft);padding:3px 8px;border:1px solid var(--line);background:var(--blue-soft)}.card-links{display:flex;gap:16px;flex-wrap:wrap}.card-links a{font-size:13px;font-weight:500;display:inline-flex;gap:4px;align-items:center}
/* Publications */.publication-list{border-top:1px solid var(--line)}.publication{display:grid;grid-template-columns:75px 1fr auto;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}.publication-year{font-size:14px;color:var(--blue);font-weight:600}.publication h3{font-size:18px;line-height:1.48;margin:0 0 6px;font-weight:600}.publication .authors,.publication .venue{font-size:14px;color:var(--text-soft);margin:0}.publication .venue{margin-top:3px}.my-name{font-weight:650;color:var(--text)}.status{font-size:11px;white-space:nowrap;border:1px solid var(--line);height:max-content;padding:3px 7px;color:var(--text-soft)}.status.accepted{border-color:rgba(0,91,172,.3);color:var(--blue);background:var(--blue-soft)}
/* journey and experience */.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line)}.journey-step{position:relative;padding:22px 18px 8px 0}.journey-step:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--blue)}.journey-year{font-size:12px;color:var(--blue);font-weight:600}.journey h3{font-size:16px;line-height:1.35;margin:12px 0 7px}.journey p{font-size:13px;color:var(--text-soft);margin:0}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}.flat-list{border-top:1px solid var(--line)}.flat-item{padding:21px 0;border-bottom:1px solid var(--line)}.flat-item .period{font-size:12px;color:var(--blue);font-weight:600}.flat-item h3{font-size:18px;margin:5px 0}.flat-item p{margin:0;color:var(--text-soft);font-size:14px}
/* awards / highlights */.awards-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px}.award-list{border-top:1px solid var(--line)}.award{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.award-year{font-size:12px;color:var(--blue);font-weight:600}.award h3{font-size:15px;line-height:1.45;margin:0}.award p{font-size:13px;color:var(--text-soft);margin:3px 0 0}.highlights{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.highlight{padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.highlight strong{display:block;color:var(--blue);font-size:32px;letter-spacing:-.045em;line-height:1.1}.highlight span{display:block;font-size:13px;color:var(--text-soft);margin-top:7px}
/* contact */.contact-row{display:flex;justify-content:space-between;gap:40px;align-items:end}.contact-row h2{max-width:600px}.contact-row .section-heading{margin:0}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:end}.footer{padding:28px 0 38px;color:var(--muted);font-size:12px}
@media(max-width:1024px){.hero-grid{gap:42px}.interest-grid{grid-template-columns:repeat(2,1fr)}.journey{grid-template-columns:repeat(3,1fr);gap:25px}.journey-step{padding-right:12px}.journey-step:before{top:-5px}.section{padding:86px 0}}
@media(max-width:760px){.shell{width:min(100% - 32px,var(--max))}.navbar{background:color-mix(in srgb,var(--bg) 91%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-links{display:none;position:absolute;top:68px;left:16px;right:16px;padding:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:11px}.mobile-toggle{display:grid}.hero{min-height:auto;padding:128px 0 75px}.hero-grid{grid-template-columns:1fr;gap:34px}.hero-copy{order:1}.portrait-wrap{order:2;justify-self:start;width:min(285px,78vw)}.hero h1{font-size:clamp(51px,15vw,70px)}.hero-role{font-size:17px;margin-top:24px}.hero-description{font-size:16px}.scroll-cue{display:none}.section{padding:68px 0;scroll-margin-top:58px}.section-heading{margin-bottom:30px}.section-heading p{font-size:16px}.about-grid,.experience-grid,.awards-grid{grid-template-columns:1fr;gap:34px}.interest-grid{grid-template-columns:1fr}.interest{min-height:auto;padding:20px}.interest h3{margin-top:18px}.research-grid{grid-template-columns:1fr;gap:16px}.research-visual{height:190px}.publication{grid-template-columns:55px 1fr;gap:12px}.publication .status{grid-column:2}.journey{grid-template-columns:1fr;border-left:1px solid var(--line);border-top:0;padding-left:20px;gap:0}.journey-step{padding:0 0 24px}.journey-step:before{left:-25px;top:5px}.highlights{grid-template-columns:repeat(2,1fr)}.contact-row{display:block}.contact-actions{justify-content:start;margin-top:24px}.fact{grid-template-columns:105px 1fr}.section h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.column-label{margin:0 0 12px;color:var(--blue);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.research-visual.has-image:before{display:none}.research-visual img{width:100%;height:100%;display:block;object-fit:cover}
.section{padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}@media(max-width:760px){.section{padding-left:16px;padding-right:16px}}
