@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing)*1)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:light dark;--bg:light-dark(#f7f7f0,#20241f);--fg:light-dark(#292d29,#d3d9ce);--muted:light-dark(#787e74,#a1aa9b);--green:light-dark(#226947,#97bc9c);--border:light-dark(#dedfd5,#3a4236);--serif:"Iowan Old Style","Palatino Linotype","Songti SC","Noto Serif CJK SC",serif}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{scroll-padding-top:110px}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.8 -apple-system,BlinkMacSystemFont,PingFang SC,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:6px;border-radius:4px}::selection{color:light-dark(#194b34,#e0e8da);background:light-dark(#dce8d7,#3e5640)}.skip-link{z-index:20;color:#edf2e8;background:light-dark(#226947,#355f44);padding:10px 20px;position:fixed;top:-100px;left:24px}.skip-link:focus{top:12px}.site{z-index:10;border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:light-dark(#fafaf5eb,#252b23eb);border-radius:40px;justify-content:space-between;align-items:center;gap:24px;width:min(1040px,100% - 48px);min-height:64px;margin:20px auto 0;padding:10px 24px;display:flex;position:sticky;top:20px}.wordmark{font:600 21px/1.2 var(--serif);letter-spacing:-.6px;align-items:center;gap:10px;display:inline-flex}.brand-mark{color:var(--green);font:italic 29px/1 var(--serif)}.site nav{align-items:center;gap:34px;font-size:14px;display:flex}.site nav a{white-space:nowrap;color:light-dark(#565d52,#b4bead);transition:color .18s}.theme-toggle{width:40px;height:40px;color:var(--fg);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;place-items:center;padding:9px;display:grid;position:relative}.theme-toggle:hover{background:light-dark(#eff1e7,#30392b)}.theme-toggle svg{grid-area:1/1;width:20px;height:20px}.theme-moon{color:light-dark(var(--fg),transparent)}.theme-sun{color:light-dark(transparent,var(--fg))}.site nav a:hover{color:var(--green)}.site nav a span{color:var(--muted);margin-left:3px;font-size:12px}main{width:min(960px,100% - 64px);margin:0 auto}.intro{padding:100px 0 92px}.eyebrow{color:var(--muted);letter-spacing:.12em;align-items:center;gap:9px;margin:0 0 22px;font-size:12px;display:flex}.intro-dot{background:var(--green);border-radius:50%;width:6px;height:6px}.intro h1{font:400 clamp(42px,5.5vw,72px)/1.2 var(--serif);letter-spacing:-2px;margin:0 0 28px}.intro-name{white-space:nowrap}.accent{color:var(--green)}.intro-subtitle{font:400 27px/1.5 var(--serif);margin:0 0 14px}.intro-description{color:var(--muted);max-width:570px;margin:0;font-size:16px;line-height:1.95}.intro-actions{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.button{border:1px solid #0000;border-radius:30px;justify-content:center;align-items:center;gap:24px;min-height:48px;padding:10px 24px;font-size:14px;transition:background .18s,border-color .18s;display:inline-flex}.button-primary{color:#edf2e8;background:light-dark(#226947,#355f44)}.button-primary:hover{background:light-dark(#185737,#406e4e)}.button-secondary{border-color:var(--border);background:light-dark(#ffffff45,#292f26)}.button-secondary:hover{background:light-dark(#eff1e7,#30392b);border-color:light-dark(#a7b5a1,#65745b)}.writing{padding:0 0 64px}.section-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:28px;display:flex}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{font:400 34px/1.3 var(--serif);letter-spacing:-.6px;margin:0}.article-count{color:var(--muted);white-space:nowrap;padding-bottom:4px;font-size:12px}.post-list{margin:0;padding:0;list-style:none}.post-list li{border-bottom:1px solid var(--border);grid-template-columns:128px minmax(0,1fr);gap:20px;padding:34px 0;display:grid}.post-date{font-variant-numeric:tabular-nums;color:var(--muted);padding-top:6px;font-size:12px}.post-title{font:500 24px/1.55 var(--serif);justify-content:space-between;align-items:baseline;gap:18px;transition:color .18s;display:flex}.post-title:hover{color:var(--green)}.post-arrow{color:light-dark(#98a18f,#929f89);flex-shrink:0;font:20px/1 sans-serif;transition:color .18s,transform .18s}.post-title:hover .post-arrow{color:var(--green);transform:translate(2px,-2px)}.post-description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:12px 40px 0 0;font-size:14px;line-height:1.9;display:-webkit-box;overflow:hidden}.post-tags{color:light-dark(#92978d,#929f89);letter-spacing:.03em;margin:16px 0 0;font-size:11px}.site-footer{border-top:1px solid var(--border);align-items:baseline;gap:20px;width:min(960px,100% - 64px);margin:0 auto;padding:28px 0 38px;display:flex}.footer-name{font:500 23px/1.3 var(--serif);letter-spacing:-.7px}.footer-name span{color:var(--green)}.site-footer p,.copyright{color:var(--muted);margin:0;font-size:11px}.copyright{margin-left:auto}.article-page{max-width:760px;margin:0 auto;padding:64px 0 48px}.article-back{color:var(--muted);font-size:13px}.article-back:hover,.back-link a:hover{color:var(--green)}.article-heading{border-bottom:1px solid var(--border);margin-bottom:36px;padding:30px 0}.article-heading h1{font:500 clamp(30px,4vw,44px)/1.45 var(--serif);letter-spacing:-.7px;overflow-wrap:anywhere;margin:0 0 22px}.article-meta{color:var(--muted);font-size:12px;line-height:1.9}.article-content{overflow-wrap:break-word;line-height:1.95}.article-content h2,.article-content h3,.article-content h4{font-family:var(--serif);color:var(--fg);margin:2em 0 .8em;line-height:1.5}.article-content h2{font-size:28px}.article-content h3{font-size:23px}.article-content a{color:var(--green);text-underline-offset:4px;text-decoration:underline}.article-content p,.article-content ul,.article-content ol{margin:1.2em 0}.article-content img{border-radius:10px;max-width:100%;height:auto}.article-content blockquote{color:light-dark(#65725f,#b0bfa6);border-left:3px solid #7c9f80;margin:1.5em 0;padding:2px 22px}.article-content pre{border-radius:12px;padding:22px;font-size:13px;line-height:1.7;overflow-x:auto}.article-content code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.87em}.article-content :not(pre)>code{background:light-dark(#eaece1,#30392b);border-radius:4px;padding:.18em .35em}.article-content pre code{font-size:inherit}.article-content table{border-collapse:collapse;max-width:100%;font-size:14px;display:block;overflow-x:auto}.article-content th,.article-content td{border:1px solid var(--border);text-align:left;padding:10px 14px}.article-content th{background:light-dark(#eff0e7,#293125)}.article-content hr{border:0;border-top:1px solid var(--border);margin:2em 0}.back-link{border-top:1px solid var(--border);color:var(--muted);margin-top:48px;padding-top:26px;font-size:13px}.error-page{padding:100px 0 130px}.error-page h1{font:400 40px/1.4 var(--serif)}.error-page>p:not(.eyebrow),.empty-state{color:var(--muted)}.error-page .button{margin-top:20px}.empty-state{padding:40px 0}@media(max-width:640px){html{scroll-padding-top:100px}.site{gap:10px;width:calc(100% - 28px);min-height:58px;margin-top:12px;padding:10px 12px;top:12px}.wordmark{gap:7px;font-size:19px}.brand-mark{font-size:24px}.site nav{gap:10px;font-size:12px}.theme-toggle{width:36px;height:36px;padding:7px}main,.site-footer{width:calc(100% - 40px)}.intro{padding:72px 0 66px}.intro h1{letter-spacing:-1.7px;margin-bottom:22px;font-size:43px}.intro-subtitle{font-size:23px}.intro-description{font-size:14px}.eyebrow{margin-bottom:20px;font-size:11px}.button{gap:18px;padding:10px 20px;font-size:13px}.intro-actions{gap:10px;margin-top:26px}.section-heading{padding-bottom:22px}.section-heading h2{font-size:29px}.post-list li{grid-template-columns:minmax(0,1fr);gap:8px;padding:26px 0}.post-date{padding:0;font-size:11px}.post-title{gap:12px;font-size:22px;line-height:1.6}.post-description{margin-right:0;font-size:13px}.post-tags{margin-top:12px;font-size:10px}.writing{padding-bottom:44px}.site-footer{flex-wrap:wrap;gap:10px 16px;padding:24px 0 30px}.site-footer p{order:3;width:100%}.article-page{padding-top:42px}.article-heading{padding-top:24px}.article-content{font-size:15px}.article-content h2{font-size:25px}.article-content pre{padding:16px}.error-page{padding:70px 0 100px}}@media(max-width:380px){.site{gap:8px;padding:8px 10px}.wordmark{font-size:18px}.brand-mark{display:none}.site nav{gap:10px;font-size:11px}.site nav a span{display:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
