:root{--color-prettylights-syntax-brackethighlighter-angle:#59636e;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-comment:#59636e;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-entity-tag:#0550ae;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-markup-ignored-text:#d1d9e0;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-sublimelinter-gutter-mark:#818b98;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-markup-bold:#1f2328;--color-prettylights-syntax-markup-italic:#1f2328;--color-prettylights-syntax-storage-modifier-import:#1f2328}@media (prefers-color-scheme:dark){:root{--color-prettylights-syntax-brackethighlighter-angle:#9198a1;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-comment:#9198a1;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#f0f6fc;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-markup-ignored-text:#f0f6fc;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-italic:#f0f6fc;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#f0f6fc;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-sublimelinter-gutter-mark:#3d444d;--color-prettylights-syntax-variable:#ffa657}}.pl-c{color:var(--color-prettylights-syntax-comment)}.pl-c1,.pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.pl-e,.pl-en{color:var(--color-prettylights-syntax-entity)}.pl-smi,.pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.pl-k{color:var(--color-prettylights-syntax-keyword)}.pl-s,.pl-pds,.pl-s .pl-pse .pl-s1,.pl-sr,.pl-sr .pl-cce,.pl-sr .pl-sre,.pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.pl-v,.pl-smw{color:var(--color-prettylights-syntax-variable)}.pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.pl-sr .pl-cce{color:var(--color-prettylights-syntax-string-regexp);font-weight:700}.pl-ml{color:var(--color-prettylights-syntax-markup-list)}.pl-mh,.pl-mh .pl-en,.pl-ms{color:var(--color-prettylights-syntax-markup-heading);font-weight:700}.pl-mi{color:var(--color-prettylights-syntax-markup-italic);font-style:italic}.pl-mb{color:var(--color-prettylights-syntax-markup-bold);font-weight:700}.pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.pl-mdr{color:var(--color-prettylights-syntax-meta-diff-range);font-weight:700}.pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.pl-corl{color:var(--color-prettylights-syntax-constant-other-reference-link);text-decoration:underline}html[data-theme=dark]{--color-prettylights-syntax-brackethighlighter-angle:#9198a1;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-comment:#9198a1;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#f0f6fc;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-markup-ignored-text:#f0f6fc;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-italic:#f0f6fc;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#f0f6fc;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-sublimelinter-gutter-mark:#3d444d;--color-prettylights-syntax-variable:#ffa657}:root{--light-bg:#f8f9fa;--light-text:#212529;--light-text-secondary:#6c757d;--light-link:#0c64e9;--light-link-hover:#fd7e14;--light-code-bg:#007bff1a;--light-pre-bg:#0000000a;--light-button-bg:#dee2e6;--light-button-text:#333;--light-border:#00000020;--light-highlight:#17a2b8;--light-blockquote-bg:#0000000d;--light-input-bg:#0000001a;--light-table-odd:#0000000d;--light-nav-bg:#0000000d;--light-card-bg:#fffc;--light-card-border:#0000001a;--light-shadow:#0000001a;--light-selection:#007bff33;--light-accent-bg:#dbdab4;--dark-bg:#061e25;--dark-text:#d0d0d0;--dark-text-secondary:#8c8c8c;--dark-link:cornflowerblue;--dark-link-hover:orange;--dark-code-bg:#00ffff1a;--dark-pre-bg:#ffffff0a;--dark-button-bg:#3b3b3b;--dark-button-text:#d0d0d0;--dark-border:#ffffff20;--dark-highlight:mediumaquamarine;--dark-blockquote-bg:#ffffff1a;--dark-input-bg:#0009;--dark-table-odd:black;--dark-nav-bg:#ffffff1a;--dark-card-bg:#0000004d;--dark-card-border:#ffffff1a;--dark-shadow:#0000004d;--dark-selection:#0ff3;--dark-accent-bg:#534027;--page-bg:light-dark(var(--light-bg),var(--dark-bg));--text-color:light-dark(var(--light-text),var(--dark-text));--text-secondary:light-dark(var(--light-text-secondary),var(--dark-text-secondary));--link-color:light-dark(var(--light-link),var(--dark-link));--link-hover:light-dark(var(--light-link-hover),var(--dark-link-hover));--code-bg:light-dark(var(--light-code-bg),var(--dark-code-bg));--pre-bg:light-dark(var(--light-pre-bg),var(--dark-pre-bg));--button-bg:light-dark(var(--light-button-bg),var(--dark-button-bg));--button-text:light-dark(var(--light-button-text),var(--dark-button-text));--border:light-dark(var(--light-border),var(--dark-border));--highlight:light-dark(var(--light-highlight),var(--dark-highlight));--blockquote-bg:light-dark(var(--light-blockquote-bg),var(--dark-blockquote-bg));--input-bg:light-dark(var(--light-input-bg),var(--dark-input-bg));--table-odd:light-dark(var(--light-table-odd),var(--dark-table-odd));--nav-bg:light-dark(var(--light-nav-bg),var(--dark-nav-bg));--card-bg:light-dark(var(--light-card-bg),var(--dark-card-bg));--card-border:light-dark(var(--light-card-border),var(--dark-card-border));--shadow:light-dark(var(--light-shadow),var(--dark-shadow));--selection:light-dark(var(--light-selection),var(--dark-selection));--struct-bg:light-dark(var(--light-pre-bg),var(--dark-pre-bg));--accent-bg:light-dark(var(--light-accent-bg),var(--dark-accent-bg));--body-max-width:min(90vw, 1100px);--sms-options-bg:light-dark(var(--light-bg),var(--dark-bg));--sms-text-color:light-dark(var(--light-text),var(--dark-text));--tooltip-bg:light-dark(#f5f5f7,#2a2a2e)}body{background:var(--page-bg);color:var(--text-color);flex-direction:column;min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.6;transition:background-color .3s,color .3s;display:flex}main{flex:1;padding:calc(1ex + 2vw)}button{color:var(--button-text);cursor:pointer;background:var(--button-bg);border:none;border-radius:3pt;padding:2pt 4pt;font-weight:500}a{color:var(--link-color);text-decoration:none;transition:color .2s}a:hover{color:var(--link-hover)}a.link{background-color:var(--nav-bg);border-radius:3pt;padding:0 4pt}a.link[aria-current=page]{color:#3cb371}h1{text-align:center;margin:.5em 0;font-size:2.5rem;font-weight:300}h2.section-title{text-align:center;margin:1.5em 0 1em;font-size:2.2rem;font-weight:300}:where(h1,h2,h3,h4,h5,h6){text-wrap:balance}:where(h2,h3,h4,h5,h6){scroll-margin-top:50px}:is(h2,h3,h4,h5,h6):target,.toc-clicked{color:#6495ed}:where(h2,h3,h4,h5,h6) a[aria-hidden=true]{opacity:0;margin-left:4pt;transition:opacity .3s}:where(h2,h3,h4,h5,h6):hover a[aria-hidden=true]{opacity:1}code{overflow-wrap:break-word;background-color:var(--code-bg);border-radius:2pt;padding:1pt 3pt;font-size:.95em}pre{background-color:var(--pre-bg);border-radius:4pt;margin:1em auto;padding:6pt 8pt;font-size:9.5pt;position:relative;overflow-x:auto}pre code{background-color:#0000;padding:0}ul{padding-left:1em}ul.grid{max-width:var(--body-max-width);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8em;width:100%;margin:1em auto;padding:0;list-style:none;display:grid;container-type:inline-size}ul.grid>li>h3{place-content:center;place-items:center;margin:8pt 0 5pt;display:flex}label{cursor:pointer;font-weight:600}main>img{width:100%}table{border-collapse:collapse;width:100%}table :is(td,th){border:1px solid var(--border);padding:5pt 9pt}tbody tr:nth-child(odd){background:var(--table-odd)}blockquote{border-left:3pt solid var(--link-color);background-color:var(--blockquote-bg);margin:1em auto;padding:4pt 2pt 4pt 9pt;font-style:italic}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}aside.toc.desktop{max-width:16em;position:fixed;top:3em;left:calc(50vw + 25em)}input{background-color:var(--input-bg);color:inherit;border:none;border-radius:4pt;padding:3pt 6pt;font-size:11pt}::highlight(highlight-match){color:var(--highlight);text-decoration:underline}img.banner{object-fit:cover;width:100%;max-height:25em}section.landing{flex:1;max-width:60em}p{margin:.8em 0 0;line-height:1.7}small{color:var(--text-secondary);font-size:.85em}strong{font-weight:600}em{color:var(--text-secondary)}::selection{background-color:var(--selection)}a[href=\/].svelte-12qhfyh{background-color:var(--card-bg);border-radius:3pt;padding:1pt 5pt;font-size:14pt;transition:color .2s;position:absolute;top:2em;left:2em}@media print{a[href=\/].svelte-12qhfyh{display:none}}
