:where(.md-content){--p-spacing:1.2rem;--code-background:var(--soft);--link-bgcolor-hover:var(--soft);--background-alt:var(--soft);--link-color:var(--accent);--link-color-hover:var(--link-color);--link-decoration:underline;--link-decoration-hover:underline;--link-external-color:var(--link-color);--link-external-color-hover:var(--link-external-color);--link-external-bgcolor-hover:var(--link-bgcolor-hover);--link-external-decoration:underline;--link-external-decoration-hover:underline;--code-color:var(--ink);--code-size:.88em;--code-padding-x:.3em;--code-padding-y:.15em;--code-border-width:0;--code-border-color:var(--line);--code-border-radius:4px;--code-white-space:pre-wrap;--code-line-height:1.5;--image-radius:4px;--hr-color:var(--line);--hr-thickness:1px;font-family:var(--font-display);tab-size:4;font-size:1.08rem;& a{text-decoration-line:var(--link-decoration);color:var(--link-color)}& a:hover{color:var(--link-color-hover);background-color:var(--link-bgcolor-hover);text-decoration-line:var(--link-decoration-hover)}& code{color:var(--code-color);font-family:var(--font-monospace);background:var(--code-background);border:var(--code-border-width) solid var(--code-border-color);border-radius:var(--code-border-radius);font-size:var(--code-size);padding:var(--code-padding-y) var(--code-padding-x);box-decoration-break:clone}& :not(pre)>code{background:var(--background-alt)}& blockquote{color:var(--muted);margin:var(--p-spacing) 0;border-left:3px solid var(--accent);padding:.25rem 1rem}& blockquote p:first-child{margin-top:0}& blockquote p:last-child{margin-bottom:0}& hr{border:none;border-top:var(--hr-thickness) solid;border-color:var(--hr-color);margin:2rem 0}& img{-webkit-touch-callout:default}& img:not([width]){outline:none;max-width:100%}& img:not(.emoji){border-radius:var(--image-radius)}& b,& strong{font-weight:600}& i,& em{color:var(--ink);font-style:italic}& p{word-wrap:break-word;letter-spacing:normal;margin-block-start:var(--p-spacing);margin-block-end:var(--p-spacing);line-height:1.7}& mark{background-color:var(--text-highlight-bg);color:var(--text-normal)}}:where(.md-content){& .callout,& .callout[data-callout=info],& .callout[data-callout=todo]{--callout-color:8, 109, 221}& .callout[data-callout=abstract],& .callout[data-callout=summary],& .callout[data-callout=tldr],& .callout[data-callout=important],& .callout[data-callout=tip],& .callout[data-callout=hint]{--callout-color:0, 191, 188}& .callout[data-callout=success],& .callout[data-callout=check],& .callout[data-callout=done]{--callout-color:8, 185, 78}& .callout[data-callout=question],& .callout[data-callout=help],& .callout[data-callout=faq],& .callout[data-callout=warning],& .callout[data-callout=caution],& .callout[data-callout=attention]{--callout-color:236, 117, 0}& .callout[data-callout=failure],& .callout[data-callout=fail],& .callout[data-callout=missing],& .callout[data-callout=danger],& .callout[data-callout=error],& .callout[data-callout=bug]{--callout-color:233, 49, 71}& .callout[data-callout=example]{--callout-color:120, 82, 238}& .callout[data-callout=quote],& .callout[data-callout=cite]{--callout-color:158, 158, 158}& .callout{border-style:solid;border-color:rgba(var(--callout-color), .25);mix-blend-mode:normal;background-color:rgba(var(--callout-color), .1);border-width:0;border-radius:4px;margin:1em 0;padding:12px 12px 12px 24px;overflow:hidden}& .callout-title{color:rgb(var(--callout-color));align-items:center;gap:4px;line-height:1.3;display:flex}& .callout-content{padding:0;overflow-x:auto}& .callout-icon{flex:none;align-items:center;display:flex}& .callout-icon .svg-icon{color:rgb(var(--callout-color))}& .callout-icon:after{content:"​"}& .callout-title-inner{font-weight:600}& .callout-fold{cursor:pointer;align-items:center;padding-right:8px;display:flex}& .callout-fold svg{transition:transform .1s ease-in-out}& .callout.is-collapsed .callout-fold>svg{transform:rotate(-90deg)}& .callout-fold:after{content:"​"}& .callout-fold .svg-icon{transition:transform .1s ease-in-out}& .callout-fold.is-collapsed .svg-icon{transform:rotate(-90deg)}}:where(.md-content){--pre-min-height:2rem;--pre-background:var(--soft);--pre-color:var(--ink);--pre-padding-x:.7rem;--pre-padding-y:.2rem;--pre-border-radius:0px;--button-color:var(--muted);--button-background:transparent;--button-hover-color:var(--ink);--button-hover-background:var(--line);--button-radius:5px;:where(.theme-light) &{--shiki-background:var(--soft);--shiki-foreground:#0f0f0f;--shiki-color-text:#24292f;--shiki-color-background:var(--soft);--shiki-token-constant:#0550ae;--shiki-token-string:#24292f;--shiki-token-comment:#ababab;--shiki-token-keyword:#d53984;--shiki-token-parameter:#24292f;--shiki-token-function:#16a6ab;--shiki-token-string-expression:#0a3069;--shiki-token-punctuation:#24292f;--shiki-token-link:#000012}:where(.theme-dark) &{--shiki-background:var(--soft);--shiki-color-text:#c9d1d9;--shiki-color-background:var(--soft);--shiki-token-constant:#79c0ff;--shiki-token-string:#a5d6ff;--shiki-token-comment:#8b949e;--shiki-token-keyword:#ff7b72;--shiki-token-parameter:#c9d1d9;--shiki-token-function:#d2a8ff;--shiki-token-string-expression:#a5d6ff;--shiki-token-punctuation:#c9d1d9;--shiki-token-link:#000012}& code[class*=language-]{padding:1em;display:block;overflow:auto}& pre{padding:var(--pre-padding-y) var(--pre-padding-x);min-height:var(--pre-min-height);color:var(--pre-color);background-color:var(--pre-background);border-radius:var(--pre-border-radius);white-space:var(--code-white-space);position:relative;overflow-x:auto}& pre[class*=language-],& code[class*=language-]{color:var(--code-color);word-wrap:break-word;word-break:normal;font-family:var(--font-monospace);text-align:left;word-spacing:normal;line-height:var(--code-line-height);hyphens:none}& pre code[class*=language-]{background-color:#0000;border:none;padding:0}& button.copy-code-button{height:auto;box-shadow:none;color:var(--button-color);background-color:var(--button-background);font-family:var(--font-display);border-radius:var(--button-radius);user-select:none;white-space:nowrap;visibility:hidden;border:0;outline:none;margin:.5rem;padding:.5rem .675rem;font-size:.875rem;line-height:1;transition:background-color .2s ease-in-out;position:absolute;top:0;right:0}& button.copy-code-button:hover{color:var(--button-hover-color);background-color:var(--button-hover-background)}& pre:not(:hover)>button.copy-code-button{display:none}& .code-block{background-color:var(--shiki-background);border:1px solid var(--line);border-radius:7.5px;margin:1rem 0;padding:0 1rem;position:relative;overflow:hidden}& .code-block:hover button.copy-code-button{visibility:visible}& .code-block .highlighting{padding-top:1rem;padding-bottom:1rem}}.audio-player{--audio-waveform-height:24px;--audio-peak:color-mix(in srgb, var(--foreground) 22%, var(--background));--audio-rms:color-mix(in srgb, var(--foreground) 55%, var(--background));border:1px solid var(--border);width:100%;color:var(--foreground);background:color-mix(in srgb, var(--background) 96%, var(--foreground));border-radius:12px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:16px;padding:12px 16px;font-size:14px;line-height:1.4;display:grid;position:relative}.audio-player .album-cover-wrapper{background:image-set("/images/audio-background.avif" 1x type("image/avif"),"/images/audio-background.png" 1x type("image/png")) 50%/contain no-repeat;border-radius:8px;width:72px;height:72px;position:relative;overflow:hidden}.audio-player .album-cover-wrapper:empty{border-radius:50%;animation:37s linear infinite rotating}.audio-player .album-cover{object-fit:cover;border-radius:8px;width:100%;max-width:none;height:100%;margin:0;display:block}.audio-player .audio-details{gap:4px;min-width:0;display:grid}.audio-player .audio-heading{min-width:0;min-height:22px;padding-right:22px;position:relative}.audio-player .audio-title{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;line-height:22px;display:block;overflow:hidden}.audio-player .audio-artist-name{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;line-height:18px;display:block;overflow:hidden}.audio-player .audio-loading-icon{width:16px;height:16px;fill:var(--muted);opacity:0;position:absolute;top:3px;right:0}.audio-player .audio-loading-icon.is-loading{opacity:1}.audio-player .audio-bar-wrap{min-width:0;height:var(--audio-waveform-height);cursor:pointer;position:relative}.audio-player .waveform-svg{width:100%;height:var(--audio-waveform-height);display:block}.audio-player .waveform-peak .track-bar{fill:var(--audio-peak)}.audio-player .waveform-rms .track-bar{fill:var(--audio-rms)}.audio-player .waveform-peak .progress-bar{fill:color-mix(in srgb, var(--primary) 40%, var(--background))}.audio-player .waveform-rms .progress-bar{fill:var(--primary)}.audio-player .audio-pointer{background:var(--accent);pointer-events:none;width:1px;height:100%;position:absolute;top:0;left:0}.audio-player .audio-bar-container{background:var(--audio-peak);pointer-events:none;width:100%;height:2px;position:absolute;top:calc(50% - 1px);left:0}.audio-player .audio-loaded,.audio-player .audio-played{height:100%;position:absolute;inset:0 auto 0 0}.audio-player .audio-loaded{background:var(--audio-rms)}.audio-player .audio-played{background:var(--primary)}.audio-player .audio-controls{user-select:none;align-items:center;gap:8px;min-width:0;display:flex}.audio-player .audio-control{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex:none;justify-content:center;align-items:center;margin:0;padding:5px;transition:color .15s,background-color .15s;display:inline-flex}.audio-player .audio-control svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;display:block}.audio-player .audio-control:hover{color:var(--foreground);background:color-mix(in srgb, var(--foreground) 8%, transparent)}.audio-player .audio-control:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.audio-player .audio-control[aria-pressed=true]{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.audio-player .audio-control.audio-play-button{border-color:color-mix(in srgb, var(--foreground) 12%, transparent);background:color-mix(in srgb, var(--foreground) 4%, transparent);color:var(--foreground)}.audio-player .audio-control.audio-play-button:hover{border-color:color-mix(in srgb, var(--foreground) 22%, transparent);background:color-mix(in srgb, var(--foreground) 9%, transparent)}.audio-player .audio-timing{color:var(--muted);font-family:var(--font-monospace);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:6px;margin-left:auto;font-size:11px;display:inline-flex}.audio-player .audio-time-current{color:var(--foreground)}.audio-player>audio{display:none}@media (width<=540px){.audio-player{grid-template-columns:56px minmax(0,1fr);align-items:start;gap:12px;padding:10px 12px}.audio-player .album-cover-wrapper{width:56px;height:56px;margin-top:2px}.audio-player .audio-title{font-size:14px}.audio-player .audio-timing{gap:4px;font-size:10px}}@media (prefers-reduced-motion:reduce){.audio-player .album-cover-wrapper:empty{animation:none}.audio-player .audio-control{transition:none}}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.audio-player .audio-control:active{transform:translateY(1px)}.audio-player .audio-repeat-button svg{width:16px;height:16px}.audio-player .audio-repeat-button[aria-pressed=true]{border-color:color-mix(in srgb, var(--accent) 22%, transparent)}.markdown-image[data-lightbox=true]>a{cursor:zoom-in}.markdown-image-lightbox{z-index:999;cursor:zoom-out;background:#000000d9;border:0;justify-content:center;align-items:center;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:2rem;position:fixed;inset:0}.markdown-image-lightbox[open]{display:flex}.markdown-image-lightbox__image{object-fit:contain;border-radius:.5rem;width:auto;max-width:min(1200px,100%);height:auto;max-height:100%}.markdown-image-lightbox::backdrop{background:0 0}.markdown-image-lightbox__close{color:#fff;cursor:pointer;width:44px;height:44px;font-size:2rem;position:absolute;top:.5rem;right:.5rem}@media (width<=40rem){.markdown-image-lightbox{padding:3.5rem .75rem}}:where(.md-content){& figure figcaption{text-align:right;margin-top:.5rem;font-size:.875rem;font-style:italic}& figure.markdown-image img{transition:transform .22s,box-shadow .22s,filter .22s}@media (hover:hover) and (pointer:fine){& figure.markdown-image[data-lightbox=true]:hover img{filter:saturate(1.03);transform:scale(1.015);box-shadow:0 14px 30px #00000024}}@media (prefers-reduced-motion:reduce){& figure.markdown-image img{transition:none}& figure.markdown-image[data-lightbox=true]:hover img{filter:none;box-shadow:none;transform:none}}}.embed-placeholder[data-astro-cid-6hoxep3l]{color:#dc2626;font-weight:700}.emoji[data-astro-cid-m7eaid7o]{width:1.5rem;height:1.5rem;display:inline}:where(.md-content){& sup.footnote-ref,& .footnotes li[data-footnote-id]{scroll-margin-top:120px}& sup.footnote-ref:is(sup,li):target,& .footnotes li[data-footnote-id]:is(sup,li):target{animation:3s step-end backwards highlight}}@keyframes highlight{0%{background-color:#ff0;outline:1px solid #ff0}}:where(.md-content){--list-indent:2em;--list-indent-editing:.75em;--list-indent-source:0;--list-spacing:.075em;--list-marker-color:var(--text-faint);--list-marker-color-hover:var(--text-muted);--list-marker-color-collapsed:var(--text-accent);--list-bullet-border:none;--list-bullet-radius:50%;--list-bullet-size:.3em;--list-bullet-transform:none;--list-numbered-style:decimal;& ul ul,& ol ul,& ol ol ul,& ol ul ul,& ul ol ul,& ul ul ul{list-style-type:disc}& ol{list-style-type:var(--list-numbered-style)}& ol>li::marker,& ul>li::marker{color:var(--list-marker-color);font-family:var(--font-monospace)}& ul{padding-left:1.625em;list-style-type:disc}& ul,& ol{margin-block-start:var(--p-spacing);margin-block-end:var(--p-spacing);padding-inline-start:var(--list-indent)}& ul ul,& ol ul,& ul ol,& ol ol{margin-block:0}& ul li p:first-of-type,& ol li p:first-of-type{margin-block-start:0}& ul li p:last-of-type,& ol li p:last-of-type{margin-block-end:0}& ul>li,& ol>li{padding-top:var(--list-spacing);padding-bottom:var(--list-spacing);position:relative}& li h1,& li h2,& li h3,& li h4,& li h5{margin-top:0;margin-bottom:0}}.markdown-heading{display:flex;position:relative}:where(.md-content){--h1-line-height:1.2;--h2-line-height:1.2;--h3-line-height:1.3;--h4-line-height:1.4;--h5-line-height:1.5;--h6-line-height:1.5;--h1-size:2.25em;--h2-size:1.8rem;--h3-size:1.35rem;--h4-size:1em;--h5-size:.9em;--h6-size:.85em;--h1-weight:600;--h2-weight:600;--h3-weight:500;--h4-weight:500;--h5-weight:500;--h6-weight:400;--h1-variant:normal;--h2-variant:normal;--h3-variant:normal;--h4-variant:normal;--h5-variant:small-caps;--h6-variant:small-caps;--h1-style:normal;--h2-style:normal;--h3-style:normal;--h4-style:normal;--h5-style:normal;--h6-style:normal;& h1{font-variant:var(--h1-variant);letter-spacing:-.04em;line-height:var(--h1-line-height);font-size:var(--h1-size);font-weight:var(--h1-weight);font-style:var(--h1-style);margin-block-start:calc(var(--p-spacing) * 2.5);margin-block-end:var(--p-spacing)}& h2{font-variant:var(--h2-variant);letter-spacing:-.04em;line-height:var(--h2-line-height);font-size:var(--h2-size);font-weight:var(--h2-weight);font-style:var(--h2-style);margin-block-start:calc(var(--p-spacing) * 2.5);margin-block-end:var(--p-spacing)}& h3{font-variant:var(--h3-variant);letter-spacing:-.04em;line-height:var(--h3-line-height);font-size:var(--h3-size);font-weight:var(--h3-weight);font-style:var(--h3-style);margin-block-start:2rem;margin-block-end:var(--p-spacing)}& h4{font-variant:var(--h4-variant);letter-spacing:.015em;line-height:var(--h4-line-height);font-size:var(--h4-size);font-weight:var(--h4-weight);font-style:var(--h4-style);margin-block-start:2rem;margin-block-end:var(--p-spacing)}& h5{font-variant:var(--h5-variant);letter-spacing:.015em;font-size:var(--h5-size);line-height:var(--h5-line-height);font-weight:var(--h5-weight);font-style:var(--h5-style);margin-block-start:2rem;margin-block-end:var(--p-spacing)}& h6{font-variant:var(--h6-variant);letter-spacing:.015em;font-size:var(--h6-size);line-height:var(--h6-line-height);font-weight:var(--h6-weight);font-style:var(--h6-style);margin-block-start:2rem;margin-block-end:var(--p-spacing)}& h1,& h2,& h3,& h4,& h5,& h6{white-space:break-spaces;margin-left:0;scroll-margin-top:5rem;position:relative}& h1>a,& h2>a,& h3>a,& h4>a,& h5>a,& h6>a{font-family:var(--font-monospace);color:var(--accent);text-align:center;visibility:hidden;width:1em;display:inline-block;position:absolute;inset-inline-start:-1em}& h1:hover>a,& h2:hover>a,& h3:hover>a,& h4:hover>a,& h5:hover>a,& h6:hover>a{visibility:visible;color:var(--accent);text-decoration:none}@media (width<=40rem){& :is(h1,h2,h3,h4,h5,h6)>a{width:.8rem;font-size:.75em;inset-inline-start:-.8rem}}}:where(.md-content){& a.external-link{color:var(--link-external-color);text-decoration-line:var(--link-external-decoration);background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjQ2NDY0IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE1IDNoNnY2Ii8+PHBhdGggZD0iTTEwIDE0IDIxIDMiLz48cGF0aCBkPSJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNiIvPjwvc3ZnPg==);background-position:right 2px;background-repeat:no-repeat;background-size:13px;padding-right:16px}& a.external-link:hover{color:var(--link-external-color-hover);background-color:var(--link-external-bgcolor-hover);text-decoration-line:var(--link-external-decoration-hover)}}:where(.md-content){& .math-inline,& .math-block{text-align:center;text-wrap:nowrap;font-size:1rem;line-height:1.2}& .math-block{text-align:left;margin-block-end:var(--p-spacing);display:block}& .math-inline{display:inline-block}}:where(.md-content){& .table-wrapper{border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin-block-start:var(--p-spacing);margin-block-end:var(--p-spacing);position:relative;overflow-x:auto}& table{border-collapse:collapse;width:100%;line-height:1.3}& td,& th{border:1px solid var(--line);vertical-align:top;min-width:6ch;padding:4px 8px}& td{color:inherit}& th{background:var(--background-alt);font-weight:600;line-height:1.3}& th,& td,& th[align=left],& td[align=left]{text-align:start}& th[align=center],& td[align=center]{text-align:center}& th[align=right],& td[align=right]{text-align:end}& thead>tr>th,& tbody>tr>td{white-space:break-spaces;text-overflow:ellipsis;overflow:hidden}& tbody tr{background-color:#0000}@media (hover:hover){& tbody tr:hover{background-color:#0000}}& tbody tr:nth-child(odd){background-color:#0000}@media (hover:hover){& tbody tr:nth-child(odd):hover{background-color:#0000}}& tbody tr>td:nth-child(2n+2){background-color:#0000}& tbody tr:last-child>td{border-bottom-width:0}& tbody tr>td:first-child{border-left-width:0}& tbody tr>td:last-child{border-right-width:0}& thead tr{background-color:#0000}@media (hover:hover){& thead tr:hover{background-color:#0000}}& thead tr>th{border-top-width:1px;border-color:var(--line)}& thead tr>th:nth-child(2n+2){background-color:#0000}& thead tr>th:first-child{border-left-width:0}& thead tr>th:last-child{border-right-width:0}}:where(.md-content){--tag-size:.8em;--tag-color:var(--accent);--tag-color-hover:var(--accent);--tag-decoration:none;--tag-decoration-hover:none;--tag-background:transparent;--tag-background-hover:transparent;--tag-border-color:var(--accent);--tag-border-color-hover:var(--accent);--tag-border-width:1px;--tag-padding-x:.65em;--tag-padding-y:.2em;--tag-radius:2em;--tag-weight:inherit;& a.tag{background-color:var(--tag-background);border:var(--tag-border-width) solid var(--tag-border-color);border-radius:var(--tag-radius);color:var(--tag-color);font-size:var(--tag-size);font-weight:var(--tag-weight);text-decoration:var(--tag-decoration);padding:var(--tag-padding-y) var(--tag-padding-x);line-height:1}}
