:root{color-scheme:light dark;--color-ctp-base:light-dark(#eff1f5,#1e1e2e);--color-ctp-mantle:light-dark(#e6e9ef,#181825);--color-ctp-crust:light-dark(#dce0e8,#11111b);--color-ctp-surface0:light-dark(#ccd0da,#313244);--color-ctp-surface1:light-dark(#bcc0cc,#45475a);--color-ctp-surface2:light-dark(#acb0be,#585b70);--color-ctp-overlay0:light-dark(#9ca0b0,#6c7086);--color-ctp-overlay1:light-dark(#8c8fa1,#7f849c);--color-ctp-overlay2:light-dark(#7c7f93,#9399b2);--color-ctp-subtext0:light-dark(#6c6f85,#a6adc8);--color-ctp-subtext1:light-dark(#5c5f77,#bac2de);--color-ctp-text:light-dark(#4c4f69,#cdd6f4);--color-ctp-lavender:light-dark(#7287fd,#b4befe);--color-ctp-blue:light-dark(#1e66f5,#89b4fa);--color-ctp-sapphire:light-dark(#209fb5,#74c7ec);--color-ctp-sky:light-dark(#04a5e5,#89dceb);--color-ctp-teal:light-dark(#179299,#94e2d5);--color-ctp-green:light-dark(#40a02b,#a6e3a1);--color-ctp-yellow:light-dark(#df8e1d,#f9e2af);--color-ctp-peach:light-dark(#fe640b,#fab387);--color-ctp-maroon:light-dark(#e64553,#eba0ac);--color-ctp-red:light-dark(#d20f39,#f38ba8);--color-ctp-mauve:light-dark(#8839ef,#cba6f7);--color-ctp-pink:light-dark(#ea76cb,#f5c2e7);--color-ctp-flamingo:light-dark(#dd7878,#f2cdcd);--color-ctp-rosewater:light-dark(#dc8a78,#f5e0dc);--space-xs:.25rem;--space-s:.5rem;--space-m:1rem;--space-l:2rem;--space-xl:3rem;--space-heading-gap:.75rem;--radius-s:.25rem;--radius-m:.375rem;--measure:72ch}:root[data-theme=latte]{color-scheme:light}:root[data-theme=mocha]{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background-color:var(--color-ctp-base);color:var(--color-ctp-text);font-family:var(--font-atkinson), system-ui, sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}body{max-width:56rem;min-height:100vh;padding:var(--space-l) var(--space-m);flex-direction:column;margin-inline:auto;display:flex}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2}.site-header{margin-block-end:var(--space-xl)}.site-nav{justify-content:space-between;align-items:center;gap:var(--space-s);font-family:var(--font-montserrat), system-ui, sans-serif;flex-direction:column;font-weight:500;display:flex}.site-title{margin:0;font-size:1.5rem;font-weight:700}.site-title a{color:var(--color-ctp-mauve)}.site-nav-right{align-items:center;gap:var(--space-m);display:flex}.site-nav-links{align-items:center;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.site-nav-links a:hover{color:var(--color-ctp-rosewater)}.site-nav-links a[aria-current=page]{color:var(--color-ctp-mauve)}.theme-toggle{padding:var(--space-xs);border-radius:var(--radius-s);color:var(--color-ctp-subtext0);cursor:pointer;background:0 0;border:0;place-items:center;display:none}:root[data-js] .theme-toggle{display:grid}.theme-toggle:hover{color:var(--color-ctp-mauve)}.theme-toggle svg{width:1.25rem;height:1.25rem}.theme-toggle .icon-moon,:root[data-theme=latte] .theme-toggle .icon-sun{display:none}:root[data-theme=latte] .theme-toggle .icon-moon{display:block}.site-footer{margin-block-start:auto;padding-block-start:var(--space-xl)}.site-footer-inner{justify-content:space-between;align-items:center;gap:var(--space-s);color:var(--color-ctp-subtext0);flex-direction:column;display:flex}.site-footer p{margin:0}.site-footer a:hover{color:var(--color-ctp-rosewater)}.page-heading{margin:0 0 var(--space-l);font-size:2.25rem;font-weight:700}.page-heading:not(:first-child){margin-block-start:var(--space-xl)}.more-link{color:var(--color-ctp-blue);display:inline-block}.more-link:hover{color:var(--color-ctp-mauve)}.entry-list{margin:0;padding:0;list-style:none}.entry{margin-block-end:var(--space-l)}.entry--note{margin-block-end:var(--space-xl)}.entry-head{flex-direction:column;margin-block-end:var(--space-s);display:flex}.entry-date{color:var(--color-ctp-subtext1);font-size:.875rem}.entry-title{margin:0;font-size:1.25rem;font-weight:600}.entry-title a:hover{color:var(--color-ctp-blue)}.tag-list{gap:var(--space-s);margin:0 0 var(--space-xs);padding:0;list-style:none;display:flex}.tag{font-family:var(--font-maple-mono), ui-monospace, monospace;color:var(--color-ctp-mauve);background-color:var(--color-ctp-surface0);border-radius:var(--radius-s);padding:.125rem var(--space-s);font-size:.75rem}.entry-description{-webkit-line-clamp:3;color:var(--color-ctp-subtext0);-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}@media (width>=32rem){.site-nav,.site-footer-inner{flex-direction:row}.entry-head{flex-direction:row;align-items:center}.entry-date{flex:0 0 8rem}.entry-title{flex:1}.entry-tags,.entry-description,.entry-content{margin-inline-start:8rem}}.post{max-width:var(--measure)}.post-title{margin:0 0 var(--space-s);font-size:2.25rem;font-weight:800}.post-description{margin:0 0 var(--space-s);color:var(--color-ctp-subtext1);font-size:1.125rem;font-weight:400}.post-meta{align-items:center;gap:.75rem;margin-block-end:var(--space-l);display:flex}.post-date{color:var(--color-ctp-subtext0);font-size:.875rem}.post-meta .tag-list{margin:0}.content{line-height:1.75}.content>:where(p,ul,ol,blockquote,figure,table,pre){margin:0}.content>*+*{margin-block-start:var(--space-m)}.content :is(h2,h3,h4){margin-block-start:var(--space-l)}.content :is(h1,h2,h3,h4)+*{margin-block-start:var(--space-heading-gap)}.content h1{font-size:2.25rem;font-weight:800}.content h2{font-size:1.5rem;font-weight:700}.content h3{font-size:1.25rem;font-weight:600}.content h4{font-weight:600}.content :is(ul,ol){padding-inline-start:1.625em}.content ul{list-style-type:disc}.content ol{list-style-type:decimal}.content li+li{margin-block-start:var(--space-s)}.content li::marker{color:var(--color-ctp-surface2)}.content a{color:var(--color-ctp-blue);font-weight:500;text-decoration:underline}.content a:hover{color:var(--color-ctp-mauve)}.content strong{font-weight:600}.content blockquote{border-inline-start:.25rem solid var(--color-ctp-surface1);color:var(--color-ctp-subtext0);padding-inline-start:var(--space-m);font-style:italic}.content hr{border:0;border-block-start:1px solid var(--color-ctp-surface1)}.content img{border-radius:var(--radius-m)}.content figure{margin-inline:0}.content figcaption{color:var(--color-ctp-subtext0);margin-block-start:var(--space-s);font-size:.875rem}.content table{border-collapse:collapse;width:100%;font-size:.875rem}.content th,.content td{padding:var(--space-s) .75rem;text-align:start;border-block-end:1px solid var(--color-ctp-surface0)}.content th{font-weight:600}.content tbody tr:last-child td{border-block-end:0}.content code{font-family:var(--font-maple-mono), ui-monospace, monospace;color:var(--color-ctp-subtext0);background-color:var(--color-ctp-mantle);border-radius:var(--radius-s);padding:.2em .4em;font-size:.875em}.content pre{padding:var(--space-m) 1.25rem;border-radius:var(--radius-m);background-color:var(--color-ctp-mantle);font-size:.875rem;line-height:120%;overflow:auto}.content pre code{background:0 0;padding:0;font-size:1rem}.content pre code span{color:light-dark(var(--shiki-light),var(--shiki-dark))}svg[data-d2-version]{max-width:100%;height:auto}svg[data-d2-version] text[class]{font-family:var(--font-atkinson), sans-serif}svg[data-d2-version] text.text-bold{font-weight:700}svg[data-d2-version] .fill-N1{fill:var(--color-ctp-text)}svg[data-d2-version] .fill-N2{fill:var(--color-ctp-subtext1)}svg[data-d2-version] .fill-N3{fill:var(--color-ctp-subtext0)}svg[data-d2-version] .fill-N4{fill:var(--color-ctp-surface2)}svg[data-d2-version] .fill-N5{fill:var(--color-ctp-surface1)}svg[data-d2-version] .fill-N6{fill:var(--color-ctp-surface0)}svg[data-d2-version] .fill-N7{fill:var(--color-ctp-base)}svg[data-d2-version] .fill-B1,svg[data-d2-version] .fill-B2{fill:var(--color-ctp-mauve)}svg[data-d2-version] .fill-B3{fill:var(--color-ctp-overlay0)}svg[data-d2-version] .fill-B4{fill:var(--color-ctp-surface2)}svg[data-d2-version] .fill-B5{fill:var(--color-ctp-surface1)}svg[data-d2-version] .fill-B6{fill:var(--color-ctp-surface0)}svg[data-d2-version] .stroke-N1{stroke:var(--color-ctp-text)}svg[data-d2-version] .stroke-N2{stroke:var(--color-ctp-subtext1)}svg[data-d2-version] .stroke-N3{stroke:var(--color-ctp-subtext0)}svg[data-d2-version] .stroke-N4{stroke:var(--color-ctp-surface2)}svg[data-d2-version] .stroke-N5{stroke:var(--color-ctp-surface1)}svg[data-d2-version] .stroke-N6{stroke:var(--color-ctp-surface0)}svg[data-d2-version] .stroke-N7{stroke:var(--color-ctp-base)}svg[data-d2-version] .stroke-B1,svg[data-d2-version] .stroke-B2{stroke:var(--color-ctp-mauve)}svg[data-d2-version] .stroke-B3{stroke:var(--color-ctp-overlay0)}svg[data-d2-version] .stroke-B4{stroke:var(--color-ctp-surface2)}svg[data-d2-version] .stroke-B5{stroke:var(--color-ctp-surface1)}svg[data-d2-version] .stroke-B6{stroke:var(--color-ctp-surface0)}svg[data-d2-version] .color-N1{color:var(--color-ctp-text)}svg[data-d2-version] .color-N2{color:var(--color-ctp-subtext1)}svg[data-d2-version] .color-N3{color:var(--color-ctp-subtext0)}svg[data-d2-version] g.bypass rect{fill:color-mix(in srgb, var(--color-ctp-red) 12%, transparent);stroke:var(--color-ctp-red)}.terminal{background-color:var(--color-ctp-mantle);color:var(--color-ctp-text);--black:var(--color-ctp-surface1);--red:var(--color-ctp-red);--green:var(--color-ctp-green);--yellow:var(--color-ctp-yellow);--blue:var(--color-ctp-blue);--magenta:var(--color-ctp-mauve);--cyan:var(--color-ctp-teal);--white:var(--color-ctp-subtext0);--bright-black:var(--color-ctp-surface2);--bright-red:var(--color-ctp-red);--bright-green:var(--color-ctp-green);--bright-yellow:var(--color-ctp-yellow);--bright-blue:var(--color-ctp-blue);--bright-magenta:var(--color-ctp-mauve);--bright-cyan:var(--color-ctp-teal);--bright-white:var(--color-ctp-overlay2);line-height:120%;overflow:auto}.terminal .shell{color:var(--color-ctp-green);user-select:none;pointer-events:none}.terminal .cmd{color:var(--color-ctp-blue)}.terminal .hl{color:var(--color-ctp-cyan);font-weight:700}.terminal .arg{color:var(--color-ctp-text)}.terminal .str{color:var(--color-ctp-yellow)}.terminal .pipe,.terminal .punct{color:var(--color-ctp-green)}.terminal .flag{color:var(--color-ctp-red)}.terminal .esc{color:var(--color-ctp-mauve);font-weight:700}.terminal .caret{background-color:var(--color-ctp-text);user-select:none}.content .special-block.block-note{border-inline-start:4px solid var(--color-ctp-blue);background-color:color-mix(in srgb, var(--color-ctp-blue) 10%, transparent);padding:var(--space-s) 1.25rem;border-radius:var(--radius-s)}
