:root{color-scheme:light;--c-bg:#fff;--c-bg-2:#f9f4f1;--c-bg-3:#f0e8e3;--c-border:#e5d8d0;--c-text:#18100a;--c-text-2:#3d2818;--c-text-3:#7d6659;--c-text-4:#a89082;--c-accent:#6b3a2a;--c-accent-dark:#5a2e1e;--c-accent-bg:#f9f0ec;--c-accent-border:#dfc4bb;--c-nav-bg:rgba(255,255,255,0.92);--global-bg-color:var(--c-bg);--global-text-color-light:var(--c-text-3);--global-divider-color:var(--c-border)}:root[data-palette="espresso"]{color-scheme:dark;--c-bg:#1c1208;--c-bg-2:#251a0c;--c-bg-3:#2e1f0e;--c-border:#3a2810;--c-text:#f5edd8;--c-text-2:#d9c5a8;--c-text-3:#9e8b74;--c-text-4:#6b5a48;--c-accent:#d4943a;--c-accent-dark:#e0a850;--c-accent-bg:#2a1c08;--c-accent-border:#4a3015;--c-nav-bg:rgba(28,18,8,0.95)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font:16px/1.6 "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--c-bg);color:var(--c-text);min-height:100vh;display:flex;flex-direction:column}img{display:block;max-width:100%;height:auto}a{color:var(--c-accent);text-decoration:none;transition:color 150ms ease}a:hover{color:var(--c-accent-dark)}button{font:inherit;cursor:pointer}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;z-index:200;padding:10px 16px;background:var(--c-bg)}.skip-link:focus{top:8px}.icon{width:16px;height:16px;flex-shrink:0;vertical-align:middle}.nav{position:sticky;top:0;z-index:100;height:60px;flex-shrink:0;display:flex;align-items:center;border-bottom:1px solid var(--c-border);background:var(--c-nav-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nav-inner,.page{width:100%;max-width:1100px;margin:0 auto;padding:0 24px}.nav-inner{display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:10px;color:var(--c-text);font-size:.95rem;font-weight:600;letter-spacing:-0.01em}.nav-logo img{width:30px;height:30px}.nav-links{display:flex;align-items:center;gap:2px;list-style:none}.nav-links a{display:block;padding:6px 13px;border-radius:8px;color:var(--c-text-2);font-size:.875rem;font-weight:500}.nav-links a:hover,.nav-links a.active{color:var(--c-accent);background:var(--c-accent-bg)}.page{flex:1}.profile-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:36px;padding:52px 0 80px;align-items:start}.sidebar{position:sticky;top:84px}.profile-photo-wrap{width:200px;margin-bottom:18px;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,0.08)}.profile-photo-wrap img{width:100%}.profile-name{font-size:1.3rem;font-weight:700;line-height:1.2;letter-spacing:-0.02em;margin-bottom:4px}.profile-name-zh{font-size:1rem;font-weight:400;color:var(--c-text-4)}.profile-title{font-size:.83rem;line-height:1.4;color:var(--c-text-2);margin-bottom:20px}.profile-title a{font-weight:600}.social-links{display:flex;flex-wrap:wrap;gap:8px}.social-link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg-2);color:var(--c-text-3);transition:all 150ms ease}.social-link:hover{background:var(--c-accent-bg);border-color:var(--c-accent-border);color:var(--c-accent);transform:translateY(-2px)}.main-content{min-width:0}.section{margin-bottom:52px}.section-title{font-size:1rem;font-weight:600;letter-spacing:-0.01em;margin-bottom:18px;padding-bottom:10px;border-bottom:1.5px solid var(--c-border)}.bio p{font-size:.93rem;line-height:1.78;color:var(--c-text-2);margin-bottom:14px}.bio a,.news-text a{text-decoration:underline;text-decoration-color:var(--c-accent-border);text-underline-offset:2px}.bio a:hover,.news-text a:hover{text-decoration-color:var(--c-accent)}.bio p:last-child:has(>em:only-child){font-size:.83rem;color:var(--c-text-3);margin-top:12px}.bio p:last-child>em{font-style:normal}.news-list{list-style:none}#news-title{margin-bottom:0}.news-item{display:flex;gap:16px;padding:11px 0;border-bottom:1px solid var(--c-border);font-size:.875rem}.news-item:last-child{border-bottom:0}.news-date{width:76px;flex-shrink:0;padding-top:2px;color:var(--c-text-4);font-size:.78rem;font-weight:500;font-variant-numeric:tabular-nums}.news-text{line-height:1.55;color:var(--c-text-2)}.news-toggle{margin-top:10px;padding:0;background:0;border:0;color:var(--c-accent);font-size:.83rem;font-weight:500}.pub-list ol.bibliography,.publications ol.bibliography{list-style:none;display:flex;flex-direction:column;gap:16px}.pub-card{position:relative;overflow:hidden;padding:18px 20px;border:1px solid var(--c-border);border-radius:12px;background:var(--c-bg);transition:border-color 150ms ease,box-shadow 150ms ease,transform 150ms ease}.pub-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c-accent);opacity:0;transition:opacity 150ms ease}.pub-card:hover{border-color:var(--c-accent-border);box-shadow:0 4px 14px rgba(0,0,0,0.08);transform:translateY(-1px)}.pub-card:hover::before{opacity:1}.pub-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.tag{display:inline-block;padding:2px 9px;border-radius:20px;font-size:.73rem;font-weight:500}.tag-venue{background:var(--c-bg-2);color:var(--c-text-3);border:1px solid var(--c-border)}.tag-conference{background:var(--c-accent-bg);color:var(--c-accent);border:1px solid var(--c-accent-border)}.pub-title{font-size:.93rem;font-weight:600;line-height:1.45;margin-bottom:6px}.pub-title a{color:inherit}.pub-title a:hover{color:var(--c-accent)}.pub-authors{font-size:.83rem;color:var(--c-text-4);margin-bottom:4px;line-height:1.5}.pub-authors .self{color:var(--c-text-2);font-weight:500}.pub-venue{font-size:.83rem;color:var(--c-text-3);font-style:italic;margin-bottom:10px}.pub-links{display:flex;flex-wrap:wrap;gap:7px}.pub-link{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:5px;font-size:.78rem;font-weight:500;border:1px solid var(--c-border);color:var(--c-text-3);background:var(--c-bg-2)}.pub-link .icon{width:12px;height:12px}.pub-link:hover{border-color:var(--c-accent-border);color:var(--c-accent);background:var(--c-accent-bg)}.pub-footnote{font-size:.78rem;color:var(--c-text-3);margin-top:18px}.pub-footnote span,.footer span{margin:0 5px}.content-page{max-width:860px;margin:auto;padding:52px 0 100px}.page-header{margin-bottom:36px}.page-header h1{font-size:1.65rem;font-weight:700;letter-spacing:-0.02em}.publications h2.bibliography{font-size:.9rem;color:var(--c-text-3);margin:32px 0 16px}.other-page{color:var(--c-text-2);font-size:.93rem}.other-page .other-section-title{font-size:1rem;font-weight:600;padding-bottom:10px;border-bottom:1.5px solid var(--c-border)}.other-page .pub-authors{color:var(--c-text-3);margin-bottom:10px}.footer{border-top:1px solid var(--c-border);padding:22px 24px;text-align:center;font-size:.78rem;color:var(--c-text-4)}.footer a{color:var(--c-text-3)}.palette-switcher{position:fixed;bottom:24px;right:24px;z-index:110;display:flex;align-items:center;gap:9px;padding:7px 14px;border-radius:100px;border:1px solid var(--c-border);background:var(--c-bg);box-shadow:0 4px 24px rgba(0,0,0,0.18)}.palette-name{font-size:11px;color:var(--c-text-3);font-weight:500;margin-right:4px}.palette-dot{display:block;width:18px;height:18px;padding:0;border:2px solid transparent;border-radius:50%;transition:transform 150ms ease}.palette-dot:hover{transform:scale(1.15)}.palette-dot[aria-pressed="true"]{outline:2px solid var(--c-accent);outline-offset:3px}.palette-espresso{background:conic-gradient(#1c1208 0deg 180deg,#d4943a 180deg 360deg)}.palette-cocoa{background:#6b3a2a}@media(max-width:800px){.profile-layout{grid-template-columns:minmax(0,1fr);padding-top:36px}.sidebar{position:static;display:flex;flex-direction:column;align-items:center;text-align:center}.social-links{justify-content:center}.content-page{padding-top:36px}.page-header h1{font-size:1.35rem}}@media(max-width:500px){.nav-inner,.page{padding-left:16px;padding-right:16px}.nav-logo span{display:none}.nav-links a{padding:6px 9px;font-size:.8rem}.pub-card{padding:14px 16px}.palette-switcher{bottom:16px;right:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}