.article-code-tools{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;inset-block-start:.42rem;inset-inline:.75rem}.article-code-tools>span{font-family:var(--english-font);letter-spacing:.1em;text-transform:uppercase;opacity:.62;font-size:.62rem;font-weight:800}.article-code-tools>div{gap:.35rem;display:flex}.article-code-tools button,.code-output-toggle{pointer-events:auto;border:1px solid color-mix(in srgb, currentColor 24%, transparent);background:color-mix(in srgb, var(--color-base) 92%, transparent);color:var(--color-main);font:700 .66rem/1.2 var(--english-font);cursor:pointer;border-radius:.35rem;padding:.28rem .5rem}.command-warning{border-inline-start:4px solid var(--color-caution);background:color-mix(in srgb, var(--color-caution) 10%, var(--color-base));border-radius:.35rem;margin-block:1rem -.5rem;padding:.75rem .9rem;font-size:.78rem;font-style:normal}pre.is-collapsible.is-collapsed code{max-block-size:20rem;overflow:hidden}.code-output-toggle{margin-block-start:.45rem}.article-resources{padding:var(--sp-m);border:1px solid color-mix(in srgb, var(--color-main) 13%, transparent);background:color-mix(in srgb, var(--color-main) 4%, var(--color-base));border-radius:1rem;margin-block-start:var(--sp-l)}.article-resources h2{border:0;margin:0;padding:0;font-size:1.05rem}.article-resources header p{color:color-mix(in srgb, var(--color-main) 64%, transparent);margin-block-start:.35rem;font-size:.72rem}.article-resources>div{flex-wrap:wrap;gap:.45rem;margin-block-start:.8rem;display:flex}.article-resources button{border:1px solid color-mix(in srgb, var(--color-main) 18%, transparent);color:var(--color-theme-accessible);background:var(--color-base);cursor:pointer;border-radius:.5rem;padding:.45rem .65rem;font-size:.7rem;font-weight:800}.article-resources button.is-dangerous{border-color:color-mix(in srgb, var(--color-caution) 55%, transparent);color:var(--color-caution)}.reader-controls{z-index:12;inline-size:max-content;margin:var(--sp-m) 0 var(--sp-m) auto;border:1px solid color-mix(in srgb, var(--color-main) 16%, transparent);background:color-mix(in srgb, var(--color-base) 92%, transparent);box-shadow:0 8px 28px color-mix(in srgb, var(--color-main) 10%, transparent);backdrop-filter:blur(12px);border-radius:999px;justify-content:flex-end;gap:.4rem;padding:.35rem;display:flex;position:sticky;inset-block-end:1rem}.reader-controls button{min-block-size:2rem;color:var(--color-main);cursor:pointer;background:0 0;border-radius:999px;padding-inline:.65rem;font-size:.68rem;font-weight:800}.reader-toggle{align-items:center;gap:.35rem;display:flex}.reader-toggle>span{color:var(--color-theme-accessible);font:800 .82rem/1 var(--english-font)}.reader-size{border-inline-start:1px solid color-mix(in srgb, var(--color-main) 15%, transparent);display:flex}.reader-size[hidden]{display:none}.reader-size button{padding-inline:.5rem}html.is-reading-mode body{background-image:none}html.is-reading-mode .site-header,html.is-reading-mode .site-footer,html.is-reading-mode #js-languageSuggest,html.is-reading-mode .toc,html.is-reading-mode .cover,html.is-reading-mode .article-meta,html.is-reading-mode .technical-meta,html.is-reading-mode .source-card,html.is-reading-mode .tutorial-navigation,html.is-reading-mode .related,html.is-reading-mode .article-glossary,html.is-reading-mode .article-resources{display:none!important}html.is-reading-mode .l-main{margin-block-start:0}html.is-reading-mode .article-layout{display:block}html.is-reading-mode [data-article]{max-inline-size:43rem;margin-inline:auto}html.is-reading-mode .article-header{padding-block:clamp(3rem, 10vh, 7rem) var(--sp-m);text-align:start;border:0}html.is-reading-mode .article-header h1{color:var(--color-main);font-size:calc(clamp(2rem, 5vw, 3.25rem) * var(--reader-scale,1))}html.is-reading-mode .article-header p{font-family:Georgia,Noto Serif,serif;font-size:calc(1rem * var(--reader-scale,1));line-height:1.85}html.is-reading-mode .article-body{font-family:Georgia,Noto Serif,serif;font-size:calc(1rem * var(--reader-scale,1));margin-block-start:0;line-height:1.9}html.is-reading-mode .reader-controls{margin:0;position:fixed;inset-block:1rem auto;inset-inline-end:1rem}@media (width<520px){.reader-controls{inset-block-end:.6rem}.reader-toggle b{display:none}html.is-reading-mode .reader-toggle b{display:inline}html.is-reading-mode .reader-controls{inset-block-start:.6rem;inset-inline-end:.6rem}}@media (prefers-reduced-motion:reduce){.reader-controls,.article-code-tools button{transition:none}}.article-glossary[data-astro-cid-ioaen3ee]{padding-block:var(--sp-m);border-block:1px solid color-mix(in srgb, var(--color-main) 12%, transparent);margin-block-start:var(--sp-l)}header[data-astro-cid-ioaen3ee]{align-items:baseline;gap:.7rem;margin-block-end:1rem;display:flex}header[data-astro-cid-ioaen3ee]>span[data-astro-cid-ioaen3ee]{color:var(--color-theme-accessible);letter-spacing:.12em;font-size:.6rem;font-weight:800}h2[data-astro-cid-ioaen3ee]{font-size:1rem}.article-glossary[data-astro-cid-ioaen3ee]>div[data-astro-cid-ioaen3ee]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}a[data-astro-cid-ioaen3ee]{border:1px solid color-mix(in srgb, var(--color-main) 10%, transparent);border-radius:.65rem;grid-template-columns:auto 1fr;gap:.15rem .5rem;padding:.75rem;text-decoration:none;display:grid}a[data-astro-cid-ioaen3ee]:hover{border-color:color-mix(in srgb, var(--color-theme-accessible) 48%, transparent)}strong[data-astro-cid-ioaen3ee]{color:var(--color-theme-accessible);font-size:.82rem}small[data-astro-cid-ioaen3ee]{color:color-mix(in srgb, var(--color-main) 58%, transparent);text-overflow:ellipsis;white-space:nowrap;align-self:center;font-size:.62rem;overflow:hidden}a[data-astro-cid-ioaen3ee]>span[data-astro-cid-ioaen3ee]{color:color-mix(in srgb, var(--color-main) 72%, transparent);grid-column:1/-1;font-size:.7rem;font-weight:400;line-height:1.5}@media (width<620px){.article-glossary[data-astro-cid-ioaen3ee]>div[data-astro-cid-ioaen3ee]{grid-template-columns:1fr}}.related[data-astro-cid-oje2a5xi]{border-block-start:1px solid color-mix(in srgb, var(--color-main) 14%, transparent);margin-block-start:var(--sp-l);padding-block-start:var(--sp-m)}.related__heading[data-astro-cid-oje2a5xi]>span[data-astro-cid-oje2a5xi]{color:var(--color-theme-accessible);letter-spacing:.12em;font-size:.6rem;font-weight:800}.related__heading[data-astro-cid-oje2a5xi] h2[data-astro-cid-oje2a5xi]{border:0;margin:.2rem 0 1rem;padding:0;font-size:1.35rem}.related__grid[data-astro-cid-oje2a5xi]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.related__grid[data-astro-cid-oje2a5xi] a[data-astro-cid-oje2a5xi]{border:1px solid color-mix(in srgb, var(--color-main) 12%, transparent);border-radius:.7rem;grid-template-columns:5rem minmax(0,1fr);gap:.8rem;padding:.65rem;text-decoration:none;display:grid}img[data-astro-cid-oje2a5xi]{aspect-ratio:1;object-fit:cover;inline-size:5rem}.related__grid[data-astro-cid-oje2a5xi] span[data-astro-cid-oje2a5xi]{color:var(--color-theme-accessible);text-transform:uppercase;font-size:.58rem;font-weight:800;display:block}.related__grid[data-astro-cid-oje2a5xi] strong[data-astro-cid-oje2a5xi]{color:var(--color-main);margin-block-start:.25rem;font-size:.82rem;line-height:1.4;display:block}@media (width<620px){.related__grid[data-astro-cid-oje2a5xi]{grid-template-columns:1fr}}.toc[data-astro-cid-p33bl5ka][hidden]{display:none}.toc[data-astro-cid-p33bl5ka]{min-block-size:0;position:sticky;inset-block-start:calc(68px + var(--sp-m))}.toc__inner[data-astro-cid-p33bl5ka]{max-block-size:calc(100vh - 68px - var(--sp-l));border-inline-start:1px solid color-mix(in srgb, var(--color-main) 14%, transparent);flex-direction:column;padding-inline-start:var(--sp-s);display:flex;overflow:hidden}.toc__nav[data-astro-cid-p33bl5ka]{scrollbar-width:thin;min-block-size:0;overflow:auto}.toc__heading[data-astro-cid-p33bl5ka]{justify-content:space-between;align-items:baseline;gap:var(--sp-s);letter-spacing:.04em;margin-block-end:.5rem;font-size:.78rem;font-weight:800;display:flex}.toc__percentage[data-astro-cid-p33bl5ka]{color:color-mix(in srgb, var(--color-main) 52%, transparent);font-variant-numeric:tabular-nums;font-size:.68rem}.toc__progress[data-astro-cid-p33bl5ka]{background:color-mix(in srgb, var(--color-main) 10%, transparent);border-radius:999px;block-size:2px;margin-block-end:.8rem;overflow:hidden}.toc__progress[data-astro-cid-p33bl5ka] span[data-astro-cid-p33bl5ka]{background:var(--color-theme);transform-origin:0;block-size:100%;inline-size:100%;transition:transform .12s linear;display:block;transform:scaleX(0)}[dir=rtl] .toc__progress[data-astro-cid-p33bl5ka] span[data-astro-cid-p33bl5ka]{transform-origin:100%}.toc__list[data-astro-cid-p33bl5ka]{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.toc__link{color:color-mix(in srgb, var(--color-main) 58%, transparent);padding-block:.32rem;font-size:.72rem;font-weight:500;line-height:1.4;text-decoration:none;transition:color .16s,transform .16s;display:block}.toc__item[data-depth="3"] .toc__link{padding-inline-start:.85rem;font-size:.68rem}.toc__link:hover,.toc__link.is-active{color:var(--color-theme)}.toc__link.is-active{font-weight:800;transform:translate(.2rem)}[dir=rtl] .toc__link.is-active{transform:translate(-.2rem)}@media (width<1100px){.toc[data-astro-cid-p33bl5ka]{display:none}}@media (prefers-reduced-motion:reduce){.toc__progress[data-astro-cid-p33bl5ka] span[data-astro-cid-p33bl5ka],.toc__link{transition:none}}.article-layout{gap:var(--sp-l);grid-template-columns:minmax(0,800px) 240px;align-items:start;display:grid}@media (width<1100px){.article-layout{display:block}}article{&>*{margin-block:1.2em 0;margin-inline:0}& p{font-weight:400}& h2{border-inline-start:4px solid var(--color-accent);margin-block:3em 0;padding-block-end:.2em;padding-inline-start:var(--sp-s);font-size:1.6rem;line-height:1.4}& h3{border-block-end:1px solid color-mix(in srgb, var(--color-main) 10%, transparent);margin-block:2em 0;padding-block-end:.2em;font-size:1.4rem;line-height:1.4}& h4{margin-block:2em -.4em;font-size:1.1rem;line-height:1.4}& ul{padding-inline-start:1.5em;list-style:outside}& ol{padding-inline-start:1.5em;list-style:decimal}& li{margin-block:0 .5em;line-height:1.4;& ul,& ol{margin-block:.5em 0}& ul{list-style:circle}& ol{list-style:decimal}}& dl{& dt{margin-block-start:1em;font-size:1.1rem;font-weight:700;&:after{content:" :";opacity:.4}}}& table{width:100%;& th,& td{border:1px solid color-mix(in srgb, var(--color-main) 20%, transparent);padding-block:.4em;padding-inline:.8em}& th{background:color-mix(in srgb, var(--color-main) 20%, transparent)}& tr:nth-child(2n) td{background:color-mix(in srgb, var(--color-main) 2%, transparent)}}& b{font-weight:700}& strong{font-weight:750}& :not(pre)>code{color:var(--color-theme-accessible);background-color:color-mix(in srgb, var(--color-main) 6%, var(--color-base));border:1px solid color-mix(in srgb, var(--color-main) 10%, transparent);vertical-align:baseline;border-radius:4px;margin-inline:.08em;padding:.08em .34em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88em}& blockquote{color:color-mix(in srgb, var(--color-main) 80%, transparent);background:color-mix(in srgb, var(--color-main) 5%, transparent);border-inline-start:2px solid color-mix(in srgb, var(--color-main) 10%, transparent);padding:1em;font-style:italic;& p{margin:0}}& small{opacity:.8;font-size:.9rem;&.reference{text-align:right;width:100%;margin-block-start:.4em;display:block;& a{color:color-mix(in srgb, var(--color-main) 40%, transparent);text-decoration:underline}}}& hr{border:0;border-block-start:1px dashed color-mix(in srgb, var(--color-main) 40%, transparent);margin-block:6em 4em}& a{color:var(--color-theme-accessible);font-weight:500;text-decoration:underline;&:visited{filter:brightness(80%)}}& img{background-color:color-mix(in srgb, var(--color-main) 10%, transparent);border-radius:4px}& video{background-color:color-mix(in srgb, var(--color-main) 10%, transparent);max-width:100%}& iframe{max-width:100%}& iframe[src*=youtube],& iframe[src*=vimeo]{aspect-ratio:16/9;border-radius:6px;max-width:100%;height:auto;overflow:hidden}& pre{border:1px solid color-mix(in srgb, var(--color-main) 12%, transparent);box-shadow:0 8px 24px color-mix(in srgb, var(--color-main) 5%, transparent);tab-size:2;direction:ltr;border-radius:10px;padding:2.5rem 0 .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.86rem;line-height:1.7;position:relative;overflow-x:auto;&.shiki{color:var(--shiki-light);background-color:color-mix(in srgb, var(--shiki-light-bg) 94%, var(--color-main));& span{color:var(--shiki-light)}&:after{content:"";background:color-mix(in srgb, var(--shiki-light) 9%, transparent);block-size:1px;position:absolute;inset-block-start:2rem;inset-inline:0}}& code{counter-reset:step;counter-increment:step 0;min-inline-size:max-content;font-family:inherit;display:block;& .line{box-sizing:border-box;min-block-size:1.7em;min-inline-size:100%;padding-inline:.9rem 1rem;display:inline-block}& .line:last-child:empty{display:none}& .line:before{content:counter(step);counter-increment:step;text-align:right;inline-size:2.1rem;color:color-mix(in srgb, var(--color-main) 30%, transparent);border-inline-end:1px solid color-mix(in srgb, var(--color-main) 9%, transparent);user-select:none;margin-inline-end:.9rem;padding-inline-end:.75rem;display:inline-block}}}@media (prefers-color-scheme:dark){& pre.shiki{color:var(--shiki-dark);background-color:color-mix(in srgb, var(--shiki-dark-bg) 94%, var(--color-main));& span{color:var(--shiki-dark)}&:after{background:color-mix(in srgb, var(--shiki-dark) 10%, transparent)}}}& details{background-color:color-mix(in srgb, var(--color-main) 8%, transparent);border:.12em solid color-mix(in srgb, var(--color-main) 10%, transparent);padding:var(--sp-s);border-radius:10px;overflow:hidden;& p:empty{display:none}& summary{text-overflow:ellipsis;white-space:nowrap;margin:calc(-1 * var(--sp-s));padding:var(--sp-s);cursor:pointer;background-color:var(--color-base);padding-inline-start:calc(var(--sp-s) + 1.8em);line-height:1.2;display:block;position:relative;overflow:hidden;&::-webkit-details-marker{display:none}&:before{content:"";inset:var(--sp-s);aspect-ratio:1;background:color-mix(in srgb, var(--color-main) 20%, transparent);clip-path:polygon(10% 35%,50% 75%,90% 35%,80% 25%,50% 55%,20% 25%);transform-origin:50%;width:1.2em;transition:all .2s linear;display:block;position:absolute}}&[open] summary{text-overflow:unset;white-space:unset;margin-block-end:var(--sp-s);&:before{rotate:x 180deg}}}& .footnotes{border-block-start:1px solid color-mix(in srgb, var(--color-main) 20%, transparent);margin-block-start:8em;padding-block-start:2em;& h2{display:none}& a{&:before{content:" ["}&:after{content:"]"}opacity:.8;text-decoration:none}}}.breadcrumbs[data-astro-cid-45pgiwfb]{color:color-mix(in srgb, var(--color-main) 58%, transparent);white-space:nowrap;gap:.45rem;margin-block-end:1rem;font-size:.68rem;display:flex;overflow:hidden}.breadcrumbs[data-astro-cid-45pgiwfb] a[data-astro-cid-45pgiwfb]{color:var(--color-theme-accessible)}.breadcrumbs[data-astro-cid-45pgiwfb] span[data-astro-cid-45pgiwfb]:last-child{text-overflow:ellipsis;overflow:hidden}.cover[data-astro-cid-45pgiwfb]{aspect-ratio:16/9;object-fit:cover;border-radius:1.1rem;width:100%}.article-header[data-astro-cid-45pgiwfb]{max-width:48rem;padding-block:var(--sp-l);text-align:center;border-block-end:1px solid color-mix(in srgb, var(--color-main) 12%, transparent);margin-inline:auto}.article-meta[data-astro-cid-45pgiwfb]{color:color-mix(in srgb, var(--color-main) 55%, transparent);justify-content:center;gap:.8rem;font-size:.72rem;display:flex}.article-meta[data-astro-cid-45pgiwfb] a[data-astro-cid-45pgiwfb]{color:inherit;text-decoration:underline}.article-header[data-astro-cid-45pgiwfb] h1[data-astro-cid-45pgiwfb]{color:var(--color-theme);letter-spacing:-.045em;margin-block-start:.65rem;font-size:clamp(2rem,5vw,3.35rem);line-height:1.15}.article-header[data-astro-cid-45pgiwfb] p[data-astro-cid-45pgiwfb]{color:color-mix(in srgb, var(--color-main) 70%, transparent);margin-block-start:1rem;font-weight:400}.technical-meta[data-astro-cid-45pgiwfb]{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-block-start:1rem;display:flex}.technical-meta[data-astro-cid-45pgiwfb] a[data-astro-cid-45pgiwfb],.technical-meta[data-astro-cid-45pgiwfb] span[data-astro-cid-45pgiwfb]{border:1px solid color-mix(in srgb, var(--color-main) 16%, transparent);color:var(--color-theme-accessible);border-radius:999px;padding:.25rem .5rem;font-size:.68rem;font-weight:700;text-decoration:none}.article-body[data-astro-cid-45pgiwfb]{margin-block-start:var(--sp-l)}.source-card[data-astro-cid-45pgiwfb]{padding:var(--sp-m);border:1px solid color-mix(in srgb, var(--color-main) 12%, transparent);background:color-mix(in srgb, var(--color-main) 4%, transparent);border-radius:1rem;margin-block-start:var(--sp-l);font-size:.82rem}.source-card[data-astro-cid-45pgiwfb] p[data-astro-cid-45pgiwfb]{margin-block-start:.4rem}.tutorial-navigation[data-astro-cid-45pgiwfb]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-block-start:var(--sp-m);display:grid}.tutorial-navigation[data-astro-cid-45pgiwfb] a[data-astro-cid-45pgiwfb]{border:1px solid color-mix(in srgb, var(--color-main) 14%, transparent);border-radius:.65rem;gap:.25rem;padding:.9rem;text-decoration:none;display:grid}.tutorial-navigation[data-astro-cid-45pgiwfb] a[data-astro-cid-45pgiwfb]:last-child{text-align:end}.tutorial-navigation[data-astro-cid-45pgiwfb] span[data-astro-cid-45pgiwfb]{color:var(--color-theme-accessible);font-size:.65rem;font-weight:800}.tutorial-navigation[data-astro-cid-45pgiwfb] strong[data-astro-cid-45pgiwfb]{color:var(--color-main);font-size:.78rem;line-height:1.4}.not-found[data-astro-cid-45pgiwfb]{text-align:center;padding-block:8rem}.not-found[data-astro-cid-45pgiwfb] h1[data-astro-cid-45pgiwfb]{font-size:5rem}.not-found[data-astro-cid-45pgiwfb] a[data-astro-cid-45pgiwfb]{color:var(--color-theme);margin-block-start:1rem;display:inline-block}@media (width<620px){.tutorial-navigation[data-astro-cid-45pgiwfb]{grid-template-columns:1fr}.tutorial-navigation[data-astro-cid-45pgiwfb] i[data-astro-cid-45pgiwfb]{display:none}}
