/*!modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize*/*,::before,::after{box-sizing:border-box}html{font-family:system-ui,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji;line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,liberation mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:initial}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}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}:root{--border-radius:0.5rem;--font-size-small:0.875rem;--side-padding:1rem;--characters-per-line-container:75;--characters-per-line-grid-column:45;--character-width:0.45;--h2-margin-block-start:2.925rem;--h3-margin-block-start:1.995rem;--accent:#0d6efd;--accent-dark:#6ea8fe;--fg:#1d1d1f;--fg-dark:#e7e7e7;--bg:white;--bg-dark:#1E1E1E;--bg-aside:#fbfbfb;--bg-aside-dark:#232323;--fg-secondary:#6d6d6d;--fg-secondary-dark:#cecece;--shadow-color:#c7c7c7;--shadow-color-dark:#7a7a7a;--container-width-raw:calc(var(--characters-per-line-container) * var(--character-width));--container-width:calc(var(--container-width-raw) * 1rem + 2 * var(--side-padding));--container-width-lg:calc(2 * var(--container-width-raw) * 1rem + 2rem + 2 * var(--side-padding));--grid-column-min-width:min(
    calc(var(--characters-per-line-grid-column) * var(--character-width) * 1rem),
    100%
  )}@media(min-width:755px){:root{--side-padding:2rem}}img.screenshot{filter:drop-shadow(0 0 1px var(--shadow-color))}*{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}*,*::before,*::after{overflow-wrap:break-word}html{font-size:clamp(16px,(100vw - 2 * var(--side-padding))/var(--container-width-raw),1.25rem)}body{color:var(--fg);background:var(--bg);line-height:1.6}h1,h2,h3{line-height:1.25}textarea{line-height:inherit}h1{font-size:clamp(1.953rem,3.375 * (100vw - 2 * var(--side-padding))/var(--container-width-raw),3.375rem);margin-block-start:0;margin-block-end:1.5rem}h2{font-size:clamp(1.563rem,2.25 * (100vw - 2 * var(--side-padding))/var(--container-width-raw),2.25rem);margin-block-start:var(--h2-margin-block-start);margin-block-end:1.34rem;border-bottom:2px solid var(--fg)}h3{font-size:clamp(1.25rem,1.35 * (100vw - 2 * var(--side-padding))/var(--container-width-raw),1.35rem);margin-block-start:var(--h3-margin-block-start);margin-block-end:1rem}h4{font-size:1rem;margin-block-start:1.3em;margin-block-end:1rem}.secondary{color:var(--fg-secondary);font-size:var(--font-size-small)}.secondary a{color:var(--fg-secondary)}ol.footnotes{margin-block-start:clamp(2.665rem,calc(2.429rem + 1.127vw),2.925rem)!important}a.footnote-ref{color:var(--fg-secondary)}main img{max-width:100%;height:auto;border-radius:var(--border-radius)}header{padding-top:1.5rem;padding-bottom:clamp(1.75rem,7vw,3rem)}header a{text-decoration:none}header a:focus,header a:hover{text-decoration:underline}a{color:var(--accent)}[aria-current=page]{font-weight:700}a img{cursor:pointer}.container{width:100%;max-width:var(--container-width);margin-inline:auto;padding-inline:var(--side-padding)}.container-lg{width:100%;max-width:var(--container-width-lg);margin-inline:auto;padding-inline:var(--side-padding)}hr{height:1px;border:0;background-color:var(--fg-secondary)}h1+details,h2+details,h3+details{margin-top:1em}details>summary{cursor:pointer;text-decoration:underline}.breadcrumbs>ol{display:flex;flex-wrap:wrap;list-style:none;margin-block-start:0;padding:0}.breadcrumbs li:not(:last-child)::after{content:"›";margin-inline:.5em}figure{margin:0}figure>figcaption{font-size:var(--font-size-small);color:var(--fg-secondary)}.markdown p:has(+ul),.markdown p:has(+ol){margin-bottom:0}.markdown p+ul,.markdown p+ol{margin-top:0}p:has(+ul.no-margin),p:has(+ol.no-margin){margin-bottom:0}p+ul.no-margin,p+ol.no-margin{margin-top:0}nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;column-gap:2rem;row-gap:1rem}nav>a.brand{display:flex;align-items:center;column-gap:.5rem;color:var(--fg)}nav>ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;align-items:center;column-gap:2rem;row-gap:1rem}nav svg{display:block}nav details[open]{display:flex;align-items:center;column-gap:2rem;row-gap:1rem}nav details>summary{list-style:none}nav details>summary::-webkit-details-marker{display:none}nav details ul{list-style:none;padding-inline-start:0;display:flex;flex-wrap:wrap;column-gap:2rem;row-gap:1rem}html,body{height:100%;margin:0;padding:0}body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}footer{background:var(--bg);margin-block-start:var(--h2-margin-block-start)!important;padding-block:2rem;text-align:center}footer ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;column-gap:2em;row-gap:.5em;justify-content:center}footer p{margin:1.5rem 0 0}svg.icon{height:1.125em;vertical-align:-.15em}.breakout{width:100vw;margin-left:50%;transform:translateX(-50%)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--grid-column-min-width),1fr));margin-block-start:var(--h3-margin-block-start);column-gap:2rem;row-gap:var(--h3-margin-block-start)}@media(max-width:933px){.grid{grid-template-columns:calc(min(var(--container-width-raw) * 1rem,100%));justify-content:center}}.grid div>*:first-child{margin-block-start:0}.grid div>*:last-child{margin-block-end:0}.split{display:flex;flex-wrap:wrap;column-gap:2rem;row-gap:1rem;margin-block-start:var(--h3-margin-block-start)}.row-gap-h2{row-gap:var(--h2-margin-block-start)}.split>div{flex:1;min-width:var(--grid-column-min-width)}.split>div>*:first-child{margin-block-start:0}.split>div>*:last-child{margin-block-end:0}@media(max-width:933px){.split{max-width:calc(var(--container-width-raw) * 1rem);margin-inline:auto}}@media(min-width:934px){.split-reverse{flex-direction:row-reverse}.split-reverse>div:last-child>picture:only-child>img{display:block;margin-inline-start:auto}}aside{margin-block-start:var(--h2-margin-block-start);border:1px solid var(--fg-secondary);border-radius:var(--border-radius);padding:1rem;background:var(--bg-aside)}aside>h2{border:none;margin-block-end:1rem}aside>*:first-child{margin-block-start:0}aside>*:last-child{margin-block-end:0}#chat-form>div{display:flex;gap:.5rem}#chat-input{flex:1}#chat-form>div button{flex-shrink:0;align-self:flex-end}#chat-conversation{margin-block-end:var(--h3-margin-block-start)}#chat-delete{margin-block-start:var(--h3-margin-block-start)}#chat-error{color:red}.chat .message p{white-space:pre-wrap}input[type=checkbox]{width:1em;height:1em;cursor:pointer;accent-color:var(--accent)}button,.btn,textarea{color:inherit;background:var(--bg-aside);border:1px solid var(--fg-secondary);border-radius:var(--border-radius);padding:.3rem .5rem}button,.btn{display:inline-flex;gap:.35em;cursor:pointer}button.primary,.btn.btn-primary{color:var(--bg);background:var(--accent);border-color:var(--accent)}textarea{min-height:2.35rem}::placeholder{color:var(--fg-secondary)}[hidden]{display:none!important}@media(prefers-color-scheme:dark){button,.btn,textarea{color:var(--fg-dark);background:var(--bg-aside-dark);border-color:var(--fg-secondary-dark)}button.primary,.btn.btn-primary{color:var(--bg-dark);background:var(--accent-dark);border-color:var(--accent-dark)}::-webkit-resizer{color:var(--fg-secondary-dark)}::placeholder{color:var(--fg-secondary-dark)}body{color:var(--fg-dark);background:var(--bg-dark)}h2{border-color:var(--fg-dark)}.secondary,.secondary a{color:var(--fg-secondary-dark)}a.footnote-ref{color:var(--fg-secondary-dark)}input{border-color:var(--fg-secondary-dark)}a{color:var(--accent-dark)}hr{background-color:var(--fg-secondary-dark)}figure>figcaption{color:var(--fg-secondary-dark)}nav>a.brand{color:var(--fg-dark)}footer{background:var(--bg-dark)}img.screenshot{filter:drop-shadow(0 0 1px var(--shadow-color-dark))}aside{border-color:var(--fg-secondary-dark);background:var(--bg-aside-dark)}}