@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");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{--green:#183f35;--lime:#cdea7a;--bg:#f6f7f3;--surface:#fff;--surface-2:#ecf0e7;--ink:#14251f;--ink-2:#33453d;--muted:#5d6c64;--line:#dfe5dc;--line-strong:#c6d0c5;--link:#2b6a4b;--primary:#183f35;--primary-hover:#24574a;--on-primary:#f4f7ef;--chip:#e2ebd6;--chip-ink:#2a5a40;--panel:#183f35;--panel-line:transparent;--panel-ink:#f1f5ea;--panel-muted:#b6c8ba;--code-bg:#12241e;--code-bar:#1a3029;--code-ink:#dce7d4;--topo:#2b6a4b;--shadow-sm:0 1px 2px #14251f0d;--shadow-lg:0 24px 60px -24px #14251f47;--serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, SimSun, serif;--sans:"Geist Variable", "Geist", system-ui, -apple-system, "Segoe UI", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", sans-serif;--mono:"Geist Mono Variable", "Geist Mono", ui-monospace, "SF Mono", "Cascadia Code", Consolas, "PingFang SC", "Microsoft YaHei", monospace;--r-sm:10px;--r-md:16px;--r-lg:24px;--header-h:68px;--ease:cubic-bezier(.2, .7, .2, 1)}html[data-theme=dark]{--bg:#0c1411;--surface:#121c18;--surface-2:#18251f;--ink:#e9efe6;--ink-2:#c6d0c6;--muted:#94a49a;--line:#212f29;--line-strong:#33453c;--link:#bfe070;--primary:#cdea7a;--primary-hover:#dcf59a;--on-primary:#10211a;--chip:#1d2f27;--chip-ink:#bfe070;--panel:#13231d;--panel-line:#24362e;--panel-ink:#eef3e8;--panel-muted:#9fb3a6;--code-bg:#090f0d;--code-bar:#101915;--code-ink:#d5e0cd;--topo:#bfe070;--shadow-sm:none;--shadow-lg:0 24px 60px -20px #0009}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-text-size-adjust:100%;color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{background:var(--bg);min-height:100svh;color:var(--ink);font:16px/1.75 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;margin:0;display:flex;overflow-x:clip}h1,h2,h3,p,dl,dd,figure{margin:0}h1,h2,h3{text-wrap:balance;overflow-wrap:anywhere}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}img{object-fit:cover;width:100%;display:block}html[data-theme=dark] img{filter:brightness(.9)}svg.icon{flex:none}::selection{background:var(--lime);color:var(--green)}:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:6px}main:focus,.prose h2:focus{outline:none}time,.num{font-variant-numeric:tabular-nums}.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:40px}main{flex:1;min-width:0;overflow-x:clip}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:50;background:var(--primary);color:var(--on-primary);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 80%, transparent);backdrop-filter:saturate(1.5)blur(16px);border-bottom:1px solid #0000;transition:border-color .25s;position:sticky;top:0}.site-header.scrolled,.site-header.menu-open{border-bottom-color:var(--line)}.header-inner{height:var(--header-h);align-items:center;gap:20px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;min-height:44px;font-size:17px;font-weight:600;display:inline-flex}.brand-mark{background:var(--green);width:34px;height:34px;color:var(--lime);transition:transform .3s var(--ease);border-radius:11px;place-items:center;padding-bottom:3px;font:italic 24px/1 Georgia,Times New Roman,serif;display:grid}.brand:hover .brand-mark{transform:rotate(-8deg)}.brand small{border-left:1px solid var(--line-strong);color:var(--muted);letter-spacing:.08em;margin-left:8px;padding-left:9px;font-size:13px;font-weight:400}.navigation{margin-left:auto}.nav-links{align-items:center;gap:2px;display:flex}.nav-link{min-height:40px;color:var(--muted);border-radius:999px;align-items:center;padding:0 14px;font-size:14px;transition:color .2s,background-color .2s;display:inline-flex}.nav-link:hover{color:var(--ink)}.nav-link[aria-current=page]{color:var(--ink);background:var(--surface-2);font-weight:600}.header-tools{align-items:center;gap:8px;display:flex}.search-trigger{border:1px solid var(--line);background:var(--surface);height:40px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:13px;transition:border-color .2s,color .2s;display:inline-flex}.search-trigger:hover{border-color:var(--line-strong);color:var(--ink)}.search-trigger .search-label{padding-right:18px}kbd{border:1px solid var(--line);background:var(--bg);min-width:22px;height:22px;color:var(--muted);font:500 11px/1 var(--mono);white-space:nowrap;border-radius:6px;place-items:center;padding:0 6px;display:inline-grid}.icon-button{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;transition:border-color .2s,color .2s,transform .2s;display:grid}.icon-button:hover{border-color:var(--line-strong);color:var(--ink)}.icon-button:active{transform:scale(.94)}#theme-toggle .moon,html[data-theme=dark] #theme-toggle .sun{display:none}html[data-theme=dark] #theme-toggle .moon{display:block}.menu-button,.menu-button .close,.menu-open .menu-button .open{display:none}.menu-open .menu-button .close{display:block}.progress{pointer-events:none;opacity:0;height:2px;transition:opacity .2s;position:absolute;inset:auto 0 -1px}.is-article .progress{opacity:1}.progress span{background:var(--link);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.eyebrow{border:1px solid var(--line);background:var(--surface);color:var(--muted);letter-spacing:.12em;border-radius:999px;align-items:center;gap:9px;padding:5px 13px 5px 11px;font-size:12px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--link);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--link) 18%, transparent);border-radius:50%}.button{border:1px solid var(--primary);background:var(--primary);min-height:46px;color:var(--on-primary);white-space:nowrap;transition:background-color .2s, border-color .2s, color .2s, transform .2s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:14px;font-weight:600;display:inline-flex}.button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.button:active{transform:scale(.97)}.button .icon{transition:transform .25s var(--ease)}.button:hover .icon{transform:translate(3px)}.button.secondary{color:var(--ink);border-color:var(--line-strong);background:0 0}.button.secondary:hover{background:var(--surface);border-color:var(--ink-2)}.text-link{min-height:44px;color:var(--ink);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.text-link .icon{transition:transform .25s var(--ease)}.text-link:hover{color:var(--link)}.text-link:hover .icon{transform:translate(2px,-2px)}.actions{flex-wrap:wrap;gap:12px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.meta{color:var(--muted);font:12.5px/1.6 var(--mono);flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.category{background:var(--chip);height:24px;color:var(--chip-ink);font:600 12px/1 var(--sans);letter-spacing:.02em;border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:0 13px;font-size:13px;transition:border-color .2s,color .2s,background-color .2s;display:inline-flex}a.tag:before{content:"#";color:var(--muted);font-family:var(--mono)}a.tag:hover{border-color:var(--link);color:var(--link)}.tag .count{color:var(--muted);font:12px var(--mono)}.input{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;min-height:48px;color:var(--ink);padding:11px 15px;font-size:16px;transition:border-color .2s,box-shadow .2s;display:block}.input:hover{border-color:var(--muted)}.input:focus{border-color:var(--link);box-shadow:0 0 0 4px color-mix(in srgb, var(--link) 16%, transparent);outline:none}textarea.input{resize:vertical;line-height:1.7}::placeholder{color:var(--muted);opacity:.85}.form-note{color:var(--muted);margin-top:10px;font-size:13px}.status{color:var(--link);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px;font-size:14px}.status:empty{margin-top:0}.status label{margin-bottom:8px;display:block}.notice{border:1px dashed var(--line-strong);border-radius:var(--r-sm);color:var(--muted);align-items:center;gap:10px;margin-bottom:28px;padding:10px 14px;font-size:13.5px;line-height:1.6;display:flex}.notice:before{content:"";background:var(--link);border-radius:50%;flex:none;width:6px;height:6px}.topo{width:100%;height:auto;color:var(--topo);display:block}.topo path{fill:none;stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.5}.topo path.index{stroke-width:1.6px;opacity:.85}.hero{padding:84px 0 56px;position:relative}.hero-topo{z-index:-1;opacity:.5;pointer-events:none;width:min(720px,62%);position:absolute;top:-40px;right:-40px;-webkit-mask-image:radial-gradient(closest-side,#000 35%,#0000 100%);mask-image:radial-gradient(closest-side,#000 35%,#0000 100%)}.hero h1{font:600 clamp(38px, 6.3vw, 78px)/1.24 var(--serif);letter-spacing:-.02em;margin:26px 0 0}.hero h1 span{color:var(--link)}.hero-foot{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px 64px;margin-top:34px;display:grid}.hero-intro p{max-width:34em;color:var(--ink-2);font-size:17px;line-height:1.9}.hero-intro .actions{margin-top:28px}.stats{gap:40px;display:flex}.stats div{border-left:1px solid var(--line-strong);flex-direction:column-reverse;gap:2px;padding-left:18px;display:flex}.stats dd{font:500 26px/1.3 var(--mono);letter-spacing:-.03em}.stats dt{color:var(--muted);font-size:12.5px}.feature{border:1px solid var(--panel-line);background:var(--panel);color:var(--panel-ink);border-radius:28px;grid-template-columns:1.2fr 1fr;display:grid;overflow:hidden}.feature-image{min-height:420px;position:relative;overflow:hidden}.feature-image img{height:100%;transition:transform .9s var(--ease);position:absolute;inset:0}.feature:hover .feature-image img{transform:scale(1.035)}.image-caption{backdrop-filter:blur(10px);color:#fff;letter-spacing:.04em;background:#0c1c17a8;border-radius:999px;max-width:calc(100% - 36px);padding:5px 12px;font-size:12px;position:absolute;bottom:18px;left:18px}.feature-copy{flex-direction:column;align-items:flex-start;min-width:0;padding:44px 44px 36px;display:flex}.feature-meta{color:var(--panel-muted);font:12.5px/1.6 var(--mono);flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.pill{background:var(--lime);height:26px;color:var(--green);font:600 12px/1 var(--sans);letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;padding:0 11px;display:inline-flex}.feature h2{font:600 clamp(24px, 2.5vw, 32px)/1.5 var(--serif);letter-spacing:-.01em;margin:22px 0 16px}.feature p{color:var(--panel-muted);font-size:15px;line-height:1.9}.feature-cta{width:100%;color:var(--lime);justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:32px;font-size:14px;font-weight:600;display:flex}.feature-cta .round{background:var(--lime);width:48px;height:48px;color:var(--green);transition:transform .35s var(--ease);border-radius:50%;place-items:center;display:grid}.feature:hover .feature-cta .round{transform:translate(3px,-3px)rotate(8deg)}.content-columns{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:72px;margin:80px 0 88px;display:grid}.section-heading{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;display:flex}.section-heading h2{font:600 24px/1.5 var(--serif)}.section-heading .text-link{color:var(--muted);font-weight:500}.section-heading .text-link:hover{color:var(--link)}.post-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:28px 0;display:grid}.post-row h2{font:600 21px/1.6 var(--serif);margin:12px 0 8px;transition:color .2s}.post-row p{max-width:40em;color:var(--muted);font-size:14.5px;line-height:1.85}.post-row:hover h2{color:var(--link)}.row-arrow{border:1px solid var(--line);width:42px;height:42px;color:var(--muted);transition:background-color .25s, border-color .25s, color .25s, transform .25s var(--ease);border-radius:50%;place-items:center;display:grid}.post-row:hover .row-arrow{background:var(--primary);border-color:var(--primary);color:var(--on-primary);transform:translate(4px)}.sidebar{top:calc(var(--header-h) + 24px);gap:16px;display:grid;position:sticky}.aside-block{padding:24px}.aside-title{color:var(--muted);letter-spacing:.1em;margin-bottom:12px;font-size:12.5px;font-weight:500}.author-mark{background:var(--green);width:52px;height:52px;color:var(--lime);border-radius:16px;place-items:center;margin-bottom:16px;padding-bottom:5px;font:italic 34px/1 Georgia,serif;display:grid}.author-name{font:600 20px/1.5 var(--serif);margin-bottom:8px}.aside-block p{color:var(--muted);font-size:14px;line-height:1.85}.aside-block .text-link{margin-top:8px}.category-link{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:44px;font-size:14.5px;transition:color .2s;display:flex}.category-link:last-child{border-bottom:0;margin-bottom:-8px}.category-link:hover{color:var(--link)}.category-link .count{background:var(--surface-2);min-width:28px;color:var(--muted);font:12px/1.7 var(--mono);text-align:center;border-radius:999px;padding:1px 8px}.subscribe{border:1px solid var(--panel-line);background:var(--panel);color:var(--panel-ink);border-radius:28px;grid-template-columns:1fr 1fr;align-items:center;gap:56px;margin-bottom:88px;padding:52px 56px;display:grid;position:relative;overflow:hidden}.subscribe>*{min-width:0;position:relative}.subscribe-topo{width:560px;color:var(--lime);opacity:.16;pointer-events:none;position:absolute;top:-70%;left:-14%}.subscribe-topo .topo{color:inherit}.subscribe h2{font:600 clamp(24px, 2.6vw, 30px)/1.45 var(--serif);margin-bottom:10px}.subscribe p{color:var(--panel-muted);font-size:15px}.inline-form{background:#ffffff12;border:1px solid #fff3;border-radius:999px;gap:6px;padding:6px;transition:border-color .2s,box-shadow .2s;display:flex}.inline-form:focus-within{border-color:var(--lime);box-shadow:0 0 0 4px #cdea7a29}.inline-form input{color:#fff;background:0 0;border:0;flex:1;min-width:0;min-height:44px;padding:0 16px;font-size:16px}.inline-form input:focus{outline:none}.inline-form input::placeholder{color:var(--panel-muted)}.inline-form .button{background:var(--lime);border-color:var(--lime);min-height:44px;color:var(--green)}.inline-form .button:hover{background:#dcf59a;border-color:#dcf59a}.subscribe .form-note{color:var(--panel-muted);padding-left:22px;font-size:13px}.subscribe .status{color:var(--lime);padding-left:22px}.page-intro{padding:72px 0 44px}.page-intro h1{font:600 clamp(32px, 4.6vw, 54px)/1.35 var(--serif);letter-spacing:-.015em;margin:24px 0 14px}.page-intro p:not(.eyebrow){max-width:36em;color:var(--ink-2);font-size:17px;line-height:1.9}.archive{padding-bottom:88px}.search-box{position:relative}.search-box .icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.search-box .input{border-radius:var(--r-md);min-height:56px;padding-left:50px}.filters{flex-wrap:wrap;gap:8px;margin:18px 0 26px;display:flex}.filter{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink-2);border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:14px;transition:border-color .2s,background-color .2s,color .2s;display:inline-flex}.filter:hover{border-color:var(--line-strong);color:var(--ink)}.filter .count{color:var(--muted);font:12px var(--mono)}.filter.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.filter.active .count{color:inherit;opacity:.7}.archive-summary{border-bottom:1px solid var(--ink);min-height:52px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;padding-bottom:8px;font-size:13.5px;display:flex}#archive-count{font-family:var(--mono)}#archive-tag:not(:empty){background:var(--chip);color:var(--chip-ink);border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:600}.archive-summary button{min-height:44px;color:var(--link);text-underline-offset:4px;background:0 0;border:0;margin-left:auto;padding:0;font-size:13.5px;font-weight:600;text-decoration:underline}.archive-summary button[hidden]{display:none}.archive .post-row{grid-template-columns:124px minmax(0,1fr) auto;align-items:start}.archive-date{color:var(--muted);font:13px/1.6 var(--mono);padding-top:5px}.archive .post-row h2{margin-top:0}.archive .post-row .meta{margin-top:14px}.archive .row-arrow{margin-top:2px}.empty{color:var(--muted);text-align:center;padding:64px 0}.empty p+p{margin-top:6px;font-size:14.5px}.empty .button{margin-top:24px}.topic-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-bottom:72px;display:grid}.topic{min-height:210px;transition:border-color .25s, transform .3s var(--ease), box-shadow .3s;flex-direction:column;grid-column:span 2;padding:26px;display:flex}.topic:nth-child(-n+2){grid-column:span 3}.topic:hover{border-color:var(--link);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.topic-top{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.topic-count{font:500 13px var(--mono)}.topic-top .icon{transition:transform .25s var(--ease), color .25s}.topic:hover .topic-top .icon{color:var(--link);transform:translate(3px,-3px)}.topic h2{font:600 24px/1.4 var(--serif);margin:auto 0 8px;padding-top:36px}.topic p{color:var(--muted);font-size:14.5px}.keyword-section{margin-bottom:88px}.keyword-section .tags{margin-top:24px}.article-shell{max-width:1040px;margin-inline:auto}.article-head{padding:48px 0 0}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:30px;font-size:13.5px;display:flex}.breadcrumb a{align-items:center;min-height:32px;display:inline-flex}.breadcrumb a:hover{color:var(--link)}.breadcrumb .sep{color:var(--line-strong)}.article-head h1{max-width:20em;font:600 clamp(28px, 4.2vw, 46px)/1.42 var(--serif);letter-spacing:-.015em;margin:20px 0 18px}.article-head .lead{max-width:40em;color:var(--ink-2);font-size:18px;line-height:1.9}.article-figure{margin-top:40px}.article-figure img{aspect-ratio:21/9;border-radius:var(--r-lg);height:auto}.article-figure figcaption{color:var(--muted);padding-top:12px;font-size:13px}.reading{grid-template-columns:minmax(0,720px) 216px;justify-content:space-between;align-items:start;gap:64px;margin:52px 0 88px;display:grid}.prose{min-width:0;color:var(--ink-2);font-size:17px;line-height:2}.prose>p{margin:0 0 1.5em}.prose strong{color:var(--ink);font-weight:600}.prose h2{color:var(--ink);font:600 26px/1.5 var(--serif);scroll-margin-top:calc(var(--header-h) + 28px);margin:2.2em 0 .8em}.prose blockquote{border-left:3px solid var(--link);color:var(--ink);font:500 20px/1.85 var(--serif);margin:2em 0;padding:4px 0 4px 24px}.prose ul{margin:0 0 1.5em;padding:0;list-style:none}.prose li{padding-left:26px;position:relative}.prose li+li{margin-top:.35em}.prose li:before{content:"";border:1.5px solid var(--link);border-radius:50%;width:7px;height:7px;position:absolute;top:.9em;left:6px}.prose code{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:.84em var(--mono);border-radius:6px;padding:2px 7px}.code{border:1px solid var(--panel-line);border-radius:var(--r-md);background:var(--code-bg);color:var(--code-ink);margin:1.8em 0;overflow:hidden}.code figcaption{background:var(--code-bar);color:#9fb3a6;min-height:44px;font:12px var(--mono);letter-spacing:.06em;justify-content:space-between;align-items:center;padding:0 8px 0 18px;display:flex}.code button{min-height:32px;color:inherit;font:12px var(--sans);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 10px;transition:background-color .2s,color .2s;display:inline-flex}.code button:hover{color:#fff;background:#ffffff14}.code pre{font:14px/1.85 var(--mono);white-space:pre;margin:0;padding:20px 22px;overflow:auto}.code pre:focus-visible{outline-offset:-3px}.code pre code{color:inherit;font:inherit;background:0 0;border:0;padding:0}.prose>.tags{margin-top:44px}.article-next{grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;display:grid}.article-next a{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0;color:var(--ink);font:600 15.5px/1.7 var(--serif);transition:border-color .2s, transform .3s var(--ease);padding:20px 22px;display:block}.article-next a:hover{border-color:var(--link);transform:translateY(-2px)}.article-next small{color:var(--muted);font:12.5px var(--sans);margin-bottom:6px;display:block}.article-next .older{text-align:right}.comment-box{border-top:1px solid var(--line);margin-top:64px;padding-top:40px}.comment-box h2{margin:0 0 18px}.comment-box .button{margin-top:12px}.comment{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:14px;padding:16px 18px;font-size:15px;line-height:1.8}.comment span{color:var(--muted);margin-bottom:4px;font-size:12.5px;display:block}#comments:not(:empty){margin-top:28px}.toc{top:calc(var(--header-h) + 28px);position:sticky}.toc h2{color:var(--muted);letter-spacing:.1em;margin-bottom:12px;font-size:12.5px;font-weight:500}.toc-links{border-left:1px solid var(--line)}.toc a{min-height:40px;color:var(--muted);border-left:2px solid #0000;align-items:center;margin-left:-1px;padding:4px 0 4px 16px;font-size:14px;line-height:1.5;transition:color .2s,border-color .2s;display:flex}.toc a:hover{color:var(--ink)}.toc a[aria-current=location]{border-left-color:var(--link);color:var(--ink);font-weight:600}.toc button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink-2);border-radius:999px;align-items:center;gap:8px;margin-top:20px;padding:0 14px;font-size:13.5px;transition:border-color .2s,color .2s;display:inline-flex}.toc button:hover{border-color:var(--link);color:var(--link)}.about-hero{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:80px;padding:72px 0 64px;display:grid}.about-hero h1{font:600 clamp(32px, 4.6vw, 54px)/1.35 var(--serif);letter-spacing:-.015em;margin:24px 0 18px}.about-hero p:not(.eyebrow){max-width:36em;color:var(--ink-2);font-size:17px;line-height:1.95}.about-hero .actions{margin-top:30px}.monogram{aspect-ratio:1;border:1px solid var(--panel-line);background:var(--panel);color:var(--lime);border-radius:44px;place-items:center;font:italic 170px/1 Georgia,serif;display:grid;position:relative;overflow:hidden}.monogram span{padding-bottom:28px;position:relative}.monogram .topo{width:160%;max-width:none;color:var(--lime);opacity:.28;position:absolute;inset:-30%}.about-pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.about-pillars>div{padding:28px}.about-pillars h2,.about-bottom h2{font:600 21px/1.5 var(--serif);margin-bottom:12px}.about-pillars p{color:var(--muted);font-size:14.5px;line-height:1.9}.about-bottom{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:88px;display:grid}.about-bottom>div{padding:28px}.timeline-row{border-top:1px solid var(--line);padding:16px 0}.timeline-row:last-child{padding-bottom:0}.timeline-row h3{font-size:15.5px;font-weight:600}.timeline-row p,.about-bottom .hint{color:var(--muted);margin-top:4px;font-size:14.5px}.about-bottom .tags{margin-top:18px}.about-bottom .hint{margin-top:24px}.contact-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:16px;margin-bottom:72px;display:grid}.contact-grid>form{padding:32px}.field{margin-bottom:20px}.field label{margin-bottom:8px;font-size:14px;font-weight:500;display:block}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237c8b82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;padding-right:42px}.contact-aside{border-radius:var(--r-lg);background:var(--surface-2);padding:32px}.contact-aside h2{font:600 21px/1.5 var(--serif);margin-bottom:12px}.contact-aside p{color:var(--muted);font-size:14.5px;line-height:1.9}.contact-aside p+p,.contact-aside .actions{margin-top:12px}.not-found{text-align:center;padding:96px 0 120px;position:relative}.not-found-topo{z-index:-1;opacity:.4;pointer-events:none;width:min(620px,100%);position:absolute;top:0;left:50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(closest-side,#000 30%,#0000 100%);mask-image:radial-gradient(closest-side,#000 30%,#0000 100%)}.not-found strong{color:var(--link);font:500 clamp(96px, 18vw, 180px)/1 var(--mono);letter-spacing:-.06em;display:block}.not-found h1{font:600 clamp(26px, 3.6vw, 36px)/1.4 var(--serif);margin:28px 0 12px}.not-found p{color:var(--muted);margin-bottom:30px}.not-found .actions{justify-content:center}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px}.footer-top{flex-wrap:wrap;justify-content:space-between;gap:28px 64px;padding:44px 0 36px;display:flex}.footer-brand{max-width:380px}.footer-brand .brand{color:var(--ink)}.footer-brand p{margin-top:10px;line-height:1.85}.footer-nav{grid-template-columns:repeat(2,auto);align-content:start;gap:0 56px;display:grid}.footer-nav a{align-items:center;min-height:40px;transition:color .2s;display:flex}.footer-nav a:hover{color:var(--link)}.footer-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0 28px;font-size:13px;display:flex}.footer-bottom button{min-height:44px;color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:13px;transition:color .2s;display:inline-flex}.footer-bottom button:hover{color:var(--link)}.dialog-open{overflow:hidden}dialog{border:1px solid var(--line);background:var(--surface);width:min(640px,100% - 32px);max-height:min(640px,76vh);color:var(--ink);box-shadow:var(--shadow-lg);overscroll-behavior:contain;border-radius:20px;margin:12vh auto auto;padding:0;overflow:hidden}dialog[open]{animation:pop .22s var(--ease);flex-direction:column;display:flex}dialog::backdrop{backdrop-filter:blur(6px);background:#0a161280}.dialog-top{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding:8px 12px 8px 20px;display:flex}.dialog-top input{min-width:0;height:48px;color:var(--ink);background:0 0;border:0;flex:1;font-size:17px}.dialog-top input:focus{outline:none}.dialog-top input::-webkit-search-cancel-button{display:none}.dialog-top button{background:0 0;border:0;border-radius:10px;place-items:center;min-width:44px;height:44px;padding:0;display:grid}.dialog-top button:hover kbd{color:var(--ink);border-color:var(--line-strong)}#search-count{color:var(--muted);letter-spacing:.06em;padding:14px 20px 6px;font-size:12.5px}.search-results{flex:1;min-height:0;padding:0 8px 8px;overflow-y:auto}.search-results .post-row{border:0;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:12px}.search-results .post-row:hover,.search-results .post-row:focus-visible{background:var(--surface-2);outline:none}.search-results .post-row h2{font:600 16px/1.6 var(--sans);margin:6px 0 0}.search-results .post-row p{display:none}.search-results .row-arrow{opacity:0;background:0 0;border:0;width:32px;height:32px}.search-results .post-row:hover .row-arrow,.search-results .post-row:focus-visible .row-arrow{opacity:1;color:var(--link);background:0 0;transform:none}.search-results .empty{padding:40px 12px;font-size:14.5px}.dialog-foot{border-top:1px solid var(--line);background:var(--bg);color:var(--muted);flex-wrap:wrap;gap:6px 18px;padding:10px 20px;font-size:12.5px;display:flex}.dialog-foot span{align-items:center;gap:6px;display:inline-flex}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}main.view-enter>*{animation:rise .55s var(--ease) both}main.view-enter>:nth-child(2){animation-delay:70ms}main.view-enter>:nth-child(3){animation-delay:.14s}main.view-enter>:nth-child(n+4){animation-delay:.2s}@media (width<=1080px){.content-columns{grid-template-columns:minmax(0,1fr) 264px;gap:48px}.feature-copy{padding:36px 32px 30px}.subscribe{gap:40px;padding:44px 40px}.about-hero{grid-template-columns:minmax(0,1fr) 240px;gap:56px}.monogram{border-radius:36px;font-size:136px}}@media (width<=900px){.wrap{padding-inline:28px}.search-trigger{justify-content:center;width:40px;padding:0}.search-trigger .search-label,.search-trigger kbd{display:none}.hero{padding:60px 0 44px}.hero-topo{right:-28px}.hero-foot,.feature{grid-template-columns:1fr}.feature-image{aspect-ratio:16/9;min-height:0}.content-columns{grid-template-columns:1fr;gap:56px;margin:64px 0 72px}.sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.sidebar .aside-block:first-child{grid-column:1/-1}.subscribe{grid-template-columns:1fr;gap:28px;margin-bottom:72px}.topic{grid-column:span 3!important}.reading{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:36px}.toc{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);order:-1;padding:18px 20px;position:static}.toc h2{margin-bottom:4px}.toc-links{border-left:0;flex-wrap:wrap;gap:0 20px;display:flex}.toc a{border-left:0;min-height:44px;margin:0;padding:0}.toc button{margin-top:8px}.about-pillars,.about-bottom,.contact-grid{grid-template-columns:1fr}}@media (width<=760px){.menu-button{display:grid}.navigation{margin-left:0}.header-tools{margin-left:auto}.nav-links{display:none}.menu-open .nav-links{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);animation:pop .2s var(--ease);border-radius:18px;gap:2px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:16px;right:16px}.menu-open .nav-link{min-height:48px;color:var(--ink);border-radius:12px;padding:0 16px;font-size:16px}.about-hero{grid-template-columns:1fr;gap:32px;padding:48px 0}.monogram{border-radius:28px;order:-1;width:112px;font-size:68px}.monogram span{padding-bottom:12px}.archive .post-row{grid-template-columns:minmax(0,1fr) auto}.archive-date{grid-column:1/-1;margin-bottom:-18px;padding:0}}@media (width<=560px){:root{--header-h:60px}body{font-size:15.5px}.wrap{padding-inline:18px}.brand small{display:none}.hero{padding:44px 0 36px}.hero-topo{opacity:.38;width:440px;top:-10px;right:-150px}.hero h1{margin-top:20px;font-size:clamp(32px,10.2vw,42px);line-height:1.32}.hero-intro p,.page-intro p:not(.eyebrow),.about-hero p:not(.eyebrow){font-size:15.5px}.hero-intro .actions .button{flex:auto}.stats{justify-content:space-between;gap:0}.stats div{padding-left:14px}.stats dd{font-size:21px}.feature,.subscribe{border-radius:22px}.feature-copy{padding:26px 22px 22px}.feature h2{margin:16px 0 12px}.feature p{font-size:14.5px}.feature-cta{padding-top:22px}.feature-cta .round{width:44px;height:44px}.content-columns{gap:44px;margin:48px 0 56px}.section-heading h2{font-size:22px}.post-row{gap:14px;padding:22px 0}.post-row h2{font-size:19px}.row-arrow{display:none}.sidebar{grid-template-columns:1fr}.subscribe{margin-bottom:56px;padding:30px 22px}.inline-form .button{padding:0 16px}.subscribe .form-note,.subscribe .status{padding-left:6px}.page-intro{padding:44px 0 30px}.page-intro h1,.about-hero h1{margin:18px 0 12px}.archive,.keyword-section,.about-bottom{margin-bottom:56px;padding-bottom:0}.topic-grid{grid-template-columns:1fr;gap:12px;margin-bottom:48px}.topic{min-height:0;padding:22px;grid-column:auto!important}.topic h2{padding-top:22px;font-size:22px}.article-head{padding-top:28px}.breadcrumb{margin-bottom:20px}.article-head .lead{font-size:16px}.article-figure{margin-top:28px}.article-figure img{aspect-ratio:16/10;border-radius:var(--r-md)}.reading{margin-bottom:56px}.prose{font-size:16px}.prose h2{font-size:22px}.prose blockquote{padding-left:18px;font-size:18px}.code pre{padding:16px 18px;font-size:13px}.article-next{grid-template-columns:1fr}.article-next .older{text-align:left}.comment-box{margin-top:48px;padding-top:32px}.about-pillars>div,.about-bottom>div,.contact-grid>form,.contact-aside{padding:24px 22px}.contact-grid{margin-bottom:56px}.not-found{padding:64px 0 80px}.footer-top{padding:36px 0 28px}.footer-nav{gap:0 40px}dialog{max-height:80vh;margin-top:8vh}.dialog-foot{display:none}}@media (hover:none){.dialog-foot{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}[hidden]{display:none!important}.code figcaption button span{line-height:1}.dialog-empty{color:var(--muted);text-align:center;padding:32px 16px;font-size:14.5px}form[data-endpoint=""] button[type=submit]{cursor:not-allowed;opacity:.55}
