@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}:root{--color-bg:#f0ece3;--color-surface:#e5ded3;--color-ink:#170f0e;--color-teal:#1a4d34;--color-teal-light:#2e6b50;--color-teal-pale:#5a8a72;--color-text:#170f0e;--color-link:var(--color-teal-light);--color-link-hover:var(--color-ink);--color-focus:var(--color-teal-light);--color-border:var(--color-teal-pale);--color-slate:#7a9990;--font-sans:"DM Sans", system-ui, -apple-system, sans-serif;--font-mono:"DM Mono", "Fira Mono", "Cascadia Code", monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:2rem;--space-xl:4rem;--space-2xl:8rem;--measure:65ch;--gutter:1rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#131110;--color-surface:#1e1a17;--color-ink:#f0ece3;--color-teal:#3d8a5f;--color-teal-light:#68b389;--color-teal-pale:#4a7a62;--color-text:#ede8df;--color-slate:#6a8a80}}:root[data-theme=dark]{--color-bg:#131110;--color-surface:#1e1a17;--color-ink:#f0ece3;--color-teal:#3d8a5f;--color-teal-light:#68b389;--color-teal-pale:#4a7a62;--color-text:#ede8df;--color-slate:#6a8a80}::selection{background:var(--color-teal);color:var(--color-bg)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background-color:var(--color-bg);font-size:16px}body{color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;font-size:1rem;line-height:1.6;overflow-x:hidden}img,video{max-width:100%;display:block}a{color:var(--color-link);text-decoration:none;transition:color .2s}a:hover{color:var(--color-link-hover)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:2px}.prose{max-width:var(--measure)}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--color-text);margin-top:var(--space-xl);margin-bottom:var(--space-md);letter-spacing:-.02em;font-weight:700;line-height:1.2}.prose h1{margin-top:0;font-size:clamp(1.75rem,5vw,2.75rem)}.prose h2{letter-spacing:-.01em;font-size:clamp(1.2rem,3vw,1.6rem)}.prose h3{letter-spacing:0;font-size:1.1rem}.prose p{margin-bottom:var(--space-md);color:var(--color-text)}.prose strong{color:var(--color-text);font-weight:600}.prose em{color:var(--color-teal-light);font-style:italic}.prose a{color:var(--color-link);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--color-link) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--color-link) 40%, transparent);transition:color .2s,text-decoration-color .2s}.prose a:hover{color:var(--color-text);-webkit-text-decoration-color:var(--color-text);text-decoration-color:var(--color-text)}.prose a:focus-visible{outline-color:var(--color-focus);outline-offset:2px;border-radius:1px}.prose ul,.prose ol{margin-bottom:var(--space-md);padding-left:var(--space-lg)}.prose li{margin-bottom:var(--space-xs)}.prose hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-xl) 0}.prose code{font-family:var(--font-mono);background:var(--color-surface);color:var(--color-teal-light);border-radius:3px;padding:.1em .4em;font-size:.875em}.prose pre{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-md);margin-bottom:var(--space-md);border-radius:6px;overflow-x:auto}.prose pre code{color:var(--color-text);background:0 0;padding:0}.prose blockquote{border-left:2px solid var(--color-teal-light);padding-left:var(--space-md);color:var(--color-teal-light);margin-bottom:var(--space-md);font-style:italic}.prose .pullquote{border-left:none;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding-left:0;padding:var(--space-lg) 0;margin:var(--space-xl) 0;letter-spacing:-.01em;text-align:center;font-size:clamp(1.15rem,2.5vw,1.4rem);font-weight:500}.prose .pullquote p{color:var(--color-teal-light);margin-bottom:0}.brand-mark{top:var(--space-md);left:var(--space-md);z-index:100;color:var(--color-text);font-family:Manufacturing Consent,serif;font-size:clamp(2.25rem,5vw,3rem);line-height:1;transition:color .2s;position:fixed}.brand-mark:hover{color:var(--color-teal)}.brand-mark:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:3px}.writing-list-page{max-width:calc(var(--measure) + 2 * var(--gutter));padding:var(--space-xl) var(--gutter);margin:0 auto}.writing-list-page h1{color:var(--color-teal-light);letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--space-xl);font-size:.75rem;font-weight:500}.post-list{gap:var(--space-lg);flex-direction:column;list-style:none;display:flex}.post-item a{color:inherit;display:block}.post-item a:hover .post-title{color:var(--color-teal-light)}.post-item a:focus-visible{outline:2px solid var(--color-focus);outline-offset:6px;border-radius:2px}.post-title{color:var(--color-text);letter-spacing:-.01em;margin-bottom:var(--space-xs);font-size:clamp(1.1rem,2.5vw,1.35rem);font-weight:600;transition:color .2s}.post-meta{font-family:var(--font-mono);color:var(--color-teal-light);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:.75rem}.post-description{color:var(--color-teal-light);margin-top:var(--space-xs);font-size:.9375rem}.writing-post-page{max-width:calc(var(--measure) + 2 * var(--gutter));padding:var(--space-xl) var(--gutter) var(--space-2xl);margin:0 auto}.post-header{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.post-breadcrumb{font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-teal);margin-bottom:var(--space-md);font-size:.875rem;text-decoration:none;transition:color .15s;display:inline-block}.post-breadcrumb:hover{color:var(--color-text)}.post-header h1{letter-spacing:-.02em;margin-bottom:var(--space-sm);font-size:clamp(1.75rem,5vw,2.75rem);font-weight:700;line-height:1.15}.post-header .post-date{font-family:var(--font-mono);color:var(--color-teal-light);letter-spacing:.02em;font-size:.75rem}::view-transition-old(*){animation:none}::view-transition-new(*){animation:none}@keyframes vt-fade-out{to{opacity:0;filter:blur(16px);transform:scale(.88)}}@keyframes vt-fade-in{0%{opacity:0;filter:blur(16px);transform:scale(1.12)}}@media (pointer:coarse){::view-transition-old(root){animation:.28s ease-in forwards vt-fade-out}::view-transition-new(root){animation:.38s ease-out both vt-fade-in}}@media (pointer:coarse) and (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}.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}@font-face{font-family:DM Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-italic-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}@font-face{font-family:DM Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-italic-latin.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:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-normal-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}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-normal-latin.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:DM Sans;font-style:italic;font-weight:100 700;font-display:swap;src:url(/fonts/dm-sans-italic-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}@font-face{font-family:DM Sans;font-style:italic;font-weight:100 700;font-display:swap;src:url(/fonts/dm-sans-italic-latin.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:DM Sans;font-style:normal;font-weight:100 700;font-display:swap;src:url(/fonts/dm-sans-normal-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}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 700;font-display:swap;src:url(/fonts/dm-sans-normal-latin.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:Manufacturing Consent;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manufacturing-consent-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}@font-face{font-family:Manufacturing Consent;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manufacturing-consent-latin.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}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}#custom-cursor[data-astro-cid-z4jru4n3]{display:none}@media (pointer:fine){#custom-cursor[data-astro-cid-z4jru4n3]{z-index:9999;pointer-events:none;will-change:transform;opacity:0;display:block;position:fixed;top:0;left:0}#custom-cursor-dot[data-astro-cid-z4jru4n3]{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);background:var(--color-teal);width:13px;height:13px;color:var(--color-bg);justify-content:center;align-items:center;transition:width .35s cubic-bezier(.34,1.56,.64,1),height .35s cubic-bezier(.34,1.56,.64,1),transform .35s cubic-bezier(.34,1.56,.64,1);display:flex;transform:translate(-50%,-50%)}#custom-cursor[data-astro-cid-z4jru4n3].hovering #custom-cursor-dot[data-astro-cid-z4jru4n3]{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);width:36px;height:36px;transform:translate(-50%,calc(-50% - 4px))}.cursor-icon[data-astro-cid-z4jru4n3]{opacity:0;flex-shrink:0;transition:opacity .2s,transform .35s cubic-bezier(.34,1.56,.64,1);transform:scale(.5)rotate(0)}.cursor-icon-audio[data-astro-cid-z4jru4n3]{display:none}#custom-cursor[data-astro-cid-z4jru4n3].hovering .cursor-icon-arrow[data-astro-cid-z4jru4n3]{opacity:1;transform:scale(1)rotate(0)}#custom-cursor[data-astro-cid-z4jru4n3].hovering-back .cursor-icon-arrow[data-astro-cid-z4jru4n3]{opacity:1;transform:scale(1)rotate(-135deg)}#custom-cursor[data-astro-cid-z4jru4n3].hovering-audio .cursor-icon-arrow[data-astro-cid-z4jru4n3]{display:none}#custom-cursor[data-astro-cid-z4jru4n3].hovering-audio .cursor-icon-audio[data-astro-cid-z4jru4n3]{opacity:1;display:block;transform:scale(1)}.cursor-audio-slash[data-astro-cid-z4jru4n3]{display:block}body:has(#mute-btn.is-muted) #custom-cursor[data-astro-cid-z4jru4n3].hovering-audio .cursor-audio-slash[data-astro-cid-z4jru4n3],.cursor-icon-sun[data-astro-cid-z4jru4n3],.cursor-icon-moon[data-astro-cid-z4jru4n3],#custom-cursor[data-astro-cid-z4jru4n3].hovering-theme .cursor-icon-arrow[data-astro-cid-z4jru4n3]{display:none}#custom-cursor[data-astro-cid-z4jru4n3].hovering-theme .cursor-icon-moon[data-astro-cid-z4jru4n3]{opacity:1;display:block;transform:scale(1)}:root[data-theme=dark] #custom-cursor[data-astro-cid-z4jru4n3].hovering-theme .cursor-icon-moon[data-astro-cid-z4jru4n3]{display:none}:root[data-theme=dark] #custom-cursor[data-astro-cid-z4jru4n3].hovering-theme .cursor-icon-sun[data-astro-cid-z4jru4n3]{opacity:1;display:block;transform:scale(1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) #custom-cursor[data-astro-cid-z4jru4n3].hovering-theme .cursor-icon-moon[data-astro-cid-z4jru4n3]{display:none}:root:not([data-theme=light]) #custom-cursor[data-astro-cid-z4jru4n3].hovering-theme .cursor-icon-sun[data-astro-cid-z4jru4n3]{opacity:1;display:block;transform:scale(1)}}}#mute-btn[data-astro-cid-z4jru4n3]{z-index:20;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-teal-light);cursor:none;opacity:0;pointer-events:none;background:0 0;border:none;padding:0;font-size:.7rem;transition:color .15s,opacity .4s;position:fixed;bottom:clamp(2rem,6vw,4rem);right:clamp(1.25rem,5vw,3.5rem)}#mute-btn[data-astro-cid-z4jru4n3].visible{opacity:1;pointer-events:auto}#mute-btn[data-astro-cid-z4jru4n3]:hover{color:var(--color-text)}#theme-btn[data-astro-cid-z4jru4n3]{top:calc(var(--space-md) + clamp(1.125rem, 2.5vw, 1.5rem) - .5rem);z-index:101;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-teal-light);cursor:none;background:0 0;border:none;padding:0;font-size:.7rem;transition:color .15s;position:fixed;right:clamp(1.25rem,5vw,3.5rem)}#theme-btn[data-astro-cid-z4jru4n3]:hover{color:var(--color-text)}.page-edge-gradient[data-astro-cid-z4jru4n3]{z-index:10;pointer-events:none;position:fixed;left:0;right:0}.page-edge-gradient--top[data-astro-cid-z4jru4n3]{background:linear-gradient(to bottom, var(--color-bg) 0%, transparent 100%);height:5rem;top:0}.page-edge-gradient--bottom[data-astro-cid-z4jru4n3]{background:linear-gradient(to top, var(--color-bg) 0%, transparent 100%);height:5rem;bottom:0}
