*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}pre[class*=language-]{color:#f4f4f5}.token.tag,.token.class-name,.token.selector,.token.selector .class,.token.selector.class,.token.function{color:#f472b6}.token.attr-name,.token.keyword,.token.rule,.token.pseudo-class,.token.important{color:#d4d4d8}.token.module{color:#f472b6}.token.attr-value,.token.class,.token.string,.token.property{color:#fda4af}.token.punctuation,.token.attr-equals{color:#71717a}.token.unit,.language-css .token.function{color:#bae6fd}.token.comment,.token.operator,.token.combinator{color:#a1a1aa}.prose{--tw-prose-body:#52525b;--tw-prose-headings:#18181b;--tw-prose-links:#f43f5e;--tw-prose-links-hover:#e11d48;--tw-prose-underline:#f43f5e33;--tw-prose-underline-hover:#f43f5e;--tw-prose-bold:#18181b;--tw-prose-counters:#18181b;--tw-prose-bullets:#18181b;--tw-prose-hr:#f4f4f5;--tw-prose-quote-borders:#e4e4e7;--tw-prose-captions:#a1a1aa;--tw-prose-code:#3f3f46;--tw-prose-code-bg:#d4d4d833;--tw-prose-pre-code:#f4f4f5;--tw-prose-pre-bg:#18181b;--tw-prose-pre-border:transparent;--tw-prose-th-borders:#e4e4e7;--tw-prose-td-borders:#f4f4f5;--tw-prose-invert-body:#a1a1aa;--tw-prose-invert-headings:#e4e4e7;--tw-prose-invert-links:#fb7185;--tw-prose-invert-links-hover:#fb7185;--tw-prose-invert-underline:#fb71854d;--tw-prose-invert-underline-hover:#fb7185;--tw-prose-invert-bold:#e4e4e7;--tw-prose-invert-counters:#e4e4e7;--tw-prose-invert-bullets:#e4e4e7;--tw-prose-invert-hr:#3f3f4666;--tw-prose-invert-quote-borders:#71717a;--tw-prose-invert-captions:#71717a;--tw-prose-invert-code:#d4d4d8;--tw-prose-invert-code-bg:#e4e4e70d;--tw-prose-invert-pre-code:#f4f4f5;--tw-prose-invert-pre-bg:#0006;--tw-prose-invert-pre-border:#e4e4e71a;--tw-prose-invert-th-borders:#3f3f46;--tw-prose-invert-td-borders:#27272a;color:var(--tw-prose-body);line-height:1.75rem}.prose :where(.prose>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.5rem;margin-bottom:2.5rem}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.75rem;margin-bottom:1.75rem}.prose :where(h2,h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:5rem;margin-bottom:1rem;font-size:1.25rem;line-height:1.75rem}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:4rem;margin-bottom:1rem;font-size:1rem;line-height:1.75rem}.prose :where(:is(h2,h3)+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:1.5rem}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;-webkit-text-decoration-color:var(--tw-prose-underline);text-decoration-color:var(--tw-prose-underline);font-weight:600;transition-property:color,text-decoration-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.prose :where(a:hover):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links-hover);-webkit-text-decoration-color:var(--tw-prose-underline-hover);text-decoration-color:var(--tw-prose-underline-hover)}.prose :where(:is(h1,h2,h3,h4,h5,h6) a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:inherit;text-decoration:none}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);background-color:var(--tw-prose-code-bg);border-radius:.5rem;padding-left:.25rem;padding-right:.25rem;font-size:.875rem;font-weight:600;display:inline-block}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(:is(h2,h3) code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-left-width:2px;border-left-color:var(--tw-prose-quote-borders);padding-left:1.5rem;font-style:italic}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.75rem;font-size:.875rem;line-height:1.5rem}.prose :where(figcaption>p):not(:where([class~=not-prose],[class~=not-prose] *)){margin:0}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul,ol):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:1.5rem}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.5rem;margin-bottom:1.5rem;padding-left:.875rem}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-size:.875rem;font-weight:600}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(li :is(ol,ul)):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1rem;margin-bottom:1rem}.prose :where(li :is(li,p)):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75rem;margin-bottom:.75rem}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);border:1px solid;border-color:var(--tw-prose-pre-border);border-radius:1.5rem;padding:2rem;font-size:.875rem;font-weight:500;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:inherit;font-weight:inherit;background-color:#0000;border-radius:0;padding:0;display:inline}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-color:var(--tw-prose-hr);margin-top:5rem;margin-bottom:5rem}@media (width>=1024px){.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-left:-3rem;margin-right:-3rem}}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;text-align:left;width:100%;font-size:.875rem}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-bottom:.5rem;font-weight:600}.prose :where(thead th:not(:first-child)):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.5rem}.prose :where(thead th:not(:last-child)):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:.5rem}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(:is(tbody,tfoot) td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5rem;padding-bottom:.5rem}.prose :where(:is(tbody,tfoot) td:not(:first-child)):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.5rem}.prose :where(:is(tbody,tfoot) td:not(:last-child)):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:.5rem}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-x-4{left:-1rem;right:-1rem}.-inset-y-6{top:-1.5rem;bottom:-1.5rem}.inset-y-0{top:0;bottom:0}.left-0{left:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.order-first{order:-9999}.mx-1{margin-left:.25rem;margin-right:.25rem}.mb-3{margin-bottom:.75rem}.mt-2{margin-top:.5rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-full{height:100%}.w-0\.5{width:.125rem}.flex-1{flex:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.rounded-full{border-radius:9999px}.border{border-width:1px}.bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity,1))}.bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pl-3\.5{padding-left:.875rem}.text-base{font-size:1rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.5rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-tight{letter-spacing:-.025em}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f2f5ef}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#101614}.blog-site{--paper:#f2f5ef;--ink:#203229;--muted:#5e7165;--line:#ccd8cc;--accent:#356747;--surface:#f9fbf5;--soft:#e5eddf;--button-ink:#fff;--sans:Arial, Helvetica, sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);min-height:100vh}.dark .blog-site{--paper:#101614;--ink:#e0e8e1;--muted:#9baa9f;--line:#2c3932;--accent:#ade6bf;--surface:#151e19;--soft:#18251e;--button-ink:#101614}.blog-site *,.blog-site :before,.blog-site :after{box-sizing:border-box}.blog-site h1,.blog-site h2,.blog-site h3,.blog-site h4{color:var(--ink)}.blog-site a{color:inherit;text-decoration:none}.blog-site a:hover{color:var(--accent)}.blog-site :is(a,button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:5px}.blog-site ::selection{background:var(--accent);color:var(--paper)}.site-container{flex-direction:column;max-width:1300px;min-height:100vh;margin:auto;padding:0 50px;display:flex}.site-container>main{flex:1;min-width:0}.skip-link{background:var(--accent);z-index:200;padding:10px 20px;position:fixed;top:10px;left:15px;transform:translateY(-150%);color:var(--button-ink)!important}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;height:100px;display:flex}.site-brand{font:20px var(--mono);white-space:nowrap;align-items:center;gap:10px;display:flex}.site-brand>span{color:var(--accent);font-size:25px}.site-brand .brand-cursor{margin-left:-8px}.site-header nav{font:12px var(--mono);align-items:center;gap:28px;display:flex}.site-header a[aria-current=page]{color:var(--accent)}.contact-link{border-left:1px solid var(--line);padding-left:25px}.theme-toggle{width:36px;height:36px;color:var(--muted);border:1px solid var(--line);border-radius:50%;place-items:center;display:grid}.theme-toggle:hover{color:var(--accent);background:var(--soft)}.theme-toggle svg{width:17px;height:17px}.blog-site .eyebrow{font:10px/1.6 var(--mono);letter-spacing:1.5px;color:var(--muted);margin:0 0 23px}.status-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.night-hero{grid-template-columns:1fr 1fr;gap:80px;padding:85px 0 70px;display:grid}.night-hero .eyebrow{letter-spacing:1.2px;font-size:9px}.blog-site .command{font:13px var(--mono);color:var(--muted);margin:32px 0 19px}.blog-site h1{font:500 58px/1.13 var(--sans);letter-spacing:-2.5px;margin:0}.blog-site h1 em{color:var(--accent);font-style:normal}.blog-site .hero-description{color:var(--muted);margin:28px 0;font-size:15px;line-height:1.8}.blog-site .primary-link{background:var(--accent);color:var(--button-ink);border-radius:5px;align-items:center;gap:44px;padding:9px 19px;font-size:12px;font-weight:700;transition:transform .2s;display:inline-flex}.blog-site .primary-link:hover{transform:translateY(-2px)}.primary-link span{font-size:21px;font-weight:400}.night-tags{font:10px var(--mono);color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:29px;display:flex}.terminal{color:#e0e8e1;background:#162019;border:1px solid #3a4a40;border-radius:8px;align-self:center;min-width:0;position:relative;transform:rotate(1deg);box-shadow:0 25px 90px #0002}.terminal-top,.terminal-bottom{font:10px var(--mono);color:#a9bbae;background:#1b2921;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.terminal-top{border-bottom:1px solid #2c3932;border-radius:8px 8px 0 0}.terminal-top>span:first-child{letter-spacing:4px;color:#8caa96}.terminal-code{font:12px/1.7 var(--mono);grid-template-columns:20px 1fr;gap:8px 15px;padding:25px 20px;display:grid;overflow-x:auto}.terminal-code p{white-space:nowrap;margin:0}.line-no{color:#81988a;text-align:right}.terminal-code em{color:#bed6a4;font-style:normal}.syntax{color:#c3b6da}.terminal-code .code-comment{color:#9aaa9e}.terminal-bottom{border-top:1px solid #2c3932;border-radius:0 0 8px 8px;font-size:9px}.terminal-sticker{color:#21311f;background:#b7d4a2;padding:12px 16px;font:italic 20px/1.1 Georgia,serif;position:absolute;bottom:-31px;right:19px;transform:rotate(-7deg);box-shadow:0 6px 15px #0003}.writing-section{padding:62px 0 30px;scroll-margin-top:30px}.section-heading{justify-content:space-between;align-items:flex-end;gap:25px;padding-bottom:30px;display:flex}.section-heading .eyebrow{margin-bottom:12px}.blog-site h2{font:500 30px/1.2 var(--sans);letter-spacing:-1px;margin:0}.accent{color:var(--accent)}.blog-site .text-link{color:var(--accent);font:12px/1.5 var(--mono);white-space:nowrap}.text-link:hover{text-underline-offset:5px;text-decoration:underline}.text-link>span{margin-left:15px}.posts-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;display:grid}.post-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;min-width:0;padding:23px;transition:border-color .2s,transform .2s;display:flex;position:relative}.post-card:hover{border-color:var(--muted);transform:translateY(-3px)}.post-number{font:9px var(--mono);color:var(--muted);position:absolute;top:12px;right:18px}.post-art{background:var(--soft);border-radius:4px;justify-content:center;align-items:center;height:150px;margin:10px 0 24px;display:flex;position:relative;overflow:hidden}.art-caption{font:8px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);position:absolute;bottom:12px;left:15px}.art-k{font:bold 75px/.8 var(--sans);color:var(--accent);letter-spacing:-8px;transform:translateY(-7px)}.art-k>span{margin-left:4px;font-size:60px;font-weight:400;display:inline-block;transform:translateY(-3px)}.art-brackets{font:50px var(--mono);color:var(--accent)}.art-toc{flex-direction:column;gap:12px;width:100px;display:flex;position:relative}.art-toc span{background:var(--ink);opacity:.25;width:100%;height:5px}.art-toc span:nth-child(3){width:80%;margin-left:18px}.art-toc span:nth-child(4){width:65%;margin-left:18px}.art-toc i{border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);width:10px;height:52px;position:absolute;top:0;left:-14px}.post-meta{font:9px/1.5 var(--mono);letter-spacing:.6px;color:var(--muted);justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.post-meta>span:first-child{color:var(--accent);text-transform:uppercase}.blog-site .post-card h3{font:500 24px/1.25 var(--sans);letter-spacing:-.6px;margin:0}.post-card h3 a{justify-content:space-between;gap:12px;display:flex}.post-card h3 a:after{content:"";border-radius:8px;position:absolute;inset:0}.post-card h3 a>span{opacity:0;font-size:20px;transition:opacity .2s,transform .2s;transform:translate(-4px,4px)}.post-card:hover h3 a>span,.post-card:focus-within h3 a>span{opacity:1;transform:none}.post-card .post-excerpt{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:15px 0 24px;font-size:13px;line-height:1.8;display:-webkit-box;overflow:hidden}.post-bottom{font:10px/1.5 var(--mono);color:var(--muted);margin-top:auto}.post-bottom>div{flex-wrap:wrap;gap:6px;margin-top:17px;display:flex}.post-bottom>div span{border:1px solid var(--line);border-radius:3px;padding:4px 7px;font-size:9px}.about-section{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:90px;margin-top:45px;padding:65px 0 80px;scroll-margin-top:30px;display:grid}.about-section h2{font-size:34px}.about-section p:not(.eyebrow){color:var(--muted);margin:0 0 18px;font-size:14px}.about-section p.about-lead{color:var(--ink);font-size:20px;line-height:1.5}.social-links{font:11px var(--mono);flex-wrap:wrap;gap:18px;margin-top:32px;display:flex}.site-footer{border-top:1px solid var(--line);color:var(--muted);font:10px/1.5 var(--mono);justify-content:space-between;align-items:center;gap:20px;padding:30px 0;display:flex}.site-footer>a{color:var(--ink);font-size:16px}.site-footer p{margin:0}.site-footer>div{gap:22px;display:flex}.back-to-top{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--accent);z-index:50;font:22px var(--sans);border-radius:50%;place-items:center;display:grid;position:fixed;bottom:22px;right:22px;box-shadow:0 4px 16px #0002}.archive-page{padding-bottom:90px}.archive-header{padding:75px 0 60px}.archive-header h1{max-width:750px}.archive-header>p:not(.eyebrow){color:var(--muted);max-width:550px;margin:25px 0 0}.archive-label{border-top:1px solid var(--line);justify-content:space-between;padding-top:22px;display:flex}.pagination{justify-content:space-between;gap:20px;margin-top:45px;display:flex}.empty-posts{color:var(--muted);padding:30px 0}.article-top{justify-content:space-between;align-items:center;gap:20px;padding-top:32px;display:flex}.article-top .eyebrow{margin:0;font-size:9px}.article-header{border-bottom:1px solid var(--line);padding:60px 0 40px}.article-header .eyebrow{text-transform:uppercase}.article-header .eyebrow>span{margin:0 12px}.article-header h1{text-wrap:balance;max-width:970px;font-size:58px;line-height:1.12}.article-author{flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px;font-size:12px;display:flex}.article-author time,.article-author>span:last-child:not(:nth-child(2)){color:var(--muted)}.author-avatar{background:var(--soft);width:33px;height:33px;color:var(--accent);border-radius:50%;place-items:center;font:italic 21px Georgia,serif;display:grid}.article-grid{grid-template-columns:minmax(0,740px) minmax(180px,240px);gap:85px;padding:50px 0 60px;display:grid}.article-grid.without-toc{grid-template-columns:minmax(0,740px)}.article-sidebar{scrollbar-width:thin;align-self:start;max-height:calc(100vh - 80px);padding:3px 8px 5px 0;position:sticky;top:40px;overflow:auto}.blog-site .reading-copy{--tw-prose-body:var(--ink);--tw-prose-headings:var(--ink);--tw-prose-bold:var(--ink);--tw-prose-links:var(--accent);--tw-prose-links-hover:var(--accent);--tw-prose-underline:var(--line);--tw-prose-underline-hover:var(--accent);--tw-prose-code:var(--ink);--tw-prose-code-bg:var(--soft);--tw-prose-bullets:var(--accent);--tw-prose-counters:var(--muted);--tw-prose-hr:var(--line);--tw-prose-quote-borders:var(--accent);--tw-prose-captions:var(--muted);--tw-prose-th-borders:var(--line);--tw-prose-td-borders:var(--line);min-width:0;max-width:none;font:16px/1.9 var(--sans);overflow-wrap:anywhere}.blog-site .reading-copy p{margin:0 0 25px}.blog-site .reading-copy>p:first-child{margin-bottom:35px;font-size:20px;line-height:1.65}.blog-site .reading-copy :is(h1,h2,h3,h4,h5,h6){font:500 27px/1.35 var(--sans);letter-spacing:-.6px;margin:48px 0 22px;scroll-margin-top:35px}.blog-site .reading-copy :is(h3,h4,h5,h6){font-size:23px}.blog-site .reading-copy>:is(h1,h2,h3):first-child{margin-top:0}.blog-site .reading-copy :is(h1,h2,h3,h4) a{color:var(--ink);font-weight:inherit}.blog-site .reading-copy a:not(:is(h1,h2,h3,h4) a){color:var(--accent);text-underline-offset:4px;text-decoration:underline}.blog-site .reading-copy strong{color:var(--ink)}.blog-site .reading-copy blockquote{border-left:2px solid var(--accent);color:var(--accent);margin:35px 0;padding:8px 0 8px 25px;font:italic 24px/1.5 Georgia,serif}.blog-site .reading-copy blockquote p{margin:0}.blog-site .reading-copy pre{color:#e0e8e1;font:12px/1.8 var(--mono);background:#162019;border:1px solid #35473b;border-radius:6px;margin:30px 0;padding:25px;overflow:auto}.blog-site .reading-copy code{font-family:var(--mono);overflow-wrap:anywhere;border-radius:4px;font-size:.83em}.blog-site .reading-copy pre code{font-size:inherit;color:inherit;background:0 0;padding:0}.blog-site .reading-copy img{border-radius:6px;max-width:100%;height:auto;margin:30px 0}.blog-site .reading-copy :is(ul,ol){margin:25px 0;padding-left:24px}.blog-site .reading-copy li{margin:10px 0;padding-left:4px}.blog-site .reading-copy hr{border-color:var(--line);margin:40px 0}.blog-site .reading-copy table{max-width:100%;display:block;overflow-x:auto}.blog-site .reading-copy .article-end{border-top:1px solid var(--line);font:12px/1.6 var(--sans);color:var(--muted);justify-content:space-between;gap:20px;margin:50px 0 0;padding-top:25px;display:flex}.article-pagination{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 65px;display:grid}.article-pagination a{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:12px;padding:24px;display:flex}.article-pagination .eyebrow{margin:0;font-size:9px}.blog-site .token:is(.tag,.class-name,.selector,.function,.module){color:#c3b6da}.blog-site .token:is(.attr-name,.keyword,.rule,.pseudo-class,.important){color:#ade6bf}.blog-site .token:is(.attr-value,.class,.string,.property){color:#bed6a4}.blog-site .token:is(.punctuation,.attr-equals,.comment,.operator,.combinator){color:#a5b5a9}@media (width<=1100px){.site-container{padding:0 35px}.night-hero{gap:40px}.blog-site h1{font-size:49px}.terminal-code{gap:8px 10px;padding:25px 12px;font-size:10px}.night-hero .eyebrow{font-size:8px}.article-grid{grid-template-columns:minmax(0,1fr) 200px;gap:45px}.posts-grid{gap:16px}.post-card{padding:18px}.blog-site .post-card h3{font-size:23px}.post-meta{letter-spacing:0;font-size:8px}.about-section{gap:50px}.site-footer{font-size:9px}}@media (width<=760px){.site-container{padding:0 22px}.site-header{height:84px}.site-brand{gap:6px;font-size:17px}.site-brand>span{font-size:22px}.site-header nav{gap:18px;font-size:11px}.contact-link{display:none}.theme-toggle{width:30px;height:30px}.night-hero{grid-template-columns:1fr;gap:48px;padding:45px 0 25px}.blog-site h1{letter-spacing:-1.8px;font-size:clamp(39px,7.5vw,54px)}.night-hero h1{font-size:clamp(40px,11.5vw,55px)}.night-hero .eyebrow{font-size:8px}.blog-site .hero-description{font-size:14px}.desktop-break{display:none}.terminal{width:calc(100% - 10px);max-width:500px;margin:0 auto 25px}.terminal-code{gap:8px 10px;padding:22px 12px;font-size:clamp(8px,2.6vw,12px)}.terminal-sticker{font-size:19px}.writing-section{padding:48px 0 20px}.section-heading{align-items:center;gap:15px}.blog-site h2{font-size:27px}.blog-site .text-link{font-size:10px}.text-link>span{margin-left:4px}.posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-section{grid-template-columns:1fr;gap:30px;margin-top:30px;padding:40px 0 45px}.about-section h2{font-size:31px}.social-links{margin-top:22px}.site-footer{flex-wrap:wrap;gap:18px;padding:25px 0}.site-footer>div{justify-content:space-between;width:100%}.archive-header{padding:45px 0 40px}.archive-header>p:not(.eyebrow){font-size:14px}.archive-page{padding-bottom:50px}.article-header{padding:38px 0 30px}.article-header h1{font-size:44px}.article-header .eyebrow{letter-spacing:1px;font-size:9px}.article-author{gap:10px;font-size:11px}.article-top>.eyebrow{display:none}.article-grid{flex-direction:column;gap:35px;padding:30px 0 40px;display:flex}.article-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:6px;order:-1;width:100%;max-height:none;padding:23px;position:static}.blog-site .reading-copy{font-size:16px}.blog-site .reading-copy pre{padding:18px;font-size:11px}.blog-site .reading-copy :is(h1,h2,h3){font-size:24px}.blog-site .reading-copy .article-end{font-size:11px}.article-pagination{gap:15px;margin-bottom:45px}.article-pagination a{padding:18px;font-size:14px}}@media (width<=520px){.posts-grid{grid-template-columns:1fr;gap:20px}.post-card{padding:24px}.post-art{height:175px}.post-meta{font-size:9px}.blog-site .post-card h3{font-size:26px}.post-card .post-excerpt{font-size:14px}.post-card h3 a>span{opacity:1;transform:none}.section-heading{align-items:flex-end}.section-heading h2{max-width:250px;font-size:25px}.section-heading .text-link{font-size:9px}.site-header nav,.site-header{gap:12px}.site-brand{font-size:15px}.site-brand>span{font-size:19px}.article-pagination{grid-template-columns:1fr}.blog-site .eyebrow{letter-spacing:1px}}@media (prefers-reduced-motion:reduce){.blog-site *,.blog-site :before,.blog-site :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.group:hover .group-hover\:scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-50{opacity:.5}.dark\:bg-zinc-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity,1))}.dark\:bg-zinc-800\/50:is(.dark *){background-color:#27272a80}.dark\:text-zinc-100:is(.dark *){--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.dark\:text-zinc-400:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}@media (width>=640px){.sm\:-inset-x-6{left:-1.5rem;right:-1.5rem}.sm\:rounded-2xl{border-radius:1rem}}@media (width>=768px){.md\:flex-row{flex-direction:row}}
