@font-face{font-family:Newsreader;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/newsreader-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/newsreader-latin-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f0eee6;--ink:#1f1e1d;--muted:#77736b;--faint:#d8d4ca;--attention:#e2b93b;--ai:#cbdde3;--page-width:36.25rem;--header-height:5.875rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#1f1e1d;--ink:#f0eee6;--muted:#aaa69d;--faint:#45423e;--attention:#efc94c;--ai:#435861;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--paper:#1f1e1d;--ink:#f0eee6;--muted:#aaa69d;--faint:#45423e;--attention:#efc94c;--ai:#435861;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth;scroll-padding-top:2rem}body{background:var(--paper);min-width:20rem;color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Newsreader,Iowan Old Style,Palatino Linotype,Yu Mincho,Hiragino Mincho ProN,Noto Serif CJK JP,Songti SC,STSong,Noto Serif CJK SC,Noto Naskh Arabic,Noto Serif,serif;font-size:1.25rem;line-height:1.6;transition:background-color .16s,color .16s}.locale-root:lang(zh){letter-spacing:.008em;font-family:Songti SC,Source Han Serif SC,Noto Serif CJK SC,STSong,STSongti-SC-Regular,SimSun,serif;line-height:1.72}.locale-root:lang(ja){letter-spacing:.015em;font-family:Yu Mincho,Hiragino Mincho ProN,Noto Serif CJK JP,Noto Serif,serif;line-height:1.85}.locale-root:lang(zh) .site-name,.locale-root:lang(zh) h1,.locale-root:lang(zh) h2,.locale-root:lang(zh) h3{letter-spacing:-.015em}.locale-root:lang(zh) .essay-heading h1{line-break:strict;text-wrap:balance;max-width:7em}.locale-root:lang(ja) .site-name,.locale-root:lang(ja) h1,.locale-root:lang(ja) h2,.locale-root:lang(ja) h3{letter-spacing:-.025em}.locale-root:lang(ja) .essay-heading h1{line-break:strict;max-width:8.5em;font-size:clamp(2.2rem,9.7vw,3.5rem);line-height:1.14}button,select{font:inherit}a{color:inherit;text-underline-offset:.13em;text-decoration-skip-ink:auto;text-decoration-thickness:.055em}a:hover{-webkit-text-decoration-color:var(--attention);text-decoration-color:var(--attention)}::selection{background:var(--attention);color:#1f1e1d}:focus-visible{outline:.15rem solid var(--attention);outline-offset:.2rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.locale-root,.site-shell{min-height:100vh}.site-header{z-index:50;width:min(calc(100% - 2.5rem), var(--page-width));height:var(--header-height);grid-template-columns:1fr auto;align-items:center;margin:0 auto;display:grid;position:relative}.site-name{letter-spacing:-.025em;grid-column:1;justify-self:start;font-size:1.8rem;font-weight:650;line-height:1;text-decoration:none}.header-side{align-items:center;display:flex}.header-side-start{z-index:50;position:fixed;top:1.55rem;left:1.5rem}.header-side-end{grid-column:2;justify-self:end;gap:.2rem}.menu-toggle{z-index:60;cursor:pointer;background:0 0;border:0;place-content:center;width:1.35rem;height:1.35rem;padding:0;display:grid;position:relative}.menu-toggle span{background:var(--ink);width:1.2rem;height:1px;margin:.13rem 0;transition:transform .16s,opacity .16s;display:block}.menu-is-open .menu-toggle span:first-child{transform:translateY(.27rem)rotate(45deg)}.menu-is-open .menu-toggle span:nth-child(2){opacity:0}.menu-is-open .menu-toggle span:nth-child(3){transform:translateY(-.27rem)rotate(-45deg)}.contents-panel{z-index:40;background:var(--paper);visibility:hidden;width:min(23rem,100vw);padding:8.125rem 1.5625rem 2rem;transition:transform .18s,visibility .18s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-102%)}.menu-is-open .contents-panel{visibility:visible;transform:translate(0)}.contents-panel h2{margin:0 0 1.05rem;font-size:1.5rem;line-height:1.2}.contents-panel ol{margin:0;padding:0;list-style:none}.contents-panel li{margin:0 0 .25rem;line-height:1.6}.contents-panel .toc-level-3{padding-inline-start:.9rem;font-size:.94em}.contents-panel a{color:var(--muted);text-decoration:none}.contents-panel a[aria-current=location],.contents-panel a:hover{color:var(--ink)}
.language-trigger{width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:opacity .14s;display:grid;position:relative}.language-trigger:before{content:"";pointer-events:none;background:0 0;border-radius:50%;transition:background-color .14s;position:absolute;inset:.25rem}.language-trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55px;width:1.08rem;height:1.08rem;position:relative}.language-trigger:hover:before{background:color-mix(in srgb, var(--ink) 4%, transparent)}.language-trigger[aria-expanded=true]:before{background:color-mix(in srgb, var(--ink) 6%, transparent)}.language-trigger:active{opacity:.62}.language-dialog{border:1px solid var(--faint);background:var(--paper);width:min(100% - 2rem,31rem);max-width:none;max-height:min(42rem,100dvh - 3rem);color:var(--ink);border-radius:.8rem;margin:auto;padding:0;overflow:hidden;box-shadow:0 1.25rem 4rem #00000038}.language-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000005c}.language-dialog-panel{flex-direction:column;max-height:min(42rem,100dvh - 3rem);display:flex}.language-dialog-header{justify-content:space-between;align-items:center;padding:1.2rem 1.25rem .9rem;display:flex}.language-dialog-header h2{margin:0;font-size:1.35rem;line-height:1.2}.language-dialog-close{width:2.75rem;height:2.75rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin:-.7rem -.75rem -.6rem 0;padding:0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:1.5rem;font-weight:300;line-height:1;display:grid}.language-dialog-close:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.language-search{margin:0 1.25rem .85rem;display:block;position:relative}.language-search svg{fill:none;width:1rem;height:1rem;stroke:var(--muted);stroke-linecap:round;stroke-width:1.6px;pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.language-search input{border:1px solid var(--faint);background:color-mix(in srgb, var(--ink) 2.5%, var(--paper));width:100%;height:2.75rem;color:var(--ink);border-radius:.4rem;padding:0 .85rem 0 2.45rem;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.92rem}.language-search input::placeholder{color:var(--muted);opacity:1}.language-dialog-scroll{overscroll-behavior:contain;min-height:0;padding:0 .55rem;overflow-y:auto}.language-options{margin:0;padding:0;list-style:none}.language-option{min-height:3rem;color:inherit;border-radius:.35rem;grid-template-columns:1.2rem minmax(0,1fr) auto;align-items:center;padding:.35rem .7rem;font-family:ui-sans-serif,system-ui,sans-serif;line-height:1.2;text-decoration:none;display:grid}.language-option:hover,.language-option[aria-current=page]{background:color-mix(in srgb, var(--ink) 5%, transparent)}.language-option.is-unavailable{color:var(--muted);cursor:not-allowed;opacity:.55}.language-option-check{font-size:.8rem}.language-option-names{align-items:baseline;gap:.55rem;min-width:0;display:flex}.language-option-native{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.language-option-secondary,.language-option-code{color:var(--muted);font-size:.72rem}.language-option-secondary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.language-option-code{margin-inline-start:.5rem}.language-empty{color:var(--muted);margin:1.5rem .7rem;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.9rem}.theme-toggle{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;width:3rem;height:2.75rem;padding:0;display:grid;position:relative}.theme-toggle-track{border:1px solid var(--faint);background:color-mix(in srgb, var(--ink) 3%, var(--paper));border-radius:999px;width:2.75rem;height:1.5rem;transition:background-color .14s,border-color .14s,transform .14s;display:block;position:relative;overflow:hidden}.theme-toggle-track:after{content:"";background:var(--faint);width:1px;height:calc(100% - .5rem);position:absolute;top:.25rem;left:50%}.theme-toggle-choice{z-index:1;place-items:center;width:1rem;height:1rem;transition:color .18s,opacity .18s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.theme-toggle-choice svg{width:.72rem;height:.72rem;overflow:visible}.theme-toggle-light{color:var(--ink);left:.22rem}.theme-toggle-light svg circle{fill:none;stroke:currentColor;stroke-width:1.6px}.theme-toggle-light svg path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.65px}.theme-toggle-dark{color:var(--ink);right:.22rem}.theme-toggle-dark svg path{fill:none;stroke:currentColor;stroke-linejoin:round;stroke-width:1.6px}:root[data-theme=light] .theme-toggle-light{opacity:1}:root[data-theme=light] .theme-toggle-light svg circle{fill:currentColor}:root[data-theme=light] .theme-toggle-dark,:root[data-theme=dark] .theme-toggle-light{opacity:.32}:root[data-theme=dark] .theme-toggle-dark{opacity:1}:root[data-theme=dark] .theme-toggle-dark svg path{fill:currentColor}.theme-toggle:hover .theme-toggle-track{border-color:color-mix(in srgb, var(--ink) 45%, var(--faint));background:color-mix(in srgb, var(--ink) 6%, var(--paper))}.theme-toggle:active .theme-toggle-track{transform:scale(.96)}.theme-toggle:focus-visible{outline:none}.theme-toggle:focus-visible .theme-toggle-track{outline:1px solid var(--attention);outline-offset:.14rem}
.home-main,.essay-main{width:100%}.home-content,.essay{width:min(calc(100% - 2.5rem), var(--page-width));margin:0 auto}.home-content p{margin:0 0 1.25rem}.home-section{margin-top:1.55rem}.home-section h2{margin:0 0 .65rem;font-size:1.5rem;font-weight:650;line-height:1.2}.publication-list{margin:0;padding:0;list-style:none}.publication-list li{margin:.55rem 0;padding-inline-start:1rem;position:relative}.publication-list li:before{content:"•";position:absolute;inset-inline-start:.1rem}.publication-meta{color:var(--muted);font-size:.82rem;line-height:1.4;display:block}.publication-date-inline{white-space:nowrap}.home-footer{border-top:1px solid var(--faint);color:var(--muted);margin:3.5rem 0 4rem;padding-top:1rem;font-size:.82rem;line-height:1.5}.essay-heading{margin:2rem 0 1.25rem}.essay-heading h1{letter-spacing:-.035em;max-width:12ch;margin:0;font-size:clamp(3.3rem,4.1vw,3.875rem);font-weight:700;line-height:1.1}.essay-subtitle{margin:.7rem 0 0;font-size:1.38rem;font-style:italic;line-height:1.45}.essay-meta{color:var(--muted);margin:2.25rem 0 0;font-size:1rem}.essay-body{overflow-wrap:break-word}.essay-body p,.essay-body ul,.essay-body ol,.essay-body blockquote{margin:0 0 1.25rem}.essay-body h2{letter-spacing:-.02em;margin:3.3rem 0 1.2rem;font-size:2rem;font-weight:650;line-height:1.25}.essay-body h3{margin:2.25rem 0 .85rem;font-size:1.45rem;line-height:1.3}.essay-body ul,.essay-body ol{padding-inline-start:1.35rem}.essay-body li{margin:.35rem 0;padding-inline-start:.15rem}.essay-body blockquote{border-inline-start:.16rem solid var(--attention);color:var(--muted);margin-inline:0;padding-inline-start:1rem;font-style:italic}.essay-body hr{background:var(--faint);border:0;width:4rem;height:1px;margin:3.5rem auto}.essay-body code{background:color-mix(in srgb, var(--ink) 7%, transparent);border-radius:.15rem;padding:.08em .25em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em}.essay-body pre{border:1px solid var(--faint);margin:1.6rem 0;padding:1rem;font-size:.85rem;line-height:1.55;overflow-x:auto}.essay-body pre code{background:0 0;padding:0}.essay-body img{width:auto;max-width:100%;height:auto;margin:2rem auto;display:block}.essay-footer{border-top:1px solid var(--faint);color:var(--muted);margin:4rem 0 5rem;padding-top:1rem;font-size:.82rem}.essay-footer p{margin:0}.essay-footer p+p{margin-top:.65rem}.translation-notice{line-height:1.6}.translation-notice a{font-weight:600}[dir=rtl] .essay-heading h1{letter-spacing:0}
.redirect-page{text-align:center;place-items:center;min-height:100vh;padding:2rem;display:grid}.redirect-page p{margin:0}.redirect-title{font-size:1.35rem;font-weight:650}.redirect-status{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.8rem;margin-top:.4rem!important}.redirect-page nav{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:1.25rem;font-size:.86rem;display:flex}
@media (max-width:47.99rem){:root{--header-height:5.5rem}.site-header,.home-content,.essay{width:min(calc(100% - 2.5rem), var(--page-width))}.site-header{grid-template-columns:1fr auto auto}.site-name{font-size:1.72rem}.header-side-start{z-index:50;grid-area:1/2;margin-inline-end:1rem;position:static}.header-side-end{grid-column:3;gap:0}.language-dialog{border-width:1px 0 0;border-radius:.85rem .85rem 0 0;width:100%;max-height:min(88dvh,46rem);margin:auto 0 0}.language-dialog-panel{max-height:min(88dvh,46rem)}.has-toc .site-header{grid-template-columns:auto 1fr auto}.has-toc .site-name{display:none}.has-toc .header-side-start{grid-column:1;margin-inline-end:0}.has-toc .header-side-end{grid-column:3}.essay-heading{margin-top:1.75rem}.essay-heading h1{font-size:clamp(2.55rem,12.5vw,3.3rem);line-height:1.04}.essay-subtitle{margin-top:.85rem;font-size:1.28rem}.essay-meta{margin-top:2.2rem}.essay-body h2{font-size:1.75rem}}@media (max-width:25rem){.header-side-start{margin-inline-end:.55rem}.header-side-end{gap:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

