@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap";:root{--ink:#111827;--muted:#677083;--line:#dfe4ec;--paper:#f8fafc;--white:#fff;--blue:#3156e8;--blue-light:#e8edff;--cyan:#9ee7ff;--violet:#8b76ff;--display:"Manrope", system-ui, sans-serif;--body:"DM Sans", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{color:var(--ink);background:var(--paper);font-family:var(--body);margin:0;font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-shell{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:0 clamp(1.25rem,4vw,4.5rem)}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:96px;display:flex}.wordmark{font:600 1rem var(--display);letter-spacing:-.02em;align-items:center;gap:.8rem;display:flex}.wordmark-mark{background:var(--ink);color:#fff;letter-spacing:.08em;border-radius:50%;place-items:center;width:2.15rem;height:2.15rem;font-size:.67rem;display:grid}nav{gap:clamp(1.15rem,3vw,2.5rem);display:flex}nav a{color:#4c566b;font-size:.92rem;position:relative}nav a:after{content:"";background:var(--blue);height:2px;transition:right .2s;position:absolute;bottom:-.55rem;left:0;right:100%}nav a:hover:after,nav a.active:after{right:0}nav a.active{color:var(--ink)}main{min-height:70vh}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;margin-top:7rem;padding:2rem 0 3.5rem;font-size:.9rem;display:flex}.site-footer>div{flex-wrap:wrap;gap:1.2rem;display:flex}.footer-links a:hover{color:var(--blue)}.muted{color:var(--muted)}.eyebrow{color:var(--blue);font:600 .75rem var(--display);letter-spacing:.13em;text-transform:uppercase;margin:0 0 1.35rem}h1,h2,h3{font-family:var(--display);letter-spacing:-.04em;line-height:1.12}h1{font-size:clamp(3rem,7vw,6.8rem);font-weight:500}h2{font-size:clamp(1.45rem,2.2vw,2.15rem);font-weight:600}h3{font-size:1.05rem;font-weight:600}p{margin-top:0}.button{border-radius:.3rem;justify-content:center;align-items:center;min-height:3.1rem;padding:.75rem 1.2rem;font-size:.9rem;font-weight:600;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--ink);color:#fff}.button.primary:hover{background:var(--blue)}.button.secondary{border:1px solid var(--line);background:#fff}.button.secondary:hover{border-color:var(--ink)}.text-link{border-bottom:1px solid var(--ink);align-items:baseline;gap:.65rem;font-weight:600;display:inline-flex}.text-link span{color:var(--muted);letter-spacing:.08em;font-size:.72rem}.hero{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:center;gap:clamp(3rem,6vw,7rem);min-height:690px;padding:5rem 0;display:grid}.hero h1{max-width:12ch;margin:0 0 2rem}.hero h1 em{color:var(--blue);font-style:normal}.hero-lede{color:#4e586c;max-width:650px;font-size:clamp(1.08rem,1.4vw,1.3rem)}.hero-actions{align-items:center;gap:1.75rem;margin-top:2.5rem;display:flex}.material-study{color:#fff;background:#101828;border-radius:.45rem;grid-template-rows:auto 1fr auto;min-height:500px;padding:1.2rem;display:grid;overflow:hidden;box-shadow:0 30px 70px #11182729}.study-label,.study-caption{letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.72rem;display:flex}.study-caption{letter-spacing:0;text-transform:none;flex-direction:column;font-size:.85rem}.lattice{background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:42px 42px;margin:2rem;position:relative}.lattice:before,.lattice:after{content:"";border:1px solid #9ee7ff8c;position:absolute;inset:18% 22%;transform:skewY(-22deg)}.lattice:after{border-color:#8b76ff66;inset:30% 12%;transform:skewY(21deg)rotate(90deg)}.node{background:#fff;border-radius:50%;width:1.3rem;height:1.3rem;position:absolute;box-shadow:0 0 0 .5rem #ffffff0d,0 0 35px #9ee7ff99}.node:nth-child(3n+1){background:var(--cyan);width:1.8rem;height:1.8rem}.node:nth-child(3n){background:var(--violet)}.n1{top:22%;left:14%}.n2{top:10%;left:46%}.n3{top:27%;right:10%}.n4{top:57%;left:5%}.n5{top:47%;left:48%}.n6{top:63%;right:4%}.n7{bottom:5%;left:18%}.n8{bottom:13%;left:55%}.n9{bottom:3%;right:18%}.home-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1.4fr 1fr 1fr;display:grid}.home-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:280px;padding:1.8rem;transition:background .25s,color .25s;display:flex}.home-card.feature{background:var(--blue);color:#fff;grid-row:span 2;min-height:560px}.home-card:hover{background:var(--ink);color:#fff}.home-card h2{margin:0 0 1rem;font-size:clamp(2rem,3.2vw,3.6rem)}.home-card p{max-width:34ch;color:inherit;opacity:.7}.card-index{letter-spacing:.1em;opacity:.65;font-size:.75rem}.card-meta{opacity:.72;font-size:.8rem}.page-intro{border-bottom:1px solid var(--line);padding:clamp(5rem,10vw,9rem) 0 clamp(4rem,7vw,7rem)}.page-intro h1{max-width:12ch;margin:0 0 2rem;font-size:clamp(3.3rem,7vw,6.3rem)}.page-intro .lede{max-width:730px;color:var(--muted);margin:0 0 0 auto;font-size:clamp(1.15rem,1.8vw,1.5rem)}.about-layout{grid-template-columns:1.3fr .7fr;gap:clamp(3rem,8vw,9rem);padding:6rem 0;display:grid}.large-prose{font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.7}.large-prose p:first-child{color:var(--blue)}.fact-panel{border-top:1px solid var(--ink)}.fact-panel>div{border-bottom:1px solid var(--line);flex-direction:column;padding:1.3rem 0;display:flex}.fact-panel span{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:.78rem}.fact-panel strong,.fact-panel a{font-family:var(--display);margin-top:.45rem}.fact-panel small{color:var(--muted)}.timeline-section,.publications-section{padding:4rem 0}.section-heading{justify-content:space-between;align-items:end;margin-bottom:2.5rem;display:flex}.section-heading h2{margin:0}.timeline{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--line);grid-template-columns:minmax(115px,.3fr) 1fr;gap:2rem;padding:1.7rem 0;display:grid}.timeline time{color:var(--blue);font-size:.85rem}.timeline h3{margin:0 0 .45rem}.timeline p{color:var(--muted);margin:0}.interest-grid{grid-template-columns:repeat(4,1fr);padding:5rem 0;display:grid}.interest-grid article{border:1px solid var(--line);min-height:320px;margin-right:-1px;padding:1.5rem}.interest-grid article span{color:var(--blue);font-size:.75rem}.interest-grid article h2{margin:6rem 0 1rem}.interest-grid article p{color:var(--muted)}.research-focus{color:#fff;background:var(--ink);border-radius:.4rem;grid-template-columns:.55fr 1.45fr;gap:4rem;margin:2rem 0 4rem;padding:4rem;display:grid}.research-focus .eyebrow{color:var(--cyan)}.research-focus h2{margin:0}.focus-copy{max-width:760px}.large-copy{font:500 clamp(1.6rem, 3vw, 3rem)/1.25 var(--display);letter-spacing:-.04em}.focus-copy p:last-child{color:#aeb8ca}.publication-heading{align-items:center}.publication-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.publication-list li{border-bottom:1px solid var(--line);grid-template-columns:100px 1fr;gap:2rem;padding:1.8rem 0;display:grid}.pub-year{color:var(--blue);font-size:.85rem}.publication-list h3{letter-spacing:-.015em;max-width:900px;margin:0 0 .6rem;font-size:1.15rem;line-height:1.45}.publication-list p{color:var(--muted);margin:0;font-size:.9rem}.publication-list .journal{color:var(--ink);font-style:italic}.cv-banner{background:var(--blue-light);justify-content:space-between;align-items:center;gap:2rem;margin-top:4rem;padding:3rem;display:flex}.cv-banner h2{max-width:730px;margin:0}.language-key{color:var(--muted);justify-content:flex-end;gap:1.3rem;padding:2rem 0;font-size:.85rem;display:flex}.language-key span{align-items:center;gap:.45rem;display:flex}.lang-dot{background:var(--blue);border-radius:50%;width:.5rem;height:.5rem}.lang-dot.zh{background:var(--violet)}.post-list{border-top:1px solid var(--ink)}.post-row{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr 65px;align-items:start;gap:2rem;padding:2rem 0;display:grid}.post-row:hover h2{color:var(--blue)}.post-row time{color:var(--muted);font-size:.86rem}.post-row h2{margin:0 0 .6rem;transition:color .2s}.post-row p{color:var(--muted)}.tag-list{flex-wrap:wrap;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);color:var(--muted);border-radius:1rem;padding:.25rem .55rem;font-size:.72rem}.language-badge{color:var(--blue);background:var(--blue-light);border-radius:.2rem;justify-self:end;padding:.25rem .5rem;font-size:.72rem}.language-badge.zh{color:#604be1;background:#efecff}.article{max-width:860px;margin:0 auto;padding:6rem 0}.back-link{color:var(--blue);border-bottom:1px solid;margin-bottom:5rem;font-size:.85rem;display:inline-block}.article header{border-bottom:1px solid var(--line);padding-bottom:3rem}.article h1{margin:1.6rem 0;font-size:clamp(2.8rem,6vw,5.5rem)}.article header>p{color:var(--muted);font-size:1.25rem}.article-meta{color:var(--muted);gap:1rem;font-size:.85rem;display:flex}.article-body{max-width:720px;margin:3.5rem auto 0;font-size:1.1rem}.article-body h2{margin-top:2.8rem}.article-body a{color:var(--blue);text-decoration:underline}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;min-height:65vh;display:flex}.not-found h1{max-width:11ch;margin:0 0 1.5rem}.not-found>p:not(.eyebrow){color:var(--muted);font-size:1.15rem}.not-found .button{margin-top:1.5rem}.project-note{border-left:3px solid var(--blue);max-width:760px;color:var(--muted);margin:2.5rem 0 4rem auto;padding-left:1rem}.projects-list{gap:6rem;display:grid}.project-card{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.project-card:nth-child(2n) .project-preview{order:2}.project-card:nth-child(2n) .project-copy{order:1}.project-preview{aspect-ratio:16/10;background:#dfe7ff;border-radius:.45rem;padding:.8rem;box-shadow:0 24px 60px #1d2b4e1f}.project-preview.accent-violet{background:#e8e3ff}.project-preview.accent-cyan{background:#dff6fb}.preview-toolbar{background:#fff;border-radius:.3rem .3rem 0 0;align-items:center;gap:.35rem;height:2rem;padding:0 .5rem;display:flex}.preview-toolbar i{background:#cbd2df;border-radius:50%;width:.45rem;height:.45rem}.preview-grid{background:#f8fafc;grid-template-columns:20% 1fr;height:calc(100% - 2rem);display:grid}.preview-rail{background:#111827}.preview-content{flex-direction:column;padding:10%;display:flex}.preview-title{background:var(--ink);width:45%;height:1rem;margin-bottom:12%}.preview-line{background:#cbd2df;width:55%;height:.45rem;margin-bottom:5%}.preview-line.long{width:78%}.preview-cards{grid-template-columns:repeat(3,1fr);gap:5%;margin-top:8%;display:grid}.preview-cards b{aspect-ratio:1;border:1px solid #dfe4ec;border-top:4px solid var(--blue);background:#fff}.accent-violet .preview-cards b{border-top-color:var(--violet)}.accent-cyan .preview-cards b{border-top-color:#22a7c7}.project-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.project-heading h2{margin:0;font-size:clamp(2rem,4vw,3.7rem)}.status{border:1px solid var(--line);color:var(--muted);border-radius:2rem;padding:.3rem .55rem;font-size:.72rem}.project-copy>p{color:var(--muted);margin:1.5rem 0;font-size:1.05rem}.project-links{gap:1.5rem;margin-top:2rem;font-size:.85rem;display:flex}.project-links a{border-bottom:1px solid var(--ink)}.project-links span{color:#9299a8}@media (width<=900px){.hero{grid-template-columns:1fr;min-height:auto}.material-study{min-height:420px}.home-grid{grid-template-columns:1fr 1fr}.home-card.feature{grid-area:auto/span 2;min-height:380px}.about-layout,.research-focus,.project-card{grid-template-columns:1fr}.interest-grid{grid-template-columns:1fr 1fr}.interest-grid article{margin-top:-1px}.project-card:nth-child(2n) .project-preview,.project-card:nth-child(2n) .project-copy{order:initial}}@media (width<=650px){.site-shell{padding:0 1rem}.site-header{align-items:flex-start;gap:1rem;height:auto;padding:1rem 0}.wordmark>span:last-child{display:none}nav{flex-wrap:wrap;justify-content:flex-end;gap:.9rem}nav a{font-size:.82rem}.hero{gap:3rem;padding:4rem 0}.hero-actions{flex-direction:column;align-items:flex-start}.material-study{min-height:350px}.lattice{margin:1rem}.home-grid{grid-template-columns:1fr}.home-card.feature{grid-column:auto}.home-card{min-height:260px!important}.page-intro .lede{margin-left:0}.page-intro{padding:4rem 0}.interest-grid{grid-template-columns:1fr}.interest-grid article{min-height:auto}.interest-grid article h2{margin-top:3rem}.research-focus{padding:2rem}.publication-heading,.cv-banner{flex-direction:column;align-items:flex-start}.publication-list li,.timeline li{grid-template-columns:1fr;gap:.5rem}.post-row{grid-template-columns:1fr auto;gap:.6rem}.post-row time{grid-column:1/-1}.language-badge{grid-area:2/2}.post-row>div{grid-area:2/1}.site-footer{flex-direction:column;gap:1.5rem}.site-footer>div:first-child{flex-direction:column;gap:.2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}
