@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_19d3128f-module___m9SRW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_19d3128f-module___m9SRW__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_7d293927-module__JAMDPq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_7d293927-module__JAMDPq__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6632a144c419935f-s.08di4g7n39o46.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/7b27d9904b50e540-s.3szkwhi_rfrst.woff2)format("woff2");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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d38f3bca7db33566-s.p.0op912u62qdhl.woff2)format("woff2");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:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_9c9cced5-module___9ktgG__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_9c9cced5-module___9ktgG__variable{--font-newsreader:"Newsreader", "Newsreader Fallback"}
:root{--background:48 24% 94%;--foreground:0 0% 11%;--muted:45 12% 86%;--muted-foreground:0 0% 39%;--border:45 8% 81%;--accent:143 45% 38%;--grid:0 0% 8% / .014;--step--1:.75rem;--step-0:.875rem;--step-1:1rem;--step-2:1.125rem;--step-3:1.5rem;--step-4:clamp(1.875rem, 1.4rem + 1.6vw, 2.75rem);--step-5:clamp(2.75rem, 1.6rem + 4.4vw, 5.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--space-6:4rem;--space-7:clamp(4rem, 3rem + 4vw, 6.5rem);--gutter:clamp(16px, 4vw, 40px);--header:3.5rem;--label:11rem;--column-gap:clamp(1.5rem, 1rem + 2.5vw, 4rem);--measure:38rem;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--background:0 0% 4%;--foreground:45 10% 88%;--muted:0 0% 10%;--muted-foreground:0 0% 62%;--border:0 0% 14%;--accent:143 52% 51%;--grid:0 0% 100% / .018;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;border-color:hsl(var(--border))}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + var(--space-4))}body{--font-sans:var(--font-geist-sans), system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, monospace;--font-mark:var(--font-newsreader), Georgia, serif;background-color:hsl(var(--background));background-image:linear-gradient(hsl(var(--grid)) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--grid)) 1px, transparent 1px);min-height:100vh;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:var(--step-1);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-size:48px 48px;margin:0;line-height:1.5;overflow-x:clip}a,button{color:inherit}a{text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}ul{margin:0;padding:0;list-style:none}img{display:block}h1,h2,h3,p{margin:0}:focus-visible{outline:1px solid hsl(var(--foreground));outline-offset:4px}::selection{background:hsl(var(--foreground));color:hsl(var(--background))}a svg{flex:none;width:.85em;height:.85em}.display{font-size:var(--step-5);letter-spacing:-.05em;text-wrap:balance;font-weight:500;line-height:1}.title{font-size:var(--step-4);letter-spacing:-.04em;text-wrap:balance;font-weight:500;line-height:1.08}.deck{max-width:32ch;color:hsl(var(--muted-foreground));font-size:var(--step-3);letter-spacing:-.02em;text-wrap:pretty;line-height:1.35}.label{color:hsl(var(--muted-foreground));font-size:var(--step-0);font-weight:400;line-height:1.5}.label-accent{color:hsl(var(--accent))}.meta{color:hsl(var(--muted-foreground));font-family:var(--font-mono);font-size:var(--step--1);font-variant-numeric:tabular-nums;line-height:1.5}.text-link{background:linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat, linear-gradient(hsl(var(--border)), hsl(var(--border))) 0 100% / 100% 1px no-repeat;width:fit-content;transition:background-size .4s var(--ease);align-items:center;gap:.25em;padding-bottom:.15em;display:inline-flex}.text-link:hover{background-size:100% 1px,100% 1px}.shell{width:min(calc(100% - 2 * var(--gutter)), 72rem);margin-inline:auto}.layout{grid-template-columns:[full-start] minmax(0, var(--label)) [content-start] minmax(0, 1fr) [full-end];column-gap:var(--column-gap);display:grid}.layout>*{grid-column:content;min-width:0}.layout>.label{grid-column:full-start/content-start}.section{padding-block:var(--space-3) var(--space-7);border-top:1px solid hsl(var(--border))}.site-header{z-index:50;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background) / .85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.header-inner{height:var(--header);align-items:center;gap:var(--space-3);grid-template-columns:1fr auto 1fr;display:grid}.wordmark{font-family:var(--font-mark);letter-spacing:-.015em;justify-self:start;align-items:baseline;font-size:1.25rem;font-weight:500;line-height:1;display:inline-flex}.wordmark-tail{transition:grid-template-columns .45s var(--ease), opacity .3s ease;grid-template-columns:1fr;display:inline-grid}.wordmark-tail>span{min-width:0;overflow:hidden}.wordmark[data-collapsed] .wordmark-tail{opacity:0;grid-template-columns:0fr}.wordmark[data-collapsed]:hover .wordmark-tail,.wordmark[data-collapsed]:focus-visible .wordmark-tail{opacity:1;grid-template-columns:1fr}.header-inner nav{gap:clamp(1rem,2.4vw,2rem);display:flex}.header-inner nav a{color:hsl(var(--muted-foreground));font-size:var(--step-0);white-space:nowrap;align-items:center;gap:.2em;transition:color .15s;display:inline-flex}.header-inner nav a:hover{color:hsl(var(--foreground))}.theme-toggle{width:2rem;height:2rem;color:hsl(var(--muted-foreground));justify-self:end;place-items:center;margin-right:-.5rem;transition:color .15s;display:grid}.theme-toggle:hover{color:hsl(var(--foreground))}.theme-icon{grid-area:1/1;width:1rem;height:1rem}.dark .theme-icon-light,.theme-icon-dark{display:none}.dark .theme-icon-dark{display:block}.site-footer{border-top:1px solid hsl(var(--border))}.footer-inner{justify-content:space-between;gap:var(--space-3);padding-block:var(--space-4) var(--space-5);color:hsl(var(--muted-foreground));font-size:var(--step-0);display:flex}.masthead{row-gap:var(--space-4);padding-block:var(--space-7) var(--space-6)}.masthead .display{grid-column:full}.masthead-mark{font-family:var(--font-mark);font-size:calc(var(--step-5) * 1.2);letter-spacing:-.035em;line-height:.95}html[data-intro] .masthead-word{animation:intro-word .9s var(--ease) .12s both;display:inline-block}html[data-intro] .masthead .deck,html[data-intro] .masthead .meta{animation:intro-fade .7s var(--ease) 1s both}html[data-intro] .masthead .meta{animation-delay:1.1s}@keyframes intro-word{0%{clip-path:inset(-.2em 100% -.2em -.2em);transform:translateY(.06em)}to{clip-path:inset(-.2em);transform:none}}@keyframes intro-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.lead{gap:var(--space-4);display:grid}.lead-image,.entry-thumb,.article-hero,.article-inline-image,.author-image{background:hsl(var(--muted));position:relative;overflow:hidden}.lead-image{aspect-ratio:2}.lead-image img,.entry-thumb img,.article-hero img,.article-inline-image img,.author-image img{object-fit:cover}.lead-image img,.entry-thumb img{transition:transform .5s var(--ease)}.lead:hover .lead-image img,.entry-row:hover .entry-thumb img{transform:scale(1.03)}@media (hover:hover){.entry-thumb img{filter:grayscale();transition:transform .5s var(--ease), filter .5s ease}.entry-row:hover .entry-thumb img,.entry-row:focus-visible .entry-thumb img{filter:none}}.lead-text{gap:var(--column-gap);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);display:grid}.lead-text .title{margin-top:var(--space-2)}.lead-excerpt{color:hsl(var(--muted-foreground));padding-top:1.5rem;line-height:1.6}.entry-row{align-items:start;gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid hsl(var(--border));grid-template-columns:7rem minmax(0,1fr) 7rem 5.5rem;transition:color .15s;display:grid}.entry-list li:first-child .entry-row{padding-top:0}.entry-row .meta{padding-top:.45rem}.entry-text{gap:var(--space-2);display:grid}.entry-title{font-size:var(--step-3);letter-spacing:-.025em;font-weight:500;line-height:1.2}.entry-excerpt{max-width:var(--measure);color:hsl(var(--muted-foreground));font-size:var(--step-0);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.entry-category{color:hsl(var(--muted-foreground));font-size:var(--step-0);padding-top:.3rem}.entry-thumb{aspect-ratio:4/3}.entry-list:hover .entry-row{color:hsl(var(--muted-foreground))}.entry-list .entry-row:hover{color:hsl(var(--foreground))}.empty-state{color:hsl(var(--muted-foreground))}.article-header{row-gap:var(--space-5);padding-block:var(--space-6) var(--space-6)}.article-header>.label{padding-top:.6rem}.article-heading{gap:var(--space-4);display:grid}.article-heading .deck{max-width:var(--measure)}.article-hero{aspect-ratio:16/9}.article-body{padding-block:var(--space-6) var(--space-7);border-top:1px solid hsl(var(--border))}.article-rail{top:calc(var(--header) + var(--space-5));align-self:start;gap:var(--space-2);font-size:var(--step-0);flex-direction:column;grid-column:full-start/content-start;padding-top:.3rem;display:flex;position:sticky}.reading-progress{display:none}@supports (animation-timeline:view()){.article{timeline-scope:--article}.prose{view-timeline:--article block}.reading-progress{top:calc(var(--header) - 1px);z-index:60;background:hsl(var(--foreground));transform-origin:0;height:1px;animation:linear both reading-progress;animation-timeline:--article;animation-range:contain;display:block;position:fixed;left:0;right:0}}@keyframes reading-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.prose{grid-template-columns:minmax(0, var(--measure)) minmax(0, 1fr);overflow-wrap:anywhere;display:grid}.prose>*{grid-column:1}.prose>p,.prose>ul,.prose>ol{font-size:var(--step-2);text-wrap:pretty;margin:0 0 1.5rem;line-height:1.7}.prose a{text-decoration:underline;-webkit-text-decoration-color:hsl(var(--muted-foreground));text-decoration-color:hsl(var(--muted-foreground));text-underline-offset:.2em;text-decoration-thickness:1px;transition:text-decoration-color .15s}.prose a:hover{text-decoration-color:currentColor}.prose ul,.prose ol{padding-left:1.25em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li,.prose li>ul,.prose li>ol{margin-top:var(--space-2)}.prose li::marker{color:hsl(var(--muted-foreground))}.prose h2,.prose h3{margin:var(--space-5) 0 var(--space-3);font-weight:500}.prose h2{font-size:var(--step-3);letter-spacing:-.025em;line-height:1.2}.prose h3{font-size:var(--step-2);letter-spacing:-.015em;line-height:1.3}.prose>:first-child{margin-top:0}.prose blockquote{margin:var(--space-4) 0 var(--space-5);padding-left:var(--space-4);border-left:2px solid hsl(var(--accent));font-size:var(--step-3);letter-spacing:-.02em;text-wrap:balance;line-height:1.35}.prose code{background:hsl(var(--muted));font-family:var(--font-mono);padding:.1em .3em;font-size:.875em}.prose pre{margin:0 0 var(--space-4);padding:var(--space-3);background:hsl(var(--muted));overflow-wrap:normal;overflow-x:auto}.prose pre code{font-size:var(--step-0);background:0 0;padding:0;line-height:1.6}.prose figure{margin:var(--space-4) 0 var(--space-5);grid-column:1/-1}.prose video,.prose iframe{background:hsl(var(--muted));border:0;width:100%;display:block}.article-table{margin:0 0 var(--space-4);overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--step-0);font-variant-numeric:tabular-nums;overflow-wrap:normal}.prose th,.prose td{padding:var(--space-2) var(--space-3) var(--space-2) 0;border-bottom:1px solid hsl(var(--border));text-align:left;vertical-align:top}.prose th{font-weight:500}.prose td>p,.prose th>p{margin:0}.prose figcaption{margin-top:var(--space-2);color:hsl(var(--muted-foreground));font-size:var(--step-0);line-height:1.5}.author{grid-template-columns:3.5rem minmax(0, var(--measure)) auto;align-items:start;gap:var(--space-4);display:grid}.author-image{width:3.5rem;height:3.5rem}.author-name{font-weight:500}.author-bio{margin-top:var(--space-1);color:hsl(var(--muted-foreground));font-size:var(--step-0);line-height:1.55}.author .text-link{font-size:var(--step-0);justify-self:end}::view-transition-group(.post-image){animation-duration:.5s;animation-timing-function:var(--ease)}::view-transition-old(.post-image){object-fit:cover;height:100%}::view-transition-new(.post-image){object-fit:cover;height:100%}::view-transition-group(root){animation-duration:.22s}.not-found{justify-content:center;gap:var(--space-4);min-height:calc(100vh - 12rem);padding-block:var(--space-7);flex-direction:column;display:flex}@media (max-width:900px){.layout{grid-template-columns:minmax(0,1fr)}.layout>*,.layout>.label,.masthead .display,.article-rail{grid-column:1}.section>.label{margin-bottom:var(--space-4)}.lead-text{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.lead-excerpt{padding-top:0}.entry-row{row-gap:var(--space-2);grid-template-columns:minmax(0,1fr) 5.5rem;grid-template-areas:"meta thumb""text thumb"}.entry-row .meta{grid-area:meta;padding-top:0}.entry-text{grid-area:text}.entry-thumb{grid-area:thumb}.entry-category{display:none}.article-header>.label{padding-top:0}.article-header{row-gap:var(--space-4)}.article-body{padding-top:var(--space-3)}.article-rail{margin-bottom:var(--space-5);flex-direction:row;justify-content:space-between;padding:0;position:static}}@media (max-width:600px){:root{--step-3:1.3125rem}.header-inner{grid-template-columns:auto 1fr auto}.header-inner nav{justify-content:flex-end;gap:.9rem}.header-inner nav a{font-size:.8125rem}.theme-toggle{margin-left:-.25rem}.masthead{padding-block:var(--space-6) var(--space-5)}.lead-image,.article-hero{aspect-ratio:4/3}.entry-row{column-gap:var(--space-3);grid-template-columns:minmax(0,1fr) 4.5rem}.prose>p,.prose>ul,.prose>ol{font-size:var(--step-1);line-height:1.7}.author{gap:var(--space-3);grid-template-columns:3rem minmax(0,1fr)}.author-image{width:3rem;height:3rem}.author .text-link{grid-column:2;justify-self:start}.footer-inner{gap:var(--space-1);flex-direction:column}}@media (max-width:360px){.wordmark{display:none}.header-inner{grid-template-columns:1fr auto}.header-inner nav{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html[data-intro] .masthead-word,html[data-intro] .masthead .deck,html[data-intro] .masthead .meta,.reading-progress{animation:none!important}.reading-progress{display:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
