@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}:root{color-scheme:light;--paper: #f8f6ef;--ink: #252a23;--muted: #535b50;--green: #284b39;--green-dark: #1e3b2d;--sage: #e9ebdf;--line: #d9dbce;--sample-bg: #efead9;--sample-text: #594927;--serif: "Newsreader Variable", Georgia, "Noto Serif CJK SC", "Songti SC", "Noto Serif CJK TC", serif;--sans: system-ui, -apple-system, "Segoe UI", "PingFang SC", "PingFang TC", "Microsoft YaHei", sans-serif;--mono: ui-monospace, "SFMono-Regular", Consolas, monospace;--gutter: clamp(1.125rem, 5.5vw, 5.5rem);--content: 69rem}*,*:before,*:after{box-sizing:border-box}html{background:var(--paper);scroll-padding-top:7.5rem}body{display:flex;flex-direction:column;min-height:100svh;margin:0;color:var(--ink);font:1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}main{flex:1}main:focus{outline:none}::selection{color:var(--green-dark);background:#dce6d6}:focus-visible{outline:2px solid var(--green);outline-offset:4px}a{color:var(--green);text-underline-offset:.2em}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:450;line-height:1.05;letter-spacing:-.033em;overflow-wrap:anywhere}h1{font-size:clamp(3.25rem,7vw,5.6rem)}h2{font-size:clamp(2rem,3.25vw,3rem)}h3{font-size:clamp(1.5rem,2.25vw,2.05rem)}:lang(zh) h1,:lang(zh) h2,:lang(zh) h3,h3:lang(zh){letter-spacing:0;line-height:1.25}.wrap{width:min(100% - var(--gutter) * 2,var(--content));margin-inline:auto}.skip-link{position:fixed;z-index:5;top:.75rem;left:.75rem;transform:translateY(-200%);padding:.55rem .85rem;color:var(--green-dark);background:#fff}.skip-link:focus{transform:none}.site-header{position:sticky;z-index:3;top:0;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:4.15rem;gap:1.5rem}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);white-space:nowrap;text-decoration:none;font-family:var(--serif);font-size:1.45rem;font-weight:550;line-height:1}.brand img{flex:none;border-radius:.4rem}.site-header nav{display:flex;align-items:center;gap:clamp(.8rem,2.3vw,2rem)}.site-header nav a{display:flex;align-items:center;min-height:2.75rem;border-bottom:1px solid transparent;color:var(--muted);text-decoration:none;font-size:.85rem;font-weight:550;transition:color .14s ease,border-color .14s ease}.site-header nav a:is(:hover,.active){border-color:var(--green);color:var(--green)}.site-footer{margin-top:clamp(3.5rem,7vw,6.5rem);border-top:1px solid var(--line)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.footer-inner{min-height:5rem;padding-block:.85rem}.footer-inner p,.footer-inner a{color:var(--muted);font-size:.85rem}.footer-inner a{text-decoration:none}.footer-inner a:hover{text-decoration:underline}.eyebrow{display:flex;align-items:center;gap:.65rem;color:var(--green);font:600 .7rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase}.eyebrow>span{flex:0 0 1.6rem;height:1px;background:currentColor}.button,.text-link{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;color:var(--green);font-size:.875rem;font-weight:630;text-decoration:none}.button svg,.text-link svg{flex:none}.button{min-height:2.9rem;padding:.62rem 1rem;gap:.55rem;background:var(--green);color:var(--paper);border:1px solid transparent;border-radius:.2rem;transition:background-color .14s ease}.button:hover{background:var(--green-dark)}.text-link:hover{text-decoration:underline}.muted{color:var(--muted)}.note{color:var(--muted);font:.72rem/1.6 var(--mono)}.section-top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.35rem 1.2rem}.article-list,.category-list,.timeline,.now-list,.contact-list,.tag-list,.capability-list{margin:0;padding:0;list-style:none}.article-list li{padding-block:1.05rem;border-top:1px solid var(--line)}.article-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .7rem;margin-bottom:.55rem;color:var(--green);font:600 .69rem/1.5 var(--mono);letter-spacing:.045em;text-transform:uppercase}.sample-tag{display:inline-block;padding:.12rem .42rem;background:var(--sample-bg);color:var(--sample-text);border-radius:.18rem;font:600 .66rem/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase}.article-list h3 a{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;color:var(--ink);text-decoration:none}.article-list h3 a:hover{color:var(--green);text-decoration:underline}.article-list h3 svg{flex:none;color:var(--green);align-self:center}.article-list article>p{margin-top:.4rem;color:var(--muted)}.article-list:not(.compact) li{padding-block:1.5rem}.article-kicker time{color:var(--muted)}.article-list .article-meta{font:.74rem/1.6 var(--mono)}.page-intro{padding-block:clamp(2.75rem,5.5vw,4.75rem) clamp(1.75rem,3.5vw,2.75rem);border-bottom:1px solid var(--line)}.page-intro h1{max-width:19ch;margin-block:.9rem .3rem}.page-description{max-width:51ch;margin-top:.8rem;color:var(--muted);font-size:clamp(1rem,1.8vw,1.28rem);line-height:1.55;overflow-wrap:anywhere}.content-grid{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(0,3fr);align-items:start;gap:clamp(2rem,6vw,5.5rem);padding-block:clamp(1.75rem,4.2vw,3.5rem) 0}.section-side>.eyebrow{margin-bottom:.55rem}.section-main{min-width:0}.stack>*+*{margin-top:2.4rem;padding-top:2.25rem;border-top:1px solid var(--line)}.copy-block{max-width:45rem}.copy-block h2{margin-bottom:.7rem}.copy-block p+p{margin-top:.75rem}.copy-block>p{color:var(--muted);max-width:63ch}.copy-block>a{margin-top:.95rem}.category-list{display:grid}.category-list a{display:flex;align-items:center;justify-content:space-between;gap:.55rem;min-height:2.55rem;padding:.45rem .5rem;border-left:2px solid transparent;color:var(--muted);font-size:.875rem;text-decoration:none}.category-list a:is(:hover,[aria-current]){border-color:var(--green);background:var(--sage);color:var(--green-dark)}.category-list a[aria-current]{font-weight:650}.category-list a span{font:.72rem/1.5 var(--mono)}.sample-explainer{margin-block:.55rem .95rem;font-size:.86rem}.tag-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-block:.7rem 1rem}.tag-list li{padding:.28rem .65rem;border:1px solid var(--line);background:var(--sage);color:var(--green-dark);font-size:.86rem}.experience-note{margin-bottom:1.4rem;padding:1.15rem 1rem;background:var(--sage);color:var(--green)}.experience-note strong{display:block;margin-top:.65rem;font:450 3.5rem/1 var(--serif)}.experience-note p{font-size:.88rem}.certification{color:var(--green);font-weight:650}.capability-list{display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1.75rem;margin-block:.7rem 1.2rem}.capability-list li{padding-block:.35rem;border-bottom:1px solid var(--line)}.focus-note{display:grid;gap:.15rem;padding:.65rem .85rem;background:var(--sage)}.focus-note strong{color:var(--green);font-size:.76rem}.placeholder{margin-top:.75rem;padding:1.05rem 1.15rem;border:1px dashed #aeb9a8}.placeholder p:not(.eyebrow){margin-top:.35rem;color:var(--muted)}.placeholder a{margin-top:.6rem}.timeline li{margin-top:.8rem;padding-left:1rem;border-left:1px solid var(--line)}.timeline h3{margin-block:.35rem}.timeline h3 span{color:var(--muted)}.now-list>li{display:grid;grid-template-columns:auto 1fr;gap:clamp(.8rem,2.8vw,2.1rem);padding-block:1.4rem;border-bottom:1px solid var(--line)}.now-list>li:first-child,.contact-list>li:first-child{padding-top:0}.now-list>li>.eyebrow{align-self:start;margin-top:.55rem}.now-list h2{font-size:clamp(1.75rem,3vw,2.6rem)}.now-list h2+p{margin-top:.45rem;color:var(--muted)}.now-list .note{margin-top:.65rem}.contact-list>li{padding-block:1.25rem;border-bottom:1px solid var(--line)}.contact-list h2{font-size:clamp(1.75rem,2.7vw,2.35rem)}.contact-list li>:nth-child(2){margin-top:.4rem}.contact-list li p{color:var(--muted)}.contact-list .sample-tag{margin-left:.3rem}.article-page{width:min(100%,45rem);margin-inline:auto}.article-page>header{padding-block:clamp(2rem,5vw,4.35rem) 1.45rem}.back-link{margin-bottom:clamp(1.35rem,3vw,2.25rem)}.article-page h1{font-size:clamp(3rem,7vw,5.35rem)}.article-page h1+p{margin-top:.7rem}.article-dates{display:flex;flex-wrap:wrap;gap:.65rem 1.65rem;margin-top:1.45rem;padding-top:1.1rem;border-top:1px solid var(--line)}.article-dates dt{color:var(--green);font:600 .68rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.07em}.article-dates dd{color:var(--muted);font-size:.87rem}.sample-notice{padding:.75rem 1rem;margin-bottom:1.65rem;border-left:2px solid #8a7644;background:var(--sample-bg);color:var(--sample-text);font-size:.875rem}.prose{font-size:clamp(1.02rem,1.6vw,1.14rem);line-height:1.8;overflow-wrap:anywhere}.prose>*+*{margin-top:1.05em}.prose h2,.prose h3{margin-top:1.35em}.prose h2{font-size:clamp(1.9rem,3.25vw,2.6rem)}.prose :is(blockquote,aside,pre){margin-inline:0;padding:.65rem 1rem;background:var(--sage);border-left:2px solid var(--green)}.prose pre{overflow:auto}.prose :not(pre)>code{padding:.1rem .24rem;background:var(--sage)}.prose img{margin-inline:auto}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.prose :is(th,td){padding:.35rem .65rem;border:1px solid var(--line);text-align:start}.prose :is(ul,ol){padding-inline-start:1.4em}.related{margin-top:3rem}.related .section-top{margin-bottom:.65rem}.not-found>a{margin-top:1.3rem}@media(max-width:54rem){.content-grid{gap:1.75rem}}@media(max-width:43rem){.header-inner{flex-direction:column;align-items:start;gap:.15rem;padding-top:.6rem}.site-header nav{width:100%;justify-content:space-between;gap:.3rem}.site-header nav a{font-size:clamp(.72rem,2.2vw,.85rem)}.content-grid{grid-template-columns:1fr}.category-list{grid-template-columns:1fr 1fr;gap:.2rem .4rem}.experience-note{margin-bottom:.8rem}}@media(max-width:24rem){.site-header nav{flex-wrap:wrap}.category-list,.capability-list{grid-template-columns:1fr}.footer-inner{flex-wrap:wrap;gap:.45rem 1.25rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
