@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}:root{--background-color:#1a1917;--foreground-color:#fff7f0;--faint:color-mix(in srgb, var(--foreground-color) 35%, transparent);--hairline:color-mix(in srgb, var(--foreground-color) 12%, transparent);--wash:color-mix(in srgb, var(--foreground-color) 5%, var(--background-color));--text-color:color-mix(in srgb, var(--foreground-color) 78%, var(--background-color));--heading-color:color-mix(in srgb, var(--foreground-color) 92%, var(--background-color));--muted:color-mix(in srgb, var(--foreground-color) 50%, var(--background-color));color-scheme:dark}:root[data-theme=light]{--background-color:#f5f4f1;--foreground-color:#262523;color-scheme:light;--text-color:var(--foreground-color);--heading-color:var(--foreground-color);--muted:color-mix(in srgb, var(--foreground-color) 65%, var(--background-color))}:focus-visible{outline:1px solid color-mix(in srgb, var(--foreground-color) 45%, transparent);outline-offset:3px;border-radius:2px}::selection{background:color-mix(in srgb, var(--foreground-color) 22%, transparent)}html,body{background:var(--background-color);color:var(--foreground-color);margin:0}body{font-family:var(--font-text,system-ui, sans-serif);-webkit-font-smoothing:antialiased;text-autospace:normal;text-spacing-trim:trim-start;font-size:15px}:is(pre,code,kbd,samp){font-family:var(--font-code,ui-monospace, monospace);text-autospace:no-autospace;text-spacing-trim:space-all}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}:root[data-transition=theme],:root[data-transition=theme] *{transition:none!important}:root[data-astro-transition]::view-transition-group(root),:root[data-astro-transition]::view-transition-old(root),:root[data-astro-transition]::view-transition-new(root){animation:none}:root[data-transition=theme]::view-transition-old(root),:root[data-transition=theme]::view-transition-new(root){mix-blend-mode:normal;animation:none}@property --wipe-r{syntax:"<length>";inherits:false;initial-value:0}@property --wipe-inner{syntax:"<length>";inherits:false;initial-value:0}@property --wipe-x{syntax:"<length>";inherits:false;initial-value:0}@property --wipe-y{syntax:"<length>";inherits:false;initial-value:0}:root[data-transition=theme]::view-transition-new(root){mask:radial-gradient(circle at var(--wipe-x) var(--wipe-y), #000 var(--wipe-inner), transparent var(--wipe-r)) no-repeat}.ink{color:color-mix(in srgb, var(--text-color) 50%, var(--muted));text-underline-offset:5px;text-decoration:underline 1px;text-decoration-color:var(--faint);transition:color .15s,text-decoration-color .15s}.ink:hover,.ink:focus-visible{color:var(--text-color);text-decoration-color:currentColor}.muted{color:var(--muted)}.sep{color:var(--faint)}.latin-quote{font-variant-east-asian:proportional-width}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{box-sizing:border-box;min-height:100vh;color:var(--text-color);flex-direction:column;padding:160px 24px 0;display:flex}.page>main{flex:1}@media (width<=640px){.page{padding-top:112px}}@media (width>=1024px){.page{padding-left:20vw;padding-right:20vw}}.page-title{color:var(--muted);margin:0 0 40px;font-size:15px;font-weight:400}.page-title a{color:inherit}.entries{margin:0;padding:0;font-size:15px;line-height:2;list-style:none}.entries li:before{content:"•";margin-right:.6em}.entries .date{color:var(--muted);white-space:nowrap;margin-left:.8em;font-size:13px}.entries .badge{color:var(--muted);margin-left:.8em;font-size:12px}.astro-code,.astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}:root[data-theme=light] :is(.astro-code,.astro-code span){color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration)}.prose{overflow-wrap:break-word;max-width:42rem;font-size:16px;line-height:1.9}.prose :is(p,li,figcaption){text-wrap:pretty}:is(.prose :is(h2,h3,h4,h5,h6),.page-title,article h1){text-wrap:balance}.prose>:first-child{margin-top:0}.prose :is(p,ul,ol,blockquote,pre,table,figure){margin:1.25em 0}.prose :is(h2,h3,h4,h5,h6){color:var(--heading-color);margin:2.4em 0 .9em;scroll-margin-top:2rem;font-weight:400;line-height:1.45}.prose h2{--mark:"##";font-size:22px}.prose h3{--mark:"###";font-size:19px}.prose h4{--mark:"####";font-size:16.5px}.prose h5{--mark:"#####";font-size:16px}.prose h6{--mark:"######";font-size:15px}.prose :is(h2,h3,h4,h5,h6):before,.prose .anchor:before{content:var(--mark);margin-right:.5em}.prose :is(h2,h3,h4,h5,h6):before{color:var(--faint)}.prose .anchored:before{content:none}.prose a.anchor{color:var(--faint);text-decoration:none;transition:color .15s;position:relative}.prose :is(h2,h3,h4,h5,h6):hover>.anchor{color:var(--muted)}.prose a.anchor:is(:hover,:focus-visible){color:var(--text-color)}.prose .anchor[data-copied]:after{content:"copied";color:var(--muted);white-space:nowrap;font-size:12px;line-height:1.6;position:absolute;bottom:100%;left:0}.prose :is(h2,h3,h4,h5,h6)+:is(h2,h3,h4,h5,h6){margin-top:1.2em}.prose a{color:inherit;text-underline-offset:5px;text-decoration:underline 1px;text-decoration-color:var(--faint);transition:text-decoration-color .15s}.prose a:hover{text-decoration-color:currentColor}.prose a:is([href^="http://"],[href^="https://"]):not(:has(img)):after{content:"↗";color:var(--muted);margin-left:.15em;font-size:.75em;display:inline-block}.prose strong{color:var(--heading-color);font-weight:600}.prose :is(ul,ol){padding-left:1.6em}.prose ul{list-style:none}.prose ul>li{position:relative}.prose ul>li:before{content:"•";color:var(--faint);position:absolute;left:-1.6em}.prose ol>li::marker{color:var(--faint)}.prose li+li{margin-top:.25em}.prose li>p:first-child{margin-top:0}.prose li>p:last-child{margin-bottom:0}.prose li>:is(ul,ol){margin:.25em 0}.prose blockquote{border-left:1px solid var(--faint);color:color-mix(in srgb, var(--text-color) 75%, var(--background-color));padding-left:1.2em}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.prose :not(pre)>code{background:color-mix(in srgb, var(--foreground-color) 9%, transparent);border-radius:3px;padding:.1em .35em;font-size:.92em}.prose pre{border:1px solid var(--hairline);background:var(--wash);tab-size:2;border-radius:6px;padding:16px 18px;font-size:13.5px;line-height:1.7;overflow-x:auto}.prose .code{margin:1.25em 0;position:relative}.prose .code>pre{margin:0}.prose .code[data-language]:before,.prose .copy{z-index:1;color:var(--muted);font:11px/1 var(--font-code,ui-monospace, monospace);background:0 0;padding:3px 10px;position:absolute;top:1px;right:1px}.prose .code[data-language]:before{content:attr(data-language);pointer-events:none}.prose .copy{cursor:pointer;opacity:0;border:0;transition:opacity .15s,color .15s}.prose .copy:hover{color:var(--text-color)}.prose .code:is(:hover,:focus-within)>.copy,.prose .copy[data-copied]{opacity:1}.prose .code:has(>.copy):is(:hover,:focus-within):before,.prose .code:has(>.copy[data-copied]):before{visibility:hidden}@media (hover:none){.prose .copy{opacity:1}.prose .code:has(>.copy):before{display:none}}.prose pre :is(.highlighted,.diff){min-width:100%;margin:0 -18px;padding:0 18px;display:inline-block;position:relative}.prose pre .highlighted{background:color-mix(in srgb, var(--foreground-color) 8%, transparent)}.prose pre .diff.add{background:#3fb9501f}.prose pre .diff.remove{background:#f851491f}.prose pre .diff.remove>span{opacity:.6}.prose pre .diff:before{color:var(--muted);position:absolute;left:6px}.prose pre .diff.add:before{content:"+"}.prose pre .diff.remove:before{content:"-"}.prose hr{text-align:center;border:0;margin:3em 0;overflow:visible}.prose hr:after{content:"*  *  *";white-space:pre;color:var(--faint)}.prose img,.prose video{border-radius:4px;max-width:100%;height:auto;display:block}:root:not([data-theme=light]) .prose img{filter:brightness(.88);transition:filter .2s}:root:not([data-theme=light]) .prose img:hover{filter:none}.prose img[data-zoom]{cursor:zoom-in}.zoom{cursor:zoom-out;background:0 0;border:0;outline:none;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0}.zoom[open]{place-items:center;display:grid}.zoom::backdrop{background:color-mix(in srgb, var(--background-color) 94%, transparent)}.zoom img{border-radius:4px;width:auto;max-width:calc(100vw - 32px);height:auto;max-height:calc(100dvh - 32px);display:block}@media (prefers-reduced-motion:no-preference){.zoom[open],.zoom[open]::backdrop{animation:.2s ease-out fade-in}}@keyframes fade-in{0%{opacity:0}}.prose figcaption{color:var(--muted);margin-top:.6em;font-size:13px}.prose table{border-collapse:collapse;width:100%;font-size:15px;display:block;overflow-x:auto}.prose :is(th,td){border-bottom:1px solid var(--hairline);text-align:left;vertical-align:top;padding:.5em 1em .5em 0}.prose th{color:var(--muted);font-weight:400}.prose .katex{font-size:1.1em}.prose .katex-display{margin:1.5em 0;padding:.2em 0;overflow:auto hidden}.prose .typst{margin:1.5em 0}.prose .typst>:first-child{margin-top:0}.prose .typst>:last-child{margin-bottom:0}.prose .typst-error{color:#d9534f;white-space:pre-wrap}.prose[data-source=typst] h2{--mark:"="}.prose[data-source=typst] h3{--mark:"=="}.prose[data-source=typst] h4{--mark:"==="}.prose[data-source=typst] h5{--mark:"===="}.prose[data-source=typst] h6{--mark:"====="}.prose .layout-grid{align-items:start;gap:8pt;margin:1.5em 0;display:grid}.prose .layout-grid>div{min-width:0}.prose .layout-grid>div>:first-child{margin-top:0}.prose .layout-grid>div>:last-child{margin-bottom:0}.prose .layout-grid>.text{align-self:center}@media (width<=640px){.prose .layout-grid:has(>.text){grid-template-columns:1fr!important}}.prose figure{margin:1.75em 0}.prose figure>.layout-grid{margin:0 0 .6em}.prose [data-stack]{gap:14pt;margin:1.75em 0;display:flex}.prose [data-stack=ltr]{flex-wrap:wrap;justify-content:center;align-items:flex-start}.prose [data-stack=ttb]{flex-direction:column}.prose [data-stack]>div{min-width:0}.prose [data-stack]>div>:is(p,div){margin:0}.prose .rotate{transform:rotate(var(--angle));display:inline-block}.prose .crop{height:var(--h);border-radius:4px;display:block;overflow:hidden}.prose .crop img{object-fit:cover;object-position:var(--fx) var(--fy);width:100%;max-width:none;height:100%;transform:scale(var(--zoom));transform-origin:var(--fx) var(--fy);border-radius:0}.prose .polaroid{box-sizing:border-box;background:#fff;border:.5pt solid #e1e1e1;border-radius:2pt;width:150pt;max-width:100%;padding:8pt 8pt 2pt;box-shadow:0 1px 3px #00000026}.prose .polaroid>p{margin:0}.prose .polaroid>p:last-child{text-align:center;color:#6e6e6e;padding:7pt 0 5pt;font-size:12px;line-height:1.4}.prose :is(.footnotes,[role=doc-endnotes]){border-top:1px solid var(--hairline);margin-top:3.5em;padding-top:1.2em;font-size:14px}.prose [role=doc-endnotes]>hr{display:none}.prose :is([role=doc-noteref],[role=doc-backlink]){padding:0 .1em;text-decoration:none}.prose kbd{border:1px solid var(--hairline);border-bottom-width:2px;border-radius:4px;padding:.05em .4em;font-size:.9em}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}nav[data-astro-cid-wpvy4v7s]{inset-inline:0;z-index:30;justify-content:center;gap:32px;padding-top:32px;font-size:13px;display:flex;position:absolute;top:0}html.home nav[data-astro-cid-wpvy4v7s]{position:fixed}a[data-astro-cid-wpvy4v7s]{color:inherit;opacity:.65;text-decoration:none;transition:opacity .15s}a[data-astro-cid-wpvy4v7s]:hover,a[data-astro-cid-wpvy4v7s][aria-current]{opacity:1}button[data-astro-cid-wpvy4v7s]{color:inherit;opacity:.65;cursor:pointer;background:0 0;border:0;margin:-16px;padding:16px;transition:opacity .15s}button[data-astro-cid-wpvy4v7s]:hover,button[data-astro-cid-wpvy4v7s]:focus-visible{opacity:1;outline:none}svg[data-astro-cid-wpvy4v7s]{display:block}.sun[data-astro-cid-wpvy4v7s]{display:none}:root[data-theme=light] .sun[data-astro-cid-wpvy4v7s]{display:block}:root[data-theme=light] .moon[data-astro-cid-wpvy4v7s]{display:none}footer[data-astro-cid-jo6i4kqk]{color:var(--muted);padding:6rem 0 3rem;font-size:13px}button[data-astro-cid-jo6i4kqk]{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.to-top[data-astro-cid-vy5be4ad]{z-index:30;cursor:pointer;color:var(--muted);font:inherit;opacity:0;visibility:hidden;background:0 0;border:0;margin:-10px;padding:10px;font-size:13px;transition:opacity .2s,transform .2s,visibility .2s,color .15s;position:fixed;bottom:24px;right:28px;transform:translateY(4px)}.to-top[data-astro-cid-vy5be4ad][data-shown]{opacity:1;visibility:visible;transform:none}.to-top[data-astro-cid-vy5be4ad][data-shown]:hover,.to-top[data-astro-cid-vy5be4ad][data-shown]:focus-visible{color:var(--text-color)}.read[data-astro-cid-vy5be4ad]{font-variant-numeric:tabular-nums}.top[data-astro-cid-vy5be4ad],.to-top[data-astro-cid-vy5be4ad]:is(:hover,:focus-visible) .read[data-astro-cid-vy5be4ad]{display:none}.to-top[data-astro-cid-vy5be4ad]:is(:hover,:focus-visible) .top[data-astro-cid-vy5be4ad]{display:inline}@media (prefers-reduced-motion:reduce){.to-top[data-astro-cid-vy5be4ad]{transform:none}}.search[data-astro-cid-ac66eqjo]{box-sizing:border-box;width:100%;max-width:none;height:100%;max-height:none;color:var(--text-color);overscroll-behavior:contain;background:0 0;border:0;outline:none;margin:0;padding:160px 24px 64px;overflow-y:auto}.search[data-astro-cid-ac66eqjo]::backdrop{background:var(--background-color)}@media (width<=640px){.search[data-astro-cid-ac66eqjo]{padding-top:72px}}@media (width>=1024px){.search[data-astro-cid-ac66eqjo]{padding-inline:20vw}}.column[data-astro-cid-ac66eqjo]{max-width:42rem}form[data-astro-cid-ac66eqjo]{border-bottom:1px solid var(--hairline);align-items:baseline;gap:.5em;padding-bottom:14px;display:flex}.prompt[data-astro-cid-ac66eqjo]{color:var(--faint);font-size:22px}input[data-astro-cid-ac66eqjo]{min-width:0;color:var(--heading-color);font:inherit;appearance:none;caret-color:currentColor;background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:0;font-size:22px;line-height:1.45}input[data-astro-cid-ac66eqjo]::placeholder{color:var(--faint);opacity:1}input[data-astro-cid-ac66eqjo]::-webkit-search-cancel-button{display:none}.close[data-astro-cid-ac66eqjo]{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;transition:color .15s}.close[data-astro-cid-ac66eqjo]:is(:hover,:focus-visible){color:var(--text-color)}.tap[data-astro-cid-ac66eqjo]{display:none}.status[data-astro-cid-ac66eqjo]{color:var(--muted);margin:20px 0 0;font-size:13px}.status[data-astro-cid-ac66eqjo]:empty{display:none}.hint[data-astro-cid-ac66eqjo]{color:var(--muted);margin:20px 0 0;font-size:13px;display:none}.search[data-astro-cid-ac66eqjo][data-state=idle] .hint[data-astro-cid-ac66eqjo]{display:block}@media (hover:none){.key[data-astro-cid-ac66eqjo],.hint[data-astro-cid-ac66eqjo]{display:none!important}.tap[data-astro-cid-ac66eqjo]{display:inline}}.results[data-astro-cid-ac66eqjo]{margin:8px 0 0;padding:0;list-style:none}.results[data-astro-cid-ac66eqjo]:empty{display:none}.results[data-astro-cid-ac66eqjo] a{color:inherit;outline:none;padding:12px 0;text-decoration:none;display:block;position:relative}.results[data-astro-cid-ac66eqjo] a:before{content:"•";color:var(--faint);position:absolute;left:-1.3em}.results[data-astro-cid-ac66eqjo] a:is(:hover,:focus):before{content:"›";color:var(--text-color)}.results[data-astro-cid-ac66eqjo] .head{line-height:1.6;display:block}.results[data-astro-cid-ac66eqjo] .title{color:var(--heading-color);text-underline-offset:5px;text-decoration:underline 1px #0000;transition:text-decoration-color .15s}.results[data-astro-cid-ac66eqjo] a:is(:hover,:focus) .title{text-decoration-color:currentColor}.results[data-astro-cid-ac66eqjo] .section{color:var(--muted)}.results[data-astro-cid-ac66eqjo] .date{color:var(--muted);white-space:nowrap;margin-left:.8em;font-size:13px}.results[data-astro-cid-ac66eqjo] .excerpt{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;margin-top:4px;font-size:14px;line-height:1.75;display:-webkit-box;overflow:hidden}.results[data-astro-cid-ac66eqjo] mark{color:var(--text-color);background:0 0}.results[data-astro-cid-ac66eqjo] .excerpt .sep{color:var(--faint)}.keys[data-astro-cid-fcj2qg7l]{border:1px solid var(--hairline);background:var(--background-color);color:var(--text-color);cursor:default;border-radius:8px;outline:none;padding:22px 28px 24px;font-size:13px;box-shadow:0 16px 48px #00000038}.keys[data-astro-cid-fcj2qg7l]::backdrop{background:color-mix(in srgb, var(--background-color) 70%, transparent)}h2[data-astro-cid-fcj2qg7l]{color:var(--muted);margin:0 0 16px;font-size:13px;font-weight:400}dl[data-astro-cid-fcj2qg7l]{grid-template-columns:auto auto;gap:10px 28px;margin:0;display:grid}dt[data-astro-cid-fcj2qg7l]{text-align:right;white-space:nowrap}dd[data-astro-cid-fcj2qg7l]{color:var(--muted);margin:0}kbd[data-astro-cid-fcj2qg7l]{border:1px solid var(--hairline);text-align:center;border-bottom-width:2px;border-radius:4px;min-width:1.1em;padding:0 .4em;font-size:12px;display:inline-block}html.home,html.home body{height:100%;overflow:hidden}#sky[data-astro-cid-z4jru4n3]{width:100%;height:100%;display:none;position:fixed;inset:0}html.home #sky[data-astro-cid-z4jru4n3]{display:block}@media (forced-colors:active){html.home #sky[data-astro-cid-z4jru4n3]{display:none}}
