:root{--bg: #f6f8fb;--surface: #ffffff;--surface-soft: #f2f5f9;--surface-muted: #e9edf3;--text: #172033;--muted: #5f6878;--muted-soft: #7b8494;--border: #d8dee8;--border-strong: #aeb8c8;--accent: #24509a;--accent-strong: #17366f;--accent-soft: #e9effb;--accent-warm: #8a6f3d;--code-bg: #f0f3f8;--shadow: 0 14px 34px rgba(23, 32, 51, .07);--shadow-soft: 0 8px 20px rgba(23, 32, 51, .05);--radius: 6px;--shell: min(920px, calc(100vw - 44px) );--ui-font: "Inter", "Segoe UI", "Noto Sans", "Helvetica Neue", Arial, sans-serif;--serif-font: Georgia, "Times New Roman", "Noto Serif CJK SC", "Source Han Serif SC", serif}:root[data-theme=night]{--bg: #151923;--surface: #1f2633;--surface-soft: #252d3b;--surface-muted: #19202b;--text: #e9edf4;--muted: #a5adba;--muted-soft: #838c9d;--border: #323b4c;--border-strong: #4d5a70;--accent: #8fb4f4;--accent-strong: #b6cdf8;--accent-soft: #233454;--accent-warm: #d5bd7b;--code-bg: #141a24;--shadow: 0 16px 36px rgba(0, 0, 0, .22);--shadow-soft: 0 8px 18px rgba(0, 0, 0, .18)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{margin:0;color:var(--text);background:linear-gradient(180deg,rgba(36,80,154,.07),transparent 280px),var(--bg);font-family:var(--serif-font);font-size:16px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration:underline;color:var(--accent-strong)}main{padding-bottom:56px}.shell{width:var(--shell);margin:0 auto}.shell,.grid,.card,.publication-item,.essay-article,.essay-detail-grid,.essay-layout{min-width:0}.page-section{padding:52px 0}.page-anchor{scroll-margin-top:84px}.card,.publication-item,.essay-article,.nav-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);outline:0}.card,.publication-item,.resume-entry,.gallery-card,.essay-toc{box-shadow:var(--shadow-soft)}.site-header{position:sticky;top:0;z-index:20;padding:0;background:#f6f8fbeb;border-bottom:1px solid var(--border);backdrop-filter:blur(14px)}:root[data-theme=night] .site-header{background:#151923e6}.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border:none;border-radius:0;background:transparent}.brand{display:inline-flex;align-items:center;gap:12px;min-width:0;text-decoration:none}.brand:hover{text-decoration:none}.brand-mark{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);object-fit:cover;flex-shrink:0}.brand-copy{display:flex;flex-direction:column;min-width:0;gap:0;color:var(--muted);font-size:.88rem;font-family:var(--ui-font)}.brand-copy strong{color:var(--text);font-weight:750;font-size:1.02rem;letter-spacing:.01em}.nav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center;min-width:0}.nav-controls,.theme-toggle,.lang-toggle{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.nav-link{padding:6px 12px;border-radius:var(--radius);border:1px solid transparent;color:var(--muted);min-height:32px;display:inline-flex;align-items:center;font-family:var(--ui-font);font-size:.82rem;font-weight:650;letter-spacing:.01em;text-decoration:none;white-space:nowrap}.nav-link:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-soft);text-decoration:none}.nav-link.active{color:var(--accent-strong);border-color:var(--border-strong);background:var(--accent-soft)}.control-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 8px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;font-family:var(--ui-font);font-size:.8rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.control-button:hover{color:var(--text);border-color:var(--border-strong)}.control-button.active{color:var(--text);border-color:var(--border-strong);background:var(--surface-muted)}.icon-button{width:32px;min-width:32px;padding:0;font-size:.95rem}.section-heading{display:grid;gap:8px;margin-bottom:30px;max-width:780px;padding-top:0;border-top:none}.eyebrow{margin:0;color:var(--accent-warm);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:750;font-family:var(--ui-font)}.eyebrow:empty{display:none}.section-heading h2{margin:0;font-size:1.62rem;line-height:1.25;font-weight:700;letter-spacing:0;font-family:var(--serif-font);padding-bottom:10px;border-bottom:1px solid var(--border);position:relative}.section-heading h2:after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:2px;background:var(--accent)}.section-intro{margin:0;max-width:64ch;color:var(--muted);font-size:.96rem}.button-row{display:flex;flex-wrap:wrap;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 18px;border-radius:var(--radius);border:1px solid var(--text);background:var(--text);color:var(--surface);font-weight:600;font-family:var(--ui-font);font-size:.85rem;cursor:pointer;text-decoration:none}.button:hover{text-decoration:none}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.grid{display:grid;gap:18px}.research-grid,.essay-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.research-card,.project-card,.essay-card{padding:22px;transition:border-color .15s,transform .15s,box-shadow .15s}.research-card:hover,.project-card:hover,.essay-card:hover,.publication-item:hover,.resume-entry:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.project-card{display:flex;flex-direction:column;min-height:220px}.research-card h3,.project-card h3,.essay-card h3{margin:0 0 8px;font-size:1.05rem;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.research-card p,.project-card p,.essay-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65;overflow-wrap:anywhere}.tag-list{display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:14px 0 0;list-style:none}.tag-list li{padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--accent-soft);color:var(--muted);font-size:.72rem;font-family:var(--ui-font);font-weight:650;line-height:1.35;overflow-wrap:anywhere}.publication-list{display:grid;gap:18px}.publication-item{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:24px;padding:24px;border-left:3px solid var(--accent);transition:border-color .15s,box-shadow .15s}.publication-visual{position:relative;align-self:start;width:100%;aspect-ratio:16 / 9;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}.publication-visual img{display:block;width:100%;height:100%;padding:6px;object-fit:contain}.publication-visual-placeholder{width:100%;height:100%;background:linear-gradient(135deg,rgba(0,0,0,.04),transparent 58%),linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px),var(--surface-muted);background-size:auto,18px 18px,18px 18px,auto}.status{color:var(--muted);font-size:.82rem;font-style:italic;font-family:var(--ui-font)}.publication-body{display:flex;flex-direction:column;min-width:0}.publication-body h3{margin:0 0 4px;font-size:1.12rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.publication-authors{margin:0 0 2px;font-size:.86rem;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.publication-venue{margin:0 0 10px;font-size:.8rem;font-style:italic;line-height:1.4;color:var(--accent-warm);font-family:var(--ui-font)}.publication-abstract{margin:0 0 12px;font-size:.88rem;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}.publication-links,.footer-links,.hero-links{display:flex;flex-wrap:wrap;gap:6px}.publication-links{margin-top:auto;padding-top:4px}.publication-links a{display:inline-flex;align-items:center;padding:3px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--accent);font-weight:600;font-size:.76rem;line-height:1.4;text-decoration:none;font-family:var(--ui-font);transition:background .15s,color .15s}.publication-links a:hover{background:var(--accent);color:#fff;text-decoration:none}.text-link{color:var(--accent);font-weight:600;text-decoration:none;font-family:var(--ui-font);font-size:.84rem}.text-link:hover{text-decoration:underline}.footer-links a,.hero-links a{color:var(--accent);font-weight:600}.project-topline{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.project-actions{display:flex;justify-content:flex-end;margin-top:auto;padding-top:18px}.essay-date{margin:0 0 6px;color:var(--muted-soft);font-size:.78rem;font-style:italic;font-family:var(--ui-font)}.essay-meta{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 16px}.essay-meta-item{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.82rem;font-family:var(--ui-font)}.site-footer{padding:36px 0 52px}.footer-shell{display:flex;gap:24px;padding-top:18px;border-top:1px solid var(--border)}.footer-title{margin:0 0 4px;font-weight:700;font-size:.95rem}.footer-copy{margin:0;max-width:54ch;color:var(--muted);font-size:.88rem;font-family:var(--ui-font)}.footer-updated{margin:8px 0 0;color:var(--muted);font-size:.8rem;font-style:italic;font-family:var(--ui-font)}.hero-layout{display:grid;grid-template-columns:1fr;gap:20px;padding:46px 0 22px}.hero-copy{padding:30px 0 0;border:none;background:transparent}.hero-copy h1{margin:0 0 8px;font-size:1.9rem;line-height:1.12;font-weight:700;letter-spacing:0;font-family:var(--serif-font)}.hero-subtitle{margin:0 0 20px;color:var(--muted);font-size:.9rem;font-style:italic;line-height:1.5;max-width:72ch}.profile-bio{margin:0 0 12px;font-size:.92rem;line-height:1.78;color:var(--text);max-width:68ch}.profile-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.profile-link-btn{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:4px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--accent);font-weight:600;font-size:.78rem;line-height:1.4;text-decoration:none;font-family:var(--ui-font);transition:background .15s,color .15s,border-color .15s}.profile-link-btn:hover{background:var(--accent);color:#fff;text-decoration:none}.section-footer{display:flex;justify-content:center;padding-top:24px}.essay-layout{display:grid;gap:20px}.essay-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,240px);gap:32px;align-items:start}.essay-article{padding:32px 0 0;border:none;background:transparent;box-shadow:none}.essay-toc{position:sticky;top:84px;align-self:start;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-family:var(--ui-font)}.toc-title{margin:0 0 10px;color:var(--text);font-weight:700;font-size:.9rem;font-family:var(--ui-font)}.toc-body{display:grid;grid-template-columns:2px minmax(0,1fr);gap:10px}.toc-progress{position:relative;overflow:hidden;width:2px;min-height:100%;border-radius:999px;background:var(--surface-muted)}.toc-progress-bar{position:absolute;inset:0;transform:scaleY(0);transform-origin:top;border-radius:inherit;background:var(--accent)}.toc-links{display:grid;gap:6px}.toc-link{color:var(--muted);font-size:.84rem;line-height:1.35;text-decoration:none}.toc-link:hover{color:var(--text);text-decoration:none}.toc-link.active{color:var(--accent-strong);font-weight:700}.toc-h3{padding-left:10px}.toc-h4{padding-left:20px;font-size:.8rem}.essay-article h1,.essay-article h2,.essay-article h3{font-family:Georgia,Times New Roman,serif;letter-spacing:0}.essay-article h1{margin:0 0 12px;font-size:1.86rem;line-height:1.2}.essay-article h2{font-size:1.32rem;margin:36px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.essay-article h3{font-size:1.1rem;margin:24px 0 8px}.essay-article .section-intro{margin:0 0 8px}.essay-article .tag-list{margin-bottom:24px}.essay-article p,.essay-article li{font-size:.98rem;line-height:1.75;color:var(--text);overflow-wrap:anywhere}.essay-article blockquote{margin:24px 0;padding:10px 18px;border-left:3px solid var(--accent-warm);color:var(--muted);font-style:italic;background:var(--surface-soft)}.essay-pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px;padding-top:20px;border-top:1px solid var(--border)}.essay-pager-link{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;transition:border-color .15s,background .15s}.essay-pager-link:hover{border-color:var(--border-strong);background:var(--surface-soft);text-decoration:none}.essay-pager-next{text-align:right}.essay-pager-label{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:var(--accent);font-family:var(--ui-font)}.essay-pager-next .essay-pager-label{justify-content:flex-end}.essay-pager-title{font-size:.9rem;font-weight:600;color:var(--text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.essay-article pre{overflow-x:auto;max-width:100%;padding:16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--code-bg);color:var(--text);font-size:.88rem;font-family:Cascadia Code,Consolas,SF Mono,monospace}:root[data-theme=night] .essay-article pre{background:#141414;color:#e0e0d8}.code-block-wrapper{position:relative;margin:16px 0;max-width:100%}.code-block-wrapper pre{margin:0;padding-top:36px}.copy-btn{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);font-size:.76rem;font-family:var(--ui-font);cursor:pointer;transition:background .15s,color .15s}.copy-btn:hover{background:var(--surface-muted);color:var(--text)}.copy-btn.copied{background:#e8f5e9;border-color:#4caf50;color:#2e7d32}.essay-article code{font-family:Cascadia Code,Consolas,SF Mono,monospace;font-size:.88em;background:var(--surface-soft);padding:1px 5px;border-radius:var(--radius);overflow-wrap:anywhere}.essay-article pre code{background:transparent;padding:0;border-radius:0}.essay-article mjx-container{overflow-x:auto;overflow-y:hidden;max-width:100%;padding:4px 0}.essay-article img{max-width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border)}.year-group{display:grid;gap:14px;margin-bottom:30px}.year-group h2{margin:0 0 4px;font-size:1.25rem;font-weight:700;color:var(--text);padding-bottom:4px;border-bottom:1px solid var(--border);font-family:var(--serif-font)}.bio-resume{margin-top:34px;display:grid;gap:24px}.bio-resume .section-heading{margin-bottom:0}.bio-resume .section-heading h2{font-size:1.35rem}.resume-list{display:grid;gap:16px}.resume-entry{display:grid;gap:10px;padding:21px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}.resume-entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.resume-entry-main{min-width:0}.resume-entry-main h3{margin:0 0 2px;font-size:.98rem;font-weight:700;line-height:1.3}.resume-org{margin:0;line-height:1.5}.resume-org-name{font-size:.92rem;font-weight:600;color:var(--accent)}.resume-org-loc{font-size:.82rem;color:var(--muted);font-family:var(--ui-font)}.resume-period{flex-shrink:0;color:var(--accent-warm);font-size:.75rem;font-style:italic;white-space:nowrap;font-family:var(--ui-font)}.resume-desc{margin:0;color:var(--muted);font-size:.84rem;line-height:1.65;max-width:68ch}.resume-highlights{margin:0;padding-left:18px;color:var(--muted);font-size:.84rem;line-height:1.65}.resume-highlights li{margin:2px 0}@media(max-width:640px){.resume-entry{padding:16px 18px}.resume-entry-head{flex-direction:column;gap:4px}.resume-period{white-space:normal}}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card{margin:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}.gallery-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.gallery-card img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.gallery-card figcaption{margin:0;padding:10px 14px;font-size:.82rem;color:var(--muted);font-style:italic;border-top:1px solid var(--border);font-family:var(--ui-font)}@media(max-width:640px){.gallery-grid{grid-template-columns:1fr}}.carousel-wrapper{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.carousel{position:relative}.carousel-track{display:flex;transition:transform .4s ease}.carousel-slide{flex:0 0 calc(100% / 3);min-width:calc(100% / 3);padding:0}.carousel-slide img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-right:1px solid var(--border)}.carousel-caption{margin:0;padding:8px 12px;font-size:.82rem;color:var(--muted);font-style:italic;text-align:center;border-top:1px solid var(--border)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer;opacity:.85;transition:opacity .15s}.carousel-btn:hover{opacity:1}.carousel-prev{left:10px}.carousel-next{right:10px}.carousel-dots{display:flex;justify-content:center;gap:8px;padding:14px 0}.carousel-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--border);background:var(--surface);cursor:pointer;padding:0;transition:background .15s}.carousel-dot.active{background:var(--text);border-color:var(--text)}@media(max-width:960px){.essay-detail-grid{grid-template-columns:1fr}.essay-toc{position:relative;top:auto;order:-1}}@media(max-width:900px){.nav-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 0}.brand{grid-column:1}.nav-links{grid-column:1 / -1;justify-content:flex-start}.nav-controls{grid-column:2;justify-content:flex-start}.footer-shell{display:grid;grid-template-columns:1fr}.publication-item{grid-template-columns:1fr;gap:16px;padding:20px}.publication-visual{max-width:100%}}@media(max-width:800px){.carousel-slide{flex:0 0 50%;min-width:50%}}@media(max-width:540px){.carousel-slide{flex:0 0 100%;min-width:100%}.carousel-btn{width:30px;height:30px}.carousel-prev{left:6px}.carousel-next{right:6px}.carousel-caption{font-size:.76rem;padding:6px 10px}.carousel-dots{gap:6px;padding:10px 0}.carousel-dot{width:7px;height:7px}.research-grid,.project-grid,.essay-grid{grid-template-columns:1fr}.hero-copy h1{font-size:1.4rem}.section-heading h2{font-size:1.3rem}.bio-resume .section-heading h2{font-size:1.15rem}.hero-layout{padding:20px 0 12px}.hero-copy{padding:20px 0 0}}@media(max-width:640px){:root{--shell: min(860px, calc(100vw - 28px) )}.site-header{padding:0}.nav-shell{gap:6px 10px;padding:6px 0 8px}.brand-copy{font-size:.82rem}.nav-links{flex-wrap:nowrap;margin:0 -14px;padding:2px 14px 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav-links::-webkit-scrollbar{display:none}.nav-link{padding:5px 10px;font-size:.84rem}.hero-subtitle{font-size:.82rem;margin-bottom:12px}.profile-bio{font-size:.84rem;line-height:1.65}.profile-links{gap:6px}.profile-link-btn{padding:4px 10px;font-size:.8rem}.research-card,.project-card,.essay-card{padding:20px}.publication-item{padding:16px}.publication-body h3{font-size:1rem}.publication-authors{font-size:.82rem}.page-section{padding:28px 0}.year-group{gap:10px;margin-bottom:22px}.year-group h2{font-size:1.1rem}.essay-article{padding:24px 0 0}.essay-article h1{font-size:1.35rem;line-height:1.25;overflow-wrap:anywhere}.essay-pager{grid-template-columns:1fr;gap:10px}.essay-pager-next{text-align:left}.essay-pager-next .essay-pager-label{justify-content:flex-start}.site-footer{padding:20px 0 32px}}@media(max-width:400px){.hero-copy h1{font-size:1.3rem}.brand-copy strong{font-size:.88rem}.brand-mark{width:28px;height:28px}.nav-link{padding:4px 8px;font-size:.8rem}.research-card,.project-card,.essay-card,.resume-entry,.publication-item{padding:14px}.project-topline{flex-direction:column;gap:2px}}
