:root{color-scheme:light;--bg:#f7f8fc;--surface:#fff;--text:#202338;--muted:#647084;--line:#e9ebf2;--accent:#6265d9;--soft:#f0efff;--shadow:0 16px 45px rgba(33,39,85,.055)}
:root[data-theme=dark]{color-scheme:dark;--bg:#11131d;--surface:#1c2030;--text:#f0f1fa;--muted:#a7aec1;--line:#34384b;--accent:#a5a8ff;--soft:#2d2d50;--shadow:0 16px 45px rgba(0,0,0,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.7 'DM Sans',Arial,sans-serif}body::before{content:'';position:absolute;top:70px;right:0;width:42vw;height:600px;pointer-events:none;background:radial-gradient(circle at top right,rgba(116,119,230,.11),transparent 65%)}[hidden]{display:none!important}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;line-height:1.25}h1{letter-spacing:-.06em}p{margin-bottom:1em}
.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{max-width:1120px;margin:auto;min-height:72px;padding:10px 24px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:10px;color:var(--text);font:800 1rem Manrope,sans-serif;white-space:nowrap}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;color:#fff;background:linear-gradient(135deg,#7774e8,#5856c4);font-size:.8rem}.site-nav{display:flex;gap:6px;margin-left:auto}.site-nav a{color:var(--muted);font-weight:700;font-size:.88rem;padding:9px 13px;border-radius:9px}.site-nav a:hover,.site-nav a.active{color:var(--accent);background:var(--soft);text-decoration:none}.theme-toggle{width:37px;height:37px;flex:none;border:1px solid var(--line);background:var(--surface);border-radius:10px;color:var(--text);cursor:pointer;font-size:1.15rem}
.section-shell,.content-shell,.archive-page{max-width:1080px;margin:auto;padding-left:24px;padding-right:24px}.hero{padding-top:76px;padding-bottom:28px;display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:38px 74px;align-items:center}.hero-copy{min-width:0}.hero h1{font-size:clamp(2.8rem,5.5vw,4.3rem);margin:0 0 8px}.hero h1 span{background:linear-gradient(105deg,#5256c8,#9892ee);background-clip:text;color:transparent}.hero-role{font-size:1.03rem;color:var(--accent);font-weight:800;margin-bottom:25px}.hero-copy>p:not(.hero-role){color:var(--muted);max-width:710px}.hero-copy>p a{font-weight:700}.fangsong{font-family:FangSong,STFangsong,serif;color:var(--text)}.profile-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.profile-links a{padding:7px 14px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-size:.87rem;font-weight:800;box-shadow:0 4px 12px rgba(42,46,91,.025)}.profile-links a:hover{border-color:var(--accent);text-decoration:none}.hero-portrait{text-align:center}.portrait-frame{padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.portrait-frame img{display:block;width:100%;height:275px;object-fit:cover;border-radius:12px}.portrait-caption{margin-top:12px;color:var(--muted);font-size:.78rem;font-weight:700}.status-dot{display:inline-block;width:7px;height:7px;background:#3dc99a;border-radius:50%;margin-right:5px}
.section-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:800;margin:0 0 5px}.section-heading{display:flex;align-items:end;gap:17px;margin-bottom:20px}.section-heading h2{font-size:1.65rem;letter-spacing:-.04em;margin:0}.section-heading>p{display:none}.view-link{margin-left:auto;font-size:.85rem;font-weight:800;white-space:nowrap}.hero-news{grid-column:1/-1;min-width:0;border-top:1px solid var(--line);padding-top:27px;margin-top:16px}.news-list{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 16px;scrollbar-color:var(--accent) var(--line)}.highlight{flex:0 0 265px;min-height:104px;padding:17px 19px;border:1px solid var(--line);background:var(--surface);border-radius:13px;box-shadow:var(--shadow);scroll-snap-align:start;font-size:.89rem}.highlight .date{display:block;color:var(--accent);font-size:.77rem;font-weight:800;margin-bottom:8px}.slide-controls{display:flex;gap:6px}.slide-controls button{width:31px;height:31px;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;cursor:pointer;font-size:1.3rem;line-height:1}.slide-controls button:hover{color:var(--accent);border-color:var(--accent)}
.home-selected{padding-top:39px;padding-bottom:80px}.selected-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.awards-heading{margin-top:54px}.selected-awards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.publication:not(.description){min-width:0;padding:23px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.project-description h3{font-size:1rem;letter-spacing:-.025em;margin-bottom:13px}.project-description h3 a{color:var(--text)}.project-description h3 a:hover{color:var(--accent)}.project-description p{color:var(--muted);font-size:.82rem;line-height:1.65;margin:0 0 8px}.project-description i{display:block;font-size:.82rem;font-style:normal;font-weight:800;color:var(--accent);margin:11px 0}.project-description p:last-child{margin:16px 0 0!important;font-weight:800}.project-description p:last-child a{background:var(--soft);padding:4px 10px;border-radius:7px}.project-description ins{text-decoration:none;color:var(--text);font-weight:800}.dagger{font-size:.7em;vertical-align:super}.award{display:flex;gap:20px;padding:17px 20px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:.91rem}.award .date{margin:0;flex:0 0 42px;color:var(--accent);font-weight:800}
.content-shell{padding-top:55px;padding-bottom:90px}.content-section>.section-heading{margin-bottom:28px}.content-section>.section-heading h2{font-size:2.55rem}.content-section>.section-heading .section-kicker{margin-bottom:10px}.publication-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.publication.description{grid-column:1/-1;border-bottom:1px solid var(--line);padding:13px 0 7px;margin-top:12px;color:var(--accent);font-size:.83rem;font-weight:800}.publication.description i{font-style:normal}.award-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.service{max-width:730px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:25px}.service-category{font:800 1.08rem Manrope,sans-serif;margin-bottom:12px}.service-list{padding-left:19px;margin:0;color:var(--muted)}.service-list li+li{margin-top:9px}.service-list strong{color:var(--text)}
.archive-page{padding-top:55px;padding-bottom:95px}.archive-intro{margin-bottom:30px}.archive-intro h1{font-size:2.55rem;margin:0 0 9px}.archive-intro>p:last-child{color:var(--muted)}.archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.archive-list .highlight{min-height:0;flex:none}.site-footer{max-width:1080px;margin:auto;padding:26px 24px 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}
@media(max-width:850px){.header-inner{gap:15px}.site-nav a{padding:8px}.hero{grid-template-columns:minmax(0,1fr) 190px;gap:30px}.portrait-frame img{height:220px}.selected-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.header-inner{flex-wrap:wrap;padding:10px 18px}.site-nav{order:3;width:100%;overflow-x:auto;white-space:nowrap;margin:0}.theme-toggle{margin-left:auto}.section-shell,.content-shell,.archive-page{padding-left:18px;padding-right:18px}.hero{display:flex;flex-direction:column-reverse;align-items:stretch;padding-top:36px;gap:30px}.hero-portrait{align-self:center;width:160px}.portrait-frame img{height:178px}.hero h1{font-size:2.6rem}.hero-news{width:100%;margin-top:0}.section-heading h2{font-size:1.4rem}.selected-list,.selected-awards,.publication-list,.award-list,.archive-list{grid-template-columns:1fr}.highlight{flex-basis:245px}.content-shell,.archive-page{padding-top:36px}.content-section>.section-heading h2,.archive-intro h1{font-size:2.15rem}.home-selected{padding-bottom:60px}.site-footer{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Restrained academic layout */
:root{--bg:#fafafa;--surface:#fff;--text:#242a31;--muted:#606b75;--line:#e3e6e9;--accent:#315d7c;--soft:#f0f4f6;--shadow:none}
:root[data-theme=dark]{--bg:#171a1e;--surface:#20252a;--text:#edf0f2;--muted:#adb7bf;--line:#394148;--accent:#9bc3d9;--soft:#29343b;--shadow:none}
body::before{display:none}
.site-header{backdrop-filter:none;background:var(--surface)}
.brand-mark{background:var(--accent);border-radius:4px}
.site-nav a{border-radius:0}
.site-nav a:hover,.site-nav a.active{background:transparent;border-bottom:2px solid var(--accent)}
.theme-toggle,.profile-links a,.publication:not(.description),.highlight,.award,.service,.portrait-frame{box-shadow:none;border-radius:5px}
.hero h1 span{background:none;color:var(--text)}
.hero-role{color:var(--muted)}
.portrait-frame img{border-radius:2px}
.portrait-caption{display:none}
.project-description p:last-child a{border-radius:3px}
.news-list{display:block;max-height:244px;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;padding:0 8px 0 0;scrollbar-width:thin}
.news-list .highlight{display:flex;gap:18px;align-items:baseline;min-height:0;padding:10px 4px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;scroll-snap-align:none}
.news-list .highlight .date{flex:0 0 64px;margin:0}
.archive-list{display:grid;max-height:none;overflow:visible;grid-template-columns:1fr;gap:0}
.archive-list .highlight{padding:15px 4px}
.selected-list .publication:hover,.publication-list .publication:hover{border-color:var(--accent)}
.selected-list,.selected-awards,.publication-list,.award-list{grid-template-columns:minmax(0,1fr);max-width:850px}
.hero-news .section-heading h2,.home-selected .section-heading h2{font-size:1.65rem}
@media(max-width:650px){.hero-news .section-heading h2,.home-selected .section-heading h2{font-size:1.4rem}}
.publication:not(.description),.award,.service{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:18px 0}
.selected-list .publication:hover,.publication-list .publication:hover{border-color:var(--line)}
.hero h1{font-size:1.8rem;letter-spacing:-.025em;margin-bottom:6px}
.project-description i{font-style:italic;font-weight:700}
.ccf-rank{font-style:normal;font-weight:700;color:var(--muted)}
@media(max-width:650px){.hero h1{font-size:1.5rem}}
.hero{grid-template-columns:minmax(0,1fr) 185px}
.portrait-frame img{height:215px}
.project-description i{font-style:normal}
@media(max-width:650px){.hero-portrait{width:130px}.portrait-frame img{height:148px}}
.home-selected>.section-heading{flex-wrap:wrap}
.service-list{list-style:none;padding-left:0}
