@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/fonts/dm-sans-latin.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/fonts/dm-sans-latin-ext.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}:root{--paper:#fdfdfc;--ink:#262724;--muted:#666862;--accent:#3f6b52;--line:#e2e3df;--wash:#f3f4f1;--sans:"DM Sans",Arial,sans-serif;--serif:"Newsreader",Georgia,serif;--body:18px;--small:15px;--h3:21.6px;--h2:25.92px;--h1:37.3248px;--lead:21.6px;--space:4px;--measure:50ch;--leading:1.75;--top:72px}*{box-sizing:border-box}html{color-scheme:light}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--body);line-height:var(--leading);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}p{margin:0 0 calc(var(--space)*6);text-wrap:pretty}h1,h2,h3{text-wrap:balance;font-weight:500;line-height:1.2}h1{margin:0 0 calc(var(--space)*6);font-size:var(--h1);letter-spacing:-.035em}h2{margin:calc(var(--space)*12) 0 calc(var(--space)*4);font-size:var(--h2);letter-spacing:-.02em}h3{font-size:var(--h3)}.shell{width:min(calc(100% - 64px),var(--measure));margin:var(--top) auto 0}.masthead{font-size:var(--small);justify-content:space-between;align-items:center;gap:24px;margin-bottom:64px;display:flex}.brand{color:var(--ink);font-size:var(--body);letter-spacing:-.025em;font-weight:600;text-decoration:none}.nav{gap:24px;display:flex}.nav a{color:var(--muted);padding:4px 0;text-decoration:none}.nav .active{color:var(--ink)}.intro h1{font-weight:500}.intro p{max-width:49ch;color:var(--muted)}.section-title{font-size:var(--small);color:var(--muted);letter-spacing:0;margin:0 0 20px;font-weight:500}.post-list{margin:0;padding:0;list-style:none}.post-item{border-bottom:1px solid var(--line)}.post-link{color:var(--ink);padding:18px 0;text-decoration:none;display:block}.post-link:hover{text-decoration:none}.post-link:hover .post-title{color:var(--accent)}.row{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.post-title{font-size:var(--body);letter-spacing:-.015em;font-weight:500;line-height:1.45}time,.meta,.summary,.kind{color:var(--muted);font-size:var(--small)}time{white-space:nowrap}.summary{max-width:58ch;margin:8px 0 0;line-height:1.6;display:none}.kind{display:none}.site-footer{font-size:var(--small);color:var(--muted);justify-content:space-between;gap:20px;margin:64px 0 40px;padding-top:24px;display:flex}.site-footer p{margin:0}.site-footer a{color:var(--muted);text-decoration:none}.footer-links{gap:20px;display:flex}.back{font-size:var(--small);color:var(--muted);margin-bottom:32px;text-decoration:none;display:inline-block}.article-header{margin-bottom:40px}.article-header h1{max-width:19ch}.article-header .meta{flex-wrap:wrap;gap:8px 20px;margin:0;display:flex}.prose{max-width:65ch}.prose p{margin-bottom:24px}.prose ul{margin:0 0 28px;padding-left:24px}.prose li{margin-bottom:8px;padding-left:4px}.prose strong{font-weight:600}.prose blockquote{border-left:2px solid var(--accent);font-size:var(--lead);margin:32px 0;padding:4px 0 4px 24px}.prose blockquote p{margin:0}.prose code{font-size:var(--small);background:var(--wash);border-radius:3px;padding:2px 5px}.prose pre{background:var(--wash);border:1px solid var(--line);border-radius:4px;padding:24px;line-height:1.6;overflow:auto}.prose pre code{background:0 0;padding:0}.prose a{overflow-wrap:anywhere}.article-end{border-top:1px solid var(--line);font-size:var(--small);color:var(--muted);margin-top:48px;padding-top:24px}.related{margin-top:48px}.related h2{font-size:var(--small);color:var(--muted)}.related .post-item:last-child{border-bottom:0}.year-label,.sidebar{display:none}:root{--top:24px;--gutter:24px;--section-gap:48px;--image-width:352px;--column-gap:80px;--sticky-top:var(--top);--h1:37.3248px}html[data-theme=dark]{color-scheme:dark;--paper:#17191c;--ink:#ebece8;--muted:#a9ada6;--accent:#a4c6ac;--line:#34383e;--wash:#22262b}.shell{width:min(calc(100% - var(--gutter)*2),var(--measure));margin-top:var(--top)}.masthead{margin-bottom:var(--section-gap);flex-wrap:wrap;gap:24px}.nav{flex-wrap:wrap;align-items:center;gap:20px}.theme-choice{font:inherit;color:var(--muted);align-items:center;gap:8px;display:flex}.theme-choice a{min-height:24px;padding:4px 0}.theme-choice a[aria-current]{color:var(--ink);text-decoration:underline}.intro{margin-bottom:var(--section-gap)}.home-grid{display:block}.writing-column{min-width:0}.image-column{display:none}.home .section-title{font-size:var(--h2);color:var(--ink);letter-spacing:-.02em;margin-bottom:16px}.post-title{font-weight:500}.row{gap:24px}.row time{flex-shrink:0}.prose{min-width:0}.prose pre{max-width:100%;font-size:var(--small)}.prose pre code{white-space:pre}.prose :not(pre)>code{overflow-wrap:anywhere}.table-scroll{border:1px solid var(--line);margin:32px 0;overflow:auto}table{border-collapse:collapse;width:100%;font-size:var(--small);text-align:left}th,td{border-bottom:1px solid var(--line);min-width:144px;padding:12px 16px}th{font-weight:600}tr:last-child td{border:0}.prose h3{margin:32px 0 16px}.prose ol{padding-left:24px}.site-footer{margin-top:64px}.preview-note{font-size:var(--small);color:var(--muted);margin:24px 0 0}@media (width>=768px){:root{--top:40px;--gutter:32px;--section-gap:64px;--h1:44.7898px}}@media (width>=1100px){.home.shell{--measure:54ch;width:min(calc(100% - var(--gutter)*2),calc(var(--measure) + var(--image-width) + var(--column-gap)))}.home-grid{grid-template-columns:minmax(0,var(--measure)) var(--image-width);gap:var(--column-gap);align-items:start;display:grid}.image-column{align-self:stretch;display:block}.image-sticky{top:var(--sticky-top);margin:0;position:sticky}.image-sticky img{aspect-ratio:3/4;width:100%;height:auto;max-height:calc(100svh - var(--sticky-top)*2);object-fit:contain;object-position:top;border-radius:4px;display:block}.image-sticky figcaption{font-size:var(--small);color:var(--muted);margin-top:12px}}@media (width>=1100px) and (height<=560px){.image-sticky{position:static}.image-sticky img{max-height:none}}@media (width<=600px){.row{display:block}.row time{margin-top:4px;display:block}.masthead,.nav{gap:16px}.site-footer{flex-wrap:wrap;gap:16px}.article-header .meta{gap:8px 16px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper:#17191c;--ink:#ebece8;--muted:#a9ada6;--accent:#a4c6ac;--line:#34383e;--wash:#22262b}}:root[data-theme=dark]{color-scheme:dark;--paper:#17191c;--ink:#ebece8;--muted:#a9ada6;--accent:#a4c6ac;--line:#34383e;--wash:#22262b}[hidden]{display:none!important}.post-link{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.post-link time{flex-shrink:0}.post-title{overflow-wrap:anywhere}.nav a[aria-current=page]{color:var(--ink)}.theme-toggle{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:8px;transition:color .2s;display:grid}.theme-toggle:hover{color:var(--ink)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.theme-icon{width:24px;height:24px;display:block}.theme-bite{transition:transform .55s cubic-bezier(.34,1.3,.64,1);transform:translate(19px,-16px)}.theme-disc{transform-origin:50%;transform-box:fill-box;transition:transform .55s cubic-bezier(.34,1.3,.64,1);transform:scale(1)}.theme-rays{opacity:1;transform-origin:50%;transform-box:fill-box;transition:transform .45s cubic-bezier(.34,1.3,.64,1),opacity .45s;transform:scale(1)rotate(0)}:root[data-theme=light] .theme-bite{transform:translate(7px,-7px)}:root[data-theme=light] .theme-disc{transform:scale(1.45)}:root[data-theme=light] .theme-rays{opacity:0;transform:scale(0)rotate(45deg)}.skip-link{background:var(--paper);z-index:10;padding:8px 16px;position:absolute;top:12px;left:24px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.meta a{color:var(--muted)}.updated{font-size:var(--small);color:var(--muted);margin:12px 0 0}.prose img,.article-image img{border-radius:4px;max-width:100%;height:auto;display:block}.prose img{margin:32px 0 12px}.article-image{margin:0 0 40px}.article-image figcaption{font-size:var(--small);color:var(--muted);margin-top:12px}.prose table{border:1px solid var(--line);width:100%;margin:32px 0;display:block;overflow-x:auto}.prose pre,.prose .astro-code{color:var(--ink);background:var(--wash)!important}.astro-code span{color:var(--shiki-light)}:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)}}.prose h2,.prose h3{scroll-margin-top:24px}.prose h2 a,.prose h3 a{color:inherit}.prose{overflow-wrap:break-word}.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}@media (width<=600px){.post-link{display:block}.post-link time{margin-top:4px;display:block}.masthead{margin-bottom:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.post-shell{--h1:31.104px;--post-header-gap:32px;--byline-gap:12px}.post-shell .masthead{margin-bottom:var(--post-header-gap)}.post-shell .back{margin-bottom:24px}.post-shell .article-header h1{max-width:24ch;margin-bottom:var(--byline-gap)}.author-byline{color:var(--muted);font-size:var(--small);align-items:center;gap:12px;line-height:1.5;display:flex}.author-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px;display:block}.byline-details{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.byline-details a{color:var(--muted);text-decoration:none}.byline-details a:hover{color:var(--ink)}.byline-separator{display:none}.published-date time{white-space:normal}.post-shell .article-header{margin-bottom:32px}@media (width>=600px){.byline-details{flex-direction:row;align-items:center;gap:8px}.byline-separator{display:inline}}@media (width>=768px){.post-shell{--h1:37.3248px}}.post-shell .prose{line-height:1.65}.article-end p{margin:0}.article-end .updated{margin-top:8px}.brand{transition:opacity .2s}.brand:hover{opacity:.72;text-decoration:none}.nav a,.back,.byline-details a,.site-footer a,.article-end a{transition:color .2s}.nav a:hover,.back:hover,.byline-details a:hover,.site-footer a:hover,.article-end a:hover{color:var(--ink);text-decoration:none}.article-end a{text-decoration:none}.post-title{transition:color .3s ease-in-out}.prose a{transition:color .3s ease-in-out,text-decoration-color .3s ease-in-out}.prose a:hover{color:var(--ink);text-decoration-color:var(--muted)}.illustration-frame{aspect-ratio:3/4;width:100%}.nav-links{align-items:center;gap:inherit;display:inline-flex}.nav-controls{align-items:center;gap:0;margin-inline-start:calc(var(--space)*4);display:inline-flex}.language-switch{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.language-unavailable{color:var(--muted);opacity:.5;padding:4px 0}@media (width<=600px){.masthead{column-gap:calc(var(--space)*4);row-gap:calc(var(--space)*3);grid-template-columns:minmax(0,1fr) auto;display:grid}.masthead .brand{grid-area:1/1}.masthead .nav{display:contents}.masthead .nav-links{gap:calc(var(--space)*4);grid-area:2/1/auto/-1}.masthead .nav-controls{grid-area:1/2;justify-self:end;margin-inline-start:0}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
