@font-face{font-family:__Fraunces_45c363;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/6abc91adc2ea99a6-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Fraunces_45c363;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d08bfa01b04d053-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Fraunces_45c363;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e0f4b1ebfdbd83f9-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fraunces_45c363;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e8c7e585bb5e69ba-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Fraunces_45c363;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/d02d66744511ad29-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Fraunces_45c363;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/26dc4a78f0c7af7f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fraunces_Fallback_45c363;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_45c363{font-family:__Fraunces_45c363,__Fraunces_Fallback_45c363}.__variable_45c363{--font-blog-serif:"__Fraunces_45c363","__Fraunces_Fallback_45c363"}@font-face{font-family:__GeistSans_245d8d;src:url(/_next/static/media/27834908180db20f-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:__GeistSans_Fallback_245d8d;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_245d8d{font-family:__GeistSans_245d8d,__GeistSans_Fallback_245d8d}.__variable_245d8d{--font-geist-sans:"__GeistSans_245d8d","__GeistSans_Fallback_245d8d"}@font-face{font-family:__GeistMono_97c177;src:url(/_next/static/media/78fec81b34c4a365.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_97c177{font-family:__GeistMono_97c177,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_97c177{--font-geist-mono:"__GeistMono_97c177",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.blog-shell{--b-bg:oklch(97% 0.014 82);--b-bg-alt:oklch(94% 0.018 82);--b-paper:oklch(99% 0.006 85);--b-rule:oklch(86% 0.014 78);--b-rule-strong:oklch(72% 0.02 78);--b-ink:oklch(22% 0.014 60);--b-ink-strong:oklch(15% 0.016 60);--b-ink-muted:oklch(48% 0.014 70);--b-ink-subtle:oklch(60% 0.012 75);--b-accent:oklch(58% 0.21 28);--b-accent-soft:oklch(94% 0.06 30);--b-accent-strong:oklch(46% 0.22 28);--b-font-serif:var(--font-blog-serif),"Fraunces","Iowan Old Style","Apple Garamond","Baskerville",Georgia,serif;--b-font-sans:var(--font-geist-sans),"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--b-font-mono:var(--font-geist-mono),"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;--b-space-1:0.25rem;--b-space-2:0.5rem;--b-space-3:0.75rem;--b-space-4:1rem;--b-space-5:1.5rem;--b-space-6:2rem;--b-space-7:3rem;--b-space-8:4rem;--b-space-9:6rem;background:var(--b-bg);color:var(--b-ink);font-family:var(--b-font-sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.blog-shell ::-moz-selection{background:var(--b-accent-soft);color:var(--b-ink-strong)}.blog-shell ::selection{background:var(--b-accent-soft);color:var(--b-ink-strong)}.b-display{font-family:var(--b-font-serif);font-weight:400;letter-spacing:-.018em;font-variation-settings:"opsz" 144,"SOFT" 30}.b-display,.b-display-xl{color:var(--b-ink-strong)}.b-display-xl{font-family:var(--b-font-serif);font-weight:400;letter-spacing:-.025em;font-variation-settings:"opsz" 144,"SOFT" 50;line-height:.98}.b-mono{font-family:var(--b-font-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum","ss01"}.b-rule{display:flex;align-items:center;gap:var(--b-space-3);color:var(--b-ink-muted)}.b-rule:after,.b-rule:before{content:"";flex:1;height:1px;background:var(--b-rule)}.b-rule-left:before{display:none}.b-rule-left:after{margin-left:var(--b-space-3)}.b-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:2rem;column-gap:2rem}.b-prose [data-dropcap]:first-letter{font-family:var(--b-font-serif);float:left;font-size:4.4rem;line-height:.92;padding:.3rem .7rem 0 0;color:var(--b-ink-strong);font-weight:400;font-variation-settings:"opsz" 144,"SOFT" 50}.b-prose{color:var(--b-ink);font-family:var(--b-font-sans);font-size:1.0625rem;line-height:1.75;font-feature-settings:"ss01","cv11","kern"}.b-prose h2,.b-prose h3,.b-prose h4{font-family:var(--b-font-serif);letter-spacing:-.02em;color:var(--b-ink-strong);font-weight:500;font-variation-settings:"opsz" 144,"SOFT" 30}.b-prose h2{font-size:clamp(1.65rem,3vw,2rem);line-height:1.18;margin-top:3.25rem;margin-bottom:.85rem;border-top:1px solid var(--b-rule);padding-top:2.25rem}.b-prose h2,.b-prose h3{scroll-margin-top:5.5rem}.b-prose h3{font-size:clamp(1.25rem,2vw,1.4rem);line-height:1.25;margin-top:2.25rem;margin-bottom:.55rem}.b-prose h4{font-size:1.1rem;line-height:1.3;margin-top:1.6rem;margin-bottom:.4rem;font-weight:600}.b-prose p{margin-top:1rem;margin-bottom:1rem;color:var(--b-ink)}.b-prose strong{color:var(--b-ink-strong);font-weight:600}.b-prose em{font-family:var(--b-font-serif);font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 30}.b-prose a{color:var(--b-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in oklch,var(--b-accent) 40%,transparent);transition:text-decoration-color .12s ease,color .12s ease}.b-prose a:hover{text-decoration-color:var(--b-accent);color:var(--b-accent-strong)}.b-prose ol,.b-prose ul{padding-left:1.4rem;margin:1rem 0}.b-prose li{margin:.4rem 0;padding-left:.25rem}.b-prose ul>li::marker{color:var(--b-accent)}.b-prose ol>li::marker{color:var(--b-ink-muted);font-family:var(--b-font-mono);font-size:.92em}.b-prose blockquote{border-left:2px solid var(--b-accent);margin:1.75rem 0;padding:.25rem 0 .25rem 1.25rem;color:var(--b-ink-strong);font-family:var(--b-font-serif);font-style:italic;font-size:1.3rem;line-height:1.5;font-variation-settings:"opsz" 144,"SOFT" 50}.b-prose blockquote p{margin:0}.b-prose code{font-size:.88em;background:var(--b-bg-alt);border:1px solid var(--b-rule);border-radius:4px;padding:.1em .4em;color:var(--b-ink-strong)}.b-prose code,.b-prose pre{font-family:var(--b-font-mono)}.b-prose pre{background:oklch(18% .014 60);color:oklch(94% .005 80);border:1px solid oklch(28% .014 60);border-radius:8px;padding:1rem 1.1rem;overflow-x:auto;font-size:.875rem;line-height:1.6;margin:1.5rem 0}.b-prose pre code{background:transparent;border:0;padding:0;color:inherit}.b-prose hr{border:0;border-top:1px solid var(--b-rule);margin:2.75rem 0}.b-prose img{border-radius:4px;border:1px solid var(--b-rule);margin:1.75rem 0}.b-prose table{width:100%;margin:1.75rem 0;border-collapse:collapse;font-size:.95rem;border-top:1px solid var(--b-rule-strong);border-bottom:1px solid var(--b-rule-strong)}.b-prose thead{border-bottom:1px solid var(--b-rule)}.b-prose th{font-family:var(--b-font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--b-ink-muted);font-weight:500;text-align:left;padding:.75rem .85rem}.b-prose td{padding:.75rem .85rem;border-top:1px solid var(--b-rule);vertical-align:top}@media (min-width:768px){.b-prose{font-size:1.125rem;line-height:1.78}}