:root{--paper:#f8f7f3;--ink:#233d36;--muted:#63716a;--line:#d7dcd3;--soft:#e9ede5;--accent:#b55736;--white:#fffefa;--serif:Georgia,'Times New Roman','Songti SC',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{font:inherit}img{max-width:100%;height:auto}::selection{background:#dce4d4}.wrap{width:min(1120px,calc(100% - 96px));margin:auto}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:20px;font-weight:650;letter-spacing:-.8px;white-space:nowrap}.brand span{color:var(--accent)}.site-nav{display:flex;gap:32px;align-items:center;font-size:13px}.site-nav a{padding:8px 0}.site-nav a[aria-current]{border-bottom:1px solid var(--ink)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:600;color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 255px;gap:110px;padding:78px 0 72px;align-items:center}.hero h1{font-family:var(--serif);font-weight:400;font-size:76px;line-height:1.04;letter-spacing:-3px;margin:20px 0 26px}.hero h1 em{font-weight:400;color:var(--accent)}.hero .bio{font-size:17px;line-height:1.8;max-width:620px;margin:0;color:var(--muted)}.hero .bio a{border-bottom:1px solid var(--line);color:var(--ink)}.social-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:27px;font-size:12px}.social-links a{border-bottom:1px solid var(--line);padding-bottom:3px}.portrait{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 35%;filter:saturate(.78);border-radius:2px}.portrait-caption{margin:13px 0 0;font-size:11px;color:var(--muted);display:flex;justify-content:space-between}.portrait-caption span:first-child{color:var(--accent)}.section{padding:40px 0 48px;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:30px}.section-head h2{font-family:var(--serif);font-size:31px;font-weight:400;letter-spacing:-.7px;margin:0}.section-head h2 span{font:11px var(--sans);letter-spacing:0;color:var(--muted);vertical-align:middle;margin-left:12px}.text-link{font-size:12px;white-space:nowrap;border-bottom:1px solid var(--line);padding-bottom:3px}.paper-row{display:grid;grid-template-columns:75px 1fr 70px;gap:26px;padding:22px 0;border-top:1px solid var(--line)}.paper-row:first-child{border-top:0;padding-top:0}.paper-year{font-size:12px;color:var(--muted);padding-top:5px}.paper-row h3{font-size:17px;line-height:1.5;margin:0 0 7px;font-weight:550;max-width:760px}.paper-row p{font-size:12px;color:var(--muted);margin:0}.paper-row .venue{margin-top:5px;color:var(--accent)}.paper-row>.text-link{align-self:start;margin-top:5px}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project{padding:27px 28px;border:1px solid var(--line);border-radius:3px;transition:background .18s}.project:hover{background:var(--soft)}.project-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);letter-spacing:.08em}.project h3{font:27px/1.25 var(--serif);margin:23px 0 10px}.project p{font-size:14px;color:var(--muted);margin:0;max-width:450px}.blog-feature{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.blog-image{background:#e8eee4;border:1px solid var(--line);overflow:hidden}.blog-image img{display:block;width:100%}.blog-copy h3{font:35px/1.17 var(--serif);letter-spacing:-.7px;margin:15px 0}.blog-copy p{font-size:14px;color:var(--muted);margin-bottom:22px}.blog-links{display:flex;gap:23px;flex-wrap:wrap}.series-strip{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:22px;font-size:12px;color:var(--muted)}.site-footer{padding:30px 0 36px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted)}.site-footer a{text-decoration:underline;text-underline-offset:4px}.skip{position:fixed;left:16px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:12px}.article-heading{max-width:850px;padding:55px 0 37px}.breadcrumbs{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:33px}.breadcrumbs span{color:#a3aca5}.article-heading h1{font:58px/1.12 var(--serif);letter-spacing:-1.9px;margin:19px 0 27px}.article-heading:lang(zh) h1{font-size:49px;line-height:1.35;letter-spacing:-1px}.article-meta{display:flex;gap:15px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.article-meta .separator{color:#bac0b8}.language-switch{display:inline-flex;border:1px solid var(--line);border-radius:4px;padding:3px;margin-left:auto;gap:3px}.language-switch a{padding:2px 10px}.language-switch a[aria-current]{background:var(--ink);color:var(--paper);border-radius:2px}.article-grid{display:grid;grid-template-columns:minmax(0,740px) 240px;gap:80px;align-items:start;border-top:1px solid var(--line);padding:38px 0 70px}.article-body{font:18px/1.85 var(--serif);min-width:0;color:#34483f}.article-body:lang(zh){font-family:var(--sans);font-size:17px;line-height:1.95}.article-body>p:first-child{font-size:23px;line-height:1.65;color:var(--ink);margin-top:0}.article-body:lang(zh)>p:first-child{font-size:20px;line-height:1.85}.article-body p{margin:0 0 24px}.article-body h2{font:30px/1.3 var(--serif);letter-spacing:-.4px;margin:46px 0 20px;color:var(--ink)}.article-body:lang(zh) h2{font:600 25px/1.5 var(--sans)}.article-body a{color:#396b59;text-decoration:underline;text-decoration-color:#abc0b2;text-underline-offset:3px;overflow-wrap:anywhere}.article-body img{display:block;width:100%;border:1px solid var(--line);border-radius:2px;margin:30px 0 0}.article-body p:has(>img)+p:has(>em){font:12px/1.6 var(--sans);text-align:center;color:var(--muted);margin-top:-14px}.article-body ul{padding-left:22px}.article-body li{margin:12px 0}.article-body blockquote{border-left:2px solid var(--accent);padding-left:24px;margin:28px 0}.article-body pre{overflow:auto;background:var(--soft);padding:20px;font-size:14px}.article-body table{display:block;overflow:auto;font:14px/1.6 var(--sans)}.article-body th,.article-body td{padding:8px;border-bottom:1px solid var(--line)}.article-sidebar{position:sticky;top:28px;font-size:12px;padding-top:6px}.article-sidebar h2{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 20px}.toc{list-style:none;padding:0;margin:0}.toc li{margin:0 0 14px}.toc a{display:block;color:var(--muted);line-height:1.5;padding-left:13px;border-left:1px solid var(--line)}.toc a[aria-current="location"]{border-left:2px solid var(--accent);color:var(--ink)}.series-note{margin-top:36px;padding-top:23px;border-top:1px solid var(--line);color:var(--muted);line-height:1.7}.series-note strong{font-weight:500;color:var(--ink)}.series-note a{display:inline-block;margin-top:15px;text-decoration:underline;text-underline-offset:4px}.article-end{border-top:1px solid var(--line);padding-top:28px;margin-top:40px;display:flex;justify-content:space-between;font:13px var(--sans);gap:24px}.mobile-toc{display:none}.reading-progress{height:2px;background:var(--accent);position:fixed;left:0;top:0;width:100%;transform:scaleX(0);transform-origin:left;z-index:5}.article-body .footnote{font-size:14px}.backtop{white-space:nowrap}@media(min-width:1500px){.wrap{width:1160px}.hero{padding-top:92px;padding-bottom:86px}}@media(max-width:1000px){.hero{gap:50px;grid-template-columns:1fr 210px}.hero h1{font-size:64px}.article-grid{grid-template-columns:minmax(0,1fr) 200px;gap:40px}.article-heading{max-width:100%}.article-heading h1{font-size:51px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:78px;gap:18px;flex-wrap:wrap;align-content:center}.brand{font-size:18px}.site-nav{gap:17px;font-size:11px}.hero{grid-template-columns:1fr 80px;gap:22px;padding:48px 0}.hero h1{font-size:48px;letter-spacing:-1.9px;margin:14px 0 20px}.hero>.hero-copy{display:contents}.hero .eyebrow{grid-column:1;grid-row:1}.hero h1{grid-column:1/-1;grid-row:2;margin:0}.hero .bio{grid-column:1/-1;font-size:15px}.hero .social-links{grid-column:1/-1;margin-top:0}.hero .portrait-block{grid-column:2;grid-row:1}.portrait{aspect-ratio:1;object-position:center 35%}.portrait-caption{display:none}.section{padding:31px 0 36px}.section-head h2{font-size:27px}.section-head h2 span{display:none}.section-head{gap:16px;margin-bottom:24px}.paper-row{grid-template-columns:40px 1fr;gap:13px;padding:20px 0}.paper-row>.text-link{grid-column:2;justify-self:start;margin:0}.paper-row h3{font-size:16px}.projects{grid-template-columns:1fr;gap:15px}.project{padding:23px}.project h3{font-size:25px;margin-top:19px}.blog-feature{grid-template-columns:1fr;gap:24px}.blog-copy h3{font-size:32px}.series-strip{flex-direction:column;gap:10px}.series-strip a{align-self:start}.site-footer{flex-direction:column;gap:9px}.article-heading{padding:33px 0 28px}.breadcrumbs{margin-bottom:25px}.article-heading h1{font-size:42px;letter-spacing:-1.3px;line-height:1.14}.article-heading:lang(zh) h1{font-size:35px}.article-meta{gap:10px;font-size:11px}.language-switch{margin-left:0}.article-grid{display:block;padding-top:26px}.article-sidebar{display:none}.mobile-toc{display:block;border-top:1px solid var(--line);padding:15px 0;font-size:13px}.mobile-toc summary{cursor:pointer}.mobile-toc .toc{padding-top:18px}.article-body{font-size:18px;line-height:1.8}.article-body>p:first-child{font-size:21px}.article-body h2{font-size:27px}.article-body:lang(zh){font-size:16px}.article-body:lang(zh)>p:first-child{font-size:18px}.article-body:lang(zh) h2{font-size:23px}.article-end{font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.4px}}@media(max-width:380px){.site-nav{gap:12px}.brand{font-size:16px}.hero h1{font-size:41px}.hero{grid-template-columns:1fr 70px}.article-heading h1{font-size:37px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.site-header,.article-sidebar,.mobile-toc,.reading-progress,.site-footer{display:none}.wrap{width:100%}.article-grid{display:block}.article-heading h1{font-size:34px}.article-body{font-size:12pt}.article-body img{max-height:70vh;object-fit:contain}body{background:white}}
/* Series directory and sequential article navigation. */
.essay-list{list-style:none;padding:0;margin:5px 0 65px}.essay-row{display:grid;grid-template-columns:65px 1fr;gap:26px;padding:30px 0;border-top:1px solid var(--line)}.essay-number{font:26px var(--serif);color:var(--accent);padding-top:6px}.essay-row h2{font:500 23px/1.5 var(--sans);margin:0 0 8px}.essay-row p{font:19px/1.5 var(--serif);margin:0 0 12px;color:var(--muted)}.essay-row .essay-question{font:14px/1.7 var(--sans);margin:16px 0}.essay-row .blog-links{font-size:12px}.series-intro{font-size:24px}.series-description{font-size:15px;color:var(--muted)}.article-end{flex-wrap:wrap;line-height:1.6}.article-end>a[rel]{flex:1 1 220px}.article-end strong{display:block;font-weight:500;margin-top:7px}.article-end span{font-size:11px;color:var(--muted)}.article-end .backtop{flex-basis:100%;margin-top:15px}@media(max-width:760px){.essay-row{grid-template-columns:32px 1fr;gap:15px;padding:25px 0}.essay-number{font-size:21px}.essay-row h2{font-size:20px}.essay-row p{font-size:17px}.series-intro{font-size:22px}}
.essay-row .series-stage{font:11px/1.7 var(--sans);letter-spacing:.04em;color:var(--accent);margin:0 0 17px}

.series-card{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:0 0 52px;padding:26px 28px;border:1px solid var(--line);background:var(--white);border-radius:4px}.series-card span{font-size:10px;letter-spacing:1.5px;color:var(--accent)}.series-card h2{font:500 25px/1.35 var(--serif);margin:7px 0}.series-card p{font-size:13px;color:var(--muted);margin:4px 0}.series-card-link{font-size:12px;white-space:nowrap;border-bottom:1px solid var(--line);padding-bottom:3px}.series-title{font:500 31px/1.3 var(--serif);margin:0 0 8px}@media(max-width:760px){.series-card{align-items:flex-start;flex-direction:column;gap:16px;padding:22px}.series-card h2{font-size:22px}.series-title{font-size:27px}}
