@font-face{font-family:Site Signature Kai;src:url(/fonts/site-signature-kai.woff)format("woff");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+5218,U+52C7}:root{--paper:#fff;--paper-light:#f6f8fa;--ink:#20252b;--muted:#626b74;--line:#d9dee4;--green:#245b8f;--green-deep:#1d496f;--green-pale:#edf3f8;--gold:#66717c;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;--signature-font:"Site Signature Kai", "Kaiti SC", STKaiti, KaiTi, "楷体", var(--font);--serif:var(--font);--sans:var(--font);--max-width:1000px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.58}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p,h1,h2,h3,figure{margin:0}::selection{color:#173b5b;background:#dce9f4}.page-shell{width:min(calc(100% - 48px), var(--max-width));margin-inline:auto}.site-header{z-index:30;border-bottom:1px solid var(--line);background:#fffffff7;position:sticky;top:0}.header-inner{width:min(calc(100% - 48px), var(--max-width));grid-template-columns:1fr auto auto;align-items:center;gap:28px;min-height:62px;margin-inline:auto;display:grid}.wordmark{align-items:baseline;gap:10px;width:fit-content;line-height:1.2;display:inline-flex}.wordmark-zh{font-family:var(--signature-font);letter-spacing:.06em;font-synthesis:none;font-size:1.28rem;font-weight:400}.wordmark-en{color:var(--muted);letter-spacing:.03em;font-size:.73rem;font-weight:500}.primary-nav{align-items:center;gap:24px;display:flex}.primary-nav a,.language-link{color:#46515b;padding:5px 0;font-size:.88rem;font-weight:500;position:relative}.primary-nav a:after{content:"";background:var(--green);transform-origin:50%;height:2px;transition:transform .15s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--green-deep)}.primary-nav a:hover:after,.primary-nav a[aria-current=page]:after{transform:scaleX(1)}.language-link{color:var(--green);justify-self:end}.language-link:hover{text-underline-offset:3px;text-decoration:underline}.hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 160px;align-items:start;gap:40px;padding-block:32px;display:grid}.hero-copy{min-width:0}.hero-kicker,.eyebrow,.mini-label{color:var(--muted);letter-spacing:.035em;font-size:.76rem;font-weight:600;line-height:1.45}.hero-kicker{color:var(--green-deep);letter-spacing:.01em;margin-bottom:7px;font-size:.84rem}.hero h1{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(2rem,4vw,2.35rem);font-weight:600;line-height:1.15}.hero h1.hero-name-zh-display{font-family:var(--signature-font);letter-spacing:.08em;font-synthesis:none;font-weight:400}.hero-name-en{color:var(--muted);letter-spacing:.035em;margin-top:4px;font-size:.9rem;font-weight:500}.hero-name-zh{font-family:var(--serif);letter-spacing:.08em;font-size:.96rem}.hero-role{color:#3e4851;margin-top:9px;font-size:1.02rem;line-height:1.55}.contact-grid{max-width:650px;margin-top:14px}.contact-grid>div{grid-template-columns:88px minmax(0,1fr);gap:16px;padding:2px 0;display:grid}.contact-grid span{color:var(--muted);font-size:.79rem;font-weight:500}.contact-grid p,.contact-grid a{overflow-wrap:anywhere;color:#37414a;font-size:.88rem;line-height:1.6}.contact-grid a{width:fit-content;color:var(--green);text-underline-offset:3px;-webkit-text-decoration:underline #adc2d4;text-decoration:underline #adc2d4}.portrait-wrap{justify-self:end;width:160px}.portrait-frame{aspect-ratio:4/5;background:#eef1f3;border:1px solid #c9ced3;overflow:hidden}.portrait-frame img{object-fit:cover;object-position:50% 42%;width:100%;height:100%}.portrait-wrap figcaption{color:var(--muted);text-align:right;margin-top:7px;font-size:.68rem;line-height:1.4}.content-section{border-bottom:1px solid var(--line);padding-block:25px}.section-heading{margin-bottom:20px}.section-index,.section-heading .eyebrow{display:none}.section-heading h2,.publication-heading h2,.teaching-note h2,.course-intro h2{font-family:var(--sans);letter-spacing:0;font-size:1.08rem;font-weight:650;line-height:1.3}.section-heading h2,.publication-heading h2,.teaching-note h2{padding-bottom:5px}.reading-column{max-width:760px}.reading-column>p{color:#303840;font-family:var(--serif);font-size:1.02rem;line-height:1.85}.reading-column>p+p{margin-top:1em}.english-copy>p{line-height:1.62}.biography-section{border-bottom:1px solid var(--line);padding-block:25px}.profile-biography{color:#303840;max-width:820px;font-family:var(--serif);font-size:.96rem;line-height:1.65}.research-overview{border-bottom:1px solid var(--line);grid-template-columns:minmax(240px,.72fr) minmax(0,1.5fr);align-items:start;gap:42px;padding-block:23px;display:grid}.research-overview-copy{color:#303840;font-family:var(--serif);font-size:.94rem;line-height:1.62}.research-representative .primary-link{margin-top:2px}.research-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);align-items:start;gap:46px;display:grid}.primary-link,.quiet-link,.text-link{width:fit-content;color:var(--green);align-items:center;gap:6px;font-size:.84rem;font-weight:600;display:inline-flex}.primary-link{text-underline-offset:4px;margin-top:15px;-webkit-text-decoration:underline #adc2d4;text-decoration:underline #adc2d4}.primary-link span,.quiet-link span,.text-link span{transition:transform .15s}.primary-link:hover span,.quiet-link:hover span,.text-link:hover span{transform:translate(3px)}.selected-work{min-width:0}.selected-work .mini-label{margin-bottom:7px}.selected-work article{border-top:1px solid var(--line);padding:13px 0 15px}.selected-work article>span{color:var(--muted);margin-bottom:3px;font-size:.73rem;display:block}.selected-work h3{font-family:var(--serif);font-size:.98rem;font-weight:600;line-height:1.5}.selected-work article p{color:var(--muted);margin-top:5px;font-size:.76rem;line-height:1.5}.teaching-preview{border-bottom:0;grid-template-columns:minmax(190px,.58fr) minmax(0,1.72fr);align-items:start;gap:38px;display:grid}.compact-section-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:2px;display:flex}.compact-section-heading h2{font-family:var(--sans);font-size:1.05rem;font-weight:650;line-height:1.35}.teaching-summary{color:#3f4851;font-family:var(--serif);margin-top:5px;font-size:.9rem;line-height:1.5}.section-heading-row{justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;display:flex}.section-heading-row .section-heading{flex:1;min-width:0;margin-bottom:0}.course-grid{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);display:grid}.course-card{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.75fr) minmax(0,2.25fr);align-items:start;gap:24px;min-width:0;padding:10px 0 11px;display:grid}.course-card:last-child{border-bottom:0}.course-title{min-width:0}.course-card:not(.course-card-static):hover h3{color:var(--green-deep)}.course-code{color:var(--muted);letter-spacing:.03em;font-size:.68rem;font-weight:600}.course-card h3{font-family:var(--serif);font-size:1rem;font-weight:600;line-height:1.35}.course-name-en{color:var(--muted);margin-top:1px;font-size:.76rem;line-height:1.35}.course-description{color:#4d5760;font-family:var(--serif);font-size:.78rem;line-height:1.5}.contact-strip{background:var(--paper-light);border-bottom:1px solid var(--line)}.contact-strip-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding-block:30px;display:grid}.contact-strip .eyebrow{display:none}.contact-strip h2{font-family:var(--sans);font-size:1.18rem;font-weight:650;line-height:1.4}.contact-strip a{color:var(--green);text-underline-offset:4px;font-size:.86rem;-webkit-text-decoration:underline #adc2d4;text-decoration:underline #adc2d4}.site-footer{background:var(--paper);color:var(--muted)}.footer-inner{width:min(calc(100% - 48px), var(--max-width));justify-content:space-between;align-items:center;gap:24px;min-height:62px;margin-inline:auto;font-size:.72rem;display:flex}.footer-records,.police-record{align-items:center;display:flex}.footer-records{flex-wrap:wrap;justify-content:flex-start;gap:7px 18px}.police-record{white-space:nowrap;gap:5px}.police-record img{flex:none;width:18px;height:20px}.footer-copyright{white-space:nowrap;margin-left:auto}.footer-inner a:hover{color:var(--green);text-underline-offset:3px;text-decoration:underline}.inner-page{min-height:calc(100svh - 125px)}.page-intro,.course-document-header{padding-block:24px 18px}.breadcrumb{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:14px;font-size:.76rem;display:flex}.breadcrumb a{color:var(--green)}.breadcrumb a:hover{text-underline-offset:3px;text-decoration:underline}.page-intro>.eyebrow{display:none}.page-intro h1,.course-document-header h1,.not-found h1{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(1.72rem,3.5vw,1.95rem);font-weight:600;line-height:1.2}.page-lede{color:var(--muted);font-family:var(--serif);margin-top:4px;font-size:.94rem;line-height:1.5}.research-topics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:220px minmax(0,1fr);gap:40px;margin-bottom:18px;padding-block:26px;display:grid}.research-topics .mini-label{display:none}.research-topics h2{color:var(--ink)}.research-topics-copy>p:last-child{color:var(--muted);font-family:var(--serif);margin-top:10px;font-size:.96rem;line-height:1.7}.topic-matrix{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;display:grid}.topic-matrix>div{border-bottom:1px solid var(--line);grid-template-columns:25px minmax(0,1fr);gap:7px;min-width:0;padding:9px 0;display:grid}.topic-matrix span{color:#8a949d;font-size:.7rem}.topic-matrix p{font-family:var(--serif);font-size:.91rem;line-height:1.5}.publication-section{padding-block:21px}.publication-first{border-top:1px solid var(--line);padding-top:13px}.publication-section+.publication-section{border-top:1px solid var(--line)}.publication-heading{margin-bottom:10px}.publication-heading .eyebrow{display:none}.publication-list{margin:0;padding-left:1.8rem}.publication-list li{padding:0 0 9px 4px}.publication-list li+li{padding-top:1px}.publication-list li::marker{color:var(--muted);font-size:.86rem}.publication-list p{max-width:860px;font-family:var(--serif);font-size:.94rem;line-height:1.56}.publication-authors{font-weight:600}.publication-title{color:#27313a}.publication-list cite{color:#344f69}.publication-link{color:var(--green);font-family:var(--sans);text-underline-offset:3px;font-size:.78rem;font-weight:500;-webkit-text-decoration:underline #adc2d4;text-decoration:underline #adc2d4;display:inline}.publication-link .external-mark{margin-left:2px;font-size:.7em}.activity-section{border-top:1px solid var(--line);padding-block:21px 48px}.activity-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.activity-list li{border-bottom:1px solid #e8ebee;grid-template-columns:164px minmax(0,1fr);align-items:start;gap:18px;padding:7px 0;display:grid}.activity-list time{color:var(--muted);font-size:.76rem;line-height:1.55}.activity-list p{font-family:var(--serif);font-size:.88rem;line-height:1.55}.activity-list strong{font-weight:600}.activity-note{color:var(--muted);margin-top:1px;font-size:.8rem!important}.teaching-list{padding-bottom:42px}.teaching-note{max-width:760px;margin-bottom:8px}.teaching-note .mini-label{display:none}.teaching-note>p:last-child{color:#4b555e;font-family:var(--serif);margin-top:4px;font-size:.9rem;line-height:1.55}.course-title-line{grid-template-columns:1fr auto;align-items:end;gap:24px;display:grid}.course-title-line>.course-code{padding-bottom:4px}.course-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:5px 30px;margin:15px 0 0;padding:7px 0;display:flex}.course-meta>div{gap:8px;font-size:.8rem;display:flex}.course-meta dt{color:var(--muted)}.course-meta dd{margin:0}.course-meta a,.course-toc a,.course-back-link a{color:var(--green);text-underline-offset:3px;-webkit-text-decoration:underline #adc2d4;text-decoration:underline #adc2d4}.course-document{padding-bottom:48px}.course-toc{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:4px 18px;padding:8px 0;font-size:.78rem;display:flex}.course-toc>span{color:var(--ink);font-weight:600}.course-document>section{max-width:880px;padding-top:22px;scroll-margin-top:78px}.course-document h2{font-family:var(--sans);margin-bottom:7px;font-size:1.08rem;font-weight:650;line-height:1.35}.course-document section>p,.resource-disclosures details>p,.resource-disclosure>p{color:#364049;font-family:var(--serif);font-size:.92rem;line-height:1.58}.empty-resource{color:var(--muted)!important}.resource-disclosures,.resource-disclosure{border-top:1px solid var(--line)}.resource-disclosures details,.resource-disclosure{border-bottom:1px solid var(--line)}.resource-disclosures summary,.resource-disclosure summary{cursor:pointer;padding:8px 2px;font-size:.9rem;font-weight:600}.resource-disclosures summary span,.resource-disclosure summary span{margin-left:3px}.resource-disclosures summary small,.resource-disclosure summary small{float:right;color:var(--muted);padding-top:2px;font-size:.72rem;font-weight:400}.resource-disclosures details>p,.resource-disclosure>p{color:var(--muted);padding:0 22px 9px;font-size:.86rem}.course-back-link{margin-top:28px;font-size:.8rem}.not-found{min-height:calc(100svh - 125px);padding-block:clamp(70px,12vw,130px)}.not-found>.eyebrow{color:var(--muted);margin-bottom:8px}.not-found>p:not(.eyebrow){color:var(--muted);font-family:var(--serif);margin-top:18px;font-size:1rem}.not-found .primary-link{margin-top:24px}a:focus-visible{outline-offset:4px;border-radius:2px;outline:2px solid #4079ad}@media (width<=860px){.hero{grid-template-columns:minmax(0,1fr) 150px;gap:30px}.portrait-wrap{width:150px}.research-overview,.teaching-preview{grid-template-columns:1fr;gap:14px}.research-representative{border-top:1px solid var(--line);padding-top:15px}}@media (width<=680px){.page-shell,.header-inner,.footer-inner{width:min(calc(100% - 32px), var(--max-width))}.site-header{position:static}.header-inner{grid-template-columns:1fr auto;gap:8px 16px;min-height:auto;padding-block:11px 9px}.wordmark-en{display:none}.primary-nav{grid-area:2/1/auto/-1;justify-content:space-between;gap:12px;width:100%}.language-link{grid-area:1/2}.hero{grid-template-columns:1fr;gap:18px;padding-block:24px}.hero h1{font-size:1.95rem}.contact-grid>div{grid-template-columns:78px minmax(0,1fr);gap:12px}.portrait-wrap{justify-self:start;width:124px}.portrait-wrap figcaption{text-align:left}.content-section{padding-block:22px}.reading-column>p{font-size:.98rem}.compact-section-heading{flex-direction:column;align-items:flex-start;gap:4px}.course-grid{grid-template-columns:1fr}.contact-strip-inner{grid-template-columns:1fr;gap:8px;padding-block:25px}.footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:16px;padding-block:16px}.footer-records{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px}.page-intro,.course-document-header{padding-block:22px 15px}.breadcrumb{margin-bottom:12px}.page-intro h1,.course-document-header h1,.not-found h1{font-size:1.72rem}.publication-section{padding-block:19px}.publication-list{padding-left:1.45rem}.publication-list li{padding-left:2px}.publication-list p{font-size:.92rem}.teaching-list{padding-bottom:36px}.course-title-line{grid-template-columns:1fr;align-items:start;gap:5px}.course-title-line>.course-code{padding-bottom:0}.course-meta{gap:4px 20px}.activity-list li{grid-template-columns:1fr;gap:1px}}@media (width<=430px){.primary-nav{gap:8px}.primary-nav a{font-size:.78rem}.hero-kicker{max-width:290px}.course-card{grid-template-columns:minmax(0,1fr);gap:3px}.course-card h3{font-size:.96rem}.course-meta{display:grid}.course-toc{gap:3px 13px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{.site-header,.site-footer,.contact-strip{display:none}html,body{color:#000;background:#fff}body{font-size:11pt}.page-shell{width:100%}.hero{grid-template-columns:1fr;padding-block:0 20pt}.portrait-wrap{display:none}.content-section,.publication-section,.research-topics,.course-resources{break-inside:avoid;padding-block:16pt}.research-topics,.course-resources{margin-bottom:0}.course-card,.publication-list li,.resource-row{break-inside:avoid}.primary-link,.quiet-link,.text-link,.publication-link{color:#000}}
