@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/224e262ef877bfa4.2yhdohbnxjaph.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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7f11d98043fdedc9.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e6d00ff86ef9e699.1tzxx-40rxw3x.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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d8cb5ab3660140cd.3aj86x1l4-kru.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/07454f8ad8aaac57.p.1d8-5gtibtj96.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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/224e262ef877bfa4.2yhdohbnxjaph.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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7f11d98043fdedc9.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e6d00ff86ef9e699.1tzxx-40rxw3x.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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d8cb5ab3660140cd.3aj86x1l4-kru.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/07454f8ad8aaac57.p.1d8-5gtibtj96.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}.eoPIca_className{font-family:Nunito,system-ui,sans-serif;font-style:normal}.eoPIca_variable{--font-nunito:"Nunito", system-ui, sans-serif}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5ce348bf30bf5439.27spqqad3wyeo.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:500;font-display:swap;src:url(../media/4fa387ec64143e14.3f4zuumv8svu0.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:500;font-display:swap;src:url(../media/6306c77e7c8268e4.34r5yzckw0h2s.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:500;font-display:swap;src:url(../media/7d817b4c03b0c5f1.2jyz_zw3a8jit.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:500;font-display:swap;src:url(../media/bbc41e54d2fcbd21.30bdpjkrtcces.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/797e433ab948586e.p.1v5bejj26fx9h.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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5ce348bf30bf5439.27spqqad3wyeo.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:600;font-display:swap;src:url(../media/4fa387ec64143e14.3f4zuumv8svu0.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:600;font-display:swap;src:url(../media/6306c77e7c8268e4.34r5yzckw0h2s.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:600;font-display:swap;src:url(../media/7d817b4c03b0c5f1.2jyz_zw3a8jit.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:600;font-display:swap;src:url(../media/bbc41e54d2fcbd21.30bdpjkrtcces.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/797e433ab948586e.p.1v5bejj26fx9h.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}._3EtKxW_className{font-family:Geist Mono,ui-monospace,monospace;font-style:normal}._3EtKxW_variable{--font-geist-mono:"Geist Mono", ui-monospace, monospace}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fff;--ink:#151515;--muted:#686868;--quiet:#929292;--line:#dedede;--line-subtle:#ededed;--nav-border:#e9e9e9;--nav-muted:#737373;--footer-muted:#898989;--body-copy:#414141;--secondary-copy:#4c4c4c;--surface-subtle:#f5f5f5;--surface-code:#f7f7f7;--code-ink:#111;--link-underline:#aaa;--nav-shadow:0 3px 14px #00000008;--measure:1120px;--side:clamp(22px, 5.8vw, 82px);--font-reading:var(--font-nunito), system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#101010;--ink:#f2f2f2;--muted:#b0b0b0;--quiet:#989898;--line:#353535;--line-subtle:#292929;--nav-border:#303030;--nav-muted:#b0b0b0;--footer-muted:#999;--body-copy:#d0d0d0;--secondary-copy:#c2c2c2;--surface-subtle:#1d1d1d;--surface-code:#181818;--code-ink:#f0f0f0;--link-underline:#777;--nav-shadow:0 5px 20px #00000047}}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:auto;-webkit-text-size-adjust:100%;background:var(--paper);scroll-padding-top:76px}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-reading);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;margin:0;font-size:16px;line-height:1.65;display:flex}main{flex:1}img,video{max-width:100%;height:auto;display:block}button,input,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration-color:currentColor}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:10px 14px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:12px}.nav{z-index:20;border:1px solid var(--nav-border);background:var(--paper);width:min(100% - 36px,560px);box-shadow:var(--nav-shadow);border-radius:19px;margin:12px auto 0;transition:transform .82s cubic-bezier(.22,1,.36,1),opacity .56s cubic-bezier(.22,1,.36,1);position:sticky;top:12px}.nav.nav-hidden{opacity:0;pointer-events:none;transform:translateY(calc(-100% - 18px))}.nav-inner{align-items:center;gap:32px;width:100%;min-height:56px;margin:0 auto;padding:0 clamp(18px,4vw,30px);display:flex}.nav-name{letter-spacing:-.045em;margin-right:auto;font-size:15px;font-weight:700}.nav-pages{gap:clamp(20px,3vw,34px);margin:0;padding:0;list-style:none;display:flex}.nav-pages a{min-height:36px;color:var(--nav-muted);align-items:center;font-size:13px;transition:color .18s;display:inline-flex;position:relative}.nav-pages a:after{background:var(--ink);content:"";transform-origin:0;height:1px;transition:transform .18s;position:absolute;bottom:3px;left:0;right:0;transform:scaleX(0)}.nav-pages a:hover,.nav-pages a[aria-current=page]{color:var(--ink)}.nav-pages a:hover:after,.nav-pages a[aria-current=page]:after{transform:scaleX(1)}.foot{border-top:1px solid var(--line);background:var(--paper)}.foot-inner{width:min(100%, calc(var(--measure) + var(--side) * 2));padding:25px var(--side) 17px;margin:0 auto}.foot-top{justify-content:space-between;align-items:center;gap:24px;padding-bottom:23px;display:flex}.foot-name{letter-spacing:-.04em;font-size:14px;font-weight:700}.foot-links{gap:clamp(16px,2.6vw,30px);margin:0;padding:0;list-style:none;display:flex}.foot-links a{color:var(--nav-muted);font-size:12px;transition:color .16s}.foot-links a:hover{color:var(--ink)}.foot-bottom{border-top:1px solid var(--line-subtle);justify-content:space-between;gap:20px;padding-top:12px;display:flex}.foot-bottom p{color:var(--footer-muted);margin:0;font-size:11px}.site-page{width:min(100%, calc(var(--measure) + var(--side) * 2));padding:82px var(--side) 118px;margin:0 auto}.quiet-link{color:var(--muted);align-items:center;gap:9px;font-size:13px;display:inline-flex}.quiet-link span{color:var(--ink);transition:transform .18s}.quiet-link:hover{color:var(--ink)}.quiet-link:hover span{transform:translate(2px,-2px)}.home-opening{flex-direction:column;justify-content:center;align-items:flex-start;min-height:min(610px,86svh - 62px);padding:38px 0 84px;display:flex}.home-opening h1{letter-spacing:-.085em;max-width:950px;margin:0;font-size:clamp(56px,9.4vw,118px);font-weight:700;line-height:.99}.home-intro{max-width:620px;color:var(--secondary-copy);margin:34px 0 24px;font-size:clamp(17px,1.8vw,21px);line-height:1.75}.home-down{margin-top:5px}.home-story{border-top:1px solid var(--line);grid-template-columns:1.1fr .9fr;gap:clamp(36px,8vw,100px);padding:62px 0 68px;display:grid}.home-story p{max-width:520px;color:var(--body-copy);margin:0;font-size:clamp(19px,2.1vw,25px);line-height:1.65}.stack-journey{color:#f4f4f4;background:#171717;width:100vw;margin-left:calc(50% - 50vw)}.stack-console{padding:74px max(var(--side), calc((100vw - var(--measure)) / 2)) 58px}.stack-console ::selection{color:#111;background:#fff}.stack-heading{margin-bottom:48px}.stack-heading h2{letter-spacing:-.045em;width:100%;margin:0;font-size:clamp(23px,2.6vw,31px);line-height:1.28}.stack-terminal{font-family:var(--font-mono);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3.5vw,52px);display:grid}.stack-column{min-width:0}.stack-command{color:#aaa;border-bottom:1px dashed #4a4a4a;margin:0;padding:0 0 16px;font-size:11px}.stack-command:before{color:#f4f4f4;content:"$ "}.stack-history-entries,.stack-shelf-entries{grid-auto-rows:92px;margin:0;padding:6px 0 0;list-style:none;display:grid}.stack-history-entry,.stack-shelf-entry{border-bottom:1px dashed #383838;align-items:center;min-width:0;padding:13px 0;display:grid}.stack-history-entry{grid-template-columns:56px minmax(0,1fr);gap:14px}.stack-shelf-entry{border-bottom:0;grid-template-columns:minmax(0,1fr)}.stack-history-entry{position:relative}.stack-history-entry time{color:#929292;padding-top:2px;font-size:11px;line-height:1.6;transition:color .26s,text-shadow .26s}.stack-history-entry:before{color:#555;content:">";transition:color .22s,text-shadow .22s;position:absolute;top:50%;left:56px;transform:translateY(-50%)}.stack-history-entry .stack-entry-story{padding-left:14px}.stack-entry-story{color:#c9c9c9;margin:0;font-size:13px;line-height:1.6;transition:color .26s,transform .26s,text-shadow .26s}.stack-entry-story:after{content:"";padding-left:5px;display:inline-block}.stack-shelf{color:#999;border-top:1px dashed #454545;border-bottom:1px dashed #454545;flex-wrap:wrap;place-content:center;align-items:center;gap:8px;min-width:0;min-height:64px;padding:9px 10px;transition:border-color .32s cubic-bezier(.22,1,.36,1),background .32s cubic-bezier(.22,1,.36,1),color .32s cubic-bezier(.22,1,.36,1);display:flex}.stack-tech{flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.stack-tech-icon{flex:none;width:26px;height:26px;transition:transform .26s}.stack-tech-icon.icon-native,.stack-tech-icon.icon-rust{width:27px;height:27px}.stack-history-entry.is-active:before,.stack-history-entry.is-active time{color:#fff;text-shadow:0 0 9px #ffffff6b}.stack-history-entry.is-active .stack-entry-story{color:#fff;text-shadow:0 0 12px #ffffff1a;transform:translate(2px)}.stack-history-entry.is-active .stack-entry-story:after{content:"_";animation:1s steps(2,start) infinite terminal-cursor-blink}.stack-shelf-entry.is-active .stack-shelf{color:#f0f0f0;background:linear-gradient(90deg,#ffffff0d,#0000 80%);border-color:#a9a9a9}.stack-shelf-entry.is-active .stack-tech-icon{transform:translateY(-1px)}@keyframes terminal-cursor-blink{to{opacity:0}}.home-writing-copy h2{letter-spacing:-.055em;margin:0;font-size:clamp(24px,3vw,34px);line-height:1.2}.home-writing-copy p{max-width:370px;color:var(--muted);margin:13px 0 0;font-size:15px;line-height:1.7}.home-writing{border-bottom:1px solid var(--line);padding:70px 0 74px}.home-writing-copy{justify-content:space-between;align-items:center;gap:28px;margin-bottom:27px;display:flex}.home-writing-copy>div>p{max-width:420px;color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.65}.home-writing-copy>.quiet-link{flex:none}.home-note-list{border-top:1px solid var(--line)}.home-note-row{border-bottom:1px solid var(--line);padding:19px 0 20px}.home-note-row>a{letter-spacing:-.05em;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:clamp(23px,3.2vw,34px);font-weight:700;line-height:1.22;display:block;overflow:hidden}.home-note-row>a:hover{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.home-contact{justify-content:space-between;align-items:end;gap:30px;padding-top:72px;display:flex}.home-contact p{letter-spacing:-.04em;max-width:550px;margin:0;font-size:clamp(23px,3vw,35px);line-height:1.3}.home-email,.contact-email{border-bottom:1px solid var(--ink);white-space:nowrap;align-items:center;gap:10px;padding-bottom:5px;font-size:15px;display:inline-flex}.home-email span,.contact-email span{transition:transform .18s}.home-email:hover span,.contact-email:hover span{transform:translate(3px,-3px)}.build-page{padding-top:70px}.build-opening{max-width:920px;padding:0 0 58px}.build-opening h1{letter-spacing:-.075em;max-width:880px;margin:0;font-size:clamp(54px,8vw,94px);line-height:.99}.build-opening>p{max-width:520px;color:var(--muted);margin:22px 0 0;font-size:clamp(16px,1.8vw,19px);line-height:1.65}.build-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.build-piece{min-width:0;padding:23px 22px 27px;scroll-margin-top:82px;display:block}.build-piece+.build-piece{border-left:1px solid var(--line)}.build-piece:first-child{padding-left:0}.build-piece:last-child{padding-right:0}.build-piece-heading{flex-wrap:wrap;align-items:baseline;gap:8px 14px;display:flex}.build-piece h2{letter-spacing:-.06em;margin:0;font-size:clamp(27px,3vw,36px);line-height:1.12}.build-status{color:var(--quiet);font:11px/1.5 var(--font-mono)}.build-piece-story{max-width:760px;color:var(--secondary-copy);margin:9px 0 0;font-size:15px;line-height:1.7}@media (max-width:900px){.build-list{grid-template-columns:minmax(0,1fr)}.build-piece,.build-piece:first-child,.build-piece:last-child{padding:20px 0 23px}.build-piece+.build-piece{border-top:1px solid var(--line);border-left:0}}.work-live-section{border-top:1px solid var(--line);margin-top:78px;padding-top:27px}.work-section-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px;display:flex}.work-section-heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(26px,3.3vw,38px);line-height:1.15}.work-section-heading>a,.work-heading-links a{color:var(--muted);flex:none;font-size:12px}.work-section-heading>a:hover,.work-heading-links a:hover,.package-source:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.work-heading-links{flex-wrap:wrap;gap:8px 20px;display:flex}.github-section-title{flex-wrap:wrap;align-items:baseline;gap:8px 14px;display:flex}.github-section-title>span{color:var(--quiet);font:10px/1.5 var(--font-mono)}.package-list,.github-repo-list{border-top:1px solid var(--line)}.package-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:22px 0;display:grid}.package-copy{min-width:0}.package-name-line,.github-repo-name-line{flex-wrap:wrap;align-items:baseline;gap:8px 14px;display:flex}.package-name-line h3,.github-repo-name-line h3{letter-spacing:-.035em;margin:0;font-size:21px;line-height:1.3}.package-name-line h3 a:hover,.github-repo-name-line h3 a:hover{text-underline-offset:4px;text-decoration:underline}.package-registry,.package-version,.repo-archived{color:var(--quiet);font:10px/1.5 var(--font-mono)}.package-version{color:var(--ink)}.package-copy>p,.github-repo-copy>p{color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.6}.github-repo-copy>p{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.package-install{background:var(--surface-subtle);color:var(--muted);font:11px/1.5 var(--font-mono);margin-top:11px;padding:4px 7px;display:inline-block}.package-source{color:var(--quiet);margin-left:12px;font-size:11px;display:inline-block}.package-moved-page{align-items:center;min-height:70vh;display:flex}.package-moved-opening{max-width:620px;padding-bottom:36px}.package-moved-opening h1{letter-spacing:-.075em;margin:0;font-size:clamp(48px,7vw,78px);line-height:1}.package-moved-opening p{max-width:480px;color:var(--muted);margin:20px 0;font-size:17px;line-height:1.7}.package-metrics{text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:20px 28px;margin:0;display:flex}.package-metrics>div{min-width:95px}.package-metrics dt{color:var(--quiet);font-size:10px}.package-metrics dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:17px;font-weight:700}.github-repo-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:25px;padding:15px 0;display:grid}.github-repo-name-line h3{font-size:16px}.github-repo-meta{color:var(--muted);font:10px/1.5 var(--font-mono);text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:7px 15px;display:flex}.repo-archived{border-left:1px solid var(--line);padding-left:9px}.github-unavailable{color:var(--muted);margin:0;padding:16px 0;font-size:13px}.github-unavailable a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.journal-opening{padding-bottom:58px;display:block}.journal-opening h1,.contact-opening h1{letter-spacing:-.08em;margin:0;font-size:clamp(58px,9vw,104px);line-height:.98}.journal-intro{max-width:500px;margin-top:18px}.journal-intro p{color:var(--secondary-copy);margin:0 0 12px;font-size:18px;line-height:1.7}.journal-list{border-top:1px solid var(--line)}.journal-entry{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 52px;align-items:center;gap:30px;padding:28px 0 27px;display:grid}.journal-entry h2{letter-spacing:-.045em;max-width:760px;margin:0;font-size:clamp(21px,2.8vw,29px);line-height:1.25}.journal-entry h2 a:hover{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.journal-entry-main>p{max-width:720px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:9px 0 13px;font-size:14px;line-height:1.65;display:-webkit-box;overflow:hidden}.journal-entry-meta{color:var(--quiet);flex-wrap:wrap;align-items:center;gap:9px;font-size:11px;display:flex}.journal-tag{border-left:1px solid var(--line);padding-left:8px}.journal-entry .copy{justify-self:end}.journal-empty{color:var(--muted);padding:28px 0}.essay-page{max-width:880px}.essay-opening{max-width:740px;padding-bottom:48px}.essay-back{color:var(--muted);gap:8px;margin-bottom:34px;font-size:13px;display:inline-flex}.essay-back:hover{color:var(--ink)}.essay-opening h1{letter-spacing:-.07em;margin:0;font-size:clamp(42px,7vw,76px);font-weight:700;line-height:1.05}.essay-meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:22px;font-size:12px;display:flex}.essay-prose{max-width:680px;color:var(--body-copy);font-size:17px;line-height:1.85}.essay-prose p{margin:0 0 1.4em}.essay-prose h2,.essay-prose h3,.essay-prose h4{color:var(--ink);letter-spacing:-.035em;font-weight:700;line-height:1.3}.essay-prose h2{border-top:1px solid var(--line);margin:2.4em 0 .7em;padding-top:18px;font-size:28px}.essay-prose h3{margin:2em 0 .6em;font-size:21px}.essay-prose h4{margin:1.8em 0 .6em;font-size:17px}.essay-prose a{text-decoration:underline;-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline);text-underline-offset:3px}.essay-prose a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.essay-prose strong{color:var(--ink);font-weight:700}.essay-prose ul,.essay-prose ol{margin:0 0 1.4em;padding-left:1.4em}.essay-prose li{margin:.35em 0;padding-left:4px}.essay-prose blockquote{border-left:2px solid var(--line);color:var(--muted);margin:1.8em 0;padding-left:20px}.essay-prose blockquote p:last-child{margin-bottom:0}.essay-prose code{background:var(--surface-subtle);color:var(--code-ink);font-family:var(--font-mono);padding:2px 5px;font-size:.83em}.essay-prose pre{border:1px solid var(--line);background:var(--surface-code);max-width:100%;font:13px/1.7 var(--font-mono);margin:1.8em 0;padding:18px;overflow-x:auto}.essay-prose pre code{width:max-content;min-width:100%;font-size:inherit;background:0 0;padding:0;display:block}.essay-prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.essay-prose img{border:1px solid var(--line);margin:1.8em 0}.essay-prose table{border-collapse:collapse;max-width:100%;margin:1.8em 0;font-size:14px;display:block;overflow-x:auto}.essay-prose th,.essay-prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 14px 8px 0}.essay-prose th{color:var(--ink)}.essay-prose .heading-anchor{color:var(--quiet);opacity:0;margin-left:8px;font-size:.7em}.essay-prose h2:hover .heading-anchor,.essay-prose h3:hover .heading-anchor,.essay-prose .heading-anchor:focus{opacity:1}.essay-prose .hljs-keyword,.essay-prose .hljs-selector-tag,.essay-prose .hljs-literal{color:var(--muted)}.essay-prose .hljs-string,.essay-prose .hljs-attr,.essay-prose .hljs-title{color:var(--code-ink);font-weight:700}.essay-prose .hljs-comment,.essay-prose .hljs-meta{color:var(--quiet)}.essay-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;max-width:680px;margin-top:64px;padding-top:20px;display:flex}.essay-footer>p{color:var(--muted);margin:0;font-size:14px}.essay-actions{align-items:center;gap:22px;display:flex}.contact-page{max-width:900px}.contact-opening{max-width:700px;padding:35px 0 80px}.contact-opening>p{max-width:550px;color:var(--secondary-copy);margin:28px 0 24px;font-size:19px;line-height:1.75}.contact-elsewhere{border-top:1px solid var(--line)}.contact-elsewhere>a{border-bottom:1px solid var(--line);grid-template-columns:145px 1fr 20px;align-items:center;gap:22px;min-height:66px;display:grid}.contact-elsewhere>a span:first-child{font-size:15px;font-weight:700}.contact-elsewhere>a span:nth-child(2){color:var(--muted);font-size:14px}.contact-elsewhere>a span:last-child{justify-self:end;transition:transform .18s}.contact-elsewhere>a:hover span:last-child{transform:translate(2px,-2px)}.contact-return{color:var(--muted);margin:32px 0 0;font-size:14px}.contact-return a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline);text-underline-offset:3px}.missing-page{flex-direction:column;justify-content:center;align-items:flex-start;min-height:65vh;display:flex}.missing-code{color:var(--quiet);font:13px var(--font-mono);margin:0 0 10px}.missing-page h1{letter-spacing:-.07em;margin:0;font-size:clamp(48px,8vw,80px);line-height:1.05}.missing-page>p:not(.missing-code){color:var(--muted);margin:18px 0 24px}.missing-page>div{flex-wrap:wrap;gap:22px;display:flex}.missing-page>div a{border-bottom:1px solid var(--link-underline);padding-bottom:3px;font-size:14px}.copy{color:var(--muted);font:12px var(--font-reading);cursor:pointer;background:0 0;border:0;padding:0}.copy:hover,.copy[data-copied=true]{color:var(--ink)}.vh{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.scroll-word{opacity:0;transition:opacity 1.6s cubic-bezier(.22,1,.36,1),transform 2s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--word-index,0) * 36ms);display:inline-block;transform:translateY(.58em)}.words-revealed .scroll-word{opacity:1;transform:translate(0,0)}@media (prefers-reduced-motion:reduce){.scroll-word{opacity:1;transition:none;transform:none}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}.lenis.lenis-scrolling iframe{pointer-events:none}@media (max-width:700px){.site-page{padding-top:58px;padding-bottom:84px}.foot-top{flex-direction:column;align-items:flex-start;gap:13px;padding-bottom:18px}.foot-top nav{width:100%}.foot-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 8px;display:grid}.foot-links a{align-items:center;min-height:36px;font-size:11px;display:flex}.foot-bottom{flex-direction:column;align-items:flex-start;gap:4px}.home-opening{min-height:min(580px,80svh);padding-block:20px 68px}.home-opening h1{font-size:clamp(53px,11vw,78px)}.home-intro{margin-top:26px;font-size:17px}.home-story{grid-template-columns:1fr;gap:22px;padding-block:42px}.home-story p{max-width:600px;font-size:20px}.build-page{padding-top:48px}.build-opening{padding-bottom:36px}.build-opening h1{font-size:clamp(50px,11vw,74px)}.build-opening>p{margin-top:16px;font-size:16px}.build-piece,.build-piece:first-child,.build-piece:last-child{padding-block:20px 23px}.build-piece-heading{gap:7px 12px}.build-piece h2{font-size:clamp(30px,8vw,42px)}.build-piece-story{margin-top:12px;font-size:15px}.work-live-section{margin-top:56px;padding-top:23px}.work-section-heading{align-items:flex-start;margin-bottom:16px}.work-section-heading h2{font-size:28px}.package-row,.github-repo-row{grid-template-columns:minmax(0,1fr);gap:12px;padding-block:17px}.package-metrics{text-align:left;justify-content:flex-start;gap:10px 22px}.package-metrics>div{min-width:100px}.github-repo-meta{text-align:left;justify-content:flex-start}.stack-console{padding-block:52px 42px}.stack-heading{margin-bottom:36px}.stack-terminal{grid-template-columns:minmax(0,1fr);gap:30px}.stack-history-entries,.stack-shelf-entries{grid-auto-rows:auto}.stack-history-entry{grid-template-columns:48px minmax(0,1fr);gap:13px;min-height:76px;padding-block:13px}.stack-shelf-entry{min-height:76px;padding-block:11px}.stack-history-entry:before{left:48px}.stack-history-entry .stack-entry-story{padding-left:13px}.stack-entry-story{font-size:12px;line-height:1.65}.stack-shelf{gap:5px;min-height:54px;padding:7px 8px}.stack-tech{width:28px;height:28px}.stack-tech-icon{width:23px;height:23px}.stack-tech-icon.icon-native,.stack-tech-icon.icon-rust{width:24px;height:24px}.home-writing{padding-block:52px}.home-writing-copy{align-items:flex-start}.home-writing-copy>.quiet-link{align-self:flex-end}.home-note-row{padding-block:17px}.home-contact{flex-direction:column;align-items:flex-start;padding-top:52px}.journal-opening{padding-bottom:42px}.journal-opening h1{font-size:clamp(56px,14vw,78px)}.journal-intro p{font-size:16px}.journal-entry{grid-template-columns:minmax(0,1fr) 42px;gap:14px;padding-block:22px}.journal-entry h2{font-size:21px}.journal-entry .copy{font-size:11px}.contact-opening{padding-top:18px;padding-bottom:58px}.contact-opening h1{font-size:clamp(54px,12vw,76px)}.contact-opening>p{font-size:17px}.contact-elsewhere>a{grid-template-columns:95px 1fr 16px;gap:12px;min-height:62px}.contact-elsewhere>a span:nth-child(2){font-size:12px}.essay-page{padding-top:50px}.essay-opening{padding-bottom:34px}.essay-opening h1{font-size:clamp(38px,9vw,60px)}.essay-prose{font-size:16px}.essay-prose h2{font-size:24px}.essay-footer{flex-direction:column;align-items:flex-start}}@media (max-width:430px){.nav{border-radius:16px;width:calc(100% - 24px);margin-top:8px;top:8px}.nav-inner{min-height:52px}.nav-pages{gap:18px}.nav-pages a{font-size:12px}.home-opening h1{font-size:clamp(49px,12vw,60px)}.essay-actions{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
