.post-header[data-v-bec08a39]{margin-bottom:4rem}.post-header__hero[data-v-bec08a39]{background-color:var(--surface-2);height:clamp(420px,60vh,640px);overflow:hidden;position:relative;width:100%}.post-header__img[data-v-bec08a39]{display:block;height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%}.post-header__gradient[data-v-bec08a39]{background:linear-gradient(0deg,#090e1af2 0,#090e1a99 45%,#090e1a26);inset:0;position:absolute}.post-header__overlay[data-v-bec08a39]{align-items:flex-end;display:flex;inset:0;padding-bottom:3rem;position:absolute}.post-header__body[data-v-bec08a39]{display:flex;flex-direction:column;gap:.875rem;max-width:760px}.post-header__meta[data-v-bec08a39]{align-items:center;display:flex;gap:1rem}.post-header__meta .label[data-v-bec08a39]{margin-bottom:0}.post-header__date[data-v-bec08a39]{color:#f8fafca6;font-size:.875rem}.post-header__title[data-v-bec08a39]{color:#fff;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;margin:0}.post-header__excerpt[data-v-bec08a39]{color:#f8fafcbf;font-size:1.0625rem;line-height:1.65;margin:0;max-width:60ch}@media(max-width:640px){.post-header[data-v-bec08a39]{margin-bottom:2.5rem}.post-header__hero[data-v-bec08a39]{height:100svh;max-height:560px;min-height:380px}.post-header__gradient[data-v-bec08a39]{background:linear-gradient(0deg,#090e1af7 0,#090e1ab3 40%,#090e1a1a)}.post-header__overlay[data-v-bec08a39]{align-items:flex-end;padding-bottom:2.25rem}.post-header__body[data-v-bec08a39]{gap:.625rem}.post-header__title[data-v-bec08a39]{font-size:clamp(1.375rem,6vw,1.75rem);line-height:1.2}.post-header__excerpt[data-v-bec08a39]{display:none}}@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+0460-052F,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 Fallback: Courier New";src:local("Courier New");size-adjust:99.9837%;ascent-override:102.0166%;descent-override:30.0049%;line-gap-override:0%}@font-face{font-family:"JetBrains Mono Fallback: Roboto Mono";src:local("Roboto Mono");size-adjust:99.9837%;ascent-override:102.0166%;descent-override:30.0049%;line-gap-override:0%}@font-face{font-family:"JetBrains Mono Fallback: Noto Sans Mono";src:local("Noto Sans Mono");size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%}@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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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}.prose[data-v-a6259f9c]{color:var(--text);font-size:1.0625rem;line-height:1.8;max-width:760px}.prose[data-v-a6259f9c] h2{color:var(--text);font-size:clamp(1.375rem,2.5vw,1.75rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:1rem;margin-top:2.5rem}.prose[data-v-a6259f9c] h3{color:var(--text);font-size:1.1875rem;font-weight:600;letter-spacing:-.015em;line-height:1.2;margin-bottom:.75rem;margin-top:2rem}.prose[data-v-a6259f9c] p{color:var(--text-muted);margin-bottom:1.25rem}.prose[data-v-a6259f9c] ol,.prose[data-v-a6259f9c] ul{color:var(--text-muted);margin-bottom:1.25rem;padding-left:1.5rem}.prose[data-v-a6259f9c] li{margin-bottom:.375rem}.prose[data-v-a6259f9c] blockquote{background-color:#2563eb0a;border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-muted);font-style:italic;margin:1.5rem 0;padding:.75rem 1.25rem}.prose[data-v-a6259f9c] code{background-color:var(--surface-2);border-radius:var(--radius-sm);color:var(--secondary);font-family:JetBrains Mono,"JetBrains Mono Fallback: Courier New","JetBrains Mono Fallback: Roboto Mono","JetBrains Mono Fallback: Noto Sans Mono",Fira Code,monospace;font-size:.875em;padding:.15em .4em}.prose[data-v-a6259f9c] pre{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:1.5rem 0;overflow-x:auto;padding:1.25rem}.prose[data-v-a6259f9c] pre code{background:none;color:var(--text);padding:0}.prose[data-v-a6259f9c] a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose[data-v-a6259f9c] a:hover{color:var(--secondary)}.prose[data-v-a6259f9c] img{border-radius:var(--radius);margin:1.5rem 0}.prose[data-v-a6259f9c] hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.blog-post[data-v-ac5b72ae]{padding-bottom:var(--section-py)}.blog-post__content[data-v-ac5b72ae]{margin:0 auto;max-width:720px}
