.sp-search-backdrop.svelte-1nipeqy{position:fixed;inset:0;background:#0009;z-index:100;border:none;padding:0;cursor:pointer}.sp-search.svelte-1nipeqy{position:fixed;top:10vh;left:50%;transform:translate(-50%);width:min(640px,92vw);z-index:101;background:var(--sp-blog-surface);border:1px solid var(--sp-blog-border);border-radius:10px;box-shadow:0 12px 40px #00000080;display:flex;flex-direction:column;max-height:70vh}.sp-search__input.svelte-1nipeqy{padding:.9rem 1rem;background:transparent;border:none;outline:none;color:var(--sp-blog-text);font-size:1rem;border-bottom:1px solid var(--sp-blog-border)}.sp-search__results.svelte-1nipeqy{list-style:none;margin:0;padding:.5rem;overflow:auto;scrollbar-color:var(--sp-blog-border) transparent;scrollbar-width:thin}.sp-search__results.svelte-1nipeqy::-webkit-scrollbar{width:8px}.sp-search__results.svelte-1nipeqy::-webkit-scrollbar-track{background:transparent}.sp-search__results.svelte-1nipeqy::-webkit-scrollbar-thumb{background:var(--sp-blog-border);border-radius:4px}.sp-search__results.svelte-1nipeqy::-webkit-scrollbar-thumb:hover{background:var(--sp-blog-primary)}.sp-search__item.svelte-1nipeqy{cursor:pointer}.sp-search__item.svelte-1nipeqy a:where(.svelte-1nipeqy){display:block;padding:.6rem .75rem;border-radius:6px;color:var(--sp-blog-content);text-decoration:none;transition:background .12s,color .12s}.sp-search__item.is-selected.svelte-1nipeqy a:where(.svelte-1nipeqy),.sp-search__item.svelte-1nipeqy a:where(.svelte-1nipeqy):hover{background:var(--sp-blog-border);color:var(--sp-blog-primary)}.sp-search__item.is-selected.svelte-1nipeqy a:where(.svelte-1nipeqy) strong:where(.svelte-1nipeqy),.sp-search__item.svelte-1nipeqy a:where(.svelte-1nipeqy):hover strong:where(.svelte-1nipeqy){color:var(--sp-blog-primary)}.sp-search__item.svelte-1nipeqy p:where(.svelte-1nipeqy){margin:.25rem 0 0;font-size:.8rem;color:var(--sp-blog-muted)}.sp-search__item.svelte-1nipeqy mark{background:var(--sp-blog-primary);color:var(--sp-blog-bg);padding:0 2px;border-radius:2px}.sp-search__empty.svelte-1nipeqy{padding:1rem;color:var(--sp-blog-muted);text-align:center}.sp-sidebar.svelte-1vnmsph{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem 1.25rem;background:var(--sp-blog-surface);border-right:1px solid var(--sp-blog-border);min-height:100vh}.sp-sidebar__brand.svelte-1vnmsph{font-family:var(--sp-font-serif);font-variation-settings:"opsz" 144,"wght" 700,"SOFT" 80,"WONK" 1;font-style:italic;font-size:1.5rem;line-height:1;color:var(--sp-blog-primary);letter-spacing:-.01em;text-decoration:none}.sp-sidebar__profile.svelte-1vnmsph{display:flex;flex-direction:column;gap:.5rem}.sp-sidebar__avatar.svelte-1vnmsph{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--sp-blog-primary)}.sp-sidebar__name.svelte-1vnmsph{font-weight:800;font-size:1.05rem;color:var(--sp-blog-text)}.sp-sidebar__bio.svelte-1vnmsph{color:var(--sp-blog-content);font-size:.875rem;line-height:1.5;margin:0}.sp-sidebar__socials.svelte-1vnmsph{list-style:none;padding:0;margin:.25rem 0 0;display:flex;flex-wrap:wrap;gap:.35rem}.sp-sidebar__socials.svelte-1vnmsph a:where(.svelte-1vnmsph){display:inline-block;padding:.2rem .6rem;border:1px solid var(--sp-blog-border);border-radius:9999px;color:var(--sp-blog-primary);font-size:.75rem;font-weight:600;text-decoration:none}.sp-sidebar__socials.svelte-1vnmsph a:where(.svelte-1vnmsph):hover{background:var(--sp-blog-border)}.sp-sidebar__about.svelte-1vnmsph{color:var(--sp-blog-content);font-size:.85rem;line-height:1.55;margin-top:.5rem;padding-top:.75rem;border-top:1px dashed var(--sp-blog-border)}.sp-sidebar__about.svelte-1vnmsph p{margin:0 0 .5rem}.sp-sidebar__about.svelte-1vnmsph a{color:var(--sp-blog-primary)}.sp-sidebar__nav.svelte-1vnmsph{display:flex;flex-direction:column;gap:.25rem;padding-top:.75rem;border-top:1px solid var(--sp-blog-border)}.sp-sidebar__nav.svelte-1vnmsph a:where(.svelte-1vnmsph){color:var(--sp-blog-content);text-decoration:none;font-size:.9rem;padding:.3rem 0;transition:color .15s}.sp-sidebar__nav.svelte-1vnmsph a:where(.svelte-1vnmsph):hover{color:var(--sp-blog-primary)}.sp-sidebar__actions.svelte-1vnmsph{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--sp-blog-border)}.sp-sidebar__search.svelte-1vnmsph{display:inline-flex;align-items:center;gap:.5rem;flex:1;height:32px;padding:0 .6rem;border:1px solid var(--sp-blog-border);border-radius:6px;background:transparent;color:var(--sp-blog-muted);cursor:pointer;font:inherit;font-size:.8rem;transition:border-color .15s,color .15s}.sp-sidebar__search.svelte-1vnmsph:hover{border-color:var(--sp-blog-primary);color:var(--sp-blog-primary)}.sp-sidebar__search-kbd.svelte-1vnmsph{font-family:inherit;font-size:.72rem;padding:1px 4px;border-radius:3px;background:var(--sp-blog-bg);color:var(--sp-blog-muted);margin-left:auto}@media(max-width:1023px){.sp-sidebar.svelte-1vnmsph{min-height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;border-right:none;border-bottom:1px solid var(--sp-blog-border)}.sp-sidebar__brand.svelte-1vnmsph{margin-right:auto}.sp-sidebar__profile.svelte-1vnmsph{flex-direction:row;align-items:center;gap:.5rem;order:-1}.sp-sidebar__avatar.svelte-1vnmsph{width:32px;height:32px;border-width:1px}.sp-sidebar__name.svelte-1vnmsph{font-size:.9rem}.sp-sidebar__bio.svelte-1vnmsph,.sp-sidebar__socials.svelte-1vnmsph,.sp-sidebar__about.svelte-1vnmsph{display:none}.sp-sidebar__nav.svelte-1vnmsph{flex-direction:row;gap:1rem;padding-top:0;border-top:none}.sp-sidebar__actions.svelte-1vnmsph{margin-top:0;padding-top:0;border-top:none}.sp-sidebar__search.svelte-1vnmsph{flex:0 0 auto}.sp-sidebar__search-label.svelte-1vnmsph{display:none}}.sp-theme-toggle.svelte-12do00a{width:36px;height:36px;border-radius:50%;border:1px solid var(--sp-blog-border);background:transparent;color:var(--sp-blog-content);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.sp-theme-toggle.svelte-12do00a:hover{background:var(--sp-blog-surface);color:var(--sp-blog-primary)}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/sveltepress/blog-demo/_app/immutable/assets/fraunces-vietnamese-wght-normal.CnvboYUG.woff2) format("woff2-variations");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-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/sveltepress/blog-demo/_app/immutable/assets/fraunces-latin-ext-wght-normal.Ca2vKHc0.woff2) format("woff2-variations");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-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/sveltepress/blog-demo/_app/immutable/assets/fraunces-latin-wght-normal.ukD16Tqj.woff2) format("woff2-variations");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-ext-400-normal.BQZuk6qB.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-ext-400-normal.DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-400-normal.obahsSVq.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-400-normal.HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-ext-400-normal.DGGRlc-M.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-ext-400-normal.KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-400-normal.B4URO6DV.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-400-normal.q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-vietnamese-400-normal.DMkecbls.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-vietnamese-400-normal.Bbgyi5SW.woff) format("woff");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-ext-400-normal.C1nco2VV.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-ext-400-normal.77YHD8bZ.woff) format("woff");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-400-normal.CyCys3Eg.woff) format("woff");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-ext-500-normal.B0yAr1jD.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-ext-500-normal.BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-500-normal.BasfLYem.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-500-normal.CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-ext-500-normal.C4iEst2y.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-ext-500-normal.2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-500-normal.BIZE56-Y.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-500-normal.Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-vietnamese-500-normal.DOriooB6.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-vietnamese-500-normal.mJboJaSs.woff) format("woff");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-ext-500-normal.CV4jyFjo.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-ext-500-normal.BxGbmqWO.woff) format("woff");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-500-normal.Cerq10X2.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-500-normal.BL9OpVg8.woff) format("woff");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-ext-600-normal.Dfes3d0z.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-ext-600-normal.Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-600-normal.CWCymEST.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-600-normal.4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-ext-600-normal.DRtmH8MT.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-ext-600-normal.B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-600-normal.plRanbMR.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-600-normal.BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-vietnamese-600-normal.Cc8MFFhd.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-vietnamese-600-normal.BuLX-rYi.woff) format("woff");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-ext-600-normal.D2bJ5OIk.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-ext-600-normal.CIVaiw4L.woff) format("woff");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-600-normal.LgqL8muc.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-600-normal.CiBQ2DWP.woff) format("woff");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-ext-700-normal.BjwYoWNd.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-ext-700-normal.LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-700-normal.CjBOestx.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-cyrillic-700-normal.DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-ext-700-normal.qfdV9bQt.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-ext-700-normal.BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-700-normal.C3JjAnD8.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-greek-700-normal.BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-vietnamese-700-normal.DlLaEgI2.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-vietnamese-700-normal.BZaoP0fm.woff) format("woff");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-ext-700-normal.Ca8adRJv.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-ext-700-normal.TidjK2hL.woff) format("woff");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-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-700-normal.Yt3aPRUw.woff2) format("woff2"),url(/sveltepress/blog-demo/_app/immutable/assets/inter-latin-700-normal.BLAVimhd.woff) format("woff");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}[data-theme=dark] .sp-blog-root.svelte-16u3wnc{--sp-blog-bg: #1a0a00;--sp-blog-surface: #2d1200;--sp-blog-border: #3f1c04;--sp-blog-text: #fff7ed;--sp-blog-muted: #a16207;--sp-blog-content: #d6d3d1;--sp-blog-primary: #fb923c;--sp-blog-secondary: #dc2626;--sp-font-serif: "Fraunces Variable", Georgia, serif;--sp-font-sans: "Inter", system-ui, sans-serif}[data-theme=light] .sp-blog-root.svelte-16u3wnc{--sp-blog-bg: #fef9f0;--sp-blog-surface: #fde8c8;--sp-blog-border: #e8d5b0;--sp-blog-text: #1c0a00;--sp-blog-muted: #92400e;--sp-blog-content: #44260a;--sp-blog-primary: #c2410c;--sp-blog-secondary: #dc2626;--sp-font-serif: "Fraunces Variable", Georgia, serif;--sp-font-sans: "Inter", system-ui, sans-serif}.sp-blog-root.svelte-16u3wnc{background:var(--sp-blog-bg, #1a0a00);color:var(--sp-blog-text, #fff7ed);font-family:var(--sp-font-sans);line-height:1.6;min-height:100vh;display:grid;grid-template-columns:1fr}@media(min-width:1024px){.sp-blog-root.svelte-16u3wnc{grid-template-columns:280px 1fr}.sp-blog-root.svelte-16u3wnc .sp-sidebar{position:sticky;top:0;max-height:100vh;overflow-y:auto}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--sp-blog-bg, #1a0a00)}code,pre{font-family:JetBrains Mono,Fira Code,monospace}a{color:var(--sp-blog-primary, #fb923c);text-decoration:none}a:hover{text-decoration:underline}.sp-blog-root.svelte-16u3wnc .sp-post-content{font-family:var(--sp-font-serif);font-variation-settings:"opsz" 14,"wght" 400,"SOFT" 30,"WONK" 0;font-size:1.0625rem;line-height:1.62;color:var(--sp-blog-content);counter-reset:figure}.sp-blog-root.svelte-16u3wnc .sp-post-content p{margin:0 0 1.15rem}.sp-blog-root.svelte-16u3wnc .sp-post-content>p:first-of-type:first-letter{font-family:var(--sp-font-serif);font-variation-settings:"opsz" 144,"wght" 700,"SOFT" 100,"WONK" 1;float:left;font-size:4.5rem;line-height:.85;padding:.25rem .6rem 0 0;color:var(--sp-blog-primary)}.sp-blog-root.svelte-16u3wnc .sp-post-content h2,.sp-blog-root.svelte-16u3wnc .sp-post-content h3{font-family:var(--sp-font-serif);color:var(--sp-blog-text);letter-spacing:-.01em}.sp-blog-root.svelte-16u3wnc .sp-post-content h2{font-variation-settings:"opsz" 72,"wght" 600,"SOFT" 70,"WONK" 1;font-size:1.625rem;line-height:1.14;margin:2rem 0 .875rem}.sp-blog-root.svelte-16u3wnc .sp-post-content h3{font-variation-settings:"opsz" 48,"wght" 600,"SOFT" 70,"WONK" 1;font-size:1.25rem;line-height:1.2;margin:1.75rem 0 .75rem}.sp-blog-root.svelte-16u3wnc .sp-post-content hr{border:none;display:flex;align-items:center;gap:.875rem;margin:2rem 0;color:var(--sp-blog-muted);overflow:visible}.sp-blog-root.svelte-16u3wnc .sp-post-content hr:before,.sp-blog-root.svelte-16u3wnc .sp-post-content hr:after{content:"";flex:1;height:1px;background:var(--sp-blog-border)}.sp-blog-root.svelte-16u3wnc .sp-post-content hr:after{content:""}.sp-blog-root.svelte-16u3wnc .sp-post-content hr:before{content:"§";flex:0 0 auto;height:auto;background:none;order:0;font-family:var(--sp-font-serif);font-variation-settings:"opsz" 48,"wght" 600,"SOFT" 100,"WONK" 1;font-style:italic;font-size:1.25rem;color:var(--sp-blog-primary);padding:0 .5rem}.sp-blog-root.svelte-16u3wnc .sp-post-content blockquote.pull{margin:1.75rem 0;padding:.75rem 0 .75rem 1.25rem;border-left:3px solid var(--sp-blog-primary);font-family:var(--sp-font-serif);font-variation-settings:"opsz" 60,"wght" 500,"SOFT" 90,"WONK" 1;font-style:italic;font-size:1.375rem;line-height:1.3;color:var(--sp-blog-text)}.sp-blog-root.svelte-16u3wnc .sp-post-content blockquote.pull p{margin:0 0 .5rem}.sp-blog-root.svelte-16u3wnc .sp-post-content blockquote.pull p:last-child{margin-bottom:0}.sp-blog-root.svelte-16u3wnc .sp-post-content figure{margin:2rem 0;counter-increment:figure}.sp-blog-root.svelte-16u3wnc .sp-post-content figure img{width:100%;height:auto;display:block;border-radius:4px}.sp-blog-root.svelte-16u3wnc .sp-post-content figure figcaption{margin-top:.5rem;font-family:var(--sp-font-serif);font-variation-settings:"opsz" 14,"wght" 400,"SOFT" 60,"WONK" 1;font-style:italic;font-size:.8125rem;color:var(--sp-blog-muted);padding-left:.875rem;text-indent:-.875rem}.sp-blog-root.svelte-16u3wnc .sp-post-content figure figcaption:before{content:"Fig. " counter(figure,decimal-leading-zero) " · ";font-family:var(--sp-font-sans);font-style:normal;font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sp-blog-primary)}.sp-blog-main.svelte-16u3wnc{max-width:960px;width:100%;margin:0 auto;padding:2rem 1.25rem;min-width:0}[data-theme=dark] .sp-blog-root.svelte-16u3wnc .shiki,[data-theme=dark] .sp-blog-root.svelte-16u3wnc .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.sp-blog-root.svelte-16u3wnc .svp-code-block-wrapper{position:relative;margin-bottom:1.25rem}.sp-blog-root.svelte-16u3wnc .svp-code-block{position:relative;overflow:hidden;border:1px solid var(--sp-blog-border);border-radius:8px;font-size:.875rem;line-height:1.5}.sp-blog-root.svelte-16u3wnc .svp-code-block pre.shiki{margin:0;padding:12px 16px;overflow-x:auto}.sp-blog-root.svelte-16u3wnc .svp-code-block pre.shiki code{background:none;padding:0;color:inherit;font-size:inherit;border-radius:0}.sp-blog-root.svelte-16u3wnc .svp-code-block--title{padding:8px 16px;font-size:.8rem;font-weight:600;color:var(--sp-blog-muted);background:var(--sp-blog-surface);border:1px solid var(--sp-blog-border);border-bottom:none;border-radius:8px 8px 0 0}.sp-blog-root.svelte-16u3wnc .svp-code-block--title+.svp-code-block{border-radius:0 0 8px 8px}.sp-blog-root.svelte-16u3wnc .svp-code-block--lang{position:absolute;right:12px;bottom:8px;font-size:.75rem;color:var(--sp-blog-muted);opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .2s}.sp-blog-root.svelte-16u3wnc .svp-code-block:hover .svp-code-block--lang{opacity:0}.sp-blog-root.svelte-16u3wnc .svp-code-block--copy-btn{position:absolute;top:8px;right:12px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--sp-blog-border);border-radius:6px;background:var(--sp-blog-surface);color:var(--sp-blog-muted);cursor:pointer;opacity:0;transition:opacity .2s,border-color .2s,color .2s;z-index:10}.sp-blog-root.svelte-16u3wnc .svp-code-block:hover .svp-code-block--copy-btn{opacity:1}.sp-blog-root.svelte-16u3wnc .svp-code-block--copy-btn:hover{border-color:var(--sp-blog-primary);color:var(--sp-blog-primary)}.sp-blog-root.svelte-16u3wnc .svp-code-block--copy-btn .svp-code-block--check-icon,.sp-blog-root.svelte-16u3wnc .svp-code-block--copy-btn.copied .svp-code-block--copy-icon{display:none}.sp-blog-root.svelte-16u3wnc .svp-code-block--copy-btn.copied .svp-code-block--check-icon{display:flex;color:#22c55e}.sp-blog-root.svelte-16u3wnc .svp-code-block--command-line{position:absolute;left:0;right:0;height:1.5em;pointer-events:none}.sp-blog-root.svelte-16u3wnc .svp-code-block--hl{background:#fb923c26;border-left:3px solid var(--sp-blog-primary)}.sp-blog-root.svelte-16u3wnc .svp-code-block--diff-bg-add{background:#22c55e26;border-left:3px solid #22c55e}.sp-blog-root.svelte-16u3wnc .svp-code-block--diff-add{position:absolute;left:6px;color:#22c55e;font-size:.75rem;font-weight:700;-webkit-user-select:none;user-select:none}.sp-blog-root.svelte-16u3wnc .svp-code-block--diff-bg-sub{background:#ef444426;border-left:3px solid #ef4444}.sp-blog-root.svelte-16u3wnc .svp-code-block--diff-sub{position:absolute;left:6px;color:#ef4444;font-size:.75rem;font-weight:700;-webkit-user-select:none;user-select:none}.sp-blog-root.svelte-16u3wnc .svp-code-block--focus{position:absolute;left:0;right:0;z-index:4;background:#0000008c;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);pointer-events:none;transition:opacity .2s}.sp-blog-root.svelte-16u3wnc .svp-code-block:hover .svp-code-block--focus{opacity:0}.sp-blog-root.svelte-16u3wnc .svp-code-block--with-line-numbers pre.shiki{padding-left:3.5rem}.sp-blog-root.svelte-16u3wnc .svp-code-block--line-numbers{position:absolute;top:12px;left:0;width:3rem;text-align:right;padding-right:12px;-webkit-user-select:none;user-select:none;pointer-events:none}.sp-blog-root.svelte-16u3wnc .svp-code-block--line-number-item{height:1.5em;line-height:1.5;font-size:.875rem;color:var(--sp-blog-muted);opacity:.5}::view-transition-group(*){animation-duration:.42s;animation-timing-function:cubic-bezier(.2,0,.2,1)}::view-transition-old(root),::view-transition-new(root){animation-duration:.26s}html.sp-vt-active .sp-card-large,html.sp-vt-active .sp-card-small{content-visibility:visible}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(root),::view-transition-new(root){animation:none!important}}
