@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-ext-wght-normal.C6vrW8VD.woff2)format("woff2-variations");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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.woff2)format("woff2-variations");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:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-ext-wght-italic.Cigfgs4r.woff2)format("woff2-variations");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:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-wght-italic.DC5MiAaX.woff2)format("woff2-variations");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:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-mono-latin-ext-wght-normal.CXgNM06D.woff2)format("woff2-variations");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:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-mono-latin-wght-normal.CoA7y8X5.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/besley-latin-ext-wght-normal.Dt3OBXk7.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/besley-latin-wght-normal.IX-hlgPH.woff2)format("woff2-variations");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}:root,:root[data-theme=light]{--paper:#f1f4f7;--sheet:#fbfcfd;--ink:#101329;--muted:#3d4763;--rule:#c3ccd6;--control:#66728a;--link:#27247a;--tab:#dce4ec;--tab-active:#101329;--tab-active-ink:#f1f4f7;--code-bg:#e7ecf1;--note-bg:#e7eaf6;--note-ink:#27247a;--tip-bg:#e0f0f2;--tip-ink:#0b4e5b;--warn-bg:#faf0d9;--warn-ink:#5f3f00;--syntax-fn:#27247a;--syntax-str:#5f3f00;--syntax-num:#0b4e5b;--syntax-com:#434d63;--focus:#101329}:root[data-theme=dark]{--paper:#171d29;--sheet:#1e2533;--ink:#dce2ea;--muted:#b0bac8;--rule:#3a4456;--control:#7e8a9e;--link:#a9d4e6;--tab:#232b3a;--tab-active:#dce2ea;--tab-active-ink:#171d29;--code-bg:#121722;--note-bg:#232640;--note-ink:#c9cdee;--tip-bg:#18282f;--tip-ink:#a9d4e6;--warn-bg:#2b2618;--warn-ink:#e8c98a;--syntax-fn:#c9cdee;--syntax-str:#e8c98a;--syntax-num:#a9d4e6;--syntax-com:#a9b3c2;--focus:#dce2ea}:root{--gutter:clamp(16px, 4vw, 48px);--step:clamp(8px, 2.4vw, 30px);--body:"Atkinson Hyperlegible Next Variable", system-ui, sans-serif;--display:"Besley Variable", Georgia, serif;--mono:"Atkinson Hyperlegible Mono Variable", Consolas, monospace;--measure:68ch}*,:before,:after{box-sizing:border-box}html{background:var(--paper);-webkit-text-size-adjust:100%;scroll-padding-top:1rem}body{overflow-wrap:break-word;background:var(--paper);min-width:0;color:var(--ink);font:400 1.125rem/1.65 var(--body);margin:0}h1,h2,h3{font-family:var(--display);text-wrap:balance;font-weight:600;line-height:1.2}h1{letter-spacing:-.01em;margin:0;font-size:clamp(2.1rem,1.3rem + 3.2vw,3.6rem)}h2{margin:2.6em 0 .6em;font-size:clamp(1.5rem,1.3rem + .8vw,1.9rem)}h3{margin:0 0 .4em;font-size:1.25rem}p,ul,ol{margin:0 0 1em}a{color:var(--link);text-underline-offset:.16em;text-decoration:underline 1px}a:hover{text-decoration-thickness:3px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip{z-index:10;background:var(--sheet);min-height:44px;color:var(--ink);border:2px solid var(--ink);padding:10px 14px;position:absolute;top:-100px;left:8px}.skip:focus{top:8px}.mock-banner{padding:6px var(--gutter);background:var(--warn-bg);color:var(--warn-ink);margin:0;font-size:1rem}.masthead{padding:12px var(--gutter);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.brand{min-height:44px;color:var(--ink);font:600 1.2rem/1.1 var(--display);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand img{border-radius:10px;width:44px;height:44px;padding:4px;display:block}[data-theme=dark] .brand img{background:var(--ink)}.head-panel.menu-panel{display:contents}.site-nav{flex:auto}.site-nav ul{flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-nav a{min-height:44px;color:var(--ink);white-space:nowrap;align-items:center;padding:0 8px;font-size:1rem;text-decoration:none;display:inline-flex}.site-nav a:hover{text-decoration:underline}.search{align-items:stretch;gap:0;display:flex}.search input{border:1px solid var(--control);background:var(--sheet);width:8.5rem;min-width:0;min-height:44px;color:var(--ink);font:inherit;border-right:0;border-radius:4px 0 0 4px;padding:0 10px;font-size:1rem}.search input::placeholder{color:var(--muted);opacity:1}.search button{border:1px solid var(--control);background:var(--tab);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:0 4px 4px 0;padding:0 10px;font-size:1rem}.theme{border:0;align-items:center;gap:8px;margin:0;padding:0;display:flex}.theme legend{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.theme-options{border:1px solid var(--control);border-radius:4px;display:inline-flex}.theme input{opacity:0;width:1px;height:1px;position:absolute}.theme label{cursor:pointer;align-items:center;min-width:44px;min-height:44px;padding:0 8px;font-size:1rem;display:inline-flex}.theme label+label{border-left:1px solid var(--control)}.theme input:checked+label{background:var(--tab-active);color:var(--tab-active-ink);font-weight:700}.theme input:checked+label:before{content:"✓";margin-right:4px}.theme input:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}.head-toggle{border:1px solid var(--control);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:0 12px;font-size:1rem;display:none}.head-toggle:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.45em;height:.45em;margin-left:.5em;display:inline-block;transform:translateY(-.15em)rotate(45deg)}.head-toggle[aria-expanded=true]{background:var(--tab-active);color:var(--tab-active-ink);font-weight:700}.head-toggle[aria-expanded=true]:after{transform:translateY(.1em)rotate(-135deg)}@media (width<=79.99em){:root[data-theme-choice] .masthead{grid-template-columns:minmax(0,1fr) auto auto;gap:0 12px;display:grid}:root[data-theme-choice] .head-toggle{display:inline-block}:root[data-theme-choice] .head-panel{order:1;grid-column:1/-1;display:none}:root[data-theme-choice] .head-panel.open{padding-top:12px;display:block}:root[data-theme-choice] .theme.open{display:flex}:root[data-theme-choice] .site-nav ul{flex-direction:column}:root[data-theme-choice] .site-nav a{display:flex}:root[data-theme-choice] .search{margin-top:8px}:root[data-theme-choice] .search input{flex:1;width:auto}}:root:not([data-theme-choice]) .theme{display:none}.hero{padding:clamp(32px, 6vw, 72px) 0 clamp(32px, 5vw, 56px) var(--gutter);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:clamp(32px,5vw,80px);display:grid}.lede{max-width:34em;margin-top:1em;font-size:1.3rem;line-height:1.5}.roles{max-width:34em;margin-top:2.5rem}.roles h2{margin:0 0 .5em;font-size:1.35rem}.roles ul{margin:0;padding:0;list-style:none}.roles li{border-top:1px solid var(--rule);padding:0 0 .65em}.roles a{align-items:center;min-height:44px;font-weight:700;display:flex}.roles span{color:var(--muted);display:block}.thumb-index h2{margin:0 0 .6em;font-size:1.35rem}.thumb-index ol{margin:0;padding:0;list-style:none}.thumb-index li{margin-left:calc(var(--i) * var(--step));margin-bottom:6px}.thumb-index a{border:1px solid var(--control);background:var(--tab);min-height:62px;color:var(--ink);font:600 clamp(1.2rem, 1rem + .8vw, 1.6rem)/1.2 var(--display);border-right:0;border-radius:16px 0 0 16px;align-items:center;padding:8px 20px;text-decoration:none;display:flex}.thumb-index a:hover,.thumb-index a:focus-visible{background:var(--tab-active);color:var(--tab-active-ink)}.thumb-index a:focus-visible{outline-offset:-6px;outline-color:var(--tab-active-ink)}.topic-tabs h2{margin:0 0 .6em;font-size:1.35rem}.topic-tabs ul{margin:0;padding:0;list-style:none}.topic-tabs li{border:1px solid var(--control);background:var(--tab);border-right:0;border-radius:16px 0 0 16px;margin-bottom:8px;padding:2px 20px 12px}.topic-tabs a{min-height:48px;color:var(--ink);font:600 clamp(1.2rem, 1rem + .6vw, 1.45rem)/1.2 var(--display);text-underline-offset:.2em;align-items:center;text-decoration:underline 1px;display:flex}.topic-tabs a:hover{text-decoration-thickness:2px}.topic-tabs p{max-width:34em;color:var(--ink);margin:0;font-size:1rem;line-height:1.45}.topic-tabs .tab-count{color:var(--muted);white-space:nowrap}.latest{padding:0 var(--gutter) clamp(32px, 6vw, 72px)}.latest h2{margin-top:.5em}.latest-list{max-width:72rem;margin:0;padding:0;list-style:none}.latest-list li{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) 11rem 13rem;align-items:center;gap:0 24px;padding:.4em 0;display:grid}.latest-list a{align-items:center;min-height:44px;font-weight:700;display:flex}.latest-list span{color:var(--muted);font-size:1rem}.layout{padding-right:var(--gutter);grid-template-columns:minmax(210px,250px) minmax(0,1fr) minmax(190px,230px);align-items:start;gap:clamp(24px,3vw,56px);display:grid}.rail>summary{display:none}.rail nav{padding-top:32px}.rail-tabs{margin:0 0 8px;padding:0;list-style:none}.rail-tabs li{margin-right:calc(var(--i) * 6px);margin-bottom:4px}.rail-tabs a{min-height:44px;padding:6px 12px 6px var(--gutter);border:1px solid var(--control);background:var(--tab);color:var(--ink);border-left:0;border-radius:0 12px 12px 0;align-items:center;gap:8px;line-height:1.2;text-decoration:none;display:flex}.rail-tabs a:hover{text-decoration:underline}.crumbs{color:var(--muted);margin:0 0 .5em;font-size:1rem}.crumbs a{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.summary{margin-top:.8em;font-size:1.3rem;line-height:1.5}.record{border:1px solid var(--control);background:var(--sheet);border-radius:2px;margin:1.5em 0;padding:.75em 1em}.record dl{grid-template-columns:max-content minmax(0,1fr);gap:2px 16px;margin:0;display:grid}.record dt{font-weight:700}.record dd{margin:0}.toc{padding-top:32px;position:sticky;top:0}.toc h2{margin:0 0 .5em;font-size:1.1rem}.toc ol{margin:0;padding:0;list-style:none}.toc a{align-items:center;min-height:44px;padding:4px 0;font-size:1rem;line-height:1.3;display:flex}.toc-inline{margin:1.5em 0;display:none}.toc-inline summary,.rail>summary{border:1px solid var(--control);cursor:pointer;border-radius:4px;min-height:44px;padding:8px 12px}.toc-inline ol{margin:.5em 0 0;padding-left:1.2em}.toc-inline a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.steps{counter-reset:step;padding:0;list-style:none}.steps>li{counter-increment:step;margin:0 0 2.5rem;padding-left:3.25rem;position:relative}.steps>li:before{content:counter(step);width:2.5rem;color:var(--ink);font:700 2.1rem/1.2 var(--display);text-align:right;position:absolute;top:-.1em;left:0}.shot{border:2px dashed var(--control);background:repeating-linear-gradient(45deg, var(--tab) 0 10px, var(--paper) 10px 20px);place-items:center;min-height:11rem;margin:1em 0;padding:1rem;display:grid}.shot figcaption{background:var(--sheet);max-width:30em;color:var(--ink);padding:.5em .75em;font-size:1rem;line-height:1.4}.shot strong{display:block}.sl-markdown-content :not(pre,.ec-line,.ec-line *)>code{font-family:var(--mono);background:var(--code-bg);border-radius:2px;padding:.08em .3em;font-size:.92em}.t-fn{color:var(--syntax-fn);font-weight:700}.t-str{color:var(--syntax-str)}.t-num{color:var(--syntax-num)}.t-com{color:var(--syntax-com);font-style:italic}.callout{grid-template-columns:28px minmax(0,1fr);gap:0 12px;margin:1.25em 0;padding:.8em 1em;display:grid}.callout svg{fill:none;stroke:currentColor;stroke-width:2px;width:26px;height:26px;margin-top:2px}.callout p{color:var(--ink);margin:0}.callout strong{display:block}.callout-note{background:var(--note-bg);color:var(--note-ink);border-left:4px solid}.callout-tip{background:var(--tip-bg);color:var(--tip-ink);border-left:4px dashed}.callout-warn{background:var(--warn-bg);color:var(--warn-ink);border-left:8px double}.table-wrap{margin:1em 0;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:30rem;font-size:1rem}caption{text-align:left;padding-bottom:.4em;font-weight:700}th,td{border:1px solid var(--rule);text-align:left;vertical-align:top;padding:8px 10px}th{background:var(--tab)}.video-facade{border:1px solid var(--control);background:var(--sheet);width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;padding:1.25rem;display:block}.video-facade strong{font:600 1.25rem/1.3 var(--display);display:block}.related{padding-left:1.2em}.related a{align-items:center;min-height:44px;display:inline-flex}summary{list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:"";border-left:8px solid;border-block:6px solid #0000;flex:none;margin-right:8px;display:inline-block}details[open]>summary:before{transform:rotate(90deg)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.count{font:400 .95rem/1 var(--body);color:inherit}.count:before{content:"("}.count:after{content:")"}.kind-icon{vertical-align:-4px;fill:none;stroke:currentColor;stroke-width:2px;width:20px;height:20px;margin-right:6px}.lede+.lede{margin-top:.5em}.rail{max-height:100vh;padding-bottom:24px;position:sticky;top:0;overflow-y:auto}.rail-kicker{padding-left:var(--gutter);font:600 1.1rem/1.3 var(--display);margin:0 0 .25em}.rail-current{min-height:48px;padding:6px 28px 6px var(--gutter);background:var(--tab-active);color:var(--tab-active-ink);border-radius:0 12px 12px 0;align-items:center;font-weight:700;text-decoration:none;display:flex;position:relative}.rail-current:after{content:"";border-left:8px solid;border-block:6px solid #0000;position:absolute;right:12px}.rail-current:hover{text-decoration:underline}.rail-topics,.rail-find,.rail-all,.rail-tree{margin-left:var(--gutter)}.rail-topics{margin-top:4px}.rail-topics>summary,.rail-tree summary{cursor:pointer;align-items:center;gap:6px;min-height:44px;display:flex}.rail-topics[open]{margin-left:0}.rail-topics[open]>summary{padding-left:var(--gutter)}.rail-find{margin-top:8px;font-size:1rem;display:block}.rail-find label{margin-bottom:2px;font-weight:700;display:block}.rail-find div{display:flex}.rail-find input,.topic-search input{border:1px solid var(--control);background:var(--sheet);min-width:0;min-height:44px;color:var(--ink);font:inherit;border-right:0;border-radius:4px 0 0 4px;flex:1;padding:0 10px}.rail-find button,.topic-search button{border:1px solid var(--control);background:var(--tab);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:0 4px 4px 0;padding:0 12px}.rail-all{margin-top:8px;margin-bottom:4px;font-size:1rem}.rail-all a{align-items:center;min-height:44px;display:inline-flex}.rail-tree,.rail-tree ol{margin-bottom:0;padding:0;list-style:none}.rail-tree{font-size:1rem}.rail-tree summary{font-weight:700;line-height:1.25}.rail-tree ol{border-left:2px solid var(--rule);margin-bottom:8px;padding-left:10px}.rail-tree a{align-items:center;min-height:44px;padding:4px 0;line-height:1.25;display:flex}.rail-tree a[aria-current]{font-weight:700;text-decoration-thickness:3px}.rail-tree a[aria-current]:before{content:"";border-left:7px solid;border-block:5px solid #0000;flex:none;margin-right:6px}.parts{font-size:1rem;padding-left:calc(var(--gutter) + 1.2em)!important;list-style:decimal!important}.parts a{align-items:center;min-height:44px;line-height:1.25;display:flex}.rail .parts{margin-top:8px}.pager{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:2.5rem;display:grid}.pager a{border:1px solid var(--control);background:var(--sheet);padding:10px 12px;line-height:1.3;display:block}.pager span{color:var(--muted);font-size:1rem;display:block}.topic-head{padding:20px 0 8px var(--gutter);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);display:grid}.topic-head>div:first-child{min-width:0}.topic-search{max-width:34rem;margin-top:1.25rem}.topic-search label{margin-bottom:4px;font-weight:700;display:block}.topic-search div{display:flex}.topic-widen{max-width:34rem;margin:.4em 0 0;font-size:1rem}.topic-widen a{align-items:center;min-height:44px;display:inline-flex}.start{margin-top:1rem}.start h2{margin:0 0 .25em;font-size:1.2rem}.start ul{columns:2;column-gap:24px;margin:0;padding:0;list-style:none}.start li{break-inside:avoid}.start a{align-items:center;min-height:44px;line-height:1.25;display:flex}.sub-index>summary{display:none}.thumb-index.compact h2{margin:0 0 .4em;font-size:1.2rem}.thumb-index.compact li{margin-bottom:3px;margin-left:calc(var(--i) * clamp(4px, 1.2vw, 16px))}.thumb-index.compact a{border-radius:12px 0 0 12px;justify-content:space-between;gap:8px;min-height:46px;padding:4px 28px 4px 16px;font-size:1.1rem}.browse{padding:16px var(--gutter) 64px;grid-template-columns:minmax(220px,270px) minmax(0,1fr);align-items:start;gap:clamp(24px,3vw,48px);display:grid}.filters,.filters-static{max-height:calc(100vh - 16px);position:sticky;top:8px;overflow-y:auto}.filters>summary{display:none}.filters fieldset,.filters-static fieldset{border:0;margin:0 0 1rem;padding:0}.filters legend,.filters-static legend,.sort{padding:0;font-weight:700}.filters ul,.filters-static ul{margin:0;padding:0;list-style:none}.filters li label,.filters-static li label{cursor:pointer;align-items:center;gap:10px;min-height:44px;line-height:1.2;display:flex}.filters input[type=checkbox],.filters-static input[type=radio]{width:20px;height:20px;accent-color:var(--ink);flex:none;margin:0}.sort{margin-bottom:4px;display:block}select{border:1px solid var(--control);background:var(--sheet);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:4px;padding:0 8px}#clear,.plain-button{border:1px solid var(--control);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:4px;margin-top:12px;padding:0 12px}.results{min-width:0}.results:focus{outline:none}#show-results{width:100%;display:none}#result-status{margin:0 0 .25em;font-weight:700}.sample-note{color:var(--muted);margin:0 0 1rem;font-size:1rem}.group{margin-bottom:2rem;scroll-margin-top:8px}.group h2{margin:0}.group-blurb{color:var(--muted);margin:0 0 .5em}.browse-link a{align-items:center;min-height:44px;display:inline-flex}@media (scripting:none){.needs-script{display:none!important}.browse:has(>.needs-script){grid-template-columns:minmax(0,1fr)}}.tut-list{margin:0;padding:0;list-style:none}.tut-list>li{border-top:1px solid var(--rule);padding:.25em 0 .6em}.tut-list a{align-items:center;min-height:44px;font-weight:700;line-height:1.25;display:flex}.tut-list p{margin:0 0 .15em;font-size:1rem}.tut-list span{color:var(--muted);margin-right:16px;font-size:.95rem;display:inline-block}.tut-list .empty{padding:1em 0}.more>summary{cursor:pointer;align-items:center;min-height:44px;font-weight:700;display:flex}[hidden]{display:none!important}.search-page,.wide{padding:20px var(--gutter) 64px}.search-page h1{font-size:clamp(2rem,1.6rem + 1.5vw,2.6rem)}.try{margin:.5em 0 0;font-size:1rem}.try a{align-items:center;min-height:44px;display:inline-flex}#scope{color:var(--muted);margin:0}.search-results{margin:0;padding:0;list-style:none}.search-results>li{border-top:1px solid var(--rule);padding:.75em 0}.search-results h2{font:600 1.2rem/1.3 var(--display);margin:0}.search-results h2 a{align-items:center;min-height:44px;display:inline-flex}.result-kind{color:var(--muted);margin:0;font-size:1rem}.excerpt{margin:0}mark{color:inherit;background:0 0;font-weight:700;text-decoration:underline 2px}@media (forced-colors:active){mark{color:marktext;background-color:mark}}.wide h1{font-size:clamp(2rem,1.6rem + 1.5vw,2.6rem)}.wide .lede{max-width:42em}.compare-kinds>div{border:1px solid var(--control);background:var(--sheet);padding:12px 16px}.compare-kinds>div+div{border-style:dashed}.guide-list span{color:var(--muted);margin-right:16px;font-size:1rem;display:inline-block}.part-no{color:var(--muted);font:400 1rem/1.3 var(--body);margin-bottom:.1em;display:block}.guide section{scroll-margin-top:8px}.decide{padding-left:1.3em}.decide li{margin-bottom:.5em}.related a{gap:2px}.wide .browse{padding:16px 0 0}.product-layout{padding-left:var(--gutter);grid-template-columns:minmax(0,1fr) minmax(190px,230px)}.product-layout article>p>a{align-items:center;min-height:44px;display:inline-flex}td,tbody th{background:0 0}tbody th{background:var(--tab)}.buy{border:1px solid var(--ink);background:var(--tab-active);width:100%;min-height:44px;color:var(--tab-active-ink);font:inherit;cursor:pointer;border-radius:4px;margin-bottom:8px;padding:8px 12px;font-weight:700;display:block}.guide .related{padding-left:0;list-style:none}[data-theme=dark] .screenshot img{filter:brightness(.82)}.site-foot{padding:2rem var(--gutter);border-top:1px solid var(--rule);font-size:1rem}.site-foot p{max-width:60rem;margin:0 0 .5em}.site-foot ul{flex-wrap:wrap;gap:0 16px;margin:0;padding:0;list-style:none;display:flex}.site-foot li a{align-items:center;min-height:44px;display:inline-flex}@media (width<=1099px){.layout{grid-template-columns:minmax(200px,240px) minmax(0,1fr)}.product-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=899px){.hero{grid-template-columns:minmax(0,1fr);padding-right:0}.hero-intro,.topic-tabs li{padding-right:var(--gutter)}.latest-list li{grid-template-columns:minmax(0,1fr)}.layout{padding:0 var(--gutter);display:block}.rail{max-height:none;padding:16px 0 0;position:static;overflow:visible}.rail nav{padding-top:12px}.rail-kicker,.rail-current{padding-left:12px}.rail-current{border-radius:12px}.rail-topics,.rail-find,.rail-all,.rail-tree{margin-left:0}.rail-topics[open]>summary{padding-left:0}.rail>summary{display:block}.rail[open]>summary{margin-bottom:12px}.rail-tabs li{margin-right:0}.rail-tabs a{border-left:1px solid var(--control);padding-left:12px}.parts{padding-left:1.4em!important}.rail .parts{margin-left:0}.topic-head{padding-right:var(--gutter);grid-template-columns:minmax(0,1fr)}.sub-index>summary,.filters>summary{border:1px solid var(--control);cursor:pointer;border-radius:4px;align-items:center;gap:6px;min-height:44px;padding:8px 12px;font-weight:700;display:flex}.sub-index[open]>summary,.filters[open]>summary{margin-bottom:12px}.sub-index .thumb-index h2{display:none}.sub-index .thumb-index a{border-right:1px solid var(--control);border-radius:12px;padding-right:16px}.browse{grid-template-columns:minmax(0,1fr);gap:16px}#show-results{background:var(--tab-active);color:var(--tab-active-ink);font-weight:700;display:block}.filters,.filters-static{max-height:none;position:static;overflow:visible}.compare-kinds,.buy-grid{grid-template-columns:minmax(0,1fr)}.product-layout{padding:0 var(--gutter)}}@media (width<=479px){body{font-size:1.0625rem}.steps>li{padding-left:2.5rem}.steps>li:before{width:1.9rem;font-size:1.75rem}.record dl{grid-template-columns:minmax(0,1fr)}.record dd{margin-bottom:6px}.pager{grid-template-columns:minmax(0,1fr)}.start ul{columns:1}}@media (width<=29.99em){.brand{gap:8px;font-size:1rem}:root[data-theme-choice] .masthead{column-gap:8px}.head-toggle{padding:0 8px}}@media (width<=22.49em){.brand{gap:6px;font-size:.9rem}.brand img{width:36px;height:36px;padding:3px}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}:root,:root[data-theme=light],:root[data-theme=dark],::backdrop{--sl-font:var(--body);--sl-font-mono:var(--mono);--sl-nav-height:0rem;--sl-mobile-toc-height:0rem;--sl-color-white:var(--ink);--sl-color-gray-1:var(--ink);--sl-color-gray-2:var(--ink);--sl-color-gray-3:var(--muted);--sl-color-gray-4:var(--control);--sl-color-gray-5:var(--rule);--sl-color-gray-6:var(--sheet);--sl-color-gray-7:var(--sheet);--sl-color-black:var(--paper);--sl-color-bg:var(--paper);--sl-color-bg-nav:var(--paper);--sl-color-bg-sidebar:var(--paper);--sl-color-bg-inline-code:var(--code-bg);--sl-color-text:var(--ink);--sl-color-text-accent:var(--link);--sl-color-text-invert:var(--paper);--sl-color-accent:var(--link);--sl-color-accent-high:var(--link);--sl-color-accent-low:var(--tab);--sl-color-hairline:var(--rule);--sl-color-hairline-light:var(--rule);--sl-color-hairline-shade:var(--rule)}.site-header{position:static}.frame.has-rail{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:clamp(16px,2vw,40px);display:grid}.main-frame{min-width:0}.main-frame main{padding:0}.columns.has-toc{padding-right:var(--gutter);grid-template-columns:minmax(0,1fr) minmax(190px,230px);gap:clamp(24px,3vw,56px);display:grid}.main-column{min-width:0}.content-panel{border:0;padding:0}.content-panel+.content-panel{border:0}.sl-container{max-width:var(--measure);margin:0}html:not([data-has-sidebar]) .sl-container{max-width:76rem;padding:0 var(--gutter)}html:not([data-has-sidebar]) .content-panel:first-child .sl-container{padding-top:32px}.main-column .content-panel:first-child{padding-top:12px}#_top{font-family:var(--display);color:var(--ink);font-size:clamp(1.9rem,1.5rem + 1.5vw,2.6rem);font-weight:600;line-height:1.2}.sl-markdown-content{padding-bottom:32px}.sl-markdown-content :is(h2,h3){font-family:var(--display);color:var(--ink);font-weight:600}.sl-markdown-content a{color:var(--link);text-decoration:underline}.sl-markdown-content .thumb-index a{color:var(--ink);border-right:1px solid var(--control);border-radius:16px;text-decoration:none}.sl-markdown-content .thumb-index a:hover,.sl-markdown-content .thumb-index a:focus-visible{color:var(--tab-active-ink)}.sl-markdown-content ul.tut-list,.sl-markdown-content .thumb-index ol{padding:0;list-style:none}.sl-markdown-content .tut-list li,.sl-markdown-content .thumb-index li{margin-top:0}.sl-steps>li{padding-bottom:1.5rem;padding-inline-start:3.25rem}.sl-steps>li:before{width:2.5rem;height:auto;box-shadow:none;color:var(--ink);font:700 2.1rem/1.2 var(--display);text-align:right;background:0 0;border:0;border-radius:0}.sl-steps>li:after{display:none}.starlight-aside{border-inline-start-width:4px}.starlight-aside--note{background:var(--note-bg);border-color:var(--note-ink);color:var(--ink)}.starlight-aside--note .starlight-aside__title{color:var(--note-ink)}.starlight-aside--tip{background:var(--tip-bg);border-color:var(--tip-ink);color:var(--ink);border-inline-start-style:dashed}.starlight-aside--tip .starlight-aside__title{color:var(--tip-ink)}.starlight-aside--caution,.starlight-aside--danger{background:var(--warn-bg);border-color:var(--warn-ink);border-inline-start:8px double var(--warn-ink);color:var(--ink)}.starlight-aside--caution .starlight-aside__title,.starlight-aside--danger .starlight-aside__title{color:var(--warn-ink)}@media (width<=1279px){.columns.has-toc{padding-right:var(--gutter);display:block}.toc{display:none}.toc-inline{display:block}}@media (width<=899px){.columns.has-toc{padding-right:0}.frame.has-rail{display:block}.rail{margin:0 var(--gutter)}.main-column .sl-container{padding:0 var(--gutter)}}site-search button[data-open-modal]{border:1px solid var(--control);background:var(--sheet);min-width:44px;min-height:44px;color:var(--ink);border-radius:4px}site-search kbd{display:none!important}.expressive-code .copy button{opacity:1;width:44px;height:44px}html:not([data-has-sidebar]) .content-panel+.content-panel .sl-container{max-width:none;padding:0}html:not([data-has-sidebar]) .content-panel:first-child .sl-container,.main-frame main .sl-markdown-content{max-width:none}.sl-markdown-content .hero{padding:0 0 32px var(--gutter)}.hub{padding:8px 0 48px var(--gutter);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,64px);display:grid}.hub-intro{min-width:0}.hub-topics{margin:1.5rem 0 0}.hub-topics>div{border-top:1px solid var(--rule);padding:.25em 0 .6em}.hub-topics dt a{min-height:44px;font:600 1.15rem/1.3 var(--display);align-items:center;display:flex}.hub-topics dd{color:var(--muted);margin:0}.search-page{padding:8px var(--gutter) 48px}.search-page .browse{padding:16px 0 0}.topic .browse{padding-top:16px}.sl-markdown-content .thumb-index a{border-right:0;border-radius:16px 0 0 16px;justify-content:space-between;align-items:center;gap:16px;padding-right:28px;display:flex}.sl-markdown-content .thumb-index.compact a{border-radius:12px 0 0 12px}.sl-markdown-content .thumb-index li+li{margin-top:0}.sl-markdown-content .thumb-index .count{flex:none}.count{white-space:nowrap;margin-inline-start:.5em;font-weight:400}.rail-tree summary .count{margin-inline-start:auto;padding-inline-start:12px}.group h2 .count{margin-inline-start:.6em}.sl-markdown-content .tut-list a,.sl-markdown-content .search-results a{margin:0}.sl-markdown-content :is(.filters,.filters-static,.start,.search-results,.hub-topics) :is(ul,ol,li,fieldset,dl,p,label,h2,select){margin-top:0}.sl-markdown-content .filters ul,.sl-markdown-content .filters-static ul,.sl-markdown-content .start ul,.sl-markdown-content .search-results{padding:0;list-style:none}.sl-markdown-content .start ul{margin-top:.25em}.sl-markdown-content .topic-search label{margin-bottom:4px}.sl-markdown-content .group h2,.sl-markdown-content .start h2{margin-top:0}.article-steps{counter-reset:step;padding:0;list-style:none}.sl-markdown-content ol.article-steps>li{counter-increment:step;margin:0 0 1.5rem;padding-inline-start:3.25rem;position:relative}.article-steps>li:before{content:counter(step);width:2.5rem;color:var(--ink);font:700 2.1rem/1.2 var(--display);text-align:right;position:absolute;top:-.1em;left:0}.image-open{border:1px solid var(--rule);cursor:zoom-in;background:0 0;width:100%;padding:0;display:block}.image-open img{max-width:100%;height:auto;display:block}[data-theme=dark] .image-open{border-color:var(--control);background:var(--sheet);padding:6px}[data-theme=dark] .image-open img{filter:brightness(.82)}.image-viewer{border:1px solid var(--control);background:var(--sheet);max-width:96vw;max-height:96vh;color:var(--ink);padding:8px}.image-viewer::backdrop{background:#000000b3}.image-viewer img{max-width:100%;height:auto;display:block}.image-viewer button{border:1px solid var(--control);background:var(--tab);min-width:44px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:4px;margin-bottom:8px;padding:0 12px}blockquote.shot{border:2px dashed var(--control);background:repeating-linear-gradient(45deg, var(--tab) 0 10px, var(--paper) 10px 20px);place-items:center;min-height:10rem;margin:1em 0;padding:1rem;display:grid}blockquote.shot p{background:var(--sheet);max-width:30em;color:var(--ink);margin:0;padding:.5em .75em;font-size:1rem}.video{margin:1em 0}.video iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.table-wrap:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sl-markdown-content .table-wrap table{margin:0;display:table}@media (width<=899px){.hub{grid-template-columns:minmax(0,1fr);padding-right:0}.hub-intro{padding-right:var(--gutter)}.sl-markdown-content .hero{grid-template-columns:minmax(0,1fr)}}.theme{flex-wrap:wrap;min-width:0;max-width:100%}.theme-options{flex-wrap:wrap;max-width:100%}.sl-markdown-content :is(.filters,.sub-index,.more,.faq){background:0 0;border:0;padding:0}.sl-markdown-content .hub-topics dd{margin:0;padding:0}.sl-markdown-content .hub-topics dt{margin:0}.kind-icon{display:inline-block}.result-kind{align-items:center;gap:2px;display:flex}.sl-markdown-content summary:before{border-left:8px solid;background:0 0;border-block:6px solid #0000;width:0;height:0;margin-inline:0 8px;-webkit-mask:none;mask:none}.sl-markdown-content details[open]>summary:before{transform:rotate(90deg)rotate(0)}.sl-markdown-content details[open]>summary{margin-bottom:0}.sl-markdown-content summary{margin-inline-start:0;padding-inline-start:0}.draft-status{border:2px dashed var(--warn-ink);background:var(--warn-bg);color:var(--ink);margin:1.25em 0;padding:0 1em}.review-badge{border:2px dashed var(--warn-ink);background:var(--warn-bg);color:var(--ink);margin-inline-start:10px;padding:0 6px;font-weight:700}.draft-status summary{cursor:pointer;align-items:center;min-height:44px;padding:.35em 0;display:flex}.draft-status dl{grid-template-columns:max-content minmax(0,1fr);gap:2px 16px;margin:0;padding:0 0 .75em;display:grid}.draft-status dt{font-weight:700}.draft-status dd{margin:0}.watch-link{border:1px solid var(--control);background:var(--sheet);flex-wrap:wrap;align-items:center;gap:0 8px;margin:1.25em 0 0;padding:.5em .9em;display:inline-flex}.sl-markdown-content .watch-link a{align-items:center;min-height:44px;font-weight:700;display:inline-flex}.image-caption{color:var(--muted);margin-top:.4em;font-size:1rem}.sl-markdown-content>h2{scroll-margin-top:8px}.image-open{width:fit-content;max-width:100%}.image-viewer{margin:auto;overflow:auto}.image-viewer img{width:100%;max-width:none}.sl-markdown-content .expressive-code{margin-block:1rem}.sl-markdown-content .expressive-code+*{margin-top:1rem}@media (width<=479px){.draft-status dl{grid-template-columns:minmax(0,1fr)}.draft-status dd{margin-bottom:6px}}.compare-kinds{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:64rem;margin-top:1.5rem;display:grid}.compare-kinds>section{border:1px solid var(--control);background:var(--sheet);padding:12px 16px}.compare-kinds>section+section{border-style:dashed}.compare-kinds h2{margin:0 0 .4em;font-size:1.2rem}.compare-kinds ul{margin:0;padding-left:1.2em}.guide-list{max-width:64rem;margin:0;padding:0;list-style:none}.guide-list>li{border-top:1px solid var(--rule);padding:.25em 0 .6em}.guide-list a{min-height:44px;font:600 1.2rem/1.25 var(--display);align-items:center;display:flex}.guide-list p{margin:0}.rail-shelf{margin:8px 0 0 var(--gutter);padding:0;font-size:1rem;list-style:none}.rail-shelf a{align-items:center;min-height:44px;padding:4px 0;line-height:1.25;display:flex}.rail-shelf a[aria-current]{font-weight:700;text-decoration-thickness:3px}.downloads{margin:1em 0;padding:0;list-style:none}.downloads a{align-items:center;gap:6px;min-height:44px;font-weight:700;display:inline-flex}.downloads span{font-weight:400}.buy-note{max-width:42em;color:var(--muted);font-size:1rem}.sl-markdown-content .shop-browse{padding:16px 0 0}.shop-list{margin:0;padding:0;list-style:none}.shop-list>li{border-top:1px solid var(--rule);padding:.5em 0 1em}.shop-list h2{margin:0;font-size:1.3rem}.shop-list h2 a{align-items:center;min-height:44px;display:inline-flex}.shop-list p{max-width:46em;margin:0 0 .5em}.shop-list dl{flex-wrap:wrap;gap:4px 28px;margin:0;font-size:1rem;display:flex}.shop-list dt{color:var(--muted)}.shop-list dd{margin:0;font-weight:700}.jump{flex-wrap:wrap;gap:4px 24px;display:flex}.jump a{align-items:center;min-height:44px;display:inline-flex}.limits{background:var(--warn-bg);border:2px solid var(--warn-ink);margin:2.5rem 0;padding:1rem 1.25rem}.limits h2{color:var(--warn-ink);align-items:center;gap:10px;margin:0 0 .3em;display:flex}.limits h2 svg{fill:none;stroke:currentColor;stroke-width:2px;flex:none;width:34px;height:34px}.limits ul{margin-bottom:0}.limits li{margin-bottom:.3em}.editions th[scope=col]:not(:first-child){min-width:12rem}.changes{grid-template-columns:max-content minmax(0,1fr);gap:2px 16px;display:grid}.changes dt{font-weight:700}.changes dd{margin:0}.faq{border-top:1px solid var(--rule);margin-bottom:4px}.faq>summary{cursor:pointer;align-items:center;min-height:44px;font-weight:700;display:flex}.faq p{margin-top:0}.buy-box{border:1px solid var(--control);background:var(--sheet);margin-top:2.5rem;padding:1rem 1.25rem}.buy-box h2{margin-top:0}.buy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.buy-grid h3{margin:0}.buy-grid p{margin:0 0 .5em}.sl-markdown-content a.buy{border:1px solid var(--ink);background:var(--tab-active);min-height:44px;color:var(--tab-active-ink);border-radius:4px;align-items:center;margin-bottom:8px;padding:8px 12px;font-weight:700;text-decoration:none;display:flex}@media (width<=899px){.compare-kinds,.buy-grid,.sl-markdown-content .browse{grid-template-columns:minmax(0,1fr)}}.page-body{padding:0 var(--gutter) 64px}.sl-markdown-content .record :is(dt,dd),.sl-markdown-content .shop-list :is(dt,dd),.sl-markdown-content .changes :is(dt,dd),.sl-markdown-content .shop-list dl>div,.sl-markdown-content .buy-grid>div,.sl-markdown-content .buy-grid h3{margin:0}.sl-markdown-content .buy-grid .buy{margin-top:0}.sl-markdown-content .compare-kinds>section{margin:0}.contents{grid-template-columns:max-content minmax(0,1fr);gap:2px 16px;display:grid}.sl-markdown-content .contents :is(dt,dd){margin:0}.contents dt{font-weight:700}@media (width<=479px){.contents{grid-template-columns:minmax(0,1fr)}.sl-markdown-content .contents dd{margin-bottom:6px}}.more-sections{padding:0 var(--gutter) clamp(32px, 6vw, 72px)}.more-sections h2{margin-top:.5em}.more-sections ul{max-width:72rem;margin:0;padding:0;list-style:none}.more-sections li{border-top:1px solid var(--rule);padding:0 0 .65em}.more-sections a{align-items:center;min-height:44px;font-weight:700;display:flex}.more-sections span{color:var(--muted);display:block}.site-page{max-width:46rem}.site-page a.buy{align-items:center;width:auto;margin:0;padding:8px 20px;display:inline-flex}.consult-note{margin-top:2rem}.consult-note a{align-items:center;min-height:44px;display:inline-flex}.portrait{float:right;border:1px solid var(--rule);border-radius:2px;width:14rem;height:auto;margin:.25em 0 1em 1.75rem}@media (width<=40rem){.portrait{float:none;width:11rem;margin:0 0 1.25rem;display:block}}.sl-markdown-content .step-num{border:2px solid var(--ink);font-variant-numeric:tabular-nums;text-align:center;border-radius:.3em;min-width:2.2em;margin-right:.4em;padding:.05em .35em;display:inline-block}.sl-markdown-content .starlight-aside__title{overflow-wrap:anywhere}.related-kind,.also .related-kind{color:var(--muted);font-size:.95rem}.also{margin:1.5rem 0}.topic>.also{padding:0 var(--gutter)}.reference-filter{flex-wrap:wrap;align-items:center;gap:.5em 1em;margin:1em 0 .25em;display:flex}.reference-filter label{font-weight:600}.reference-filter input{border:2px solid var(--control);background:var(--paper);min-width:min(100%,18rem);min-height:44px;color:var(--ink);font:inherit;border-radius:.3em;padding:0 .6em}.reference-filter p{color:var(--muted);margin:0}.sl-markdown-content td code{white-space:pre-wrap;overflow-wrap:anywhere}.copy-formula{border:2px solid var(--control);background:var(--paper);min-width:44px;min-height:44px;color:var(--ink);font:600 .9rem/1 var(--body);vertical-align:middle;cursor:pointer;border-radius:.3em;margin:.25em 0 0 .4em;padding:0 .6em}.print-row{margin:.5em 0 1em}@media print{:root,:root[data-theme=dark]{color-scheme:light}body,.page,main{color:#000!important;background:#fff!important}header,.site-nav,nav[aria-label=Breadcrumb],.sidebar-pane,.right-sidebar-container,#rail,.rail,.pager,.video,#video-title,.consult-note,.print-row,.reference-filter,.copy-formula,.expressive-code .copy,.toc-inline,.site-foot,.draft-status,.skip-link,.toc{display:none!important}.frame.has-rail,.columns.has-toc{padding:0;display:block}.table-wrap{overflow:visible}table{width:100%}thead{display:table-header-group}tr,figure,img,.expressive-code,.step-heading{break-inside:avoid}h2,h3{break-after:avoid}a{color:#000;text-decoration:underline}.sl-markdown-content td code,.expressive-code pre{white-space:pre-wrap}img{max-width:100%}}@layer starlight.base{:root,::backdrop{--sl-color-white:#fff;--sl-color-gray-1:#edeef3;--sl-color-gray-2:#c1c3c8;--sl-color-gray-3:#888c96;--sl-color-gray-4:#555962;--sl-color-gray-5:#353841;--sl-color-gray-6:#23262f;--sl-color-black:#17181c;--sl-hue-orange:41;--sl-color-orange-low:hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange:hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high:hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green:101;--sl-color-green-low:hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green:hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high:hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue:234;--sl-color-blue-low:hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue:hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high:hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple:281;--sl-color-purple-low:hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple:hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high:hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red:339;--sl-color-red-low:hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red:hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high:hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low:#17264f;--sl-color-accent:#3369ff;--sl-color-accent-high:#b3c7ff;--sl-color-text:var(--sl-color-gray-2);--sl-color-text-accent:var(--sl-color-accent-high);--sl-color-text-invert:var(--sl-color-accent-low);--sl-color-bg:var(--sl-color-black);--sl-color-bg-nav:var(--sl-color-gray-6);--sl-color-bg-sidebar:var(--sl-color-gray-6);--sl-color-bg-inline-code:var(--sl-color-gray-5);--sl-color-bg-accent:var(--sl-color-accent-high);--sl-color-hairline-light:var(--sl-color-gray-5);--sl-color-hairline:var(--sl-color-gray-6);--sl-color-hairline-shade:var(--sl-color-black);--sl-color-backdrop-overlay:#16181da8;--sl-shadow-sm:0px 1px 1px #0000001f, 0px 2px 1px #0000003d;--sl-shadow-md:0px 8px 4px #00000014, 0px 5px 2px #00000014, 0px 3px 2px #0000001f, 0px 1px 1px #00000026;--sl-shadow-lg:0px 25px 7px #00000008, 0px 16px 6px #0000001a, 0px 9px 5px #16181d54, 0px 4px 4px #000000bf, 0px 4px 2px #00000040;--sl-text-2xs:.75rem;--sl-text-xs:.8125rem;--sl-text-sm:.875rem;--sl-text-base:1rem;--sl-text-lg:1.125rem;--sl-text-xl:1.25rem;--sl-text-2xl:1.5rem;--sl-text-3xl:1.8125rem;--sl-text-4xl:2.1875rem;--sl-text-5xl:2.625rem;--sl-text-6xl:4rem;--sl-text-body:var(--sl-text-base);--sl-text-body-sm:var(--sl-text-xs);--sl-text-code:var(--sl-text-sm);--sl-text-code-sm:var(--sl-text-xs);--sl-text-h1:var(--sl-text-4xl);--sl-text-h2:var(--sl-text-3xl);--sl-text-h3:var(--sl-text-2xl);--sl-text-h4:var(--sl-text-xl);--sl-text-h5:var(--sl-text-lg);--sl-line-height:1.75;--sl-line-height-headings:1.2;--sl-font-system:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font:var(--sl-font,var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono:var(--sl-font-mono,var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height:3.5rem;--sl-nav-pad-x:1rem;--sl-nav-pad-y:.75rem;--sl-mobile-toc-height:3rem;--sl-sidebar-width:18.75rem;--sl-sidebar-pad-x:1rem;--sl-content-width:45rem;--sl-content-pad-x:1rem;--sl-content-gap-y:1rem;--sl-main-pad:0 0 3vh 0;--sl-menu-button-size:2rem;--sl-nav-gap:var(--sl-content-pad-x);--sl-outline-offset-inside:-.1875rem;--sl-z-index-toc:4;--sl-z-index-menu:5;--sl-z-index-navbar:10;--sl-z-index-skiplink:20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white:#17181c;--sl-color-gray-1:#23262f;--sl-color-gray-2:#353841;--sl-color-gray-3:#555962;--sl-color-gray-4:#888c96;--sl-color-gray-5:#c1c3c8;--sl-color-gray-6:#edeef3;--sl-color-gray-7:#f6f7f9;--sl-color-black:#fff;--sl-color-orange-high:hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange:hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low:hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high:hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green:hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low:hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high:hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue:hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low:hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high:hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple:hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low:hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high:hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red:hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low:hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high:#0f1c8a;--sl-color-accent:#3d50f5;--sl-color-accent-low:#cfd4fc;--sl-color-text-accent:var(--sl-color-accent);--sl-color-text-invert:var(--sl-color-black);--sl-color-bg-nav:var(--sl-color-gray-7);--sl-color-bg-sidebar:var(--sl-color-bg);--sl-color-bg-inline-code:var(--sl-color-gray-6);--sl-color-bg-accent:var(--sl-color-accent);--sl-color-hairline-light:var(--sl-color-gray-6);--sl-color-hairline-shade:var(--sl-color-gray-6);--sl-color-backdrop-overlay:#545864a8;--sl-shadow-sm:0px 1px 1px #0000000f, 0px 2px 1px #0000000f;--sl-shadow-md:0px 8px 4px #00000008, 0px 5px 2px #00000008, 0px 3px 2px #0000000f, 0px 1px 1px #0000000f;--sl-shadow-lg:0px 25px 7px #00000003, 0px 16px 6px #00000008, 0px 9px 5px #16181d14, 0px 4px 4px #00000029, 0px 4px 2px #0000000a}@media (width>=50em){:root{--sl-nav-height:4rem;--sl-nav-pad-x:1.5rem;--sl-text-h1:var(--sl-text-5xl);--sl-text-h2:var(--sl-text-4xl);--sl-text-h3:var(--sl-text-3xl);--sl-text-h4:var(--sl-text-2xl)}}@media (width>=72rem){:root{--sl-content-pad-x:1.5rem;--sl-mobile-toc-height:0rem}}}@layer starlight.reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent);-webkit-text-size-adjust:100%;text-size-adjust:100%}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}[lang]:where(:lang(zh),:lang(ja)){text-autospace:normal}[lang]:where(:not(:lang(zh),:lang(ja))){text-autospace:initial}pre,code,samp,kbd{text-autospace:no-autospace}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:break-word}code{font-family:var(--__sl-font-mono)}}@layer starlight.core{.sl-banner:where(.astro-ofbg3qve){--__sl-banner-text:var(--sl-color-banner-text,var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg,var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-ofbg3qve) a{color:var(--__sl-banner-text)}.content-panel:where(.astro-a7po4psb){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-a7po4psb)+.content-panel:where(.astro-a7po4psb){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-a7po4psb){max-width:var(--sl-content-width)}.sl-container:where(.astro-a7po4psb)>*+*{margin-top:1.5rem}@media (width>=72rem){.sl-container:where(.astro-a7po4psb){margin-inline:var(--sl-content-margin-inline,auto)}}p:where(.astro-gsljcgkv){border:1px solid var(--sl-color-orange);background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings);text-align:start;align-items:center;gap:.75em;padding:.75em 1em}.hero:where(.astro-2qjbuh7f){grid-template-columns:100%;align-items:center;gap:1rem;padding-bottom:1rem;display:grid}.hero:where(.astro-2qjbuh7f)>img:where(.astro-2qjbuh7f),.hero:where(.astro-2qjbuh7f)>.hero-html:where(.astro-2qjbuh7f){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-2qjbuh7f){text-align:center;flex-direction:column;gap:clamp(1.5rem,1.5rem + 1vw,2rem)}.copy:where(.astro-2qjbuh7f){flex-direction:column;align-items:center;gap:1rem}.copy:where(.astro-2qjbuh7f)>:where(.astro-2qjbuh7f){max-width:50ch}h1:where(.astro-2qjbuh7f){font-size:clamp(var(--sl-text-3xl), calc(.25rem + 5vw), var(--sl-text-6xl));line-height:var(--sl-line-height-headings);color:var(--sl-color-white);font-weight:600}.tagline:where(.astro-2qjbuh7f){font-size:clamp(var(--sl-text-base), calc(.0625rem + 2vw), var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-2qjbuh7f){flex-wrap:wrap;justify-content:center;gap:1rem 2rem}@media (width>=50rem){.hero:where(.astro-2qjbuh7f){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,1rem + 10vmin,10rem)}.hero:where(.astro-2qjbuh7f)>img:where(.astro-2qjbuh7f),.hero:where(.astro-2qjbuh7f)>.hero-html:where(.astro-2qjbuh7f){order:2;width:min(100%,25rem)}.stack:where(.astro-2qjbuh7f){text-align:start}.copy:where(.astro-2qjbuh7f){align-items:flex-start}.actions:where(.astro-2qjbuh7f){justify-content:flex-start}}h1:where(.astro-bebwqqxs){font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);color:var(--sl-color-white);margin-top:1rem;font-weight:600}a:where(.astro-qb7clj6f){clip:rect(0, 0, 0, 0);top:.75rem;position:fixed;inset-inline-start:.75rem}a:where(.astro-qb7clj6f):focus{clip:unset;z-index:var(--sl-z-index-skiplink);color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg);padding:.5rem 1rem;text-decoration:none;display:block}}@layer starlight.content{.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:not(a,strong,em,del,span,input,code,br,:where(.not-content *)),.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:is(astro-island,astro-slot)>:not(a,strong,em,del,span,input,code,br,:where(.not-content *)):first-child{margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content :is(ol,ul):has(>li>:not(a,strong,em,del,span,input,code,br,script,ol,ul))>li>:is(:last-child:not(a,strong,em,del,span,input,code,br,script,:where(.not-content *)),:not(script):has(~script:last-child):not(:has(~:not(script)))){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:var(--sl-color-white);line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){max-width:100%;height:auto;display:block}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-h2)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:var(--sl-color-text-accent)}.sl-markdown-content a:hover:not(:where(.not-content *)){color:var(--sl-color-white)}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);font-size:var(--sl-text-code-sm);margin-block:-.125rem;padding:.125rem .375rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);font-size:var(--sl-text-code);tab-size:2;padding:.75rem 1rem}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem}.sl-markdown-content table:not(:where(.not-content *)){border-spacing:0;display:block;overflow:auto}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border-bottom:1px solid var(--sl-color-gray-5);vertical-align:baseline;padding:.5rem 1rem}.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)){padding-inline-start:0}.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)){padding-inline-end:0}.sl-markdown-content th:not(:where(.not-content *)){color:var(--sl-color-white);font-weight:600}.sl-markdown-content th:not([align]):not(:where(.not-content *)){text-align:start}.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:var(--sl-color-gray-4)}@supports (border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent)
	){.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent)}}@supports (border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent)
	){.sl-markdown-content .starlight-aside code:not(:where(.not-content *)){background-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent)}}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-hairline)}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color:var(--sl-color-gray-5);--sl-details-border-color--hover:var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;margin-inline-start:-.5rem;padding-inline-start:.5rem;font-weight:600;display:block}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size:1.25rem;content:"";height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-reduced-motion:no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color:var(--sl-color-asides-border);--sl-details-border-color--hover:var(--sl-color-asides-text-accent)}}@layer starlight.components{.starlight-aside{border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white);padding:1rem}.starlight-aside--note{--sl-color-asides-text-accent:var(--sl-color-blue-high);--sl-color-asides-border:var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent:var(--sl-color-purple-high);--sl-color-asides-border:var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent:var(--sl-color-orange-high);--sl-color-asides-border:var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent:var(--sl-color-red-high);--sl-color-asides-border:var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent);align-items:center;gap:.5rem;display:flex}.starlight-aside__icon{width:1em;height:1em;font-size:1.333em;overflow:visible}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content:empty{display:none}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)}svg:where(.astro-hkc32dio){color:var(--sl-icon-color);font-size:var(--sl-icon-size,1em);width:1em;height:1em;overflow:visible}.sl-link-button:where(.astro-dcqstdaq){font-size:var(--sl-text-sm);outline-offset:.25rem;border:1px solid #0000;border-radius:999rem;align-items:center;gap:.5em;padding:.4375rem 1.125rem;line-height:1.1875;text-decoration:none;display:inline-flex}.sl-link-button:where(.astro-dcqstdaq).primary{background:var(--sl-color-text-accent);border-color:var(--sl-color-text-accent);color:var(--sl-color-black)}.sl-link-button:where(.astro-dcqstdaq).primary:hover{color:var(--sl-color-black)}.sl-link-button:where(.astro-dcqstdaq).secondary{border-color:inherit;color:var(--sl-color-white)}.sl-link-button:where(.astro-dcqstdaq).minimal{color:var(--sl-color-white);padding-inline:0}.sl-link-button:where(.astro-dcqstdaq) svg{flex-shrink:0}@media (width>=50rem){.sl-link-button:where(.astro-dcqstdaq){font-size:var(--sl-text-base);padding:.9375rem 1.25rem}}.sl-markdown-content .sl-link-button:where(.astro-dcqstdaq){margin-inline-end:1rem}.sl-markdown-content .sl-link-button:where(.astro-dcqstdaq):not(:where(p *)){margin-block:1rem}}@layer starlight.utils{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media (width>=50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media (width>=72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:matrix(-1,0,0,1,0,0)}}html:not([data-has-toc]){--sl-mobile-toc-height:0rem}html:not([data-has-sidebar]){--sl-content-width:67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-g5ptsecz){padding:var(--sl-main-pad)}@media (width>=50em){:where(.astro-g5ptsecz)[data-has-sidebar]{--sl-content-inline-start:var(--sl-sidebar-width)}}@media (width>=72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}}
