:root{--paper:#f7f3ea;--paper-raised:#fbf8f1;--ink:#1b1810;--ink-muted:#1b1810a8;--ink-faint:#1b18109e;--accent:#b44828;--accent-ink:#fff;--accent-soft:#efd9c8;--accent-soft-line:#b4482859;--line:#1b181024;--line-strong:#1b181047;--ok:#4c6b3f;--bad:#a3402b;--font-display:"Fraunces", ui-serif, Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--container:1180px;--gutter:clamp(1.25rem, 4vw, 3rem);--radius:0px;--ease-out:cubic-bezier(.16, 1, .3, 1)}*,:after,:before{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%}body{background:var(--paper);font-family:var(--font-mono);font-size:16px;line-height:1.6;overflow-x:hidden}body,h1,h2,h3,h4{color:var(--ink);margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600}p{margin:0}a,button{color:inherit}button{font-family:inherit}ol,ul{margin:0;padding:0;list-style:none}img,svg{max-width:100%;display:block}::selection{background:var(--accent-soft);color:var(--ink)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(3.5rem,8vw,7rem)}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.5em;font-size:.8125rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:.55em;height:.55em;display:inline-block}.btn{min-height:48px;font-family:var(--font-mono);letter-spacing:.01em;border:1px solid var(--ink);border-radius:var(--radius);cursor:pointer;transition:background-color .25s var(--ease-out),color .25s var(--ease-out),border-color .25s var(--ease-out),transform .2s var(--ease-out);justify-content:center;align-items:center;gap:.6em;padding:.85em 1.4em;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--ink);background:var(--accent-soft)}.text-link{font-family:var(--font-mono);color:var(--ink);border-bottom:1px solid var(--line-strong);transition:border-color .2s var(--ease-out),color .2s var(--ease-out);align-items:center;gap:.4em;padding-bottom:.15em;font-size:.95rem;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.caret{color:var(--accent);animation:1s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.caret{opacity:1;animation:none}}.prose-page{padding-block-start:clamp(7rem,15vw,9.5rem)}.prose-page__inner{max-width:68ch}.prose-page__title{font-family:var(--font-display);margin:.75rem 0 2rem;font-size:clamp(2rem,6vw,3.2rem);line-height:1.05}.prose-page h2{font-family:var(--font-mono);letter-spacing:-.01em;margin:2.25rem 0 .75rem;font-size:1rem;font-weight:600}.prose-page p{color:var(--ink-muted);margin:0 0 1rem}.prose-page code{font-family:var(--font-mono);background:var(--accent-soft);padding:.1em .35em;font-size:.9em}@font-face{font-family:Fraunces;src:local(Fraunces Regular Italic),local(Fraunces Italic),url(../_fonts/5X5ieL7Qty_6RMR9SuhjsnClHMDpGd6KstIY13XcgfA-2Wrwk_EYDmS6G3EXNOq3tjTxIG5O5Cq6XjDgCYA6eXA.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:Fraunces;src:local(Fraunces Regular Italic),local(Fraunces Italic),url(../_fonts/kHc5Z_kpvABecd2rqVFDMVJioU6tOYXGC7PQaVnEMLE-GS1hUQGdVbIvi2Utms44x1VxoUJbK9lFFGQy1ZD87p0.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:Fraunces;src:local(Fraunces Regular Italic),local(Fraunces Italic),url(../_fonts/KSqCmBdqnS-KMlX8Gdb-JkUUt-GEZISkY4yHidtx4fY-yYJ6WAcmfMNbpKWv4VW3Upagp_eWLMbU8ne8CJCfSRk.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:Fraunces;src:local(Fraunces Regular),local(Fraunces),url(../_fonts/UVXlYyjjLL-l-x6cwbp-Ce9bPz2mBye2-AW0SsEEdYw-44wkVbh9VDyFFNaz_LK2_P7V-rLsRXWM3ZcHEq9uL3g.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}@font-face{font-family:Fraunces;src:local(Fraunces Regular),local(Fraunces),url(../_fonts/4PF7uWBEKUtfnZHkNBtUT0dkPc5dCZhK20RAs9C5tUY-xxOdKswasl9kmPwiXPYyG_uLaFpDKw0nipdRKL06c3E.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}@font-face{font-family:Fraunces;src:local(Fraunces Regular),local(Fraunces),url(../_fonts/pFipufS9dVUd5fqu-iyBecKigL5ka7MGNidOOl-cWqc-FF2e5yVyZBfWfsHV8oh8OafkaJLiR0_FcjG9th1RVYc.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/Df7M9JXECnQBPeMk0JlWv5oI4E80OSjKvG82PCAX-MI-aXpKyr1n0W6NWbCApKANrm9O50H_fjFMdBzwfTY75iM.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/F00Bxq4ciZESODR5suhK3xDWcsQ9RLj9SyZQEevpEsw-BLNEvb6wAcL3fpb4n4d3zVEKUoa2hsUKxxkf3YdvJKc.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/AA0_6TP-Ed9gQINhOsvbweBE3xLQgxmg6pXqHmvCwsM-egZLwYC5qVnfGWql7G5NfYTIiMP1PB_tQWIq5f7S-0k.woff2)format("woff2");font-display:swap;unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF;font-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/3mk1pEYaO7RuhctnlpKcyb7yjVLICedncSfY13ffbM8-vJidvBvYJRk77_zQIyVpja44ymm1FQTiYKUcM_aD5Sg.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/3e3wuf-V_7icWvlsSS3Ud6R1mFSymwsfz35VcqiVjOk-jnii4_jMs7YAJOhzZP3bGdrbXGt5dYv8_t_rhpHzpcQ.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/NwLHmPccLrJlBVGp4QRXOLZaNI0M_K6XuSwyVjpr47g-jl4tqz8gcsgAJDPcbl5roY78zy31I6Rq51WBLpZngFg.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/f3COenLcoezM74LmVz7-HHQTyPKopVoMY6x2syLMzQE-shPZYE7IAjZWz4okT_CWn96WfGzoLhasK43_mhj3CZI.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/KOrIgK47CByspZJWjOLg8AL2ADg9uFcNjZd9W78jrmM-dU37DP77KwUzMqqldljJHhSe3lJpaSfI9HPfiVAxPOM.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/9IZYb3o3tpRXPqjzNd4r3vIIohLuRBC5-h_ByvqRowU-ZgMUMfi6FcHpaV_ucYIWcBvLG6geajFq70Smps0DAj0.woff2)format("woff2");font-display:swap;unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF;font-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/bUcXp2ExGsFoCjH4L_AiPGX0TLCAgnqR8nvW7SxSJYQ-kvm9UWc_MFZW_r85yX6uPdzXVmdcUOio_Wb1x_7QdXM.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/_lyVj3lEzRng_G7gZNcCmL83BnMEos-Hf8bpHLMzGQI-zsVE1T2QbmkXlEbQhs2gb3j3VBOOGhzqyW_ZW_0s3F8.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/sqxfSu-14RfawvZSbzb3mPoBYaXxmTGIac1Kk0GVk_w-oe_5KiWXPVdvpURHWSiaIjA1N_zLqpjSzmfpwRHr7CQ.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}.nav[data-v-5dcf0621]{z-index:40;background:var(--paper);border-bottom:1px solid var(--line);position:fixed;inset-block-start:0;inset-inline:0}.nav__inner[data-v-5dcf0621]{justify-content:space-between;align-items:center;padding-block:1.1rem;display:flex}.nav__wordmark[data-v-5dcf0621]{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--ink);font-size:1rem;font-weight:600;text-decoration:none}.nav__prompt[data-v-5dcf0621]{color:var(--accent);margin-inline-end:.5ch}.nav__wordmark-text[data-v-5dcf0621]{white-space:pre}.nav__actions[data-v-5dcf0621]{align-items:center;gap:1.25rem;display:flex}.nav__github[data-v-5dcf0621],.nav__install[data-v-5dcf0621]{font-size:.85rem}.nav__install[data-v-5dcf0621]{min-height:40px;padding:.6em 1.1em}@media (width<=560px){.nav__github[data-v-5dcf0621]{display:none}}.footer[data-v-e9a122e0]{border-top:1px solid var(--line);padding-block:clamp(2rem,5vw,3rem)}.footer__inner[data-v-e9a122e0]{flex-direction:column;gap:1.25rem;display:flex}.footer__row[data-v-e9a122e0]{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.footer__meta[data-v-e9a122e0]{font-family:var(--font-mono);color:var(--ink-faint);font-size:.85rem}.footer__row--credits[data-v-e9a122e0]{gap:1.5rem 2rem}.footer__row--credits .footer__meta[data-v-e9a122e0]{font-size:.8rem}.footer__prompt[data-v-e9a122e0]{font-family:var(--font-mono);color:var(--ink-faint);white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.4em;margin:0;font-size:.8rem}
