@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/ca8956476e4b15e1-s.2of77tvarlxv9.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:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/0ada71b763703d9d-s.0_hkuyklry9k2.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:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/2b7d3311b69a4dca-s.p.32vcy6_pq4pnh.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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6632a144c419935f-s.38msdipe8z81f.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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/7b27d9904b50e540-s.30bhvdlsk8sra.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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d38f3bca7db33566-s.p.3se9ogqst-d6c.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:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_b10ece35-module__8kZwNG__className{font-family:Newsreader,Newsreader Fallback}.newsreader_b10ece35-module__8kZwNG__variable{--font-serif:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_964e2806-module__h6Ln4a__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_964e2806-module__h6Ln4a__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--paper:#fcfbf8;--ink:#0b0b0a;--ink-2:#5c5852;--ink-3:#9a958c;--rule:#0b0b0a24;--back:#141311;--back-ink:#f1efe9;--back-ink-2:#b3ada2;--back-ink-3:#78736a;--back-rule:#f1efe929;--serif:var(--font-serif), "Newsreader", "Iowan Old Style", Georgia, "Times New Roman", serif;--mono:var(--font-mono), "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--measure:34rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#141311;--ink:#f1efe9;--ink-2:#b3ada2;--ink-3:#78736a;--rule:#f1efe929;--back:#fcfbf8;--back-ink:#0b0b0a;--back-ink-2:#5c5852;--back-ink-3:#9a958c;--back-rule:#0b0b0a24;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#141311;--ink:#f1efe9;--ink-2:#b3ada2;--ink-3:#78736a;--rule:#f1efe929;--back:#fcfbf8;--back-ink:#0b0b0a;--back-ink-2:#5c5852;--back-ink-3:#9a958c;--back-rule:#0b0b0a24;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0;font-size:18px;line-height:1.5;overflow-x:hidden}body:has(.has-reveal){background:var(--back)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline-offset:3px;outline:2px solid}.wrap{width:min(100% - 3rem,62rem);margin:0 auto}.col{width:min(100% - 3rem,36rem);margin:0 auto}.skip{background:var(--ink);color:var(--paper);font-family:var(--mono);padding:.5rem .75rem;font-size:.8rem;position:absolute;top:0;left:-999px}.skip:focus{z-index:10;top:1rem;left:1rem}.site-head{grid-template-columns:1fr auto 1fr;align-items:center;column-gap:1.75rem;padding:1.6rem 0 0;display:grid}.site-head .site-nav{justify-content:center}.site-head .theme{justify-self:end}.brand{letter-spacing:-.01em;align-items:center;gap:.55rem;min-height:44px;font-size:1.35rem;font-weight:500;display:inline-flex}.brand .tile{background:var(--ink);width:1.15rem;height:1.15rem;color:var(--paper);font-family:var(--mono);place-items:center;font-size:.68rem;font-weight:500;line-height:1;display:inline-grid;transform:translateY(-1px)}.site-nav{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:0 1.75rem;font-size:1rem;display:flex}.site-nav a{border-bottom:1px solid #0000;align-items:center;min-height:44px;display:inline-flex}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}.site-nav a:hover{border-bottom-color:var(--ink)}.theme{appearance:none;color:var(--ink-2);cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;margin:0 -12px 0 0;padding:0;display:inline-grid}.theme:hover{color:var(--ink)}.theme svg{width:.95rem;height:.95rem}.theme .moon,:root[data-theme=dark] .theme .sun{display:none}:root[data-theme=dark] .theme .moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme .sun{display:none}:root:not([data-theme=light]) .theme .moon{display:block}}.essay{max-width:var(--measure);gap:1.5rem;margin:clamp(4rem,12vh,8rem) auto 0;display:grid}.essay p{text-wrap:pretty;margin:0;font-size:1.4rem;font-weight:400;line-height:1.42}.front{z-index:2;background:var(--paper);padding-bottom:clamp(6rem,16vh,11rem);position:relative}.back{z-index:2;background:var(--back);color:var(--back-ink);flex-direction:column;justify-content:space-between;gap:clamp(3rem,8vh,5rem);padding:clamp(4rem,12vh,7rem) 0 2rem;display:flex;position:relative}.back.lead{z-index:1;padding-bottom:clamp(4rem,12vh,7rem)}@media (min-width:720px) and (min-height:640px){.front{min-height:100dvh;box-shadow:0 24px 60px #00000040}.back.lead{height:100dvh;position:sticky;top:0;bottom:0}.back:not(.lead){min-height:100dvh;box-shadow:0 -24px 60px #00000059}}.label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0 0 1.25rem;font-size:.72rem;font-weight:400}.back .label{color:var(--back-ink-3)}.list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.back .list{border-top-color:var(--back-rule)}.row{border-bottom:1px solid var(--rule);grid-template-columns:6rem minmax(0,1fr) auto;align-items:baseline;column-gap:2rem;padding:.85rem 0;display:grid}.back .row{border-bottom-color:var(--back-rule)}.list.products .row{grid-template-columns:minmax(0,1fr) auto}.row .when,.row .where{font-family:var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.72rem}.back .row .when,.back .row .where{color:var(--back-ink-3)}.row .what{overflow-wrap:anywhere;font-size:1.15rem;line-height:1.35}.row .what a{border-bottom:1px solid #0000}.row .what a:hover{border-bottom-color:currentColor}.row .where a{color:var(--ink-2);border-bottom:1px solid var(--rule)}.back .row .where a{color:var(--back-ink-2);border-bottom-color:var(--back-rule)}.row .where a:hover{color:var(--ink);border-bottom-color:var(--ink)}.back .row .where a:hover{color:var(--back-ink);border-bottom-color:var(--back-ink)}.more{min-height:44px;font-family:var(--mono);color:var(--ink-2);border-bottom:1px solid var(--rule);align-items:center;margin-top:.5rem;font-size:.78rem;display:inline-flex}.back .more{color:var(--back-ink-2);border-bottom-color:var(--back-rule)}.more:hover{color:var(--ink);border-bottom-color:var(--ink)}.back .more:hover{color:var(--back-ink);border-bottom-color:var(--back-ink)}.page-title{max-width:var(--measure);text-wrap:pretty;margin:clamp(3rem,10vh,6rem) 0 2rem;font-size:1.4rem;font-weight:400;line-height:1.42}.prose{max-width:var(--measure);gap:1.25rem;display:grid}.prose p{text-wrap:pretty;margin:0;font-size:1.15rem;line-height:1.5}.prose h2{margin:1rem 0 0;font-size:1.15rem;font-weight:500;line-height:1.4}.prose .when{font-family:var(--mono);color:var(--ink-3);font-size:.72rem}.prose a{border-bottom:1px solid var(--rule)}.prose a:hover{border-bottom-color:var(--ink)}.prose ul,.prose ol{gap:.35rem;margin:0;padding-left:1.4rem;display:grid}.prose li{text-wrap:pretty;font-size:1.15rem;line-height:1.5}.prose li::marker{font-family:var(--mono);color:var(--ink-3);font-size:.8rem}.site-foot{border-top:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:start;gap:2rem;margin-top:clamp(3rem,8vh,5rem);padding-top:2rem;display:grid}.back .site-foot{border-top-color:var(--back-rule)}.site-foot h3{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .6rem;font-size:.68rem;font-weight:400}.back .site-foot h3{color:var(--back-ink-3)}.site-foot ul{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.site-foot li{font-size:1rem;line-height:1.4}.site-foot li a{border-bottom:1px solid #0000;align-items:center;min-height:32px;display:inline-flex}.site-foot li a:hover{border-bottom-color:currentColor}.site-foot .mark{text-align:right;letter-spacing:-.01em;justify-self:end;font-size:1.35rem;font-weight:500}.site-foot .fine{font-family:var(--mono);color:var(--ink-3);grid-column:1/-1;margin:0;font-size:.72rem}.back .site-foot .fine{color:var(--back-ink-3)}@media (max-width:720px){body{font-size:17px}.site-nav{gap:0 1.1rem;font-size:.95rem}.site-head{grid-template-columns:1fr auto}.site-head .site-nav{grid-area:2/1/auto/-1;justify-content:start}.essay p,.page-title{font-size:1.25rem}.row{grid-template-columns:minmax(0,1fr);row-gap:.2rem}.site-foot{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}.site-foot .mark{text-align:left;grid-column:1/-1;justify-self:start}}@media (prefers-reduced-motion:no-preference){.site-nav a,.row .what a,.row .where a,.more,.site-foot a,.prose a{transition:border-color .16s,color .16s}}
.paper{width:min(100% - 3rem,40rem);margin:0 auto}.paper-head{padding:clamp(3.5rem,10vh,6rem) 0 clamp(2.5rem,6vh,4rem)}.kicker{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;gap:1rem;font-size:.72rem;display:flex}.paper-head h1{letter-spacing:-.02em;text-wrap:balance;margin:1.5rem 0 1rem;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:400;line-height:1.15}.deck{max-width:32rem;color:var(--ink-2);text-wrap:pretty;margin:0;font-size:1.2rem;line-height:1.45}.field{width:100%;height:auto;color:var(--ink-3);margin:2.5rem 0 0;display:block}.byline{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-3);justify-content:space-between;gap:1rem;margin-top:1.6rem;padding-top:1rem;font-size:.72rem;display:flex}.paper p,.paper li{text-wrap:pretty;font-size:1.15rem;line-height:1.55}.paper p{margin:0 0 1.25rem}.paper .opening{margin-bottom:3.5rem}.paper .thesis{border-left:1px solid var(--ink-3);margin-top:1.75rem;padding-left:1.25rem}.paper section{margin-bottom:3.5rem}.paper section h2{margin:0 0 1.5rem;scroll-margin-top:2rem;font-size:1.15rem;font-weight:500;line-height:1.4}.paper section h2 a{border:0;align-items:baseline;gap:1rem;display:flex}.paper section h2 span{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;font-size:.72rem;font-weight:400}.paper ol,.paper ul{margin:0 0 1.25rem;padding-left:1.4rem}.paper li{margin-bottom:.4rem}.paper li::marker{font-family:var(--mono);color:var(--ink-3);font-size:.8rem}.paper a{border-bottom:1px solid var(--rule)}.paper a:hover{border-bottom-color:var(--ink)}.paper code{font-family:var(--mono);font-size:.9em}.paper .closing{border-top:1px solid var(--rule);margin-bottom:3.5rem;padding-top:2rem}.paper .cta{border:1px solid var(--ink-3);font-family:var(--mono);justify-content:space-between;gap:1rem;margin-top:1.75rem;padding:.85rem 1.1rem;font-size:.78rem;display:flex}.paper .cta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.paper .note{font-family:var(--mono);color:var(--ink-3);font-size:.72rem;line-height:1.7}.paper .note .kicker{margin-bottom:.75rem}.paper .note p{font:inherit;margin:0}.paper-foot{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.25rem;padding-top:1.4rem;font-size:.72rem;display:flex}.paper-foot a,.paper-foot button{border-bottom:1px solid var(--rule)}.paper-foot button{font:inherit;color:inherit;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;padding:0}.paper-foot a:hover,.paper-foot button:hover{color:var(--ink);border-bottom-color:var(--ink)}@media print{@page{margin:17mm}.site-head,.site-foot,.skip,.paper .cta,.paper-foot,.field{display:none!important}.paper{width:auto}.paper-head{padding:0 0 1.5rem}.paper p,.paper li{orphans:3;widows:3;font-size:11pt;line-height:1.45}.paper section h2{break-after:avoid}.paper a{border-bottom:0}}
