@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+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: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+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:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-italic-latin.woff2) format("woff2");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}@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+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: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+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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-normal-latin.woff2) format("woff2");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}@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+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:Besley;font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/besley/besley-italic-latin.woff2) format("woff2");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}@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+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:Besley;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/besley/besley-normal-latin.woff2) format("woff2");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}@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+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:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/firacode/firacode-latin.woff2) format("woff2");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}@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+0600-06FF,U+0750-077F,U+08A0-08FF,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+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}.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 table{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:0;margin:1.75em 0;font-size:var(--font-size-m);border:1px solid var(--border);border-radius:8px;overflow:hidden}.prose th,.prose td{border:none;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:.5em 1em;text-align:left}.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 p>img{position:relative;margin-bottom:2em}.prose p>img:after{content:attr(alt);display:block;position:absolute;left:0;width:100%;text-align:center;color:var(--text-secondary);font-size:var(--font-size-s);margin-top:.75em}.prose blockquote{border-left:2px solid var(--border);margin:0 0 1.75em .125em;padding:0 0 0 1.375em;text-align:left}.prose blockquote p{margin:0}.prose blockquote cite{display:inline-block;margin-top:.5em}.prose ul ul{margin-left:.625rem;margin-top:.5em;margin-bottom:.5em}.prose ul li>ul{margin-top:.5em;margin-bottom:.5em}.prose ul.contains-task-list{list-style:none;margin-left:0;white-space:nowrap}.prose ul.contains-task-list li:before{content:none}.prose ul.contains-task-list li.task-list-item{padding-left:.125em;margin-bottom:.5em}.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]{margin-right:.5em;position:relative;top:.175em;width:1em;height:1em;border:1.35px solid var(--text-tertiary);border-radius:4px;background:transparent;appearance:none;-webkit-appearance:none}.prose ul.contains-task-list li.task-list-item input[type=checkbox]:checked{position:relative;background:var(--code-bg);font-family:var(--sans);border:1.35px solid var(--text-tertiary);opacity:.75}.prose ul.contains-task-list li.task-list-item input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-45%,-55%);font-family:var(--sans);font-size:10px;font-weight:650;color:var(--text-primary);opacity:.55}.prose ul.contains-task-list li.task-list-item input[type=checkbox]+*{display:inline;margin-left:0;line-height:1.75;white-space:nowrap}.prose sup,.prose sub,.prose sup a{margin:0 .125em;font-size:.875em;line-height:1}.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);padding:1px 4px;border-radius:5px;min-width:1.75em;display:inline-block;text-align:center}.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:"";position:absolute;top:0;left:0;width:4rem;height:1px;background-color:var(--border)}.prose cite{font-style:normal}.prose [data-footnote-backref]{position:relative;font-family:var(--mono);font-feature-settings:"liga" 0,"calt" 0;font-size:var(--font-size-l);top:-.05em}.prose [data-footnote-ref]{font-size:1em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1,"cv01" 1,"cv02" 1,"calt" 1,"ss03" 1,"liga" 1,"ordn" 1}.prose [data-footnote-ref],.prose [data-footnote-backref]{color:var(--text-secondary);opacity:.875;text-decoration:none;transition:color .2s ease-out;padding-right:.5em}.prose [data-footnote-ref]:hover,.prose [data-footnote-backref]:hover{color:var(--text-primary)}mjx-assistive-mml{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}mjx-container[jax=SVG][display=true]{display:block;text-align:center;margin:1.75em 0}mjx-container[jax=SVG]{direction:ltr}mjx-container[jax=SVG] svg{overflow:visible;min-height:1px;min-width:1px}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}.prose iframe{width:100%;aspect-ratio:16 / 9;border:none;border-radius:6px;margin:.25em 0 0}.prose iframe[src*="spotify.com"]{aspect-ratio:auto}.prose pre .line.focused{display:inline-block;padding:0 1.5em;margin-left:-1.5em;width:calc(100% + 3em);background-color:var(--code-highlight-bg)}@media(max-width:1336px){.prose pre .line.focused{padding:0 1.25em;margin-left:-1.25em;width:calc(100% + 2.5em)}}.prose pre .line.diff{display:inline-block;position:relative;padding:0 1.5em 0 calc(1.5em + 1.5rem);margin-left:-1.5em;width:calc(100% + 3em)}@media(max-width:1336px){.prose pre .line.diff{padding:0 1.25em 0 calc(1.25em + 1.5rem);margin-left:-1.25em;width:calc(100% + 2.5em)}}.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(max-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(max-width:1336px){.prose pre .line.diff.remove:before{left:1.25em}}@media(prefers-reduced-motion:reduce){.prose pre.twoslash *{transition:none!important}}.twoslash-floating-popup{position:absolute;opacity:0;pointer-events:none;z-index:9999;display:inline-flex;flex-direction:column;background:var(--bg);color:var(--text-primary);border:1px solid var(--border);border-radius:.25rem;transition:opacity .15s ease-out;max-width:500px;user-select:none;text-align:left}.twoslash-floating-popup.visible{opacity:1;pointer-events:auto}.twoslash-floating-popup:before{content:"";position:absolute;width:8px;height:8px;background:var(--bg);border:1px solid var(--border);border-right:none;border-bottom:none;left:var(--arrow-left, 1rem)}.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{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{display:flex;flex-direction:column;font-family:var(--sans)}.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{position:relative;margin-bottom:1.4em;transform:translateY(.6em)}.prose pre .twoslash-error-line{display:inline-block;padding:0 1.5em;margin-left:-1.5em;width:calc(100% + 3em);background-color:var(--code-diff-remove-bg)}.prose pre .twoslash-error-line.twoslash-error-level-warning{background-color:var(--twoslash-warn-bg)}@media(max-width:1336px){.prose pre .twoslash-error-line{padding:0 1.25em;margin-left:-1.25em;width:calc(100% + 2.5em)}}.prose pre .twoslash-error{text-decoration:underline wavy var(--code-diff-remove);text-underline-offset:3px}.prose pre .twoslash-error.twoslash-error-level-warning{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{user-select:none;position:absolute;top:0;left:0;transform:translateY(1.2em);margin:3px 0 0 -1px;display:inline-block;z-index:8;box-shadow:var(--twoslash-popup-shadow);background:var(--twoslash-popup-bg);border:1px solid var(--twoslash-border-color)}.prose pre .twoslash-completion-list{width:240px;font-size:.8rem;padding:4px;display:flex;flex-direction:column;gap:4px}.prose pre .twoslash-completion-list:hover{user-select:auto}.prose pre .twoslash-completion-list:before{background-color:var(--twoslash-cursor-color);width:2px;position:absolute;top:-1.6em;height:1.4em;left:-1px;content:" "}.prose pre .twoslash-completion-list li{overflow:hidden;display:flex;align-items:center;gap:.25em;line-height:1em;list-style:none;margin:0;padding:0}.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{text-decoration:line-through;opacity:.5}.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);padding:1px 2px;margin:-1px -3px;border-radius:4px}.prose pre .twoslash-completion-list .twoslash-completions-icon{color:var(--twoslash-unmatched-color);width:1em;flex:none}.prose pre .twoslash-tag-line{position:relative;background-color:var(--twoslash-tag-bg);border-left:3px solid var(--twoslash-tag-color);color:var(--twoslash-tag-color);padding:.25rem .5rem;margin:.25rem 0;display:flex;align-items:center;gap:.25rem;min-width:100%;width:max-content}.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);direction:rtl;text-align:right;line-height:2.25;font-size:1.75em}abbr:where([title]){text-decoration:underline dotted}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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,::-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}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}:disabled{cursor:default}html.light{--bg:#ffffff;--poster-filter:grayscale(1);--text-primary:rgba(0, 0, 0, .85);--text-secondary:rgba(0, 0, 0, .4);--text-tertiary:rgba(0, 0, 0, .55);--border:rgba(0, 0, 0, .1);--selection:rgba(0, 0, 0, .08);--code-bg:rgba(0, 0, 0, .04);--mark:rgba(200, 180, 0, .15);--focus:rgba(0, 0, 0, .7);--link:rgba(0, 0, 0, .85);--link-visited:rgba(0, 0, 0, .6);--link-hover:rgba(0, 0, 0, 1);--astro-code-foreground:rgba(0, 0, 0, .85);--astro-code-background:rgba(0, 0, 0, .03);--astro-code-token-constant:rgba(0, 0, 0, .85);--astro-code-token-string:rgba(0, 0, 0, .85);--astro-code-token-comment:rgba(0, 0, 0, .35);--astro-code-token-keyword:rgba(0, 0, 0, .5);--astro-code-token-parameter:rgba(0, 0, 0, .85);--astro-code-token-function:rgba(0, 0, 0, .85);--astro-code-token-string-expression:rgba(0, 0, 0, .55);--astro-code-token-punctuation:rgba(0, 0, 0, .55);--astro-code-token-link:rgba(0, 0, 0, .55);--code-highlight-bg:rgba(0, 0, 0, .05);--code-diff-add-bg:rgba(0, 100, 200, .06);--code-diff-add:rgba(0, 100, 200, .6);--code-diff-remove-bg:rgba(200, 50, 50, .06);--code-diff-remove:rgba(200, 50, 50, .6)}html.dark{--bg:#1c1c1c;--poster-filter:grayscale(1);--text-primary:rgba(255, 255, 255, .9);--text-secondary:rgba(255, 255, 255, .4);--text-tertiary:rgba(255, 255, 255, .55);--border:rgba(255, 255, 255, .1);--selection:rgba(255, 255, 255, .08);--code-bg:rgba(255, 255, 255, .04);--mark:rgba(200, 180, 50, .2);--focus:rgba(255, 255, 255, .7);--link:rgba(255, 255, 255, .9);--link-visited:rgba(255, 255, 255, .65);--link-hover:rgba(255, 255, 255, 1);--astro-code-foreground:rgba(255, 255, 255, .9);--astro-code-background:rgba(255, 255, 255, .03);--astro-code-token-constant:rgba(255, 255, 255, .9);--astro-code-token-string:rgba(255, 255, 255, .9);--astro-code-token-comment:rgba(255, 255, 255, .35);--astro-code-token-keyword:rgba(255, 255, 255, .55);--astro-code-token-parameter:rgba(255, 255, 255, .9);--astro-code-token-function:rgba(255, 255, 255, .9);--astro-code-token-string-expression:rgba(255, 255, 255, .55);--astro-code-token-punctuation:rgba(255, 255, 255, .55);--astro-code-token-link:rgba(255, 255, 255, .55);--code-highlight-bg:rgba(255, 255, 255, .08);--code-diff-add-bg:rgba(100, 160, 255, .08);--code-diff-add:rgba(100, 160, 255, .7);--code-diff-remove-bg:rgba(255, 100, 100, .08);--code-diff-remove:rgba(255, 100, 100, .7)}html.reading{--bg:#f4ecd8;--poster-filter:sepia(.6) grayscale(.4);--text-primary:rgba(62, 42, 26, .9);--text-secondary:rgba(62, 42, 26, .5);--text-tertiary:rgba(62, 42, 26, .55);--border:rgba(62, 42, 26, .15);--selection:rgba(62, 42, 26, .12);--code-bg:rgba(62, 42, 26, .06);--mark:rgba(180, 150, 50, .2);--focus:rgba(62, 42, 26, .7);--link:rgba(62, 42, 26, .9);--link-visited:rgba(62, 42, 26, .65);--link-hover:rgba(62, 42, 26, 1);--astro-code-foreground:rgba(62, 42, 26, .9);--astro-code-background:rgba(62, 42, 26, .05);--astro-code-token-constant:rgba(62, 42, 26, .9);--astro-code-token-string:rgba(62, 42, 26, .9);--astro-code-token-comment:rgba(62, 42, 26, .4);--astro-code-token-keyword:rgba(62, 42, 26, .6);--astro-code-token-parameter:rgba(62, 42, 26, .9);--astro-code-token-function:rgba(62, 42, 26, .9);--astro-code-token-string-expression:rgba(62, 42, 26, .6);--astro-code-token-punctuation:rgba(62, 42, 26, .6);--astro-code-token-link:rgba(62, 42, 26, .6);--code-highlight-bg:rgba(62, 42, 26, .08);--code-diff-add-bg:rgba(50, 80, 120, .08);--code-diff-add:rgba(50, 80, 120, .65);--code-diff-remove-bg:rgba(150, 60, 60, .08);--code-diff-remove:rgba(150, 60, 60, .65)}html.font-dyslexic{--sans:"OpenDyslexic", -apple-system, BlinkMacSystemFont, sans-serif;--serif:"OpenDyslexic", Georgia, serif}html.font-dyslexic .prose{font-size:1.125rem;line-height:1.9;letter-spacing:.02em;word-spacing:.12em}html.font-dyslexic .prose p,html.font-dyslexic .prose li{max-width:65ch}::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{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip-path:inset(50%);white-space:nowrap}.page-title{font-size:1.25rem;font-weight:400;margin:0 0 1.5rem}.switcher-item.dimmed{color:var(--text-tertiary);opacity:.5;cursor:not-allowed}.font-toggle[data-astro-cid-5encojnn][data-font=dyslexic]{color:var(--link-hover);background:var(--selection);border-radius:.25rem}.bottom-sheet[data-astro-cid-4zy37mla].open{pointer-events:auto}.bottom-sheet[data-astro-cid-4zy37mla].open .sheet-overlay[data-astro-cid-4zy37mla]{opacity:1}.bottom-sheet[data-astro-cid-4zy37mla].open .sheet-panel[data-astro-cid-4zy37mla]{transform:translateY(0)}.switcher-item[data-astro-cid-4zy37mla].dimmed{opacity:.5;cursor:not-allowed;color:var(--text-tertiary)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}, .85);--text-secondary:rgba(0, 0, 0, .4);--text-tertiary:rgba(0, 0, 0, .55);--border:rgba(0, 0, 0, .1);--selection:rgba(0, 0, 0, .08);--code-bg:rgba(0, 0, 0, .04);--mark:rgba(200, 180, 0, .15);--focus:rgba(0, 0, 0, .7);--link:rgba(0, 0, 0, .85);--link-visited:rgba(0, 0, 0, .6);--link-hover:rgba(0, 0, 0, 1);--astro-code-foreground:rgba(0, 0, 0, .85);--astro-code-background:rgba(0, 0, 0, .03);--astro-code-token-constant:rgba(0, 0, 0, .85);--astro-code-token-string:rgba(0, 0, 0, .85);--astro-code-token-comment:rgba(0, 0, 0, .35);--astro-code-token-keyword:rgba(0, 0, 0, .5);--astro-code-token-parameter:rgba(0, 0, 0, .85);--astro-code-token-function:rgba(0, 0, 0, .85);--astro-code-token-string-expression:rgba(0, 0, 0, .55);--astro-code-token-punctuation:rgba(0, 0, 0, .55);--astro-code-token-link:rgba(0, 0, 0, .55);--code-highlight-bg:rgba(0, 0, 0, .05);--code-diff-add-bg:rgba(0, 100, 200, .06);--code-diff-add:rgba(0, 100, 200, .6);--code-diff-remove-bg:rgba(200, 50, 50, .06);--code-diff-remove:rgba(200, 50, 50, .6)}html.dark{--bg:#1c1c1c;--poster-filter:grayscale(1);--text-primary:rgba(255, 255, 255, .9);--text-secondary:rgba(255, 255, 255, .4);--text-tertiary:rgba(255, 255, 255, .55);--border:rgba(255, 255, 255, .1);--selection:rgba(255, 255, 255, .08);--code-bg:rgba(255, 255, 255, .04);--mark:rgba(200, 180, 50, .2);--focus:rgba(255, 255, 255, .7);--link:rgba(255, 255, 255, .9);--link-visited:rgba(255, 255, 255, .65);--link-hover:rgba(255, 255, 255, 1);--astro-code-foreground:rgba(255, 255, 255, .9);--astro-code-background:rgba(255, 255, 255, .03);--astro-code-token-constant:rgba(255, 255, 255, .9);--astro-code-token-string:rgba(255, 255, 255, .9);--astro-code-token-comment:rgba(255, 255, 255, .35);--astro-code-token-keyword:rgba(255, 255, 255, .55);--astro-code-token-parameter:rgba(255, 255, 255, .9);--astro-code-token-function:rgba(255, 255, 255, .9);--astro-code-token-string-expression:rgba(255, 255, 255, .55);--astro-code-token-punctuation:rgba(255, 255, 255, .55);--astro-code-token-link:rgba(255, 255, 255, .55);--code-highlight-bg:rgba(255, 255, 255, .08);--code-diff-add-bg:rgba(100, 160, 255, .08);--code-diff-add:rgba(100, 160, 255, .7);--code-diff-remove-bg:rgba(255, 100, 100, .08);--code-diff-remove:rgba(255, 100, 100, .7)}html.reading{--bg:#f4ecd8;--poster-filter:sepia(.6) grayscale(.4);--text-primary:rgba(62, 42, 26, .9);--text-secondary:rgba(62, 42, 26, .5);--text-tertiary:rgba(62, 42, 26, .55);--border:rgba(62, 42, 26, .15);--selection:rgba(62, 42, 26, .12);--code-bg:rgba(62, 42, 26, .06);--mark:rgba(180, 150, 50, .2);--focus:rgba(62, 42, 26, .7);--link:rgba(62, 42, 26, .9);--link-visited:rgba(62, 42, 26, .65);--link-hover:rgba(62, 42, 26, 1);--astro-code-foreground:rgba(62, 42, 26, .9);--astro-code-background:rgba(62, 42, 26, .05);--astro-code-token-constant:rgba(62, 42, 26, .9);--astro-code-token-string:rgba(62, 42, 26, .9);--astro-code-token-comment:rgba(62, 42, 26, .4);--astro-code-token-keyword:rgba(62, 42, 26, .6);--astro-code-token-parameter:rgba(62, 42, 26, .9);--astro-code-token-function:rgba(62, 42, 26, .9);--astro-code-token-string-expression:rgba(62, 42, 26, .6);--astro-code-token-punctuation:rgba(62, 42, 26, .6);--astro-code-token-link:rgba(62, 42, 26, .6);--code-highlight-bg:rgba(62, 42, 26, .08);--code-diff-add-bg:rgba(50, 80, 120, .08);--code-diff-add:rgba(50, 80, 120, .65);--code-diff-remove-bg:rgba(150, 60, 60, .08);--code-diff-remove:rgba(150, 60, 60, .65)}html.font-dyslexic{--sans:"OpenDyslexic", -apple-system, BlinkMacSystemFont, sans-serif;--serif:"OpenDyslexic", Georgia, serif}html.font-dyslexic .prose{font-size:1.125rem;line-height:1.9;letter-spacing:.02em;word-spacing:.12em}html.font-dyslexic .prose p,html.font-dyslexic .prose li{max-width:65ch}::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{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip-path:inset(50%);white-space:nowrap}.page-title{font-size:1.25rem;font-weight:400;margin:0 0 1.5rem}.switcher-item.dimmed{color:var(--text-tertiary);opacity:.5;cursor:not-allowed}.font-toggle[data-astro-cid-5encojnn][data-font=dyslexic]{color:var(--link-hover);background:var(--selection);border-radius:.25rem}.focus-toggle[data-astro-cid-osoie56j]{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem;color:var(--text-primary);transition:opacity .2s ease}.focus-toggle[data-astro-cid-osoie56j]:hover{opacity:.7}.focus-toggle[data-astro-cid-osoie56j]:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:.25rem}@media(prefers-reduced-motion:reduce){.focus-toggle[data-astro-cid-osoie56j]{transition:none}}.bottom-sheet[data-astro-cid-4zy37mla].open{pointer-events:auto}.bottom-sheet[data-astro-cid-4zy37mla].open .sheet-overlay[data-astro-cid-4zy37mla]{opacity:1}.bottom-sheet[data-astro-cid-4zy37mla].open .sheet-panel[data-astro-cid-4zy37mla]{transform:translateY(0)}.switcher-item[data-astro-cid-4zy37mla].dimmed{opacity:.5;cursor:not-allowed;color:var(--text-tertiary)}.back-to-top[data-astro-cid-unqoj63x]{display:flex;align-items:center;justify-content:center;padding:.5rem;background:none;border:none;color:var(--text-primary);cursor:pointer;transition:opacity .2s ease}.back-to-top[data-astro-cid-unqoj63x]:hover{opacity:.7}.back-to-top[data-astro-cid-unqoj63x]:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:.25rem}@media(prefers-reduced-motion:reduce){.back-to-top[data-astro-cid-unqoj63x]{transition:none}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}idden;white-space:nowrap;width:1px;height:1px}