@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(../media/cascadia-code-arabic-wght-normal.2s4hbtslpta7i.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(../media/cascadia-code-braille-wght-normal.1zanznahiffvm.woff2)format("woff2-variations");unicode-range:U+28??}@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(../media/cascadia-code-cyrillic-ext-wght-normal.1vbvaxq4bpnms.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:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(../media/cascadia-code-cyrillic-wght-normal.3qc5ozb44g6ws.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(../media/cascadia-code-greek-wght-normal.04ainjplt3h32.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(../media/cascadia-code-hebrew-wght-normal.1n7sv2-wuij9_.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(../media/cascadia-code-symbols2-wght-normal.04y1megud1sa4.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(../media/cascadia-code-vietnamese-wght-normal.11_ev1v36_bwp.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:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(../media/cascadia-code-latin-ext-wght-normal.0kgsqv8g568kn.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:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(../media/cascadia-code-latin-wght-normal.20r26_6z7nf_h.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{--ink:#f1f1ef;--muted:#9a9a96;--quiet:#6f6f6b;--paper:#111110;--paper-deep:#090909;--surface:#171716;--line:#30302e;--line-soft:#232322;--measure:48rem}*{box-sizing:border-box}.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}html{background:var(--paper-deep);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}body{background:var(--paper-deep);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Cascadia Code Variable,Cascadia Code,ui-monospace,monospace;font-size:1rem;font-weight:390;line-height:1.65}a{color:inherit}::selection{color:#111110;background:#deded8}.shell{width:min(100% - 2rem,82rem);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:5rem;display:flex}.wordmark{align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.wordmark-mark{letter-spacing:-.12em;border:1px solid #d6d6d1;place-items:center;width:2.65rem;height:2.65rem;font-size:1.05rem;font-weight:720;line-height:1;display:grid}.site-nav,.locale-nav{align-items:center;gap:clamp(1rem,3vw,2rem);display:flex}.site-nav a,.locale-nav a{color:var(--muted);font-size:.78rem;text-decoration:none;transition:color .16s}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current=page],.locale-nav a:hover,.locale-nav a:focus-visible,.locale-nav a[aria-current=page]{color:var(--ink)}.header-right{align-items:center;gap:clamp(1rem,3vw,2.25rem);display:flex}.section-kicker,.article-meta,.eyebrow{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:520}.articles-section{border-bottom:1px solid var(--line);padding-block:clamp(3rem,7vw,6rem)}.tag-filter{background:var(--surface);grid-template-columns:9rem minmax(0,1fr);align-items:start;gap:2rem;margin-bottom:2rem;padding:.9rem 1rem;display:grid}.tag-filter-label{color:var(--quiet);letter-spacing:.04em;text-transform:uppercase;padding-top:.58rem;font-size:.68rem}.tag-filter-options{flex-wrap:wrap;gap:.5rem;display:flex}.tag-filter-option,.tag{border:1px solid var(--line);color:var(--muted);align-items:center;font-size:.68rem;line-height:1;text-decoration:none;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.tag-filter-option{background:var(--line-soft);gap:.65rem;padding:.58rem .7rem}.tag-filter-option span{color:var(--quiet);font-size:.6rem}.tag-filter-option:hover,.tag-filter-option:focus-visible,.tag-filter-option[aria-current=page],.tag:hover,.tag:focus-visible{border-color:var(--muted);background:var(--surface);color:var(--ink)}.tag-filter-option[aria-current=page]{border-color:var(--ink);background:var(--ink);color:var(--paper-deep)}.tag-filter-option[aria-current=page] span{color:var(--paper-deep);opacity:.65}.about-section{border-bottom:1px solid var(--line);grid-template-columns:minmax(8rem,.7fr) minmax(0,2.3fr);gap:clamp(2rem,7vw,7rem);padding-block:clamp(4rem,9vw,8rem);display:grid}.article-list{min-width:0}.article-row{border-bottom:1px solid var(--line);grid-template-columns:9rem minmax(0,1fr) auto;align-items:start;gap:2rem;padding-block:2rem;text-decoration:none;display:grid;position:relative}.article-row:last-child{border-bottom:0}.article-row time,.article-row .reading-time{color:var(--quiet);font-size:.74rem}.article-row h2{letter-spacing:-.055em;margin:-.15rem 0 .7rem;font-size:clamp(1.4rem,3.2vw,2.35rem);font-weight:430;line-height:1.15}.article-title-link{text-decoration:none}.article-title-link:after{content:"";position:absolute;inset:0}.article-title-link:focus-visible{outline:0}.article-row:has(.article-title-link:focus-visible){box-shadow:0 0 0 1px var(--ink)}.article-row p{max-width:44rem;color:var(--muted);margin:0;font-size:.9rem;line-height:1.65}.row-arrow{color:var(--muted);font-size:1.1rem;transition:transform .16s,color .16s}.article-tags{z-index:1;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem;display:flex;position:relative}.tag{padding:.35rem .48rem}.article-row:hover .row-arrow{color:var(--ink);transform:translate(.25rem)}.about-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(2rem,7vw,6rem);display:grid}.about-copy h1{letter-spacing:-.065em;max-width:18ch;margin:0 0 1.5rem;font-size:clamp(1.8rem,4vw,3.5rem);font-weight:430;line-height:1.08}.about-copy p{max-width:43rem;color:var(--muted);margin:0;font-size:clamp(1rem,1.5vw,1.12rem)}.about-social-link{border:1px solid var(--line);color:var(--muted);align-items:center;gap:.7rem;margin-top:2rem;padding:.65rem .85rem;font-size:.78rem;text-decoration:none;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.about-social-link:hover,.about-social-link:focus-visible{border-color:var(--muted);background:var(--surface);color:var(--ink)}.about-social-link svg{width:1.15rem;height:1.15rem}.about-social-arrow{margin-left:.5rem;font-size:1rem;line-height:1}.portrait-frame{aspect-ratio:1;background:var(--surface);border-radius:50%;justify-self:end;width:clamp(8rem,12vw,10rem);position:relative;overflow:hidden}.portrait-frame:after{border-radius:inherit;content:"";pointer-events:none;border:1px solid #ffffff1f;position:absolute;inset:0}.portrait-frame img{object-fit:cover;object-position:50% 43%;width:100%;height:100%}.site-footer{min-height:8rem;color:var(--quiet);text-align:right;justify-content:flex-end;align-items:center;font-size:.72rem;display:flex}.site-footer a{color:var(--muted);text-underline-offset:.25rem}.article-shell{width:min(100% - 2rem,86rem);margin-inline:auto}.article-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(12rem,.75fr) minmax(0,2fr);gap:clamp(2rem,7vw,7rem);padding-block:clamp(4rem,10vw,8rem) clamp(3rem,7vw,6rem);display:grid}.article-header-copy h1{letter-spacing:-.075em;max-width:18ch;margin:1rem 0 1.5rem;font-size:clamp(2.5rem,6.6vw,6.2rem);font-weight:430;line-height:1}.article-dek{max-width:53rem;color:var(--muted);margin:0;font-size:clamp(1rem,1.7vw,1.2rem)}.article-header-tags{margin:1.5rem 0 0}.article-layout{grid-template-columns:minmax(12rem,.75fr) minmax(0,2fr);align-items:start;gap:clamp(2rem,7vw,7rem);padding-block:clamp(3rem,7vw,6rem) 8rem;display:grid}.toc{position:sticky;top:2rem}.toc h2{margin:0 0 1.4rem;font-size:.8rem;font-weight:600}.toc ol{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.toc a{color:var(--quiet);border-left:1px solid #0000;padding-left:.7rem;font-size:.76rem;line-height:1.45;text-decoration:none;transition:border-color .14s,color .14s;display:block}.toc a:hover,.toc a:focus-visible,.toc a.is-active{color:var(--ink)}.toc a.is-active{border-left-color:var(--ink)}.article-body{width:min(100%, var(--measure));font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.82}.article-body>:first-child{margin-top:0}.article-body p,.article-body ul,.article-body ol,.article-body blockquote{margin-block:0 1.55em}.article-body h1,.article-body h2,.article-body h3{letter-spacing:-.05em;margin:2.5em 0 .8em;scroll-margin-top:2rem;font-weight:520;line-height:1.18}.article-body h1,.article-body h2{font-size:clamp(1.75rem,3.4vw,2.7rem)}.article-body h3{font-size:clamp(1.25rem,2vw,1.55rem)}.article-body a{-webkit-text-decoration-color:var(--quiet);text-decoration-color:var(--quiet);text-underline-offset:.22em}.article-body a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.article-body strong{font-weight:650}.article-body blockquote{color:#d7d7d2;border-left:1px solid #c7c7c1;margin-left:0;padding-left:1.5rem;font-style:italic}.article-body li+li{margin-top:.6em}.article-body img{filter:grayscale(.2);width:min(100%,62rem);height:auto;margin-block:2.5rem .75rem;display:block}.article-body code{background:var(--surface);font:inherit;padding:.1rem .28rem;font-size:.9em}.article-note{border-block:1px solid var(--line-soft);color:var(--quiet);margin-bottom:2.5rem;padding:1rem 0;font-size:.72rem}.article-footer{border-top:1px solid var(--line);margin-top:5rem;padding-top:1.5rem}.article-footer a{color:var(--muted);text-underline-offset:.25rem;font-size:.78rem}.skip-link{z-index:10;background:var(--ink);color:var(--paper-deep);padding:.65rem .8rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:1px solid var(--ink);outline-offset:.3rem}@media (max-width:780px){.site-header{min-height:4.5rem}.about-section,.article-header,.article-layout{grid-template-columns:1fr}.article-row{grid-template-columns:1fr auto;gap:.75rem 1rem}.tag-filter{grid-template-columns:1fr;gap:.75rem;padding:.85rem}.tag-filter-label{padding-top:0}.article-row time{grid-column:1/-1}.about-grid{grid-template-columns:1fr}.portrait-frame{order:-1;justify-self:start;width:8rem}.article-header-copy h1{margin-top:.75rem}.toc{border-bottom:1px solid var(--line);padding-bottom:2rem;position:static}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
