@font-face{font-family:Moranga;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/moranga-Regular.woff2) format("woff2")}:root{color-scheme:light;--bg: #ffffff;--surface: #ffffff;--surface-soft: #f6f7f9;--text: #24272e;--muted: #646b76;--border: #e7e9ee;--accent: #315eab;--accent-soft: #edf3fc;--shell: min(1080px, calc(100% - 80px) );--header-height: 72px;--sidebar-width: 248px;--sidebar-space: var(--sidebar-width);--header-brand-width: var(--sidebar-width);--font-sans: "Inter", "Noto Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif;--font-display: "Moranga", "Noto Sans SC", serif;--font-mono: "Cascadia Code", "SFMono-Regular", Consolas, monospace;--text-xs: .8125rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--leading-body: 1.6}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;color:var(--text);background:var(--bg);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img,svg{max-width:100%}img{display:block}[hidden]{display:none!important}::selection{background:#dfeafb;color:#203e70}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}main{min-width:0;min-height:calc(100svh - var(--header-height) - 100px);margin-left:var(--sidebar-space);transition:margin-left .18s ease}.shell{width:var(--shell);margin-inline:auto}.page-anchor,#bio-title{scroll-margin-top:calc(var(--header-height) + 24px)}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:10px 16px;color:#fff;background:var(--accent);transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{position:sticky;z-index:50;top:0;background:#fffffff7;border-bottom:1px solid var(--border)}.nav-shell{display:grid;grid-template-columns:var(--header-brand-width) minmax(0,1fr) auto;align-items:center;min-height:var(--header-height);gap:0;padding-right:40px}.header-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:0 18px 0 26px}.brand{width:fit-content;line-height:1}.brand-wordmark{font-family:var(--font-display);font-size:28px;letter-spacing:-.8px}.brand-dot{color:var(--accent)}.nav-controls{padding-left:24px}.lang-toggle{display:flex;gap:2px;align-items:center}.control-button{min-width:31px;height:32px;padding:0 6px;border:0;border-radius:4px;color:var(--muted);background:transparent;font-size:var(--text-sm);font-weight:600}.control-button.active{color:var(--accent);background:var(--accent-soft)}.control-button:hover{background:var(--surface-soft)}.site-sidebar{position:fixed;z-index:40;top:var(--header-height);bottom:0;left:0;width:var(--sidebar-width);overflow-y:auto;overscroll-behavior:contain;padding:30px 20px 40px;border-right:1px solid #edf0f3;background:#fff;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:transform .18s ease,visibility .18s}.site-sidebar:hover{scrollbar-color:#dce0e7 transparent}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;margin:0 9px 17px;color:#9197a0;font-size:var(--text-sm);font-weight:500;letter-spacing:.02em}.sidebar-group{margin-bottom:5px}.sidebar-group-heading{display:flex;align-items:center;gap:5px}.nav-link{flex:1;min-width:0;padding:8px 9px;color:#545b66;font-size:var(--text-base);font-weight:500}.nav-link.active{color:var(--accent);font-weight:600}.sidebar-group-toggle{display:grid;flex-shrink:0;place-items:center;width:27px;height:27px;padding:0;border:0;border-radius:4px;color:#8a919d;background:transparent}.sidebar-group-toggle:hover{color:var(--accent);background:var(--accent-soft)}.sidebar-group-toggle svg{transition:transform .16s ease}.sidebar-group-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.sidebar-children{margin:1px 0 12px 10px;padding:0 0 0 12px;border-left:1px solid #e6e9ee;list-style:none}.sidebar-children li+li{margin-top:2px}.sidebar-child-link{position:relative;display:block;padding:6px 8px;border-radius:3px;color:#7c838e;font-size:var(--text-sm);line-height:1.7;overflow-wrap:anywhere}.sidebar-child-link>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sidebar-child-link:hover{color:var(--accent);background:#f7f9fc}.sidebar-child-link.active{color:var(--accent);background:#f5f8fd;font-weight:500}.sidebar-child-link.active:before{position:absolute;top:5px;bottom:5px;left:-13px;width:2px;background:var(--accent);content:""}.sidebar-toggle{display:grid;flex-shrink:0;place-items:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:4px;color:#7c8491;background:#fff}.sidebar-toggle:hover{border-color:var(--border);color:var(--accent);background:#f7f9fc}.sidebar-toggle-chevron{transform-box:fill-box;transform-origin:center;transition:transform .18s ease}.sidebar-toggle[aria-expanded=false] .sidebar-toggle-chevron{transform:rotate(180deg)}.sidebar-close{display:none}.sidebar-backdrop{position:fixed;z-index:35;inset:var(--header-height) 0 0;border:0;background:#16223940}.global-search{position:relative;min-width:0;width:min(760px,calc(100% - 80px));margin-inline:40px}.global-search-field{display:flex;align-items:center;gap:12px;height:40px;padding:0 13px;border:1px solid var(--border);border-radius:6px;background:#f8f9fb;transition:border-color .16s ease,box-shadow .16s ease}.global-search-field:focus-within{border-color:#a7bddf;background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}.global-search-icon{flex-shrink:0;color:#8b94a2}#global-search-input{min-width:0;width:100%;height:100%;padding:0;border:0;outline:none;color:var(--text);background:transparent;font-size:var(--text-base)}#global-search-input::placeholder{color:#89919f}#global-search-input::-webkit-search-cancel-button{display:none}.search-shortcut{flex-shrink:0;padding:1px 5px;border:1px solid #e0e4eb;border-radius:3px;color:#9098a5;background:#fff;font-family:var(--font-sans);font-size:var(--text-xs);white-space:nowrap}.global-search-clear{flex-shrink:0;width:23px;height:25px;padding:0;border:0;border-radius:3px;color:var(--muted);background:transparent;font-size:19px;line-height:1}.global-search-clear:hover{color:var(--accent);background:var(--accent-soft)}.global-search-panel{position:absolute;z-index:60;top:calc(100% + 10px);left:0;right:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 12px 40px #20334e18}.global-search-status{margin:0;padding:14px 17px;color:var(--muted);font-size:var(--text-sm)}.global-search-results{max-height:min(56vh,430px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0 6px 6px;list-style:none}.global-search-results:empty{display:none}.global-search-result{display:block;width:100%;padding:12px;border:0;border-radius:4px;color:var(--text);background:#fff;text-align:left}.global-search-result.selected{background:var(--accent-soft)}.search-result-category{display:block;margin-bottom:4px;color:var(--accent);font-size:var(--text-xs);font-weight:500;letter-spacing:.4px}.search-result-title{display:block;font-size:var(--text-base);font-weight:500;line-height:1.6;overflow-wrap:anywhere}.search-result-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px;color:var(--muted);font-size:var(--text-sm);line-height:1.7;overflow-wrap:anywhere}.global-search-result mark{padding:0;color:var(--accent);background:#dce8fb}.global-search-help{display:flex;flex-wrap:wrap;gap:20px;padding:10px 17px;border-top:1px solid var(--border);color:#8a92a0;background:#fcfcfd;font-size:var(--text-xs)}.global-search-help kbd{font-family:var(--font-sans);font-size:var(--text-xs)}.hero{display:grid;grid-template-columns:minmax(0,1fr) 200px;column-gap:60px;row-gap:36px;align-items:center;padding:80px 0}.eyebrow{margin:0 0 14px;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:1.7px;line-height:1.5}.hero h1{margin:0 0 25px;font-family:var(--font-display);font-size:clamp(52px,6.2vw,76px);font-weight:400;line-height:1.06;letter-spacing:-2.8px}html[lang=zh-CN] .hero h1{font-size:clamp(48px,5.5vw,66px);letter-spacing:2px}.hero-role{max-width:510px;margin:0 0 19px;font-size:var(--text-base);font-weight:500;line-height:var(--leading-body)}.hero-bio{max-width:510px;margin:0;color:var(--muted);font-size:var(--text-base);line-height:var(--leading-body)}.inline-link{color:var(--accent);text-decoration:underline;text-decoration-color:#b5c9e8;text-underline-offset:3px;transition:text-decoration-color .18s ease}.inline-link:hover{text-decoration-color:currentColor}.profile-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.profile-icon-link{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:6px;color:#545b66;transition:color .16s ease,background-color .16s ease}.profile-icon-link:hover,.profile-icon-link:focus-visible{color:var(--accent);background:var(--accent-soft)}.profile-icon-link svg{flex-shrink:0}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--accent);font-size:var(--text-sm);font-weight:500}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.profile-portrait{margin:0}.profile-portrait img{width:200px;height:258px;object-fit:cover;object-position:center 30%;border-radius:6px;background:var(--surface-soft)}.profile-portrait figcaption{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:15px;color:var(--muted);font-size:var(--text-sm)}.location-dot{width:5px;height:5px;border-radius:50%;background:#8b9aaf}.education{grid-column:1 / -1;min-width:0;padding-top:28px;border-top:1px solid var(--border)}.education h2{margin:0 0 26px;font-size:var(--text-xl);font-weight:600;line-height:1.4}.education-timeline{margin:0;padding:0;list-style:none}.education-entry{--education-axis: 154px;position:relative;display:grid;grid-template-columns:140px minmax(0,1fr);gap:32px;padding-bottom:28px}.education-entry:last-child{padding-bottom:0}.education-entry:before{position:absolute;top:8px;left:var(--education-axis);width:9px;height:9px;border:2px solid var(--accent);border-radius:50%;background:#fff;content:""}.education-entry:not(:last-child):after{position:absolute;top:18px;bottom:-8px;left:calc(var(--education-axis) + 4px);width:1px;background:#dce4ef;content:""}.education-current:before{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.education-period{margin:0;padding-top:2px;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7}.education-details{min-width:0}.education-details h3{margin:0;font-size:var(--text-lg);font-weight:600;line-height:1.5}.education-details p{margin:5px 0 3px;color:var(--muted);font-size:var(--text-base);line-height:var(--leading-body)}.education-degree{color:var(--muted);font-size:var(--text-sm);line-height:1.6}.page-section{min-width:0;padding:54px 0 58px;border-top:1px solid var(--border)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-heading .eyebrow{margin-bottom:9px;font-size:var(--text-xs);letter-spacing:1.4px}.section-heading h2{margin:0;font-family:var(--font-display);font-size:36px;font-weight:400;line-height:1.2;letter-spacing:-.8px}html[lang=zh-CN] .section-heading h2{font-size:30px;font-weight:500;letter-spacing:0}.section-heading-actions{flex-shrink:0;padding-bottom:3px}.section-intro{margin:15px 0 29px;color:var(--muted);font-size:var(--text-base);line-height:1.8}.publication-record{display:flex;align-items:center;gap:20px;padding:25px 28px;border-left:2px solid #c5d6ee;background:#f8fafd}.record-mark{color:var(--accent);font-size:26px}.publication-record .eyebrow{margin:0 0 6px;font-size:var(--text-xs);letter-spacing:1px}.publication-record p:last-child{margin:0;color:var(--muted);font-size:var(--text-base)}.publication-item{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:30px;padding:29px 0;border-bottom:1px solid var(--border)}.publication-overview,.project-overview{display:grid;place-items:center;width:100%;aspect-ratio:16 / 10;margin-top:5px;padding:9px;border:1px solid var(--border);border-radius:5px;background:#fff}.publication-overview img,.project-overview img{width:100%;height:auto;max-height:100%;object-fit:contain}.publication-body{min-width:0}.publication-item h3{margin:0 0 10px;font-size:var(--text-xl);font-weight:600;line-height:1.6}.publication-year{display:block;margin-bottom:6px;color:#8b929e;font-family:var(--font-mono);font-size:var(--text-sm)}.publication-authors,.publication-venue{margin:4px 0;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-body)}.publication-authors strong{color:var(--text);font-weight:600}.publication-venue{font-style:italic}.publication-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.publication-link{display:inline-flex;align-items:center;gap:9px;min-height:34px;padding:5px 12px;border:1px solid #d9dfe8;border-radius:4px;color:var(--accent);background:#fff;font-size:var(--text-sm);line-height:1.5}.publication-link:hover{border-color:#a9bddb;background:#f5f8fd}.filter-toolbar{display:flex;align-items:center;gap:8px}.filter-tags{position:relative}.filter-tag-trigger{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:5px;color:var(--muted);background:#fff;font-size:var(--text-sm)}.filter-tag-trigger:hover,.filter-tags.open .filter-tag-trigger{color:var(--accent);border-color:#bacce6}.filter-tag-chevron{transition:transform .16s}.filter-tags.open .filter-tag-chevron{transform:rotate(180deg)}.filter-tag-menu{position:absolute;z-index:20;top:calc(100% + 7px);right:0;min-width:190px;max-width:min(280px,80vw);max-height:260px;overflow-y:auto;padding:6px;border:1px solid var(--border);border-radius:6px;background:#fff;box-shadow:0 8px 24px #24364e0d;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .14s,transform .14s}.filter-tag-option{display:block;width:100%;padding:8px 10px;border:0;border-radius:3px;color:var(--muted);background:transparent;font-size:var(--text-sm);text-align:left}.filter-tag-option:hover{background:var(--surface-soft)}.filter-tag-option.active{color:var(--accent);background:var(--accent-soft)}.no-results{padding:24px;border:1px dashed var(--border);color:var(--muted);font-size:var(--text-base);text-align:center}.project-grid{display:grid;grid-template-columns:1fr}.project-card{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:30px;padding:29px 0;border-bottom:1px solid var(--border)}.project-body{min-width:0}.project-body>p{margin:13px 0 18px;color:var(--muted);font-size:var(--text-base);line-height:var(--leading-body)}.project-card .entry-topline{flex-direction:row;align-items:center}.project-card .entry-topline h3{font-size:var(--text-xl)}.entry-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--border);border-radius:6px;background:#fff;transition:border-color .16s}.entry-card:hover{border-color:#bdcce1}.entry-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.entry-topline h3{min-width:0;margin:0;font-size:var(--text-base);font-weight:600;letter-spacing:-.25px;overflow-wrap:anywhere}.entry-card>p{margin:16px 0 23px;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-body)}.entry-card .tag-list{margin-top:auto}.status{display:inline-flex;align-items:center;gap:5px;color:#5d7668;font-size:var(--text-xs);white-space:nowrap}.status:before{width:4px;height:4px;border-radius:50%;background:#6b967a;content:""}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.tag-list li{padding:4px 9px;border-radius:3px;color:#616b7b;background:var(--surface-soft);font-size:var(--text-xs);line-height:1.5}.report-entry{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:start;gap:26px;padding:28px 0;border-bottom:1px solid var(--border)}.report-date{padding-top:5px;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.report-body{min-width:0}.report-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px;color:var(--muted);font-size:var(--text-xs)}.report-body h3{margin:0 0 10px;font-size:var(--text-xl);font-weight:600;line-height:1.6;overflow-wrap:anywhere}.report-summary{margin:0 0 15px;color:var(--muted);font-size:var(--text-base);line-height:var(--leading-body)}.report-actions{display:flex;flex-direction:column;gap:9px;padding-top:3px}.report-actions .publication-link{justify-content:center;white-space:nowrap}.report-article{width:min(850px,var(--shell));padding-block:42px 64px}.report-back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--text-sm)}.report-article-header{margin:32px 0 36px;padding-bottom:28px;border-bottom:1px solid var(--border)}.report-article-header .report-meta{font-size:var(--text-sm)}.report-article-header h1{margin:14px 0 18px;font-size:clamp(28px,3vw,38px);font-weight:600;line-height:1.5;letter-spacing:-.025em;overflow-wrap:anywhere}.report-article-header .report-summary{font-size:var(--text-lg);line-height:1.8}.report-prose{margin-bottom:40px;font-size:var(--text-base);line-height:1.9;overflow-wrap:anywhere}.report-prose :is(h2,h3,h4,h5,h6){margin:32px 0 16px;font-weight:600;line-height:1.6;scroll-margin-top:calc(var(--header-height) + 24px)}.report-prose h2{padding-bottom:10px;border-bottom:1px solid var(--border);font-size:25px}.report-prose h3{font-size:21px}.report-prose :is(h4,h5,h6){font-size:var(--text-lg)}.report-prose p{margin:16px 0}.report-prose :is(ul,ol){padding-left:26px}.report-prose li{margin:8px 0}.report-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.report-prose code{font-family:var(--font-mono);font-size:.875em}.report-prose :not(pre)>code{padding:2px 5px;border-radius:3px;background:var(--surface-soft)}.report-prose pre{max-width:100%;overflow-x:auto;padding:18px;font-size:var(--text-sm);line-height:1.7;tab-size:4}.report-code{min-width:0;margin:20px 0;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft)}.report-code-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:5px 12px 5px 18px;border-bottom:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs)}.copy-btn{padding:3px 9px;border:1px solid var(--border);border-radius:4px;color:var(--muted);background:#fff;font-family:var(--font-sans);font-size:var(--text-xs)}.copy-btn:hover{color:var(--accent);border-color:#a7bddf}.report-code pre{margin:0}.report-code pre code{font-size:inherit}.report-prose blockquote{margin:20px 0;padding:1px 20px;border-left:3px solid #a7bddf;color:var(--muted);background:var(--surface-soft)}.report-prose img{height:auto;margin-inline:auto}.report-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.report-prose :is(th,td){padding:10px 14px;border:1px solid var(--border);text-align:left}.report-equation{max-width:100%;overflow-x:auto;margin:24px 0;padding:12px 0;text-align:center;overflow-wrap:normal}.report-equation mjx-container{display:inline-block;margin:0!important}.report-equation svg{max-width:none}.footprints-carousel{position:relative;margin-top:26px}.footprints-viewport{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#dce0e7 transparent;scroll-behavior:auto;border-radius:6px}.footprints-carousel[data-looping=true] .footprints-viewport{scrollbar-width:none}.footprints-carousel[data-looping=true] .footprints-viewport::-webkit-scrollbar{display:none}.footprints-track{display:flex;width:max-content;padding-block:4px 12px}.footprints-group{display:flex;flex:0 0 auto;gap:20px;padding-right:20px}.footprints-group .gallery-card{flex:0 0 auto;width:clamp(240px,28vw,320px)}.footprints-group .gallery-card img{aspect-ratio:4 / 3}.gallery-playback{position:absolute;z-index:2;top:16px;right:12px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #ffffffb3;border-radius:6px;color:var(--text);background:#ffffffeb;box-shadow:0 2px 12px #17233c12}.gallery-playback:hover{color:var(--accent);background:#fff}.gallery-play-icon,.gallery-playback[aria-pressed=true] .gallery-pause-icon{display:none}.gallery-playback[aria-pressed=true] .gallery-play-icon{display:block}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.gallery-card{min-width:0;margin:0}.gallery-card img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:4px;background:var(--surface-soft)}.gallery-card figcaption{margin-top:10px;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-body)}.site-footer{margin-top:12px;margin-left:var(--sidebar-space);border-top:1px solid var(--border);transition:margin-left .18s ease}.footer-shell{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-block:26px}.footer-shell p{margin:0;color:var(--muted);font-size:var(--text-xs)}.footer-shell .text-link{font-size:var(--text-xs)}.not-found{display:grid;min-height:65vh;place-items:center;padding-block:70px;text-align:center}.not-found-content{max-width:520px}.not-found-code{margin:0;color:var(--accent);font-family:var(--font-display);font-size:100px;line-height:1.2}.not-found h1{font-family:var(--font-display);font-size:36px;font-weight:400}.not-found p{color:var(--muted)}.button{display:inline-flex;padding:10px 20px;border:1px solid var(--border);border-radius:4px;color:var(--accent)}@media(any-hover:hover)and (any-pointer:fine)and (prefers-reduced-motion:no-preference){:where(button:not(.sidebar-backdrop),.profile-icon-link,.publication-link,.nav-link,.sidebar-child-link,.text-link,.button,.entry-topline h3>a,.report-body h3>a,.global-search-field){position:relative;isolation:isolate;border-radius:6px}:is(button:not(.sidebar-backdrop),.profile-icon-link,.publication-link,.nav-link,.sidebar-child-link,.text-link,.button,.entry-topline h3>a,.report-body h3>a,.global-search-field){translate:var(--pointer-dx, 0px) var(--pointer-dy, 0px);transition:translate .18s cubic-bezier(.2,.8,.2,1),color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}:where(button:not(.sidebar-backdrop),.profile-icon-link,.publication-link,.nav-link,.sidebar-child-link,.text-link,.button,.entry-topline h3>a,.report-body h3>a,.global-search-field):after{position:absolute;z-index:-1;inset:0;border-radius:inherit;background:radial-gradient(circle 90px at var(--pointer-x, 50%) var(--pointer-y, 50%),#7a9fdf38,#94b2e412 50%,transparent 75%);box-shadow:inset 0 0 0 1px #547eb526;opacity:0;pointer-events:none;transition:opacity .22s ease;content:""}:where([data-pointer-active],button:focus-visible,.profile-icon-link:focus-visible,.publication-link:focus-visible,.nav-link:focus-visible,.sidebar-child-link:focus-visible,.text-link:focus-visible,.button:focus-visible,.report-body h3>a:focus-visible):after{opacity:1}:where(.profile-icon-link,.publication-link,.filter-tag-trigger,.control-button,.sidebar-toggle,.copy-btn,.button)[data-pointer-active]{box-shadow:0 4px 14px #315eab14}.profile-icon-link svg{transition:transform .22s cubic-bezier(.2,.8,.2,1)}.profile-icon-link[data-pointer-active] svg{transform:scale(1.08)}.publication-link>span[aria-hidden]{transition:transform .2s ease}.publication-link[data-pointer-active]>span[aria-hidden]{transform:translate(2px,-2px)}.global-search-field:after{background:radial-gradient(ellipse 200px 70px at var(--pointer-x, 50%) var(--pointer-y, 50%),#7a9fdf24,transparent 75%)}}@media(prefers-reduced-motion:no-preference){:where(button:not(.sidebar-backdrop),.profile-icon-link,.publication-link,.button):not(:disabled):not([aria-disabled=true]):active{scale:.97}}@media(min-width:901px){:root[data-sidebar=collapsed]{--sidebar-space: 0px;--header-brand-width: 192px}:root[data-sidebar=collapsed] .site-sidebar{transform:translate(-100%);visibility:hidden}}@media(max-width:1000px){.hero{gap:35px}.entry-card{padding:20px}.entry-topline{align-items:start;flex-direction:column;gap:5px}}@media(min-width:901px)and (max-width:1200px){:root{--shell: calc(100% - 64px) ;--sidebar-width: 240px}.hero{grid-template-columns:minmax(0,1fr) 150px;gap:32px}.hero h1{font-size:53px}.hero-role,.hero-bio{font-size:var(--text-base)}.profile-portrait img{width:150px;height:196px}.project-grid{grid-template-columns:1fr}.entry-topline{flex-direction:row;align-items:center}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{flex-wrap:wrap}.report-entry{grid-template-columns:100px minmax(0,1fr);gap:16px 24px}.report-actions{grid-column:2;flex-direction:row;flex-wrap:wrap;padding-top:0}.publication-item,.project-card{grid-template-columns:180px minmax(0,1fr);gap:24px}}@media(max-width:900px){:root{--sidebar-space: 0px;--header-brand-width: 34px;--header-height: 64px}.nav-shell{grid-template-columns:34px minmax(0,1fr) auto;gap:12px;min-height:var(--header-height);padding-inline:20px}.header-identity{justify-content:center;padding:0}.header-identity>.brand{display:none}.nav-controls{padding-left:0}.sidebar-toggle,.sidebar-close{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:4px;color:var(--muted);background:transparent}.sidebar-toggle:hover,.sidebar-close:hover{color:var(--accent);background:var(--accent-soft)}.sidebar-close{font-family:var(--font-sans);font-size:24px}.site-sidebar{width:min(300px,calc(100% - 48px));padding-top:18px;transform:translate(-100%);visibility:hidden;transition:transform .18s ease,visibility .18s}.site-sidebar.open{transform:none;visibility:visible;box-shadow:8px 0 30px #1b2b4312}.sidebar-heading{margin-bottom:14px}.sidebar-group{margin-bottom:6px}.sidebar-child-link{padding-block:8px;font-size:var(--text-sm)}.global-search{width:100%;margin:0}.global-search-field{height:38px;gap:8px}.search-shortcut{display:none}}@media(max-width:760px){.report-entry{grid-template-columns:100px minmax(0,1fr);gap:16px 24px}.report-actions{grid-column:2;flex-direction:row;flex-wrap:wrap;padding-top:0}:root{--shell: calc(100% - 48px) }.hero{grid-template-columns:minmax(0,1fr) 160px;gap:28px;padding:58px 0}.hero h1{font-size:51px;letter-spacing:-1.7px}.hero-role,.hero-bio{font-size:var(--text-base)}.profile-portrait img{width:160px;height:210px}.profile-portrait figcaption{font-size:var(--text-sm)}.profile-links{margin-top:22px}.page-section{padding-block:40px 44px}.section-heading{flex-wrap:wrap;align-items:center;gap:18px}.section-heading h2{font-size:31px}.section-heading-actions{padding:0}.section-intro{margin-block:13px 25px;font-size:var(--text-base)}.project-grid{grid-template-columns:1fr}.entry-topline{flex-direction:row;align-items:center}.entry-card>p{margin-block:12px 18px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.publication-record{padding:20px;gap:16px}.publication-item,.project-card{grid-template-columns:160px minmax(0,1fr);gap:22px}}@media(max-width:520px){:root{--shell: calc(100% - 40px) }.nav-shell{gap:8px;padding-inline:12px}.global-search-field{padding-inline:10px}#global-search-input{font-size:var(--text-base)}.global-search-panel{position:fixed;top:calc(var(--header-height) + 8px);left:12px;right:12px}.global-search-results{max-height:calc(100dvh - var(--header-height) - 120px)}.hero{grid-template-columns:minmax(0,1fr) 104px;gap:20px;align-items:start;padding-top:42px}.hero-copy{display:contents}.hero .eyebrow{grid-column:1;margin:10px 0 -7px;font-size:var(--text-xs)}.hero h1{grid-column:1;margin:0;font-size:42px;letter-spacing:-1.5px}html[lang=zh-CN] .hero h1{font-size:39px}.profile-portrait{grid-column:2;grid-row:1 / 4}.profile-portrait img{width:104px;height:132px}.profile-portrait figcaption{gap:4px;margin-top:9px;font-size:var(--text-sm)}.location-dot{width:3px;height:3px}.hero-role{grid-column:1;margin:0;font-size:var(--text-base)}.hero-bio{grid-column:1 / -1;margin-top:5px;font-size:var(--text-base)}.profile-links{grid-column:1 / -1;margin-top:0}.education{padding-top:24px}.education-entry{--education-axis: 0px;grid-template-columns:minmax(0,1fr);gap:6px;padding-left:26px}.section-heading{gap:15px}.report-entry{grid-template-columns:minmax(0,1fr);gap:12px}.report-actions{grid-column:1}.section-heading h2{font-size:31px}.section-heading-actions>.text-link{font-size:var(--text-sm)}.publication-item,.project-card{grid-template-columns:1fr;gap:8px}.publication-overview,.project-overview{max-width:320px;margin-bottom:12px}.publication-record{padding:17px;gap:13px}.publication-record p:last-child{font-size:var(--text-sm)}.gallery-grid{gap:20px 12px}.gallery-card img{aspect-ratio:1 / 1}.gallery-card figcaption{font-size:var(--text-sm)}.footer-shell{align-items:start;padding-block:22px}.footer-shell p{max-width:220px;font-size:var(--text-xs)}.footer-shell .text-link{white-space:nowrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
