:root{--bg:#fafbfc;--text:#20242b;--muted:#656c77;--line:#15233914;--surface:#fff;--soft:#f1f4f7;--accent:#326a87;--glow:#87bed926;--nav:#ffffffd9;--shadow:0 8px 28px #24385706;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}html[data-theme=dark]{--bg:#101113;--text:#ededef;--muted:#a4a6ae;--line:#e0e7ff16;--surface:#17191c;--soft:#1d2127;--accent:#95c4d9;--glow:#23618525;--nav:#17191ce6;--shadow:0 10px 35px #00000018;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--bg);color:var(--text);margin:0;font-size:14px;line-height:1.75;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}p,h1,h2,h3,h4{margin:0}img{max-width:100%;display:block}::selection{background:#4f99bf40}.ambient{background:radial-gradient(ellipse at 20% 0,var(--glow),transparent 55%);pointer-events:none;z-index:0;height:900px;position:absolute;inset:0 0 auto}.header{z-index:20;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:min(1220px,100% - 64px);min-height:49px;margin:14px auto 0;display:grid;position:sticky;top:14px}.wordmark{width:max-content;font-size:12px;font-weight:500}.wordmark>span{color:var(--muted);padding:0 5px}.header nav{border:1px solid var(--line);background:var(--nav);backdrop-filter:blur(22px);box-shadow:var(--shadow);border-radius:30px;gap:3px;padding:5px;display:flex}.header nav a{border-radius:22px;padding:7px 17px;font-size:12px;transition:background .2s}.header nav a:hover{background:var(--soft)}.controls{background:var(--nav);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:24px;justify-self:end;align-items:center;gap:10px;padding:6px 11px;display:flex}.lang-switch{text-align:center;min-width:22px;font-size:11px}.control-divider{background:var(--line);width:1px;height:15px}.theme-switch{background:0 0;border:0;justify-content:center;align-items:center;width:25px;height:25px;padding:2px;display:flex}.moon,html[data-theme=dark] .sun{display:none}html[data-theme=dark] .moon{display:block}.skip{z-index:100;background:var(--text);color:var(--bg);padding:8px 15px;position:fixed;top:-70px;left:20px}.skip:focus{top:10px}.page{width:min(1100px,100% - 64px);margin:62px auto 0;position:relative}.intro-section{grid-template-columns:178px 1fr;align-items:start;gap:58px;display:grid}.profile{text-align:center;padding-top:8px}.portrait{object-fit:cover;object-position:center 25%;border:5px solid var(--surface);width:144px;height:144px;box-shadow:0 0 0 1px var(--line);border-radius:50%;margin:0 auto 18px}.location{color:var(--muted);justify-content:center;align-items:center;gap:7px;font-size:12px;display:flex}.location>span{background:#79a491;border-radius:50%;width:5px;height:5px}.profile-tags{color:var(--muted);flex-direction:column;align-items:center;gap:5px;margin:15px 0;font-size:10px;display:flex}.profile-links{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.profile-links a{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:4px 8px;font-size:10px;transition:transform .2s}.profile-links a:hover{transform:translateY(-2px)}.eyebrow{letter-spacing:.13em;color:var(--muted);font-size:9px;font-weight:500}.intro-content h1{letter-spacing:-1.8px;margin:12px 0 8px;font-size:45px;font-weight:650;line-height:1.2}.intro-content h1>span{letter-spacing:.03em;color:var(--muted);white-space:nowrap;margin-left:11px;font-size:22px;font-weight:400}.current-role{color:var(--muted);margin-bottom:22px;font-size:14px}.current-role>span{padding:0 8px}.bio,.research-summary{color:var(--muted);font-size:14px;line-height:1.95}.bio strong,.research-summary strong{color:var(--text);font-weight:550}.bio a{color:var(--text);border-bottom:1px solid #7f9dac65}.bio a:hover{color:var(--accent)}.research-summary{margin-top:15px}.research-focus{flex-direction:column;gap:13px;margin:18px 0 24px;padding:0;list-style:none;display:flex}.research-focus>li{align-items:baseline;gap:14px;display:flex}.focus-index{color:var(--accent);flex-shrink:0;font-family:monospace;font-size:9px}.research-focus strong{font-size:13px;font-weight:600}.research-focus p{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.85}.intro-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pill{border:1px solid var(--line);background:var(--surface);border-radius:25px;justify-content:center;align-items:center;gap:8px;padding:7px 15px;font-size:11px;transition:transform .2s,box-shadow .2s;display:inline-flex}.pill:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.pill.solid{background:var(--text);color:var(--bg);border-color:var(--text)}.subtle-link{color:var(--muted);font-size:11px}.subtle-link:hover{color:var(--accent)}.section{margin-top:40px;scroll-margin-top:100px}.section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:15px;display:flex}.section-title h2{letter-spacing:-.5px;font-size:23px;font-weight:600}.section-title>span{color:var(--muted);font-family:monospace;font-size:10px}.education-list{grid-template-columns:1fr 1fr;gap:25px;display:grid}.education-row{grid-template-columns:48px 1fr;align-items:center;column-gap:14px;padding:10px 0;display:grid;position:relative}.school-icon{border:1px solid var(--line);background:var(--surface);letter-spacing:-.03em;color:#677a9b;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;font-size:12px;font-weight:650;display:flex}.school-icon.xdu{color:#a67a85}.education-row h3{font-size:14px;font-weight:550}.education-row p{color:var(--muted);margin-top:2px;font-size:12px}.education-row time{color:var(--muted);grid-column:2;margin-top:3px;font-size:10px}.experience-list{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.experience-row{grid-template-columns:95px 1fr;gap:23px;padding:25px 27px;display:grid}.experience-row+.experience-row{border-top:1px solid var(--line)}.company-logo{background:#fff;border:1px solid #161a2010;border-radius:12px;justify-content:center;align-items:center;width:92px;height:66px;padding:10px;display:flex}.company-logo img{object-fit:contain;width:auto;max-width:74px;height:auto;max-height:43px}.experience-heading{justify-content:space-between;align-items:baseline;gap:15px;display:flex}.experience-heading h3{font-size:15px;font-weight:600}.experience-heading time{color:var(--muted);white-space:nowrap;font-size:10px}.job-role{color:var(--accent);margin:3px 0 9px;font-size:12px}.job-role>span{color:var(--muted);font-size:11px}.job-description{color:var(--muted);font-size:13px;line-height:1.9}.topics{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.topics>span{color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-size:9px}.section-intro{color:var(--muted);margin-top:-5px;margin-bottom:20px;font-size:12px}.projects{flex-direction:column;gap:22px;display:flex}.project-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:19px;grid-template-columns:280px 1fr;gap:26px;padding:23px;scroll-margin-top:105px;transition:border-color .25s,box-shadow .25s;display:grid}.project-card:hover{border-color:#7b9bab55;box-shadow:0 10px 35px #2438570b}.project-image{border:1px solid var(--line);background:radial-gradient(ellipse at 60% 35%,#8da6c91c,transparent 60%),var(--soft);border-radius:13px;flex-direction:column;justify-content:center;align-self:start;align-items:center;min-height:220px;display:flex;position:relative;overflow:hidden}.project-image:before{content:"";background-image:radial-gradient(#7a8c9c38 .6px,#0000 .6px);background-size:15px 15px;position:absolute;inset:0;mask-image:linear-gradient(#0000,#0008,#0000)}.project-image.worldgui{background:radial-gradient(ellipse at 50% 45%,#71b19b18,transparent 65%),var(--soft)}.project-image.criticgui{background:radial-gradient(ellipse at 50% 45%,#a690b91b,transparent 65%),var(--soft)}.placeholder-symbol{color:#8b9dab;border:1px solid var(--line);background:var(--surface);z-index:1;width:70px;height:70px;box-shadow:var(--shadow);border-radius:20px;justify-content:center;align-items:center;font-size:32px;font-weight:300;line-height:1.1;display:flex}.placeholder-name{color:var(--muted);letter-spacing:.01em;margin-top:16px;font-size:13px}.image-note{color:var(--muted);opacity:.8;font-size:9px;position:absolute;bottom:13px}.project-badges{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:9px;font-size:9px;display:flex}.badge{border:1px solid var(--line);color:var(--muted);border-radius:20px;padding:2px 8px}.badge.paper{color:var(--accent);background:#6a9bb30c;border-color:#6a9bb33b}.venue{color:var(--accent);font-size:9px}.project-body h3{letter-spacing:-.65px;font-size:24px;font-weight:600;line-height:1.3}.project-body h4{color:var(--text);margin-top:5px;font-size:13px;font-weight:450;line-height:1.6}.authors{color:var(--muted);margin-top:7px;font-size:10px;line-height:1.8}.authors strong{color:var(--text);font-weight:550}.authors>span{border-left:1px solid var(--line);white-space:nowrap;margin-left:9px;padding-left:9px;font-size:9px}.project-description{color:var(--muted);margin-top:13px;font-size:13px;line-height:1.85}.contributions{color:var(--muted);margin:10px 0 15px;padding-left:16px;font-size:12px;line-height:1.8}.contributions li{margin:5px 0;padding-left:2px}.contributions li::marker{color:#799bab}.project-actions{flex-wrap:wrap;gap:8px;display:flex}.small-pill{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:7px;padding:4px 10px;font-size:10px;transition:background .2s;display:inline-block}.small-pill:hover{background:var(--soft)}.blog-link{color:var(--accent)}.collaboration{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr auto;align-items:start;gap:17px;padding:23px 0;display:grid}.collab-mark{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;font-size:19px;display:flex}.collab-heading{align-items:center;gap:13px;display:flex}.collab-heading h3{font-size:16px;font-weight:550}.collab-heading .venue{background:var(--soft);border-radius:5px;padding:2px 7px}.collab-title{color:var(--muted);margin-top:4px;font-size:13px}footer{border-top:1px solid var(--line);width:min(1100px,100% - 64px);color:var(--muted);justify-content:space-between;gap:15px;margin:65px auto 0;padding:22px 0 30px;font-size:10px;display:flex;position:relative}footer a:hover{color:var(--accent)}.blog-page{width:calc(100% - 48px);max-width:820px;margin:65px auto;position:relative}.blog-status{color:var(--accent);background:var(--soft);border:1px solid var(--line);border-radius:15px;width:max-content;margin-top:27px;padding:5px 11px;font-size:11px}.blog-page h1{letter-spacing:-1.5px;margin:13px 0;font-size:44px}.blog-subtitle{color:var(--muted);font-size:19px;line-height:1.5}.blog-note{border-left:2px solid var(--accent);background:var(--soft);color:var(--muted);margin:25px 0;padding:12px 18px;font-size:13px}.blog-overview{margin:30px 0}.blog-page h2{margin-bottom:13px;font-size:22px}.blog-overview p{color:var(--muted)}.outline{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;margin:25px 0;padding:20px 24px;display:flex}.outline strong{font-size:13px}.outline a{color:var(--muted);font-size:12px}.outline a:hover{color:var(--accent)}.blog-section{border-top:1px solid var(--line);padding:28px 0;scroll-margin-top:115px}.blog-section>p{color:var(--muted);font-size:13px}.blog-image-placeholder{border:1px dashed var(--line);background:var(--soft);height:160px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;margin-top:16px;font-size:11px;display:flex}@media (width>=1450px){.page{margin-top:75px}}@media (width<=1050px){.header{grid-template-columns:1fr auto;width:calc(100% - 40px)}.wordmark{display:none}.header nav{justify-self:start}.page{width:calc(100% - 48px);margin-top:43px}.intro-section{grid-template-columns:145px 1fr;gap:30px}.portrait{width:125px;height:125px}.intro-content h1{font-size:38px}.intro-content h1>span{font-size:20px}.project-card{grid-template-columns:220px 1fr;gap:22px;padding:20px}.project-image{min-height:205px}.education-list{gap:18px}.education-row h3{font-size:13px}footer{width:calc(100% - 48px)}}@media (width<=700px){.header{gap:7px;width:calc(100% - 24px);margin-top:8px;top:8px}.header nav{gap:0;max-width:100%;padding:4px}.header nav a{padding:7px 10px;font-size:10px}.controls{gap:6px;padding:5px 8px}.theme-switch{width:22px;height:22px}.lang-switch{min-width:18px;font-size:10px}.page{width:calc(100% - 36px);margin-top:32px}.intro-section{flex-direction:column;gap:22px;display:flex}.profile{text-align:left;grid-template-columns:75px 1fr;align-items:center;column-gap:17px;width:100%;padding:0;display:grid}.portrait{border-width:3px;grid-row:1/4;width:75px;height:75px;margin:0}.location{justify-content:flex-start;font-size:11px}.profile-tags{flex-direction:row;gap:10px;margin:3px 0 7px;font-size:9px}.profile-links{justify-content:flex-start;gap:5px}.profile-links a{padding:2px 7px;font-size:9px}.eyebrow{letter-spacing:.08em;font-size:8px}.intro-content h1{letter-spacing:-1px;margin-top:9px;font-size:34px}.intro-content h1>span{margin-left:8px;font-size:17px}.current-role{margin-bottom:17px;font-size:11px}.current-role>span{padding:0 4px}.bio,.research-summary{font-size:13px;line-height:1.9}.research-focus{gap:14px}.research-focus p,.research-focus strong{font-size:12px}.research-focus>li{gap:10px}.intro-actions{gap:8px}.pill{padding:7px 12px;font-size:10px}.subtle-link{font-size:10px}.content-sections{margin-top:34px}.section{margin-top:31px}.section-title h2{font-size:21px}.section-title{margin-bottom:13px;padding-bottom:12px}.education-list{grid-template-columns:1fr;gap:10px}.education-row{grid-template-columns:43px 1fr;column-gap:12px;padding:9px 0}.school-icon{border-radius:11px;width:41px;height:41px;font-size:11px}.education-row h3{font-size:14px}.experience-row{grid-template-columns:58px 1fr;gap:13px;padding:19px 16px}.company-logo{border-radius:10px;width:57px;height:48px;padding:6px}.company-logo img{max-width:44px;max-height:33px}.experience-heading{flex-direction:column;gap:2px}.experience-heading h3{font-size:14px}.experience-heading time{font-size:9px}.job-role{margin:5px 0 8px;font-size:11px}.job-role>span{font-size:10px;display:block}.job-description{font-size:12px}.topics{gap:5px}.topics>span{padding:2px 5px;font-size:8px}.project-card{border-radius:16px;grid-template-columns:1fr;gap:19px;padding:17px}.project-image{min-height:170px}.placeholder-symbol{border-radius:15px;width:53px;height:53px;font-size:27px}.placeholder-name{margin-top:9px;font-size:12px}.image-note{font-size:8px;bottom:10px}.project-body h3{font-size:23px}.project-body h4{font-size:13px}.project-description,.contributions{font-size:12px}.project-badges{gap:6px}.venue{font-size:8px}.authors{font-size:9px}.authors>span{font-size:8px}.section-intro{font-size:11px}.collaboration{grid-template-columns:32px 1fr;gap:11px;padding:18px 0}.collab-mark{border-radius:10px;width:31px;height:31px;font-size:16px}.collaboration>.small-pill{grid-column:2;width:max-content}.collab-title{font-size:12px}.collab-heading{gap:9px}.collab-heading h3{font-size:15px}footer{flex-wrap:wrap;gap:12px;width:calc(100% - 36px);margin-top:40px;font-size:9px}footer>span:nth-child(2){display:none}.blog-page{width:calc(100% - 36px);margin-top:37px}.blog-page h1{font-size:34px}.blog-subtitle{font-size:16px}.blog-page h2{font-size:20px}.blog-note{font-size:12px}.blog-overview p{font-size:13px}.blog-status{font-size:10px}.blog-section{padding:24px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.intro-content h1{margin-top:0}.profile{padding-top:0}.profile-details{text-align:left;flex-direction:column;align-items:stretch;gap:12px;display:flex}.profile-email{white-space:nowrap;color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.profile-icon{flex-shrink:0}.profile .location{justify-content:flex-start;gap:8px}.profile-links{flex-direction:column;align-items:stretch;gap:8px;display:flex}.profile-links a{border-radius:9px;align-items:center;gap:9px;padding:7px 11px;font-size:11px;display:flex}.profile-links a>span{color:var(--muted);margin-left:auto}.education-row{grid-template-columns:86px 1fr}.school-icon{background:#fff;border-radius:11px;width:82px;height:67px;padding:7px}.school-icon img{object-fit:contain;width:100%;height:100%}.badge.publication{color:var(--accent);background:#6a9bb30c;border-color:#6a9bb33b}.spotlight{color:var(--text);font-size:11px;font-weight:800}.project-actions{margin-top:17px}.authors strong{font-weight:700}.topics>span{align-items:center;gap:5px;display:inline-flex}@media (width<=1050px){.header-spacer{display:none}.intro-section{grid-template-columns:178px 1fr;gap:30px}}@media (width<=700px){.profile{grid-template-columns:88px 1fr;align-items:start;gap:20px;display:grid}.portrait{grid-row:auto;width:88px;height:88px;margin-top:3px}.profile-details{gap:8px}.profile-email{font-size:11px}.profile .location{font-size:10px}.profile-links{gap:5px}.profile-links a{width:155px;padding:4px 9px;font-size:10px}.profile-links .profile-icon{width:14px;height:14px}.intro-section{gap:25px}.education-row{grid-template-columns:74px 1fr}.school-icon{width:68px;height:58px;padding:5px}.school-icon.xdu img{width:46px;height:46px}.authors{font-size:10px}.intro-content h1{margin-top:0}}.project-image.supplied-image{background:#fff;min-height:0;padding:9px;transition:box-shadow .2s;display:block}.supplied-image:before{display:none}.supplied-image img{object-fit:contain;width:100%;height:auto}.figure-open{text-align:right;color:#56616f;padding:6px 4px 0;font-size:10px;display:block}.supplied-image:hover{box-shadow:0 0 0 2px var(--accent)}button.supplied-image{width:100%;font:inherit;cursor:zoom-in;text-align:left}.figure-is-open{overflow:hidden}.figure-dialog{border:1px solid var(--line);background:var(--surface);width:min(1400px,94vw);max-width:94vw;max-height:92dvh;color:var(--text);border-radius:16px;margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 100px #0008}.figure-dialog::backdrop{backdrop-filter:blur(7px);background:#05080ed9}.figure-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.figure-toolbar h2{font-size:15px;font-weight:550}.figure-close{border:1px solid var(--line);background:var(--soft);border-radius:50%;place-items:center;width:38px;height:38px;font-size:27px;line-height:1;display:grid}.figure-view{background:#fff;max-height:calc(92dvh - 60px);padding:12px;overflow:auto}.figure-full{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(92dvh - 86px);margin:auto;display:block}@media (width<=700px){.figure-dialog{border-radius:12px;width:96vw;max-width:96vw}.figure-view{padding:5px}}.project-image{justify-self:center;width:100%}.project-image img{margin-inline:auto}.project-image.supplied-image{align-self:center}.article-figure{text-align:center;width:100%;margin:30px auto}.article-figure .supplied-image{max-width:100%;margin-inline:auto}.article-figure figcaption{color:var(--muted);margin-top:9px;font-size:11px}.article-lead{color:var(--muted);margin-top:23px;font-size:16px;line-height:1.9}.article-prose p{color:var(--muted);margin:13px 0;font-size:14px;line-height:1.95}.article-prose h3{margin:22px 0 8px;font-size:16px;font-weight:600}.article-prose a,.article-sources a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.article-prose pre{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:22px;font-size:15px;line-height:1.9;overflow:auto}.article-prose p code{background:var(--soft);overflow-wrap:anywhere;border-radius:4px;padding:2px 5px;font-size:12px}.article-table{margin:22px 0;overflow-x:auto}.article-table table{border-collapse:collapse;width:100%;font-size:14px}.article-table th,.article-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 16px}.article-table th{background:var(--soft);font-weight:550}.article-table td:last-child{font-variant-numeric:tabular-nums;color:var(--accent)}.article-sources{background:var(--soft);border:1px solid var(--line);border-radius:12px;margin:20px 0 30px;padding:22px}.article-sources p{color:var(--muted);font-size:12px;line-height:1.9}@media (width<=700px){.article-prose p{font-size:13px}.article-lead{font-size:14px}.article-table th,.article-table td{padding:10px}.article-figure{margin:24px auto}}.prompt-figures{grid-template-columns:1fr 1fr;align-items:center;gap:18px;display:grid}.comparison-page{width:min(1350px,100% - 48px);margin:55px auto;position:relative}.comparison-page h1{margin:20px 0;font-size:36px}.comparison-page>p{color:var(--muted)}.comparison-page section{border-bottom:1px solid var(--line);padding:32px 0}.comparison-page section:first-of-type .article-figure{max-width:800px}.comparison-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.comparison-grid h3{color:var(--muted);margin-top:18px;font-size:14px}.comparison-grid .article-figure{margin-top:12px}@media (width<=700px){.prompt-figures,.comparison-grid{grid-template-columns:1fr}.comparison-page h1{font-size:28px}}.author-note{color:var(--muted);margin:5px 0 12px;font-size:11px}body{font-size:16px}.header{width:min(1320px,100% - 56px)}.header nav a{padding:9px 18px;font-size:15px}.lang-switch{font-size:14px}.controls{padding:8px 13px}.portrait{width:166px;height:166px;margin-bottom:24px}.profile-email,.profile-links a,.location,.profile .location{font-size:14px}.profile-links a{padding:9px 13px}.profile-details{gap:15px}.current-role{margin-bottom:26px;font-size:17px}.focus-index{font-size:12px}.pill,.subtle-link{font-size:14px}.pill{padding:10px 18px}.section-title{gap:18px;margin-bottom:25px;padding-bottom:20px}.section-title h2{font-size:30px;line-height:1.3}.section-title>span{font-size:13px}.education-row{column-gap:20px;padding:15px 0}.education-row time{font-size:14px}.experience-row{gap:27px;padding:30px}.experience-heading time{font-size:14px}.job-role{font-size:16px}.job-role>span{font-size:14px}.job-description{font-size:16px;line-height:1.85}.topics>span{gap:6px;padding:4px 9px;font-size:13px}.topics .profile-icon{width:15px;height:15px}.section-intro{font-size:16px}.project-body{min-width:0}.project-badges{gap:10px;margin-bottom:14px;font-size:14px}.badge{padding:4px 11px;font-weight:550}.venue,.spotlight{font-size:14px}.project-body h3{font-size:32px;line-height:1.25}.authors>span,.author-note{font-size:13px}.project-description{margin-top:18px;font-size:16px;line-height:1.85}.small-pill{padding:7px 13px;font-size:14px}.figure-open{padding-top:9px;font-size:13px}.figure-toolbar h2{font-size:18px}footer{margin-top:76px;padding:27px 0 35px;font-size:13px}.blog-page h1{font-size:52px;line-height:1.15}.blog-status,.outline a,.outline strong{font-size:15px}.article-prose h3{font-size:21px}.article-prose p,.blog-section>p,.blog-note,.blog-overview p{font-size:17px;line-height:1.85}.article-figure figcaption,.article-sources p{font-size:14px}.article-sources h2{font-size:20px}.article-prose p code{font-size:15px}.article-table table{font-size:16px}.comparison-grid h3{font-size:17px}@media (width<=1050px){.page,footer{width:calc(100% - 48px)}.intro-section{grid-template-columns:200px minmax(0,1fr);gap:32px}.intro-content h1{font-size:46px}.project-card{grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:26px;padding:25px}.education-list{grid-template-columns:1fr;gap:12px}}@media (width<=760px){.header{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:calc(100% - 24px)}.header nav{white-space:nowrap;min-width:0;overflow-x:auto}.header nav a{padding:8px 10px;font-size:13px}.controls{gap:7px;padding:7px 9px}.lang-switch{font-size:13px}.page,footer{width:calc(100% - 36px)}.intro-section{flex-direction:column;gap:30px;display:flex}.profile{text-align:left;grid-template-columns:108px minmax(0,1fr);gap:22px;width:100%;display:grid}.portrait{grid-row:auto;width:108px;height:108px;margin:0}.profile-details{gap:9px}.profile-email{white-space:normal;overflow-wrap:anywhere;font-size:13px}.profile-links a{width:auto;padding:7px 11px;font-size:13px}.profile .location{font-size:13px}.intro-content h1{font-size:42px}.intro-content h1>span{font-size:22px}.current-role,.bio,.research-summary{font-size:16px}.research-focus strong,.research-focus p{font-size:15px}.section{margin-top:40px}.section-title h2{font-size:26px}.section-title>span{font-size:12px}.education-list{grid-template-columns:1fr}.education-row h3{font-size:17px}.education-row p{font-size:15px}.experience-row{grid-template-columns:58px minmax(0,1fr);gap:15px;padding:22px 18px}.experience-heading{flex-direction:column;gap:3px}.experience-heading h3{font-size:19px}.experience-heading time,.job-role>span{font-size:13px}.job-role,.job-description{font-size:15px}.topics>span{font-size:12px}.project-card{grid-template-columns:minmax(0,1fr);gap:24px;padding:22px}.project-body h3{font-size:29px}.project-body h4{font-size:17px}.project-description{font-size:16px}.authors{font-size:14px}.project-badges,.venue,.spotlight{font-size:13px}.small-pill{font-size:14px}.project-image.supplied-image{max-width:520px}footer{font-size:13px}.blog-page{width:calc(100% - 36px)}.blog-page h1{font-size:38px}.blog-page h2{font-size:25px}.blog-subtitle{font-size:20px}.article-lead{font-size:18px}.article-prose p{font-size:16px}}.intro-content h1{font-size:64px;line-height:1.15}.current-role{color:var(--text);margin-top:15px;margin-bottom:30px;font-size:20px;line-height:1.6}.education-row time,.experience-heading time{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:17px;font-weight:550}.education-row time{margin-top:8px}.company-logo{width:106px;height:80px}.company-logo img{max-width:86px;max-height:52px}.experience-heading{flex-wrap:wrap;gap:8px 24px}.experience-heading h3{font-size:26px;line-height:1.35}.job-department{color:var(--text);margin-top:12px;font-size:20px;font-weight:600;line-height:1.5}.job-role{margin:7px 0 17px;font-size:18px;font-weight:500}.project-card{grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:38px;padding:34px}.topics>span{font-size:14px}.small-pill,.pill{padding:9px 16px;font-size:16px}@media (width<=1100px){.page,footer{width:calc(100% - 48px)}.intro-section{grid-template-columns:210px minmax(0,1fr);gap:36px}.intro-content h1{font-size:52px}.project-card{grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:28px;padding:28px}}@media (width<=760px){.page,footer{width:calc(100% - 32px)}.intro-section{gap:30px}.intro-content h1{font-size:46px}.current-role{font-size:18px}.bio,.research-summary{font-size:17px}.research-focus strong,.research-focus p{font-size:16px}.section{margin-top:46px}.section-title h2{font-size:29px}.education-row h3{font-size:19px}.education-row p,.education-row time,.experience-heading time{font-size:16px}.experience-row{grid-template-columns:1fr;gap:19px;padding:26px 22px}.company-logo{width:98px;height:66px}.experience-heading h3{font-size:23px}.job-department{font-size:18px}.job-role,.job-description,.project-description{font-size:17px}.project-card{grid-template-columns:minmax(0,1fr);gap:26px;padding:23px}.project-body h3{font-size:32px}.project-body h4{font-size:19px}.authors{font-size:15px}.project-badges,.venue,.spotlight{font-size:14px}.topics>span{font-size:13px}.small-pill{font-size:15px}}.header nav a{transition:background .22s,color .22s,box-shadow .22s}.header nav a[aria-current=location]{background:var(--soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--line)}.pill,.small-pill,.profile-links a,.theme-switch,.lang-switch,.topics>span,.education-row,.company-logo,.research-focus>li{transition:transform .22s,background .22s,border-color .22s,box-shadow .22s}.pill:active,.small-pill:active,.theme-switch:active{transform:scale(.96)}.theme-switch:hover{transform:rotate(18deg)}.project-image img{transition:transform .35s}.project-image:hover img{transform:scale(1.025)}.figure-open{transition:color .2s,transform .2s}.project-image:hover .figure-open{color:#173f66;transform:translate(-4px)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.small-pill:hover,.profile-links a:hover{transform:translateY(-3px);box-shadow:0 6px 15px #14283c12}.topics>span:hover{border-color:var(--accent);color:var(--text);transform:translateY(-2px)}.education-row:hover .school-icon,.experience-row:hover .company-logo{transform:translateY(-3px)}.research-focus>li:hover{transform:translate(5px)}}.school-icon{transition:transform .25s}.figure-dialog[open]{animation:.23s ease-out figure-enter}@keyframes figure-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.project-image:hover img,.theme-switch:hover,.project-image:hover .figure-open{transform:none}}:root{--bg:#f7f9fc;--glow:#9ebbdc25}html[data-theme=dark]{--bg:#101319;--glow:#47729e20}.intro-content h1{font-size:58px}.current-role,.bio,.research-summary{font-size:18px}.project-body h4{font-size:19px}.project-description,.job-description{font-size:17px}.authors{font-size:15px}.interest-tags{gap:10px;margin:22px 0 4px}.interest-tags>span{background:var(--surface);color:var(--accent);border-radius:11px;padding:8px 12px;font-size:14px;font-weight:500}.interest-tags .profile-icon{width:18px;height:18px}.personal-note{border:1px solid var(--line);background:linear-gradient(125deg,var(--surface),var(--soft));border-radius:24px;margin-top:64px;overflow:hidden}.personal-note summary{cursor:pointer;align-items:center;gap:18px;padding:26px 30px;font-size:20px;font-weight:550;list-style:none;display:flex}.personal-note summary::-webkit-details-marker{display:none}.personal-note summary:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}.personal-note summary small{color:var(--muted);margin-top:3px;font-size:14px;font-weight:400;display:block}.personal-note-icon{border:1px solid var(--line);background:var(--surface);width:46px;height:46px;color:var(--accent);border-radius:15px;flex-shrink:0;place-items:center;display:grid}.personal-note-icon svg{width:23px;height:23px}.personal-toggle{color:var(--accent);margin-left:auto;font-size:25px;transition:transform .25s}.personal-note[open] .personal-toggle{transform:rotate(45deg)}.personal-content{grid-template-columns:minmax(0,350px) minmax(0,1fr);align-items:center;gap:46px;padding:8px 32px 34px;animation:.3s ease-out figure-enter;display:grid}.personal-content figure{margin:0}.personal-content .supplied-image{border-radius:18px;padding:0}.personal-content figcaption{color:var(--muted);text-align:center;margin-top:10px;font-size:12px}.personal-kicker{color:var(--accent);font-size:14px}.personal-copy h2{letter-spacing:-.5px;margin:10px 0 20px;font-size:29px;line-height:1.35}.personal-copy p{color:var(--muted);font-size:17px;line-height:1.85}.music-note{border-top:1px solid var(--line);gap:14px;margin-top:26px;padding-top:23px;display:flex}.music-note>svg{width:22px;height:22px;color:var(--accent);flex-shrink:0;margin-top:4px}.music-note strong{font-size:17px;font-weight:550}.music-note p{margin-top:7px;font-size:16px}@media (width<=760px){.intro-content h1{font-size:42px}.current-role{font-size:17px}.bio,.research-summary{font-size:16px}.section-title h2{font-size:27px}.project-body h3{font-size:30px}.project-body h4{font-size:18px}.project-description,.job-description{font-size:16px}.interest-tags>span{font-size:13px}.personal-note summary{gap:12px;padding:22px 20px;font-size:18px}.personal-content{grid-template-columns:1fr;gap:26px;padding:0 22px 28px}.personal-content figure{max-width:350px;margin:auto}.personal-copy h2{font-size:25px}.personal-copy p{font-size:16px}}.project-figures{flex-direction:column;align-self:center;gap:16px;min-width:0;display:flex}.project-figures .project-image{margin-inline:auto}.school-icon{border-radius:15px;width:116px;height:94px;padding:8px}@media (width<=760px){.education-row{grid-template-columns:100px minmax(0,1fr);column-gap:17px}.school-icon{width:96px;height:80px;padding:7px}.school-icon.xdu img{width:65px;height:65px}}.page,footer{width:min(1200px,100% - 64px)}.intro-section{grid-template-columns:200px minmax(0,1fr);gap:52px}.intro-content h1{letter-spacing:-1.4px;font-size:48px}.intro-content h1>span{font-size:23px}.current-role{margin:12px 0 22px;font-size:16px}.bio,.research-summary{font-size:16px;line-height:1.85}.research-focus{gap:14px;margin:20px 0 24px}.research-focus strong,.research-focus p{font-size:15px}.interest-tags{gap:8px;margin-top:18px}.pill,.small-pill{padding:7px 13px;font-size:14px}.content-sections{margin-top:48px}.section{margin-top:46px}.section-title{margin-bottom:23px;padding-bottom:17px}.section-title h2{font-size:27px}.education-row h3{font-size:18px}.education-row p{font-size:16px}.education-row time,.experience-heading time{font-size:15px}.experience-row{grid-template-columns:108px minmax(0,1fr);gap:25px;padding:28px}.experience-heading h3{font-size:22px}.job-department{margin-top:9px;font-size:17px}.job-role{margin:6px 0 13px;font-size:16px}.job-description,.project-description{font-size:15px;line-height:1.85}.projects{gap:25px}.project-card{border-radius:19px;grid-template-columns:minmax(0,325px) minmax(0,1fr);gap:30px;padding:26px}.project-body h3{font-size:28px}.project-body h4{margin-top:7px;font-size:17px;line-height:1.55}.authors{margin-top:9px;font-size:13px;line-height:1.8}.author-note{font-size:12px}.project-badges,.venue,.spotlight{font-size:14px}.project-badges{margin-bottom:11px}.topics{gap:7px;margin-top:13px}.topics>span{padding:4px 8px;font-size:12px}.interest-tags>span{padding:6px 10px;font-size:13px}.project-description{margin-top:15px}.project-actions{gap:8px;margin-top:18px}.blog-page{max-width:880px}.blog-page h1{font-size:44px}.blog-page h2{font-size:25px}.blog-subtitle{font-size:20px}.article-lead{font-size:17px}.article-prose p{font-size:16px}.personal-note summary{font-size:18px}.personal-copy h2{font-size:26px}.personal-copy p{font-size:16px}@media (width<=1050px){.page,footer{width:calc(100% - 48px)}.intro-section{grid-template-columns:190px minmax(0,1fr);gap:32px}.intro-content h1{font-size:43px}.project-card{grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:24px;padding:24px}}@media (width<=760px){.page,footer{width:calc(100% - 32px)}.intro-section{gap:25px}.intro-content h1{font-size:38px}.intro-content h1>span{font-size:20px}.current-role,.bio,.research-summary{font-size:15px}.research-focus strong,.research-focus p{font-size:14px}.section{margin-top:37px}.section-title h2{font-size:24px}.education-row h3{font-size:17px}.education-row p{font-size:15px}.education-row time,.experience-heading time{font-size:14px}.experience-row{grid-template-columns:1fr;gap:16px;padding:23px 20px}.experience-heading h3{font-size:21px}.job-department{font-size:17px}.project-card{grid-template-columns:minmax(0,1fr);gap:22px;padding:21px}.project-body h3{font-size:27px}.project-body h4{font-size:16px}.project-description,.job-description{font-size:15px}.authors,.project-badges,.venue,.spotlight{font-size:13px}.blog-page h1{font-size:34px}.blog-page h2{font-size:23px}}.school-link{transition:color .2s}.school-link:hover{color:var(--accent)}.school-link>span{color:var(--accent);white-space:nowrap;font-size:.75em}.job-supervisor{color:var(--muted);margin:-5px 0 15px;font-size:15px}.job-supervisor a{color:var(--accent);text-underline-offset:4px;text-decoration:underline;text-decoration-color:var(--line)}.job-supervisor a:hover{text-decoration-color:var(--accent)}.research-interests{margin-top:24px}.research-interests h2{letter-spacing:-.15px;font-size:17px;font-weight:600}.research-interests .interest-tags{margin-top:11px}.research-interests .interest-tags>span{padding:7px 11px;font-size:14px}@media (width<=760px){.research-interests h2{font-size:16px}.research-interests .interest-tags>span{font-size:13px}}.education-row{grid-template-columns:158px minmax(0,1fr);column-gap:24px}.school-icon{width:152px;height:112px;padding:5px}.school-icon.xdu img{width:90px;height:90px}@media (width<=760px){.education-row{grid-template-columns:124px minmax(0,1fr);column-gap:16px}.school-icon{width:120px;height:92px;padding:4px}.school-icon.xdu img{width:76px;height:76px}}.personal-motto{border-left:2px solid var(--accent);color:var(--accent);letter-spacing:.1px;margin:24px 0;padding:4px 0 4px 17px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-style:italic;line-height:1.5}@media (width<=760px){.personal-motto{margin:21px 0;font-size:21px}}:root{--wash-blue:#88b6ed33;--wash-teal:#82c8b928;--wash-violet:#b4a0df2c;--card-focus:#527caa78;--card-lift-shadow:0 20px 48px -16px #26476b30,0 5px 16px #26476b0d}html[data-theme=dark]{--wash-blue:#3968ae2e;--wash-teal:#368d812b;--wash-violet:#8460ac27;--card-focus:#9bc6e580;--card-lift-shadow:0 24px 56px -14px #0008,0 0 30px #679bc412}body{background-image:radial-gradient(ellipse at 6% 8%,var(--wash-blue),transparent 48%),radial-gradient(ellipse at 94% 38%,var(--wash-teal),transparent 46%),radial-gradient(ellipse at 24% 94%,var(--wash-violet),transparent 52%);background-attachment:fixed}.ambient{background:radial-gradient(ellipse at 15% 0%,var(--wash-blue),transparent 64%),radial-gradient(ellipse at 86% 16%,var(--wash-violet),transparent 56%);height:1000px}.project-card{transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .25s,box-shadow .3s;position:relative}.project-card:focus-within{border-color:var(--card-focus);box-shadow:var(--card-lift-shadow)}@media (hover:hover) and (pointer:fine){.project-card:hover{border-color:var(--card-focus);box-shadow:var(--card-lift-shadow);z-index:1;transform:translateY(-7px)}.project-card:hover .project-body h3{color:var(--accent)}.project-card:hover .supplied-image{box-shadow:0 3px 16px #26476b12}}.project-body h3{transition:color .25s}@media (prefers-reduced-motion:reduce){.project-card:hover{transform:none}}.portrait-toggle{cursor:pointer;background:0 0;border:0;border-radius:50%;width:166px;height:166px;margin:0 auto 24px;padding:0;display:block}.portrait-toggle .portrait{width:100%;height:100%;margin:0;transition:box-shadow .2s}.portrait-toggle:hover .portrait{box-shadow:0 0 0 2px var(--accent)}@media (width<=760px){.portrait-toggle{width:108px;height:108px;margin:0}}.honors-section .section-title{margin-bottom:0}.honors-list{margin:0;padding:0;list-style:none}.honors-list li{border-bottom:1px solid var(--line);grid-template-columns:88px minmax(0,1fr);gap:25px;padding:21px 0;font-size:16px;line-height:1.65;display:grid}.honors-list time{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:550}.honors-list a{transition:color .2s}.honors-list a:hover{color:var(--accent)}.honor-arrow{color:var(--accent);font-size:14px}.honors-list small{color:var(--muted);margin-top:4px;font-size:13px;display:block}@media (width<=760px){.honors-list li{grid-template-columns:54px minmax(0,1fr);gap:15px;padding:18px 0;font-size:15px}}.instruction-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0;display:grid}.instruction-levels>div{border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--surface);border-radius:12px;padding:19px}.instruction-levels>div:nth-child(2){border-top-color:#9882bb}.instruction-levels>div:nth-child(3){border-top-color:#55a894}.instruction-levels span{color:var(--accent);font-size:14px;font-weight:600}.instruction-levels p{margin-bottom:0;font-size:15px}@media (width<=650px){.instruction-levels{grid-template-columns:1fr;gap:10px}}
