@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-italic-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-italic-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-italic-greek-ext.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-italic-greek.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-italic-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-normal-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-normal-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-normal-greek-ext.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-normal-greek.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-normal-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Besley;font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/besley/besley-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Besley;font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/besley/besley-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Besley;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/besley/besley-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Besley;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/besley/besley-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/firacode/firacode-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/firacode/firacode-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/firacode/firacode-greek-ext.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/firacode/firacode-greek.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/firacode/firacode-symbols2.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/firacode/firacode-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/firacode/firacode-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:OpenDyslexic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/opendyslexic/OpenDyslexic-Regular.woff)format("woff")}@font-face{font-family:OpenDyslexic;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/opendyslexic/OpenDyslexic-Bold.woff)format("woff")}@font-face{font-family:OpenDyslexic;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/opendyslexic/OpenDyslexic-Italic.woff)format("woff")}@font-face{font-family:OpenDyslexic;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/opendyslexic/OpenDyslexic-BoldItalic.woff)format("woff")}@font-face{font-family:Uthman Taha Naskh;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UthmanTN_v2-0.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+8A0-8FF,U+FB50-FDFF,U+FE70-FEFF}@font-face{font-family:Uthman Taha Naskh;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/UthmanTNB_v2-0.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+8A0-8FF,U+FB50-FDFF,U+FE70-FEFF}.prose *{font-size:var(--font-size-m);margin:0;padding:0}.prose{margin-bottom:8rem}.prose .title{margin-bottom:2.5em}.prose .title h1{margin:0 0 .375rem}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-weight:var(--font-weight-bold);scroll-margin-top:6rem;line-height:1.75}.prose h1{font-size:var(--heading-1);margin:0 0 .89em}.prose h2{font-size:var(--heading-2);margin:2em 0 1em}.prose h3{font-size:var(--heading-3);margin:1.6em 0 .6em}.prose h4{font-size:var(--heading-4);margin:1.5em 0 .5em}.prose h5{font-size:var(--heading-5);margin:1.4em 0 .4em}.prose h6{font-size:var(--heading-6);margin:1.3em 0 .3em}.prose .heading-anchor{color:var(--text-tertiary);opacity:0;margin-left:.5em;text-decoration:none;transition:opacity .2s ease-out}.prose h1:hover .heading-anchor,.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose h4:hover .heading-anchor,.prose h5:hover .heading-anchor,.prose h6:hover .heading-anchor,.prose .heading-anchor:focus{opacity:1}.prose .heading-anchor:hover{color:var(--text-secondary)}.prose .heading-anchor:focus-visible{opacity:1;outline:2px solid var(--focus);outline-offset:2px;border-radius:.125rem}.prose .heading-anchor-icon{font-weight:400}.prose strong,.prose b{font-weight:var(--font-weight-bold)}.prose em{font-family:var(--serif);letter-spacing:0;font-style:italic}.prose h1 em,.prose h2 em,.prose h3 em,.prose h4 em,.prose h5 em,.prose h6 em{font-family:inherit;font-size:inherit}.prose a{color:var(--link);text-decoration:underline;-webkit-text-decoration-color:var(--text-tertiary);text-decoration-color:var(--text-tertiary);transition:text-decoration-color .2s ease-out}.prose a:visited{color:var(--link-visited)}.prose a:hover{color:var(--link-hover);-webkit-text-decoration-color:var(--text-primary);text-decoration-color:var(--text-primary)}.prose a:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:.125rem}.prose a .external-link-icon{vertical-align:baseline;opacity:.6;flex-shrink:0;width:.75em;height:.75em;margin-left:.15em;display:inline-block;position:relative;top:.05em}.prose p{margin:1.75em 0;line-height:1.75}.prose table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:var(--font-size-m);border:1px solid var(--border);border-radius:8px;margin:1.75em 0;overflow:hidden}.prose th,.prose td{border:none;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;padding:.5em 1em}.prose th:last-child,.prose td:last-child{border-right:none}.prose tr:last-child td{border-bottom:none}.prose th{background:var(--astro-code-background);font-weight:var(--font-weight-bold)}.prose img{max-width:100%;height:auto;margin:2em 0;display:block}.img-placeholder{background:var(--code-bg);display:block}.prose img[loading=lazy]{opacity:0;animation:.3s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.prose figure{text-align:center;margin-bottom:2em}.prose figure img{margin-bottom:1em}.prose figure figcaption{color:var(--text-secondary);font-size:var(--font-size-s);text-align:center}.prose p>img{margin-bottom:2em;position:relative}.prose p>img:after{content:attr(alt);text-align:center;width:100%;color:var(--text-secondary);font-size:var(--font-size-s);margin-top:.75em;display:block;position:absolute;left:0}.prose .img-caption{text-align:center;color:var(--text-secondary);font-size:var(--font-size-s);margin-bottom:2em;display:block}.prose code{background-color:var(--code-bg);border:.5px solid var(--border);font-family:var(--mono);font-feature-settings:"liga" 0, "calt" 0;-webkit-font-feature-settings:"liga" 0, "calt" 0;border-radius:5px;padding:2.5px 3.5px;font-size:.9em}.prose blockquote{border-left:2px solid var(--border);text-align:left;margin:0 0 1.75em .125em;padding:0 0 0 1.375em}.prose blockquote p{margin:0}.prose blockquote cite{margin-top:.5em;display:inline-block}.prose ul{margin-bottom:1.75em;margin-left:1rem;padding-left:0;line-height:1.75;list-style-type:none}.prose ul ul{margin-top:.5em;margin-bottom:.5em;margin-left:.625rem}.prose ul li{margin-bottom:.5em;padding-left:.5rem;position:relative}.prose ul li:last-child{margin-bottom:0}.prose ul li>ul{margin-top:.5em;margin-bottom:.5em}.prose ul li:before{content:"•";text-align:center;width:1.5rem;color:var(--text-tertiary);position:absolute;top:-.05em;left:-1.25rem}.prose ol{counter-reset:item;margin-bottom:1.75em;margin-left:1.25rem;padding-left:0;list-style-position:outside}.prose ol li{margin-bottom:.5em;padding-left:.25rem;display:block;position:relative}.prose ol li:last-child{margin-bottom:0}.prose ol li:before{content:counter(item) ".";counter-increment:item;text-align:left;width:1.5rem;color:var(--text-secondary);opacity:.75;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "zero" 1, "cv01" 1, "cv02" 1, "calt" 1, "ss03" 1, "liga" 1, "ordn" 1;position:absolute;left:-1.15rem}.prose ul.contains-task-list{white-space:nowrap;margin-left:0;list-style:none}.prose ul.contains-task-list li:before{content:none}.prose ul.contains-task-list li.task-list-item{margin-bottom:.5em;padding-left:.125em}.prose ul.contains-task-list li.task-list-item:last-child{margin-bottom:0}.prose ul.contains-task-list li.task-list-item input[type=checkbox]{border:1.35px solid var(--text-tertiary);appearance:none;background:0 0;border-radius:4px;width:1em;height:1em;margin-right:.5em;position:relative;top:.175em}.prose ul.contains-task-list li.task-list-item input[type=checkbox]:checked{background:var(--code-bg);font-family:var(--sans);border:1.35px solid var(--text-tertiary);opacity:.75;position:relative}.prose ul.contains-task-list li.task-list-item input[type=checkbox]:checked:after{content:"✓";font-family:var(--sans);color:var(--text-primary);opacity:.55;font-size:10px;font-weight:650;position:absolute;top:50%;left:50%;transform:translate(-45%,-55%)}.prose ul.contains-task-list li.task-list-item input[type=checkbox]+*{white-space:nowrap;margin-left:0;line-height:1.75;display:inline}.prose sup,.prose sub,.prose sup a{margin:0 .125em;font-size:.875em;line-height:1}.prose hr{text-align:center;background:0 0;border:none;height:auto;margin:3.75em 0;position:relative}.prose hr:before{content:"***";font-family:var(--mono);font-feature-settings:"liga" 0, "calt" 0;color:var(--text-tertiary);letter-spacing:.25em;font-size:.875em}.prose kbd{font-family:var(--mono);font-feature-settings:"liga" 0, "calt" 0;font-size:var(--font-size-s);border:1px solid var(--text-tertiary);text-align:center;border-radius:5px;min-width:1.75em;padding:1px 4px;display:inline-block}.prose mark{background-color:var(--mark);color:var(--text-primary);padding:3px 1px}.prose .footnotes{margin-top:4rem;padding-top:1.75rem;position:relative}.prose .footnotes:before{content:"";background-color:var(--border);width:4rem;height:1px;position:absolute;top:0;left:0}.prose cite{font-style:normal}.prose [data-footnote-backref]{font-family:var(--mono);font-feature-settings:"liga" 0, "calt" 0;font-size:var(--font-size-l);position:relative;top:-.05em}.prose [data-footnote-ref]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "zero" 1, "cv01" 1, "cv02" 1, "calt" 1, "ss03" 1, "liga" 1, "ordn" 1;font-size:1em}.prose [data-footnote-ref],.prose [data-footnote-backref]{color:var(--text-secondary);opacity:.875;padding-right:.5em;text-decoration:none;transition:color .2s ease-out}.prose [data-footnote-ref]:hover,.prose [data-footnote-backref]:hover{color:var(--text-primary)}.prose pre{background-color:var(--astro-code-background);border-radius:8px;margin:2em 0;padding:1.25em 1.5em;overflow-x:auto}@media (width<=1336px){.prose pre{padding:1em 1.25em}}.prose pre>code{font-family:var(--mono);font-feature-settings:"liga" 0, "calt" 0;white-space:pre;word-break:normal;overflow-wrap:normal;background:0 0;border:none;border-radius:0;margin:0;padding:0;line-height:1.75;display:block}.prose pre>code *{font-size:var(--font-size-s)}mjx-assistive-mml{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}mjx-container[jax=SVG][display=true]{text-align:center;margin:1.75em 0;display:block}mjx-container[jax=SVG]{direction:ltr}mjx-container[jax=SVG] svg{min-width:1px;min-height:1px;overflow:visible}mjx-container[jax=SVG] svg a{fill:#00f;stroke:#00f}mjx-container[jax=SVG]>svg{color:inherit}.download-math-wrapper,.download-math-block{position:relative}.reading-time{color:var(--text-secondary);letter-spacing:-.025em}.reading-time .separator{margin:0 .25em}.prose iframe{aspect-ratio:16/9;border:none;border-radius:6px;width:100%;margin:.25em 0 0}.prose iframe[src*=spotify\.com]{aspect-ratio:auto}.prose pre .line.highlighted{background-color:var(--code-highlight-bg);width:calc(100% + 3em);margin-left:-1.5em;padding:0 1.5em;display:inline-block}@media (width<=1336px){.prose pre .line.highlighted{width:calc(100% + 2.5em);margin-left:-1.25em;padding:0 1.25em}}.prose pre:has(.line.focused) .line:not(.focused){opacity:.4;filter:blur(1px);transition:all .2s ease-out}.prose pre:has(.line.focused):hover .line:not(.focused){opacity:.8;filter:blur()}.prose pre .line.focused{background-color:var(--code-highlight-bg);width:calc(100% + 3em);margin-left:-1.5em;padding:0 1.5em;display:inline-block}@media (width<=1336px){.prose pre .line.focused{width:calc(100% + 2.5em);margin-left:-1.25em;padding:0 1.25em}}.prose pre .line.diff{width:calc(100% + 3em);margin-left:-1.5em;padding:0 1.5em 0 calc(1.5em + 1.5rem);display:inline-block;position:relative}@media (width<=1336px){.prose pre .line.diff{width:calc(100% + 2.5em);margin-left:-1.25em;padding:0 1.25em 0 calc(1.25em + 1.5rem)}}.prose pre .line.diff.add{background-color:var(--code-diff-add-bg)}.prose pre .line.diff.add:before{content:"+";color:var(--code-diff-add);position:absolute;left:1.5em}@media (width<=1336px){.prose pre .line.diff.add:before{left:1.25em}}.prose pre .line.diff.remove{background-color:var(--code-diff-remove-bg)}.prose pre .line.diff.remove:before{content:"-";color:var(--code-diff-remove);position:absolute;left:1.5em}@media (width<=1336px){.prose pre .line.diff.remove:before{left:1.25em}}@media (prefers-reduced-motion:reduce){.prose pre.twoslash *{transition:none!important}}.prose pre .twoslash-hover{border-bottom:1px dotted #0000;transition:border-color .3s;position:relative}.prose pre:hover .twoslash-hover{border-color:var(--twoslash-underline-color)}.prose pre .twoslash-popup-container{display:none}.twoslash-floating-popup{opacity:0;pointer-events:none;z-index:9999;background:var(--bg);color:var(--text-primary);border:1px solid var(--border);-webkit-user-select:none;user-select:none;text-align:left;border-radius:.25rem;flex-direction:column;max-width:500px;transition:opacity .15s ease-out;display:inline-flex;position:absolute}.twoslash-floating-popup.visible{opacity:1;pointer-events:auto}.twoslash-floating-popup:before{content:"";background:var(--bg);border:1px solid var(--border);width:8px;height:8px;left:var(--arrow-left,1rem);border-bottom:none;border-right:none;position:absolute}.twoslash-floating-popup[data-position=below]:before{top:-5px;transform:rotate(45deg)}.twoslash-floating-popup[data-position=above]:before{bottom:-5px;transform:rotate(-135deg)}.twoslash-floating-popup:hover{-webkit-user-select:auto;user-select:auto}.twoslash-floating-popup .twoslash-popup-code,.twoslash-floating-popup .twoslash-popup-error,.twoslash-floating-popup .twoslash-popup-docs{padding:.5rem!important}.twoslash-floating-popup .copy-code-wrapper{margin:0;padding:0}.twoslash-floating-popup pre{margin:0;overflow-x:auto}.twoslash-floating-popup .twoslash-popup-code{font-family:var(--mono);font-feature-settings:"liga" 0, "calt" 0;font-size:var(--font-size-s)}.twoslash-floating-popup .twoslash-popup-docs{color:var(--text-secondary);font-family:var(--sans);font-size:var(--font-size-s);border-top:1px solid var(--border)}.twoslash-floating-popup .twoslash-popup-error{color:var(--code-diff-remove);background-color:var(--code-diff-remove-bg);font-family:var(--sans);font-size:var(--font-size-s)}.twoslash-floating-popup .twoslash-popup-docs-tags{font-family:var(--sans);flex-direction:column;display:flex}.twoslash-floating-popup .twoslash-popup-docs-tags,.twoslash-floating-popup .twoslash-popup-docs-tag-name{margin-right:.5rem}.twoslash-floating-popup .twoslash-popup-docs-tag-name{font-family:var(--mono);font-feature-settings:"liga" 0, "calt" 0}.prose pre .twoslash-query-line .twoslash-popup-container{margin-bottom:1.4em;position:relative;transform:translateY(.6em)}.prose pre .twoslash-error-line{background-color:var(--code-diff-remove-bg);width:calc(100% + 3em);margin-left:-1.5em;padding:0 1.5em;display:inline-block}.prose pre .twoslash-error-line.twoslash-error-level-warning{background-color:var(--twoslash-warn-bg)}@media (width<=1336px){.prose pre .twoslash-error-line{width:calc(100% + 2.5em);margin-left:-1.25em;padding:0 1.25em}}.prose pre .twoslash-error{-webkit-text-decoration:underline wavy var(--code-diff-remove);text-decoration:underline wavy var(--code-diff-remove);text-underline-offset:3px}.prose pre .twoslash-error.twoslash-error-level-warning{-webkit-text-decoration:underline wavy var(--twoslash-warn-color);text-decoration:underline wavy var(--twoslash-warn-color);text-underline-offset:3px}.prose pre .twoslash-completion-cursor{position:relative}.prose pre .twoslash-completion-cursor .twoslash-completion-list{-webkit-user-select:none;user-select:none;z-index:8;box-shadow:var(--twoslash-popup-shadow);background:var(--twoslash-popup-bg);border:1px solid var(--twoslash-border-color);margin:3px 0 0 -1px;display:inline-block;position:absolute;top:0;left:0;transform:translateY(1.2em)}.prose pre .twoslash-completion-list{flex-direction:column;gap:4px;width:240px;padding:4px;font-size:.8rem;display:flex}.prose pre .twoslash-completion-list:hover{-webkit-user-select:auto;user-select:auto}.prose pre .twoslash-completion-list:before{background-color:var(--twoslash-cursor-color);content:" ";width:2px;height:1.4em;position:absolute;top:-1.6em;left:-1px}.prose pre .twoslash-completion-list li{align-items:center;gap:.25em;margin:0;padding:0;line-height:1em;list-style:none;display:flex;overflow:hidden}.prose pre .twoslash-completion-list li:before{content:none}.prose pre .twoslash-completion-list li span.twoslash-completions-unmatched{color:var(--twoslash-unmatched-color)}.prose pre .twoslash-completion-list .deprecated{opacity:.5;text-decoration:line-through}.prose pre .twoslash-completion-list li span.twoslash-completions-matched{color:var(--twoslash-matched-color)}.prose pre .twoslash-highlighted{background-color:var(--twoslash-highlighted-bg);border:1px solid var(--twoslash-highlighted-border);border-radius:4px;margin:-1px -3px;padding:1px 2px}.prose pre .twoslash-completion-list .twoslash-completions-icon{color:var(--twoslash-unmatched-color);flex:none;width:1em}.prose pre .twoslash-tag-line{background-color:var(--twoslash-tag-bg);border-left:3px solid var(--twoslash-tag-color);color:var(--twoslash-tag-color);align-items:center;gap:.25rem;width:max-content;min-width:100%;margin:.25rem 0;padding:.25rem .5rem;display:flex;position:relative}.prose pre .twoslash-tag-line .twoslash-tag-icon{width:1.1em;color:inherit}.prose pre .twoslash-tag-line.twoslash-tag-error-line{background-color:var(--twoslash-error-bg);border-left:3px solid var(--twoslash-error-color);color:var(--twoslash-error-color)}.prose pre .twoslash-tag-line.twoslash-tag-warn-line{background-color:var(--twoslash-tag-warn-bg);border-left:3px solid var(--twoslash-tag-warn-color);color:var(--twoslash-tag-warn-color)}.prose pre .twoslash-tag-line.twoslash-tag-annotate-line{background-color:var(--twoslash-tag-annotate-bg);border-left:3px solid var(--twoslash-tag-annotate-color);color:var(--twoslash-tag-annotate-color)}.prose [lang=ar],.prose .arabic{font-family:var(--arabic);text-align:right;direction:rtl;font-size:1.75em;line-height:2.25}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}:disabled{cursor:default}html.light{--bg:#fff;--poster-filter:grayscale(1);--text-primary:#000000d9;--text-secondary:#0006;--text-tertiary:#0000008c;--border:#0000001a;--selection:#00000014;--code-bg:#0000000a;--mark:#c8b40026;--focus:#000000b3;--link:#000000d9;--link-visited:#0009;--link-hover:#000;--astro-code-foreground:#000000d9;--astro-code-background:#00000008;--astro-code-token-constant:#000000d9;--astro-code-token-string:#000000d9;--astro-code-token-comment:#00000059;--astro-code-token-keyword:#00000080;--astro-code-token-parameter:#000000d9;--astro-code-token-function:#000000d9;--astro-code-token-string-expression:#0000008c;--astro-code-token-punctuation:#0000008c;--astro-code-token-link:#0000008c;--code-highlight-bg:#0000000d;--code-diff-add-bg:#0064c80f;--code-diff-add:#0064c899;--code-diff-remove-bg:#c832320f;--code-diff-remove:#c8323299}html.dark{--bg:#1c1c1c;--poster-filter:grayscale(1);--text-primary:#ffffffe6;--text-secondary:#fff6;--text-tertiary:#ffffff8c;--border:#ffffff1a;--selection:#ffffff14;--code-bg:#ffffff0a;--mark:#c8b43233;--focus:#ffffffb3;--link:#ffffffe6;--link-visited:#ffffffa6;--link-hover:#fff;--astro-code-foreground:#ffffffe6;--astro-code-background:#ffffff08;--astro-code-token-constant:#ffffffe6;--astro-code-token-string:#ffffffe6;--astro-code-token-comment:#ffffff59;--astro-code-token-keyword:#ffffff8c;--astro-code-token-parameter:#ffffffe6;--astro-code-token-function:#ffffffe6;--astro-code-token-string-expression:#ffffff8c;--astro-code-token-punctuation:#ffffff8c;--astro-code-token-link:#ffffff8c;--code-highlight-bg:#ffffff14;--code-diff-add-bg:#64a0ff14;--code-diff-add:#64a0ffb3;--code-diff-remove-bg:#ff646414;--code-diff-remove:#ff6464b3}html.reading{--bg:#f4ecd8;--poster-filter:sepia(.6) grayscale(.4);--text-primary:#3e2a1ae6;--text-secondary:#3e2a1a80;--text-tertiary:#3e2a1a8c;--border:#3e2a1a26;--selection:#3e2a1a1f;--code-bg:#3e2a1a0f;--mark:#b4963233;--focus:#3e2a1ab3;--link:#3e2a1ae6;--link-visited:#3e2a1aa6;--link-hover:#3e2a1a;--astro-code-foreground:#3e2a1ae6;--astro-code-background:#3e2a1a0d;--astro-code-token-constant:#3e2a1ae6;--astro-code-token-string:#3e2a1ae6;--astro-code-token-comment:#3e2a1a66;--astro-code-token-keyword:#3e2a1a99;--astro-code-token-parameter:#3e2a1ae6;--astro-code-token-function:#3e2a1ae6;--astro-code-token-string-expression:#3e2a1a99;--astro-code-token-punctuation:#3e2a1a99;--astro-code-token-link:#3e2a1a99;--code-highlight-bg:#3e2a1a14;--code-diff-add-bg:#32507814;--code-diff-add:#325078a6;--code-diff-remove-bg:#963c3c14;--code-diff-remove:#963c3ca6}html.font-dyslexic{--sans:"OpenDyslexic", -apple-system, BlinkMacSystemFont, sans-serif;--serif:"OpenDyslexic", Georgia, serif}html.font-dyslexic .prose{letter-spacing:.02em;word-spacing:.12em;font-size:1.125rem;line-height:1.9}html.font-dyslexic .prose p,html.font-dyslexic .prose li{max-width:65ch}.toc-mobile{display:none}::selection{background-color:var(--selection)}:focus{outline:2px solid var(--focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}body[data-width]{max-width:var(--content-width)}.date .month{letter-spacing:var(--spacing-m)}.sr-only{clip:rect(1px 1px 1px 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}.switcher-item.dimmed{color:var(--text-tertiary);opacity:.5;cursor:not-allowed}.font-toggle[data-astro-cid-tje5v3ui][data-font=dyslexic]{color:var(--link-hover);background:var(--selection);border-radius:.25rem}.focus-toggle[data-astro-cid-sv6rqcph]{cursor:pointer;color:var(--text-primary);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:opacity .2s;display:flex}.focus-toggle[data-astro-cid-sv6rqcph]:hover{opacity:.7}.focus-toggle[data-astro-cid-sv6rqcph]:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:.25rem}@media (prefers-reduced-motion:reduce){.focus-toggle[data-astro-cid-sv6rqcph]{transition:none}}.bottom-sheet[data-astro-cid-jchwbsvk].open{pointer-events:auto}.bottom-sheet[data-astro-cid-jchwbsvk].open .sheet-overlay[data-astro-cid-jchwbsvk]{opacity:1}.bottom-sheet[data-astro-cid-jchwbsvk].open .sheet-panel[data-astro-cid-jchwbsvk]{transform:translateY(0)}.switcher-item[data-astro-cid-jchwbsvk].dimmed{opacity:.5;cursor:not-allowed;color:var(--text-tertiary)}.back-to-top[data-astro-cid-plixea7e]{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:opacity .2s;display:flex}.back-to-top[data-astro-cid-plixea7e]:hover{opacity:.7}.back-to-top[data-astro-cid-plixea7e]:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:.25rem}@media (prefers-reduced-motion:reduce){.back-to-top[data-astro-cid-plixea7e]{transition:none}}.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}