:root{--bg:#f6f8fb;--surface:#ffffff;--text:#102033;--muted:#53667c;--line:#d9e1ea;--accent:#0f4c81;--accent-soft:#e8f1f9;--max-width:980px;--radius:14px;--shadow:0 10px 30px rgba(16,32,51,0.08)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:"Source Sans 3",sans-serif;color:var(--text);background:linear-gradient(180deg,#f9fbfd 0%,#f1f5fa 100%);line-height:1.65;min-height:100vh;display:flex;flex-direction:column}.layout{width:min(100% - 2rem,var(--max-width));margin:0 auto}.site-header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.site-header .layout{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.9rem 0}.brand{color:var(--text);font-family:"Source Serif 4",serif;font-weight:700;text-decoration:none;font-size:1.05rem}.site-nav{display:flex;gap:0.9rem;flex-wrap:wrap}.site-nav a{text-decoration:none;color:var(--muted);padding:0.35rem 0.7rem;border:1px solid transparent;transition:color 160ms ease,border-color 160ms ease,background 160ms ease}.site-nav a:hover,.site-nav a:focus-visible{color:var(--accent);border-color:#bfd4e6;background:var(--accent-soft);outline:none}.site-nav a.is-active{color:#fff;background:var(--accent);border-color:var(--accent)}.content{padding:1.8rem 0 2.5rem;flex:1}article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(1.15rem, 2.2vw, 2rem)}.profile-intro{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.2rem;align-items:start}.profile-photo{width:100%;max-width:220px;aspect-ratio:4 / 5;border-radius:12px;object-fit:cover;border:1px solid var(--line);box-shadow:0 8px 20px rgba(16,32,51,0.1)}.profile-intro h2{margin-top:0.1rem}.bio-section,.focus-section{margin-top:0.5rem}.projects-section{margin-top:0.7rem}.home-section-divider{height:1px;margin:1.1rem 0 0.9rem;background:linear-gradient( 90deg,rgba(184,208,232,0) 0%,rgba(184,208,232,0.9) 16%,rgba(184,208,232,0.9) 84%,rgba(184,208,232,0) 100% )}.bio-collapsible{border:1px solid #bcd3ea;border-radius:12px;background:#f9fcff;overflow:hidden;transition:border-color 180ms ease,box-shadow 180ms ease}.bio-collapsible:hover{border-color:#9fbfdf}.bio-collapsible[open]{border-color:#8fb3d7;box-shadow:0 8px 22px rgba(16,32,51,0.08)}.bio-toggle{list-style:none;cursor:pointer;user-select:none;color:#18324d;padding:0.8rem 1rem;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding-right:2.5rem;background:linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%)}.bio-toggle::-webkit-details-marker{display:none}.bio-toggle::after{content:"+";color:var(--accent);font-size:1.2rem;font-weight:700;line-height:1;position:absolute;right:1rem;transition:transform 180ms ease}.bio-collapsible[open] .bio-toggle::after{content:"−";transform:none}.bio-collapsible[open] .bio-toggle{border-bottom:1px solid #ccddf0}.bio-toggle-text{display:flex;flex-direction:column;align-items:center}.bio-toggle-title{font-family:"Source Serif 4",serif;font-size:clamp(1.2rem, 2vw, 1.45rem);font-weight:700;line-height:1.2}.bio-content{padding:0.8rem 1rem 1rem}.bio-content-wrap{background:#ffffff}.profile-meta-header{display:flex;justify-content:space-between;align-items:flex-start;gap:0.9rem;margin-bottom:0.3rem}.profile-meta-header h1{margin:0}.lang-switcher{display:inline-flex;gap:0.45rem;padding:0.25rem;background:#edf3f9;border:1px solid var(--line);border-radius:999px;margin-bottom:0}.lang-tab{border:1px solid transparent;background:transparent;color:var(--muted);padding:0.32rem 0.85rem;font:inherit;font-weight:600;cursor:pointer}.lang-tab:hover,.lang-tab:focus-visible{color:var(--accent);border-color:#bfd4e6;outline:none}.lang-tab.is-active{color:#fff;background:var(--accent);border-color:var(--accent)}[data-page-lang][hidden]{display:none}h1,h2,h3{font-family:"Source Serif 4",serif;line-height:1.25}h1{margin-top:0.2em;font-size:clamp(1.8rem, 3.3vw, 2.4rem)}h2,h3{margin-top:1.2em}h2{font-size:clamp(1.3rem, 2.3vw, 1.65rem);border-bottom:1px solid var(--line);padding-bottom:0.35rem}p,li{font-size:1.05rem}ul{padding-left:1.2rem}.info-list{list-style:none;padding-left:0;margin:0.35rem 0 0;display:grid;gap:0.45rem}.info-item{display:flex;align-items:flex-start;gap:0.55rem}.info-icon{width:1.1rem;height:1.1rem;color:var(--accent);flex:0 0 auto;margin-top:0.2rem}.info-icon svg{width:100%;height:100%;display:block}.project-affiliations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.4rem;padding-top:1rem;border-top:1px dashed #b8d0e8}.affiliation-logo{margin:0;padding:0}.affiliation-logo img{width:100%;display:block;height:clamp(84px, 12vw, 120px);object-fit:contain}.paper-list{list-style:none;padding:0;margin:0.6rem 0 0;display:grid;gap:0.55rem}.paper-item{display:flex;justify-content:space-between;align-items:center;gap:0.9rem;padding:0.65rem 0.8rem;border:1px solid #d2e1f0;border-radius:10px;background:#f6faff;box-shadow:0 1px 0 rgba(15,76,129,0.08)}.paper-title{font-weight:600;color:var(--text)}.paper-download{text-decoration:none;border:1px solid #bfd4e6;background:#eaf2fb;color:var(--accent);padding:0.28rem 0.7rem;white-space:nowrap}.paper-download:hover,.paper-download:focus-visible{border-color:var(--accent);background:var(--accent);color:#fff;outline:none}.project-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.8rem;margin-top:0.65rem}.project-link-card{display:block;width:100%;text-decoration:none;border:1px solid #cadbef;background:#f4f9ff;border-radius:10px;padding:0.85rem 0.95rem;color:var(--text);font-weight:600;font-size:1.1rem;text-align:center;transition:border-color 160ms ease,background 160ms ease,transform 160ms ease}.project-link-card:hover,.project-link-card:focus-visible{border-color:var(--accent);background:#eaf2fb;transform:translateY(-1px);outline:none}.site-nav a,.lang-tab,.paper-download{border-radius:999px}a{color:var(--accent)}.site-footer{border-top:1px solid var(--line);background:#eef3f8}.site-footer .layout{padding:1rem 0}.site-footer p{margin:0;color:var(--muted);font-size:0.95rem}@media (max-width:760px){.site-header .layout{flex-direction:column;align-items:flex-start}.profile-intro{grid-template-columns:1fr}.profile-photo{max-width:200px}.profile-meta-header{flex-direction:column;align-items:flex-start}.site-nav{gap:0.45rem}.site-nav a{padding:0.3rem 0.62rem;font-size:0.96rem}.project-affiliations{grid-template-columns:1fr}.paper-item{flex-direction:column;align-items:flex-start}.project-links-grid{grid-template-columns:1fr}p,li{font-size:1rem}}