@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-wght-normal.Czsa-EzN.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-wght-normal.C-3rgBeH.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-wght-normal.CCVVNp6i.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--ink: #211f24;--ink-soft: #4d4951;--muted: #6d6870;--paper: #f6f2eb;--surface: #fffdf9;--surface-alt: #ebe6de;--night: #171820;--rule: #dcd5cb;--rule-strong: #bfb6aa;--accent: #653d64;--accent-deep: #472b49;--accent-soft: #eee1ed;--signal: #2e6878;--signal-deep: #214f5c;--signal-soft: #dfeaed;--copper: #975139;--on-accent: #fffaf6;--font-serif: "Newsreader Variable", "Newsreader", Georgia, serif;--font-sans: "Manrope Variable", "Manrope", system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace;--step--1: clamp(.8rem, .78rem + .1vw, .87rem);--step-0: clamp(1rem, .97rem + .14vw, 1.08rem);--step-1: clamp(1.2rem, 1.12rem + .38vw, 1.42rem);--step-2: clamp(1.44rem, 1.3rem + .68vw, 1.86rem);--step-3: clamp(1.75rem, 1.52rem + 1.1vw, 2.42rem);--step-4: clamp(2.15rem, 1.78rem + 1.8vw, 3.25rem);--step-5: clamp(2.7rem, 2.05rem + 3.1vw, 4.65rem);--container: 72rem;--narrow: 51rem;--gutter: clamp(1.1rem, .7rem + 2vw, 2.6rem);--section: clamp(3.5rem, 2.5rem + 4.2vw, 6.5rem);--radius: 4px;--radius-lg: 7px;--header-offset: 6.5rem;--shadow: 0 18px 44px -38px rgba(33, 31, 36, .48)}[data-theme=dark]{color-scheme:dark;--ink: #f2eee8;--ink-soft: #c9c3cb;--muted: #98919d;--paper: #111217;--surface: #181920;--surface-alt: #1e2028;--night: #090a0d;--rule: #30313a;--rule-strong: #4a4b56;--accent: #d7abd3;--accent-deep: #e5c1e1;--accent-soft: #332533;--signal: #88c6d3;--signal-deep: #a3d5de;--signal-soft: #1a3036;--copper: #e49a7e;--on-accent: #1a1019;--shadow: 0 18px 44px -32px rgba(0, 0, 0, .78)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-offset) + 1rem)}body{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--step-0);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main{flex:1 0 auto}img,svg,picture{display:block;max-width:100%;height:auto}a{color:inherit}ul[role=list],ol[role=list]{list-style:none;padding:0}button,input,textarea{font:inherit}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2.5px solid var(--signal);outline-offset:3px;border-radius:2px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}h1,h2,h3,h4{color:var(--ink);font-family:var(--font-serif);font-weight:560;line-height:1.12;letter-spacing:-.015em;text-wrap:balance}h1{font-size:var(--step-5)}h2{font-size:var(--step-3)}h3{font-size:var(--step-1)}h4{font-size:var(--step-0);font-family:var(--font-sans)}p{text-wrap:pretty}.mono{font-family:var(--font-mono)}.muted{color:var(--muted)}.eyebrow{color:var(--accent);font-family:var(--font-mono);font-size:.72rem;font-weight:550;letter-spacing:.12em;text-transform:uppercase}.text-link{color:var(--accent-deep);text-decoration-color:var(--rule-strong);text-decoration-thickness:1px;text-underline-offset:.18em}.text-link:hover{color:var(--accent);text-decoration-color:currentColor}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.container.narrow{max-width:var(--narrow)}.page-shell,.section{padding-block:var(--section)}.section-alt{background:var(--surface-alt);border-block:1px solid var(--rule)}.surface{background:var(--surface)}.prose{max-width:67ch;color:var(--ink-soft)}.prose>*+*{margin-top:1em}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,.65fr);gap:1.5rem;align-items:end;margin-bottom:clamp(1.8rem,4vw,3rem);padding-top:1.1rem;border-top:1px solid var(--ink)}.section-heading>div:first-child{display:grid;gap:.55rem}.section-heading .section-note{color:var(--muted);font-size:.92rem;max-width:44ch;justify-self:end}.content-block+.content-block{margin-top:clamp(3.5rem,7vw,6rem)}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55ch;min-height:2.9rem;padding:.7rem 1.15rem;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font-size:.88rem;font-weight:620;text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .15s ease}.button:hover{background:var(--accent-deep);border-color:var(--accent-deep);transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--rule-strong)}.button.secondary:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tag-list{display:flex;flex-wrap:wrap;gap:.45rem}.tag{display:inline-flex;padding:.28rem .62rem;border:1px solid var(--rule);border-radius:999px;color:var(--muted);background:var(--surface);font-size:.7rem}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:300;top:-4rem;left:1rem;padding:.65rem 1rem;border-radius:var(--radius);background:var(--signal);color:var(--night);font-weight:650;text-decoration:none}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 95%,transparent);backdrop-filter:blur(10px) saturate(140%);border-bottom:1px solid var(--rule)}.signal-bar{background:var(--night);color:#d8d4d8}.signal-inner{min-height:1.85rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--font-mono);font-size:.61rem;letter-spacing:.1em;text-transform:uppercase}.signal-id{color:#a9a1ab}.masthead{min-height:4.6rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.wordmark{display:flex;align-items:baseline;gap:.65rem;text-decoration:none;white-space:nowrap}.wordmark-name{font-family:var(--font-serif);font-size:1.3rem;font-weight:650;letter-spacing:-.015em}.wordmark-zh{color:var(--accent);font-size:.78rem;letter-spacing:.08em}.header-actions{display:flex;align-items:center;gap:.8rem}.primary-nav ul{display:flex;align-items:center;gap:clamp(.45rem,1.4vw,1.25rem)}.primary-nav a{display:block;padding-block:.75rem;border-bottom:2px solid transparent;color:var(--ink-soft);font-size:.8rem;font-weight:610;text-decoration:none}.primary-nav a:hover{color:var(--accent)}.primary-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.theme-toggle,.menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--rule-strong);border-radius:var(--radius);background:transparent;color:var(--ink-soft);cursor:pointer}.theme-toggle:hover,.menu-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .sun,[data-theme=dark] .theme-toggle .moon{display:none}[data-theme=dark] .theme-toggle .sun{display:block}.menu-toggle{display:none;gap:.5rem;width:auto;padding-inline:.65rem;font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em}.menu-mark,.menu-mark:before,.menu-mark:after{content:"";display:block;width:15px;height:1.5px;background:currentColor}.menu-mark{position:relative}.menu-mark:before{position:absolute;top:-5px}.menu-mark:after{position:absolute;top:5px}.menu-toggle[aria-expanded=true] .menu-mark{background:transparent}.menu-toggle[aria-expanded=true] .menu-mark:before{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-mark:after{transform:translateY(-5px) rotate(-45deg)}.site-footer{margin-top:auto;padding-block:clamp(3rem,6vw,5rem) 1.3rem;background:var(--night);color:#d1ccd2;border-top:3px solid #7faeb8}.site-footer :focus-visible{outline-color:#f6f2eb}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1.25fr 1fr;gap:clamp(1.5rem,3vw,3rem);padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.12)}.footer-name{color:#fffaf5;font-family:var(--font-serif);font-size:1.35rem;font-weight:620}.footer-zh{color:#b9a3b7;font-size:.78rem;letter-spacing:.1em;margin-top:.12rem}.footer-identity>p:nth-child(3){margin-top:.8rem}.footer-muted{margin-top:.35rem;color:#928b96;font-size:.86rem;line-height:1.5}.footer-label{margin-bottom:.8rem;color:#8b8390;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase}.site-footer ul{display:grid;gap:.24rem}.site-footer a{display:inline-block;padding-block:.25rem;color:#d9d4da;font-size:.87rem;text-decoration:none;overflow-wrap:anywhere}.site-footer a:hover{color:#fff;text-decoration:underline;text-decoration-color:#7faeb8;text-underline-offset:.2em}.footer-profiles a{display:grid;grid-template-columns:1.8rem minmax(0,1fr) auto;align-items:center;gap:.55rem;width:min(100%,13rem)}.footer-profiles .profile-icon{width:1.7rem;height:1.7rem;flex-basis:1.7rem;color:#d4cbd5;background:#ffffff0f;border-color:#ffffff1f}.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.7rem 1.5rem;padding-top:1.2rem;color:#89828d;font-size:.72rem}.timeline{border-top:1px solid var(--rule)}.timeline-item{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:1.25rem;padding-block:1.25rem;border-bottom:1px solid var(--rule)}.timeline-date{color:var(--signal);font-size:.72rem;letter-spacing:.04em;padding-top:.2rem}.timeline-item h3{font-size:1.1rem}.timeline-item h3+p{margin-top:.25rem;color:var(--ink-soft)}.timeline-item .muted{margin-top:.2rem;font-size:.84rem}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow)}@media(max-width:58rem){.menu-toggle{display:inline-flex}.primary-nav{position:absolute;left:0;right:0;top:100%;max-height:0;overflow:hidden;visibility:hidden;background:var(--surface);border-bottom:1px solid var(--rule);box-shadow:var(--shadow);transition:max-height .22s ease}.primary-nav.is-open{max-height:80vh;visibility:visible}.primary-nav ul{display:grid;gap:0;padding:.5rem var(--gutter) 1rem}.primary-nav li+li{border-top:1px solid var(--rule)}.primary-nav a{padding:.8rem .15rem;border:0;font-size:.95rem}.primary-nav a[aria-current=page]{color:var(--accent)}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-identity{grid-column:1 / -1}}@media(max-width:42rem){.signal-inner{justify-content:center}.signal-inner span:last-child{display:none}.section-heading{grid-template-columns:1fr}.section-heading .section-note{justify-self:start}.card-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:.3rem}}@media(max-width:31rem){.wordmark-zh{display:none}.footer-grid{grid-template-columns:1fr}.footer-identity{grid-column:auto}}.profile-icon[data-astro-cid-yv6f5mma]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex:0 0 2rem;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--rule));border-radius:var(--radius)}.profile-icon[data-astro-cid-yv6f5mma] svg[data-astro-cid-yv6f5mma]{width:1.05rem;height:1.05rem}.profile-icon[data-astro-cid-yv6f5mma] path[data-astro-cid-yv6f5mma],.profile-icon[data-astro-cid-yv6f5mma] circle[data-astro-cid-yv6f5mma]{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.profile-icon--orcid[data-astro-cid-yv6f5mma]{color:#5c7f32;background:#eef2e5;border-color:#cfdbbc;border-radius:999px}[data-theme=dark] .profile-icon--orcid[data-astro-cid-yv6f5mma]{color:#afd276;background:#8eb7551f;border-color:#8eb7554d}
