:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--base:#faf4ed;--surface:#fffaf3;--overlay:#f2e9e1;--muted:#9893a5;--subtle:#797593;--text:#575279;--love:#b4637a;--gold:#ea9d34;--rose:#d7827e;--pine:#286983;--foam:#56949f;--iris:#907aa9;--hl-low:#f4ede8;--hl-med:#dfdad9;--hl-high:#cecacd;--glow:.14;--dot:color-mix(in srgb, var(--hl-high) 45%, transparent)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--base:#191724;--surface:#1f1d2e;--overlay:#26233a;--muted:#6e6a86;--subtle:#908caa;--text:#e0def4;--love:#eb6f92;--gold:#f6c177;--rose:#ebbcba;--pine:#31748f;--foam:#9ccfd8;--iris:#c4a7e7;--hl-low:#21202e;--hl-med:#403d52;--hl-high:#524f67;--glow:.1;--dot:color-mix(in srgb, var(--hl-med) 55%, transparent)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--base);background-image:radial-gradient(50rem 24rem at 0% 0%, color-mix(in srgb, var(--rose) calc(var(--glow) * 100%), transparent), transparent 70%), radial-gradient(36rem 24rem at 100% 8%, color-mix(in srgb, var(--iris) calc(var(--glow) * 90%), transparent), transparent 70%), radial-gradient(circle at 1px 1px, var(--dot) .75px, transparent 0);min-height:100vh;color:var(--text);font-family:var(--font-sans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;background-size:auto,auto,22px 22px;background-attachment:fixed;margin:0;font-size:14px;line-height:1.55}::selection{background:var(--hl-high)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-radius:3px}.page{max-width:54rem;margin:0 auto;padding:1rem 1rem 2.5rem}.topnav,.prompt,.tags,.links,.section-title,.item-name,.footer,.page-title,.post-row time,.post-meta,.post-back,.draft{font-family:var(--font-mono), ui-monospace, monospace}.topnav{color:var(--muted);justify-content:space-between;margin-bottom:clamp(1.5rem,6vh,3.5rem);font-size:12px;display:flex}.topnav span{gap:1.5ch;display:flex}.topnav a:hover{color:var(--rose)}.hero{margin-bottom:2.25rem}.prompt{color:var(--subtle);margin:0 0 .35rem;font-size:12px}.prompt-user{color:var(--foam)}.prompt-dim{color:var(--muted);margin-right:.5ch}.name{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:-.04em;background:linear-gradient(100deg, var(--rose) 5%, var(--love) 55%, var(--iris) 95%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.75rem,6vw,2.6rem);font-weight:800;line-height:1.1}.cursor{vertical-align:-.04em;background:var(--rose);width:.5em;height:.82em;margin-left:.12em;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1.5rem;margin-top:.75rem;display:flex}.tags{color:var(--subtle);flex-wrap:wrap;margin:0;font-size:12.5px;display:flex}.tags span+span:before{content:"/";color:var(--hl-high);margin:0 .6ch}.links{flex-wrap:wrap;gap:.35rem;font-size:12px;display:flex}.links a{border:1px solid var(--hl-med);background:color-mix(in srgb, var(--surface) 70%, transparent);color:var(--subtle);border-radius:999px;padding:.1rem .55rem;transition:color .15s,border-color .15s}.links a:hover{color:var(--rose);border-color:var(--rose)}.section{margin-top:1.75rem;scroll-margin-top:1rem}.section-title{text-transform:lowercase;align-items:center;gap:1ch;margin:0 0 .4rem;font-size:12.5px;font-weight:700;display:flex}.section-title a{gap:1ch;display:inline-flex}.section-title a:hover,.section-num{color:var(--rose)}.section-rule{background:linear-gradient(90deg, var(--hl-high), transparent);flex:1;height:1px}.section-count,.section-title .section-more{color:var(--muted);font-weight:400}.section-intro{color:var(--subtle);margin:0 0 .4rem}.items,.posts{margin:0;padding:0;list-style:none}.item{border-bottom:1px dashed var(--hl-med);grid-template-columns:9rem 1fr auto;align-items:baseline;gap:.1rem 1rem;padding:.3rem .5rem;transition:background-color .15s;display:grid;position:relative}.item:before{content:"";background:var(--accent);border-radius:2px;width:2px;transition:transform .15s;position:absolute;top:.35rem;bottom:.35rem;left:0;transform:scaleY(0)}a.item:hover{background:color-mix(in srgb, var(--accent) 9%, transparent)}a.item:hover:before{transform:scaleY(1)}.item-name{color:var(--accent);font-size:13px;font-weight:700}.item-desc{color:var(--subtle);grid-column:2}.item-arrow{color:var(--muted);grid-column:3;font-size:12px;transition:color .15s,transform .15s}a.item:hover .item-arrow{color:var(--accent);transform:translate(2px)}.page-title{letter-spacing:-.03em;color:var(--text);margin:0 0 1rem;font-size:clamp(1.4rem,4.5vw,1.9rem);font-weight:800;line-height:1.2}.page-title-count{letter-spacing:0;color:var(--muted);vertical-align:middle;margin-left:1ch;font-size:.5em;font-weight:400}.post-row{border-bottom:1px dashed var(--hl-med);grid-template-columns:6.5rem 1fr;gap:0 1rem;padding:.45rem .5rem;transition:background-color .15s;display:grid;position:relative}.post-row:hover{background:color-mix(in srgb, var(--rose) 9%, transparent)}.post-row time{color:var(--muted);padding-top:.05rem;font-size:12.5px}.post-row-title{font-weight:600}.post-row-title a:after{content:"";position:absolute;inset:0}.post-row:hover .post-row-title a{color:var(--rose)}.post-row-desc,.post-row-tags{color:var(--subtle);grid-column:2}.post-row-tags{flex-wrap:wrap;gap:0 1ch;margin-top:.1rem;display:flex}.post-row-tags .tag{z-index:1;position:relative}.tag{font-family:var(--font-mono), ui-monospace, monospace;color:var(--iris);font-size:12px}.tag:hover{color:var(--rose);text-underline-offset:3px;text-decoration:underline}.tag-count{color:var(--muted);margin-left:.4ch}.tag-cloud{flex-wrap:wrap;gap:.25rem 1.5ch;margin:-.4rem 0 1rem;display:flex}.page-title-parent{color:var(--muted)}.page-title-parent:hover{color:var(--rose)}.draft{background:color-mix(in srgb, var(--gold) 20%, transparent);color:var(--gold);border-radius:3px;margin-left:1ch;padding:0 .4rem;font-size:11px;font-weight:400}.muted{color:var(--muted)}.post-header{border-bottom:1px dashed var(--hl-med);margin-bottom:1.25rem;padding-bottom:.75rem}.post-header .page-title{margin:0}.post-meta{color:var(--muted);flex-wrap:wrap;gap:0 1.5ch;margin:0 0 .35rem;font-size:12px;display:flex}.post-meta time{color:var(--rose)}.post-back{margin-top:2rem;font-size:12.5px}.post-back a{color:var(--subtle)}.post-back a:hover{color:var(--rose)}.prose{max-width:44rem;font-size:15px;line-height:1.7}.prose>*{margin:0 0 .9em}.prose h2,.prose h3,.prose h4{font-family:var(--font-mono), monospace;letter-spacing:-.01em;margin:1.6em 0 .5em;font-weight:700;line-height:1.3}.prose h2{font-size:1.15em}.prose h2:before{content:"## ";color:var(--rose)}.prose h3{font-size:1em}.prose h3:before{content:"### ";color:var(--iris)}.prose a{color:var(--foam);text-decoration:underline;-webkit-text-decoration-color:var(--hl-high);text-decoration-color:var(--hl-high);text-underline-offset:3px}.prose a:hover{-webkit-text-decoration-color:var(--foam);text-decoration-color:var(--foam)}.prose strong{color:var(--text);font-weight:700}.prose em{color:var(--iris)}.prose ul,.prose ol{padding-left:1.4em}.prose li::marker{color:var(--rose)}.prose li:has(>input[type=checkbox]){margin-left:-1.4em;list-style:none}.prose input[type=checkbox]{accent-color:var(--rose);margin:0 .5em 0 0}.prose blockquote{border-left:2px solid var(--iris);color:var(--subtle);margin-left:0;padding:.1em 1em}.prose blockquote>*{margin:.4em 0}.prose hr{border:0;border-top:1px dashed var(--hl-high);margin:1.75em 0}.prose code{font-family:var(--font-mono), monospace;font-size:.85em}.prose :not(pre)>code{background:var(--overlay);color:var(--love);border-radius:4px;padding:.1em .35em}.prose pre{border:1px solid var(--hl-med);background:var(--surface);border-radius:6px;padding:.8em 1em;font-size:13px;line-height:1.6;overflow-x:auto}.prose pre.shiki,.prose pre.shiki span{color:var(--shiki-light)}@media (prefers-color-scheme:dark){.prose pre.shiki,.prose pre.shiki span{color:var(--shiki-dark)}}.prose pre.shiki{background:var(--surface)!important}.prose table{border-collapse:collapse;font-size:13.5px;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px dashed var(--hl-med);text-align:left;padding:.35em .8em}.prose th{font-family:var(--font-mono), monospace;color:var(--subtle);border-bottom-style:solid;font-size:12px}.footer{color:var(--muted);margin-top:3rem;font-size:11.5px}.footer-sep{color:var(--hl-high);margin:0 1ch}.hero,.section,main>article,.posts{animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.section:first-of-type{animation-delay:50ms}.section:nth-of-type(2){animation-delay:.1s}.section:nth-of-type(3){animation-delay:.15s}.section:nth-of-type(n+4){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:600px){.item{grid-template-columns:1fr auto}.item-desc{grid-area:2/1}.item-arrow{grid-area:1/2}.post-row{grid-template-columns:1fr}.post-row-desc,.post-row-tags{grid-column:1}}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.p.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.nJMYKG_className{font-family:Inter,Inter Fallback;font-style:normal}.nJMYKG_variable{--font-sans:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.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.p.3hlisc-pwq13z.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.0-oo9_1x_xmvg.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.36fqqi66-3tjb.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.3_z45zcoc-xoz.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.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:700;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.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:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.p.3hlisc-pwq13z.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:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.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:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.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:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.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:800;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.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:800;font-display:swap;src:url(../media/26f284dcc38c84c0-s.p.3hlisc-pwq13z.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:800;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.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:800;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.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:800;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.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:JetBrains Mono;font-style:normal;font-weight:800;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.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%}._7uBwta_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}._7uBwta_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
