.content h1{font-size:2.5rem;line-height:3.25rem}.content h2{font-size:1.75rem;line-height:2.25rem}.content h3{font-size:1.25rem;line-height:1.75rem}.content>:first-child{font-size:1.25rem;line-height:1.75rem;font-weight:500;color:var(--fg)}.content b{color:var(--fg)}.content :is(p,li){font-size:1rem;line-height:1.5rem;color:var(--dim-fg)}.content li{margin:1rem 0}.content .caption{margin:4rem 0;padding:4rem 0;width:100vw;margin-left:calc(50% - 50vw)!important;background:var(--box-bg);border-top:1px solid var(--box-border);border-bottom:1px solid var(--box-border)}.content .caption>*{margin:0 auto!important;max-width:min(calc(100% - 2rem),var(--content-width));display:block}.content .caption figcaption{font-size:.75rem;line-height:1rem;font-weight:medium;margin-top:1rem;color:var(--dim-fg)}.content .caption figcaption:before{content:"↑ ";opacity:.5}.content hr{max-width:40ch;border:0;height:1px;background:var(--box-border);margin:3rem 0}.content pre{overflow-y:auto}.content code:not(figure code){font-size:.875rem;line-height:1.6rem;border-radius:.25rem;border:1px solid var(--box-border);padding:.25rem}li::marker{opacity:.5}figure.caption{margin:1.5rem 0;border-radius:.5rem;overflow:hidden}figure.caption .dark-theme,figure.caption .light-theme{padding:0;margin:0;font-family:Cascadia Code,monospace;font-size:.875rem;overflow:auto}figure.caption .light-theme{display:none}figure.caption .dark-theme{display:block}@media (prefers-color-scheme: light){figure.caption .light-theme{display:block}figure.caption .dark-theme{display:none}}body.light figure.caption .light-theme{display:block}body.light figure.caption .dark-theme{display:none}figure.caption pre{margin:0;padding:1rem;background:transparent}:not(pre)>code{font-family:Cascadia Code,monospace;background-color:var(--box-bg);padding:.125rem .25rem;border-radius:.25rem;font-size:.875rem}body{--bg: #121215;--fg: #fff;--dim-fg: #bbbbc4;--box-bg: rgba(255, 255, 255, .01);--box-border: rgba(255, 255, 255, .2);--content-width: 800px;--line-height: 1.6;--accent-color: #ffc600;font-family:Segoe UI Variable,Segoe UI,San Francisco,sans-serif;line-height:var(--line-height);background:var(--bg);color:var(--fg);margin:0;box-sizing:border-box}pre,code{font-family:Cascadia Code,Consolas,Monaco,monospace;font-size:.875rem}article a,footer a{text-decoration:none;color:var(--fg);border-bottom:1px solid var(--fg);padding-bottom:1px;transition:border-color .25s ease-out}article a:hover{border-color:var(--dim-fg)}body pre code.hljs{background:transparent;padding:0}@media screen and (max-width: 640px){body{font-size:21px}}@media screen and (prefers-color-scheme: light){body{--fg: #121215;--dim-fg: #505056;--bg: #f0f0f0;--box-bg: rgba(0, 0, 0, .01);--box-border: rgba(0, 0, 0, .2)}}body.light{--fg: #121215;--dim-fg: #505056;--bg: #f0f0f0;--box-bg: rgba(0, 0, 0, .01);--box-border: rgba(0, 0, 0, .2)}@font-face{font-family:Cascadia Code;font-style:normal;font-display:swap;font-weight:400;src:url(./cascadia-code-arabic-400-normal.CMEpPZ9Z.woff2) format("woff2"),url(./cascadia-code-arabic-400-normal.DlYGjzJS.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cascadia Code;font-style:normal;font-display:swap;font-weight:400;src:url(./cascadia-code-braille-400-normal.BAn_c25H.woff2) format("woff2"),url(./cascadia-code-braille-400-normal.BfeV5eyL.woff) format("woff");unicode-range:U+2800-28FF}@font-face{font-family:Cascadia Code;font-style:normal;font-display:swap;font-weight:400;src:url(./cascadia-code-cyrillic-ext-400-normal.CP7Y9IUG.woff2) format("woff2"),url(data:font/woff;base64,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) 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:Cascadia Code;font-style:normal;font-display:swap;font-weight:400;src:url(./cascadia-code-cyrillic-400-normal.Cdwv4UkU.woff2) format("woff2"),url(./cascadia-code-cyrillic-400-normal.C2LS-hH9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cascadia Code;font-style:normal;font-display:swap;font-weight:400;src:url(./cascadia-code-greek-400-normal.ChD_unUD.woff2) format("woff2"),url(./cascadia-code-greek-400-normal.CHxdf9XQ.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:Cascadia Code;font-style:normal;font-display:swap;font-weight:400;src:url(./cascadia-code-hebrew-400-normal.BQw2hBz4.woff2) format("woff2"),url(./cascadia-code-hebrew-400-normal.DrZM8vWv.woff) format("woff");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Cascadia Code;font-style:normal;font-display:swap;font-weight:400;src:url(./cascadia-code-symbols2-400-normal.CB4ZJn9r.woff2) format("woff2"),url(./cascadia-code-symbols2-400-normal.Cvoy0mlV.woff) format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Cascadia Code;font-style:normal;font-display:swap;font-weight:400;src:url(./cascadia-code-vietnamese-400-normal.DBwVjDy1.woff2) format("woff2"),url(./cascadia-code-vietnamese-400-normal.DYLY02_G.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:Cascadia Code;font-style:normal;font-display:swap;font-weight:400;src:url(./cascadia-code-latin-ext-400-normal.OOT9GOef.woff2) format("woff2"),url(./cascadia-code-latin-ext-400-normal.BM56sWlW.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:Cascadia Code;font-style:normal;font-display:swap;font-weight:400;src:url(./cascadia-code-latin-400-normal.hfeVgAEz.woff2) format("woff2"),url(./cascadia-code-latin-400-normal.BsebbazI.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}h1.svelte-vre2v8 a:where(.svelte-vre2v8){text-decoration:none;color:var(--dim-fg);font-size:1.25rem;font-weight:500;margin:1rem;transition:color .25s ease-out;will-change:color}h1.svelte-vre2v8 a:where(.svelte-vre2v8):hover{color:var(--fg)}h1.svelte-vre2v8 img{border-radius:100%;object-fit:scale-down;max-width:32px;vertical-align:middle;border:2px solid var(--accent-color);margin-left:.5rem}footer.svelte-vre2v8{margin:2rem 0 0;border-top:2px solid var(--box-border);padding:1rem 2rem;color:var(--dim-fg);font-size:.875rem}footer.svelte-vre2v8 ul:where(.svelte-vre2v8){list-style-type:none;padding-left:0;display:flex;gap:1rem}@media screen and (max-width: 800px){footer.svelte-vre2v8{padding:1rem}ul.svelte-vre2v8{flex-direction:column}h1.svelte-vre2v8 a:where(.svelte-vre2v8){font-size:1rem}}
