.dgd{--dgd-rail: 240px;--dgd-gutter: 48px;--dgd-navigation-gap: 48px;--dgd-platform-height: 40px;--dgd-reading-width: 600px;--dgd-code-width: var(--dgd-breakout-width);--dgd-breakout-width: 900px;--dgd-middle-max-width: 450px;--dgd-code-padding: 24px;--fresh-line: transparent;--fresh-body-font: var(--font-sans);--fresh-min-sans: max(12px, var(--lab-type-min-sans));--fresh-min-mono: max(11px, var(--lab-type-min-mono));--code-bg: var(--fresh-raised);--code-border: var(--fresh-line);--foreground: var(--fresh-paper);--foreground-feint: var(--fresh-muted);--accent: var(--fresh-accent);position:relative;min-height:100svh;background:var(--fresh-ink);color:var(--fresh-paper);scrollbar-color:var(--lab-line) var(--fresh-ink)}.dgd *,.dgd *:before,.dgd *:after{box-sizing:border-box}.dgd-advert-trigger{position:absolute;top:calc(100dvh + 500px);bottom:0;left:0;width:1px;pointer-events:none}.dgd ::selection{background:var(--fresh-accent);color:var(--fresh-ink)}.dgd a{text-underline-offset:4px}.dgd :is(a,button):focus-visible{outline:2px solid var(--fresh-accent);outline-offset:4px}.dgd button{cursor:pointer}.dgd-skip{position:fixed;z-index:100;top:8px;left:8px;padding:12px;background:var(--fresh-accent);color:var(--fresh-ink);transform:translateY(-160%)}.dgd-skip:focus{transform:none}.dgd-document{display:grid;grid-template-columns:var(--dgd-rail) minmax(0,1fr)}.dgd-rail{--fresh-ink: var(--lab-ink-raised);--fresh-raised: var(--lab-ink);position:sticky;inset:0 auto 0 0;grid-area:1 / 1;align-self:start;width:var(--dgd-rail);height:100dvh;display:flex;flex-direction:column;padding:32px 28px 20px;border-right:1px solid var(--fresh-line);background:var(--fresh-ink);background-image:radial-gradient(rgb(0 0 0 / 25%) 20%,transparent 22%),radial-gradient(rgb(0 0 0 / 25%) 20%,transparent 22%);background-size:8px 8px;background-position:0 -1px,4px 3px;background-repeat:repeat;color:var(--fresh-paper);z-index:10}.dgd-rail>.fresh-site-navigation-brand{align-self:start;flex-shrink:0;margin-block:9.5px}.dgd-site-header{position:fixed;top:24px;left:calc(var(--dgd-rail) + var(--dgd-gutter) - 4px);right:var(--dgd-gutter);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;background:transparent}.dgd-site-links{justify-content:flex-start}.dgd-mobile-brand,.dgd-navigation .fresh-article-nav-tabs{display:none}.dgd-site-links a[aria-current=location]{color:var(--fresh-accent)}.dgd-site-actions{display:flex;flex-shrink:0;align-items:center;gap:12px}.dgd-site-actions .app-search-trigger{min-width:44px;min-height:44px}.dgd-plus{flex-shrink:0}.dgd-rail .fresh-article-nav{margin-top:64px;min-height:0;flex:1;background:transparent}.dgd-rail .fresh-article-nav-compact-bar{background:transparent}.dgd-rail .fresh-article-nav-group li>a:not(.is-active):hover{background:color-mix(in oklch,var(--fresh-paper) 5%,transparent)}.dgd .fresh-article-nav{scrollbar-color:var(--lab-line) transparent}.dgd .fresh-article-nav::-webkit-scrollbar-thumb{background:var(--lab-line)}.dgd-rail .fresh-article-nav-groups{padding-top:22px}.dgd-lab-controls{padding-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.dgd-lab-controls a{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.dgd-lab-controls :is(a,button),.dgd-meta,.dgd-grid-key{font-family:var(--font-mono);font-size:11px;font-variation-settings:"wght" 500;line-height:1.5}.dgd-lab-controls a{color:var(--fresh-muted)}.dgd-lab-controls button{border:1px solid var(--fresh-line);padding:7px 9px;background:none;color:var(--fresh-paper)}.dgd-lab-controls button[aria-pressed=true]{background:var(--fresh-accent);color:var(--fresh-ink)}.dgd-page{grid-area:1 / 2;min-width:0;display:grid;grid-template-columns:minmax(260px,min(31%,var(--dgd-middle-max-width))) minmax(0,1fr);grid-template-rows:auto auto;row-gap:70px;min-height:100svh}.dgd-intro{position:relative;z-index:1;grid-area:1 / 1;padding:clamp(90px,10vw,150px) 42px 0 var(--dgd-gutter)}.dgd-header-field{grid-area:1 / 1 / 2 / 3;position:relative;z-index:0;min-width:0;margin-bottom:-52px;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 72%,transparent),linear-gradient(to right,transparent,#000 9%,#000 92%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 72%,transparent),linear-gradient(to right,transparent,#000 9%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.dgd-header-field .hero-particle-frame{position:absolute;width:260%;height:720px;left:50%;top:50%;transform:translate(-50%,-54%)}.dgd-header-field canvas{display:block;width:100%;height:100%}.dgd-intro-copy{display:flex;flex-direction:column;gap:10px}.dgd-intro-copy>*{align-self:flex-start}.dgd-intro-copy>:is(h1,.dgd-description){display:inline-block;width:fit-content}.dgd-breadcrumb{margin:0}.dgd-breadcrumb>span{display:inline-block;padding:0}.dgd-breadcrumb a{color:inherit;text-decoration:none}.dgd-breadcrumb a:hover,.dgd-breadcrumb a:focus-visible{color:var(--fresh-paper)}.dgd-breadcrumb a:focus-visible{outline:2px solid var(--fresh-accent);outline-offset:3px}.dgd-intro h1{margin:0;font-size:clamp(30px,2.8vw,42px);font-variation-settings:"opsz" 60,"wght" 710;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}.dgd-intro-copy .dgd-description{max-width:46ch;margin:0}.dgd-meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;color:var(--fresh-muted)}.dgd-toc-rail{grid-area:2 / 1;min-width:0;display:flex;grid-template-columns:minmax(0,1fr) minmax(0,2fr);justify-items:start;align-items:start;padding:0 42px 48px var(--dgd-gutter)}.dgd-toc-sticky{width:100%;max-width:180px;position:sticky;top:32px}.dgd-article{grid-area:2 / 2;min-width:0;padding:0 var(--dgd-gutter) 0 0}.dgd-copy.fresh-article-content{display:block;max-width:none}.dgd-copy.fresh-article-content table :is(th,td){border-bottom-color:var(--lab-line)}.dgd-copy.fresh-article-content>*{width:100%;max-width:var(--dgd-reading-width)}.dgd-copy.fresh-article-content>:is(p,ul,ol,blockquote){max-width:min(var(--dgd-reading-width),70ch)}.dgd-copy.fresh-article-content[data-standfirst]>p:first-child{max-width:var(--dgd-reading-width)}.dgd-copy.fresh-article-content>:is(iframe,video,img,figure,.fresh-article-media,.docs-example),.dgd-copy.fresh-article-content>p:has(>:is(iframe,video):only-child){max-width:var(--dgd-breakout-width)}.dgd-copy.fresh-article-content>.mag-interstitial{width:100%;max-width:var(--dgd-code-width);margin-inline:0}.dgd-copy>:is(p,ul,ol){font-family:var(--fresh-body-font)}.dgd-copy>h2{font-size:clamp(26px,2.4vw,34px);letter-spacing:-.03em;line-height:1.1;scroll-margin-top:32px}.dgd-copy>h3{font-size:24px;scroll-margin-top:32px}.dgd-copy>h2 a{color:inherit;text-decoration:none}.dgd-copy>p a{color:var(--fresh-paper)}.dgd-copy.fresh-article-content>:is(pre,.code-block){width:100%;max-width:var(--dgd-code-width);margin:28px 0 32px;border:0}.dgd-copy .code-block-pre{max-width:100%;margin:0;padding:0;overflow-x:auto;border:0;background:var(--fresh-raised)}.dgd .dgd-copy.fresh-article-content>:is(pre,.code-block) code{padding:var(--dgd-code-padding)}.dgd-copy.fresh-article-content>.code-block .code-block-title{padding-inline:var(--dgd-code-padding)}.dgd-copy .code-block-pre code{font-family:var(--font-mono);font-size:13px;line-height:1.75;white-space:pre}.dgd-copy .fresh-callout{margin-top:48px}.dgd .fresh-callout,.dgd .fresh-callout-signal{border:0}.dgd-callouts{display:grid;gap:24px;margin-top:48px}.dgd-copy .dgd-callouts .fresh-callout{margin:0}.dgd .dgd-note{grid-template-columns:112px minmax(0,1fr);gap:24px;padding:20px;border-top:1px solid color-mix(in oklch,var(--fresh-callout-accent) 58%,transparent);background:color-mix(in oklch,var(--fresh-callout-accent) 4%,transparent)}.dgd .dgd-note .fresh-callout-signal{min-height:0;flex-direction:row;justify-content:start;align-items:center;align-self:start;gap:8px;padding:4px 0 0;background:transparent}.dgd .dgd-note .fresh-callout-body{padding:0;font-size:16px;line-height:1.55}.dgd-note-picker{display:flex;align-items:center;gap:8px;color:var(--fresh-muted);font-size:12px}.dgd-note-picker select{min-width:128px;min-height:36px;border:1px solid var(--lab-line);padding:6px 28px 6px 10px;background:var(--lab-ink);color:var(--fresh-paper);font:inherit}@media(max-width:480px){.dgd .dgd-note{grid-template-columns:minmax(0,1fr);gap:12px}}.dgd[data-grid] .dgd-intro{outline:1px solid var(--lab-dragonfruit);outline-offset:-1px}.dgd[data-grid] .dgd-article{outline:1px solid var(--lab-blueberry);outline-offset:-1px}.dgd[data-grid] .dgd-copy{outline:1px dashed var(--fresh-accent)}.dgd-grid-key{position:fixed;z-index:20;bottom:12px;left:calc(var(--dgd-rail) + 12px);max-width:calc(100vw - var(--dgd-rail) - 24px);padding:12px 16px;border:1px solid var(--fresh-accent);color:var(--fresh-accent);background:var(--fresh-ink)}@media(min-width:801px){.dgd .fresh-article-nav-compact-bar,.dgd .fresh-article-toc-compact{display:none}.dgd-rail .fresh-article-nav{overflow-y:auto;border-bottom:0}.dgd .fresh-article-nav-body{position:static;max-height:none;overflow:visible;border:0;clip-path:none;visibility:visible;background:transparent}.dgd .fresh-article-nav-body,.dgd .fresh-article-toc-desktop{display:block}}.dgd-presented{display:flex}.dgd-presented .docs-header-op-presented{display:inline-flex;align-items:center;gap:10px;color:var(--fresh-muted);text-decoration:none}.dgd-presented .docs-header-op-presented-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.dgd-presented .docs-header-op-presented-logo{display:inline-flex;align-items:center}.dgd-header-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:var(--dgd-reading-width);margin-top:18px}.dgd-header-meta .dgd-meta{min-height:44px;width:fit-content}.dgd-intro .fresh-site-navigation-surface{padding:10px;margin:-10px}.dgd-intro-copy .dgd-description{max-width:calc(46ch + 20px)}.dgd-toc-sticky{max-width:220px}.dgd .dgd-rail-ad{margin-top:40px;border:0}.dgd .fresh-article-toc-desktop .fresh-article-toc-footer{display:none}.dgd-rail-ad-reveal{width:100%}.dgd-embed{margin:40px 0 48px;scroll-margin-top:112px}.dgd-embed iframe{display:block;width:100%;height:auto;aspect-ratio:4 / 3;border:0;background:var(--fresh-raised)}.dgd-embed figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;color:var(--fresh-muted);font-size:12px}.dgd-embed figcaption a{display:inline-flex;align-items:center;gap:6px;color:var(--fresh-paper);text-decoration:none}.dgd-pager{max-width:var(--dgd-reading-width);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;margin-top:72px;scroll-margin-top:112px;border-top:1px solid color-mix(in oklch,var(--fresh-paper) 12%,transparent)}.dgd-pager a{display:flex;align-items:center;gap:18px;min-width:0;min-height:128px;padding-block:16px;color:var(--fresh-paper);text-decoration:none}.dgd-pager a[rel=next]{justify-content:space-between;text-align:left;padding-left:24px}.dgd-pager a>svg{flex-shrink:0;color:var(--fresh-muted)}.dgd-pager a>span{display:flex;min-width:0;flex-direction:column;gap:10px}.dgd-pager small{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--fresh-muted)}.dgd-pager strong{font-size:26px;font-variation-settings:"wght" 520;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}.dgd-pager a[rel=prev] strong{font-size:16px;font-variation-settings:"wght" 480}.dgd-pager a:hover strong{color:var(--fresh-accent)}@media(min-width:681px){.dgd-pager a{align-items:flex-start;padding-block:32px}.dgd-pager a>svg{align-self:center}}.dgd-discovery,.dgd-plus-footer,.dgd-site-footer .footer{--dgd-discovery-gap: 32px;--dgd-discovery-offset: calc(clamp(260px, (100% + var(--dgd-gutter) * 2) * .31, var(--dgd-middle-max-width)) - var(--dgd-gutter) - var(--dgd-discovery-gap))}.dgd-discovery{grid-column:1 / -1;min-width:0;margin-inline:var(--dgd-gutter);display:grid;gap:128px var(--dgd-discovery-gap);scroll-margin-top:112px}.dgd-discovery>*{min-width:0}.dgd-related,#dgd-related-examples{scroll-margin-top:112px}.dgd-related .fresh-related-topics{width:100%;margin:0;padding:0;border:0}.dgd-related .fresh-related-topics-header,.dgd-related-examples .section-header{margin:0 0 32px;padding:0;border:0;min-height:40px;align-items:start}.dgd-related .fresh-related-topics-header h3,.dgd-related-examples .section-header-title{margin:0;color:var(--fresh-paper);font-size:clamp(26px,3vw,34px);font-variation-settings:"opsz" 44,"wght" 680;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}.dgd-related .fresh-related-topics-header>span,.dgd-related-examples .section-header-rail{display:none}.dgd-related-examples .section-header{flex-direction:column;align-self:start;gap:16px}.dgd-related ol,.dgd-related-examples .ex-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px var(--dgd-discovery-gap);list-style:none;margin:0;padding:0}.dgd-related ol{border:0}.dgd-related .fresh-related-topics li{min-width:0;border-top:1px solid color-mix(in oklch,var(--fresh-paper) 12%,transparent);border-bottom:0}.dgd-related .fresh-related-topics li>a{display:grid;grid-template-columns:minmax(0,1fr) 20px;grid-template-rows:auto 1fr;align-items:start;gap:14px 12px;height:100%;padding:24px 0}.dgd-related .fresh-related-topics li>a:hover{background:transparent}.dgd-related .fresh-related-topics li>a>span:first-child{display:none}.dgd-related .fresh-related-topics li>a>strong{grid-area:1 / 1;font-size:23px;white-space:normal;text-overflow:clip;overflow-wrap:anywhere;text-wrap:balance}.dgd-related .fresh-related-topics li>a>p{grid-area:2 / 1 / 3 / -1;font-size:12px;max-width:none}.dgd-related .fresh-related-topics li>a>span:last-child{grid-area:1 / 2;align-self:center}.dgd-related-examples{max-width:none;margin:0}.dgd-related-examples .ex-card-item{min-width:0}.dgd-related-examples .fresh-item-thumbnail,.dgd-related-examples .fresh-item-thumbnail-link{display:flex;flex-direction:column;height:100%}.dgd-related-examples .fresh-item-thumbnail-media{flex:none}.dgd-related-examples .fresh-item-thumbnail-row{flex:1}.dgd-related-examples .fresh-item-thumbnail-title{white-space:normal;text-wrap:balance}.dgd[data-grid] .dgd-discovery{outline:1px dashed var(--fresh-accent)}@media(min-width:681px){.dgd-discovery .fresh-related-topics,.dgd-discovery .dgd-related-examples{display:grid;gap:var(--dgd-discovery-gap)}.dgd-discovery .fresh-related-topics,.dgd-discovery .dgd-related-examples{grid-template-columns:var(--dgd-discovery-offset) minmax(0,var(--dgd-code-width))}.dgd-discovery .fresh-related-topics-header,.dgd-discovery .section-header{margin:0}.dgd-discovery .dgd-related ol{grid-template-columns:repeat(3,minmax(0,1fr))}.dgd-discovery .ex-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dgd-discovery .ex-card-item:first-child{grid-column:1 / -1}.dgd-discovery .ex-card-item:first-child .fresh-item-thumbnail{--fresh-thumbnail-aspect: 16 / 9}}@media(max-width:780px){.dgd-discovery{gap:80px}}@media(max-width:680px){.dgd-discovery{margin:56px 22px}.dgd-discovery .dgd-related ol,.dgd-discovery .dgd-related-examples .ex-list{grid-template-columns:minmax(0,1fr)}.dgd-related .fresh-related-topics-header{min-height:0;margin-bottom:20px}.dgd-discovery .dgd-related ol{row-gap:0}.dgd-related .fresh-related-topics li>a{row-gap:8px;height:auto;padding-block:20px}.dgd-related .fresh-related-topics li>a>p{margin-top:0}}.dgd-plus-footer{grid-column:1 / -1;min-width:0;display:grid;grid-template-columns:var(--dgd-discovery-offset) minmax(0,var(--dgd-code-width));column-gap:var(--dgd-discovery-gap);margin:0 var(--dgd-gutter) 64px}.dgd-plus-footer .fresh-product-callout{grid-column:1 / -1;min-width:0;border:0}.dgd-plus-footer .fresh-product-callout-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto}.dgd-plus-footer :is(.fresh-product-callout-readout,.fresh-product-callout-action){grid-column:1;grid-row:auto}.dgd-plus-footer .fresh-product-callout-readout{flex-wrap:wrap;gap:20px}.dgd-plus-footer .fresh-product-callout-readout>div,.dgd-plus-footer .fresh-product-callout-readout>div+div{padding:0;border:0}.dgd-options-footer>a{color:var(--fresh-paper);padding-block:8px}.dgd-plus-footer{scroll-margin-top:112px}.dgd-site-footer{position:relative;z-index:21;scroll-margin-top:112px}.dgd-site-footer .footer{width:100%;margin:0;--footer-grid-gutter: var(--dgd-gutter);display:grid;grid-template-columns:var(--dgd-discovery-offset) minmax(0,var(--dgd-code-width));column-gap:var(--dgd-discovery-gap);padding-inline:calc(var(--dgd-rail) + var(--dgd-gutter)) var(--dgd-gutter)}.dgd-site-footer .footer-container{grid-column:1 / -1;min-width:0;max-width:none;margin-inline:0;container:docs-footer / inline-size}.dgd-site-footer :is(.sponsors-heading,.fnl-heading){display:none}.dgd-community-sponsors .github-sponsors{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr);max-width:var(--dgd-reading-width);gap:32px}.dgd-community-sponsors .github-sponsors-header{min-width:0}.dgd-community-sponsors .github-sponsors-header h3{max-width:26ch;margin:0;font-family:var(--font-sans);font-size:28px;line-height:1.15;letter-spacing:-.02em;font-variation-settings:"wght" 650,"opsz" 40;text-wrap:balance}.dgd-community-sponsors .github-sponsors-header p{margin:12px 0 20px;font-size:14px;line-height:1.5;text-wrap:balance}.dgd-community-sponsors .github-sponsors-list{display:flex;flex-wrap:wrap;align-content:start;gap:24px 32px;margin:0;padding:24px 0 0;border-top:1px solid color-mix(in oklch,var(--fresh-paper) 14%,transparent);list-style:none}.dgd-community-sponsors .github-sponsors-list li{min-width:0;max-width:100%}.dgd-community-sponsors .github-sponsors-list a{display:flex;align-items:center;gap:12px;min-height:48px;color:var(--foreground);text-decoration:none}.dgd-community-sponsors .github-sponsors-list img{flex:none;width:48px;height:48px;object-fit:cover}.dgd-community-sponsors .github-sponsor-name{font-family:var(--font-sans);font-size:14px;font-variation-settings:"opsz" 20,"wght" 560;letter-spacing:-.005em;line-height:1.2;overflow-wrap:anywhere;text-wrap:balance}.dgd-community-sponsors .github-sponsors-list a:hover{color:var(--fresh-accent);text-decoration:none}.dgd-community-sponsors .github-sponsors a:focus-visible{outline:2px solid var(--fresh-accent);outline-offset:5px}.dgd-community-sponsors .sponsors-cta-link,.dgd-related-examples .sponsors-cta-link{max-width:100%;line-height:1.4}.dgd-community-sponsors{display:grid;grid-template-columns:var(--dgd-discovery-offset) minmax(0,var(--dgd-code-width));column-gap:var(--dgd-discovery-gap);scroll-margin-top:144px}@media(max-width:1199px){.dgd-community-sponsors{grid-template-columns:minmax(0,1fr)}.dgd-community-sponsors .github-sponsors{grid-column:1}}@media(max-width:680px){.dgd-community-sponsors .github-sponsors-header h3{font-size:26px}}.dgd-site-footer .fnl-inline{padding-block:72px;align-items:end}.dgd-site-footer .fnl-inline-text{grid-column:1 / 7}.dgd-site-footer .fnl-desc{max-width:10ch;font-size:clamp(38px,4.4vw,62px);line-height:1.02;letter-spacing:-.035em;font-variation-settings:"opsz" 60,"wght" 650}.dgd-site-footer .fnl-inline-form{padding-bottom:6px}.dgd-site-footer .fresh-newsletter-form{flex-wrap:wrap;gap:20px}.dgd-site-footer .fresh-newsletter-input-shell{position:relative;flex-basis:100%;min-height:56px;border:0;outline:0;color:var(--foreground)}.dgd-site-footer .fresh-newsletter-input-shell>span{display:none}.dgd-site-footer .fresh-newsletter-input{font-family:var(--font-sans);font-size:20px;caret-color:var(--foreground)}.dgd-site-footer .fresh-newsletter-input::placeholder{color:color-mix(in oklch,var(--foreground) 65%,transparent)}.dgd-site-footer .fresh-newsletter-input:focus-visible{outline:0}.dgd-site-footer .fresh-newsletter-action{--fresh-newsletter-accent: var(--foreground);--fresh-newsletter-action-foreground: var(--background)}.dgd-site-footer .fresh-newsletter-action:focus-visible{outline-color:var(--foreground)}@container docs-footer (max-width: 960px){.dgd-site-footer .fnl-inline{align-items:start}.dgd-site-footer .fnl-inline-form{padding-bottom:0}}@container docs-footer (max-width: 700px){.dgd-site-footer .fnl-inline{grid-template-columns:minmax(0,1fr);gap:32px}.dgd-site-footer .fnl-inline-text,.dgd-site-footer .fnl-inline-form{grid-column:1;min-width:0}}.dgd-site-footer .fresh-newsletter-input-shell:before{content:"";position:absolute;inset:auto -10px 0;height:2px;background:currentColor;transform:scaleY(.5);transform-origin:bottom;transition:transform .12s ease-out;pointer-events:none}.dgd-site-footer .fresh-newsletter-input-shell:after{content:"";position:absolute;top:0;right:-10px;bottom:2px;left:-10px;background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);background-position:left bottom,right bottom,left top,right top;background-repeat:no-repeat;background-size:2px 0%,2px 0%,0% 2px,0% 2px;opacity:0;transition:opacity .12s ease-out;pointer-events:none}.dgd-site-footer .fresh-newsletter-input-shell:focus-within:before{transform:scaleY(1)}.dgd-site-footer .fresh-newsletter-input-shell:focus-within:after{opacity:1;animation:dgd-newsletter-focus .48s .12s both}@keyframes dgd-newsletter-focus{0%{background-size:2px 0%,2px 0%,0% 2px,0% 2px;animation-timing-function:ease-in}35%{background-size:2px 100%,2px 100%,0% 2px,0% 2px;animation-timing-function:cubic-bezier(.16,1,.3,1)}to{background-size:2px 100%,2px 100%,calc(50% + 1px) 2px,calc(50% + 1px) 2px}}@media(prefers-reduced-motion:reduce){.dgd-site-footer .fresh-newsletter-input-shell:before,.dgd-site-footer .fresh-newsletter-input-shell:after{transition:none}.dgd-site-footer .fresh-newsletter-input-shell:focus-within:after{animation:none;background-size:2px 100%,2px 100%,calc(50% + 1px) 2px,calc(50% + 1px) 2px}}@media(max-width:780px){.dgd-site-footer .fnl-inline{padding-block:48px;gap:32px}.dgd-site-footer .fnl-inline-text{grid-column:1}}@media(max-width:1100px)and (min-width:901px){.dgd-plus-footer .fresh-product-callout{flex-wrap:wrap}.dgd-plus-footer .fresh-product-callout-signal{flex-basis:180px}.dgd-plus-footer .fresh-product-callout-body{flex-basis:300px}.dgd-plus-footer .fresh-product-callout-media{flex-basis:100%}}@media(max-width:680px){.dgd-toc-sticky{max-width:none}.dgd .dgd-rail-ad{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px 18px;margin:24px 0 12px}.dgd .dgd-rail-ad>p{margin:0}.dgd-pager{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dgd-pager a{min-height:96px;gap:8px}.dgd-pager a[rel=next]{padding-left:0;text-align:right}.dgd-pager a>span{gap:6px}.dgd-pager a>svg{width:14px;height:14px}.dgd-pager small{font-size:11px}.dgd-pager strong,.dgd-pager a[rel=prev] strong{font-size:16px;line-height:1.3;font-variation-settings:"wght" 520}.dgd-plus-footer{margin:32px 22px 48px}}@media(max-width:800px){.dgd{--dgd-rail: 0px;--dgd-gutter: 30px}.dgd-site-header{position:relative;top:auto;left:auto;right:auto;margin:0 22px 0 10px;gap:8px}.dgd-site-links{flex-wrap:wrap}.dgd-rail{position:relative;width:100%;padding:22px;display:grid;grid-template-columns:1fr auto;border-right:0;border-bottom:1px solid var(--fresh-line)}.dgd-rail .fresh-article-nav{grid-column:1 / -1;grid-row:2;margin-top:20px;max-height:60dvh}.dgd-lab-controls{padding:0;justify-content:end}.dgd-intro{padding-top:64px;padding-right:30px}.dgd-toc-rail{padding-right:30px}.dgd-toc-rail .fresh-article-toc-compact{display:none}.dgd-toc-rail .fresh-article-toc-desktop{display:block}}@media(max-width:680px){.dgd{--dgd-code-padding: 18px}.dgd-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;row-gap:0;align-content:start}.dgd-header-field,.dgd-intro{grid-area:1 / 1}.dgd-header-field .hero-particle-frame{width:360%;height:600px}.dgd-site-links a{padding-inline:8px;font-size:11px}.dgd-site-actions{gap:4px}.dgd-plus{min-height:40px;padding:10px 12px}.dgd-intro{padding:44px 22px 32px}.dgd-intro h1{font-size:38px}.dgd-toc-rail{grid-area:auto;display:block;padding:0 22px;margin-bottom:24px}.dgd-toc-sticky{position:static;max-width:none}.dgd-toc-rail .fresh-article-toc-desktop{display:none}.dgd-toc-rail .fresh-article-toc-compact{display:block}.dgd-article{grid-area:auto;padding:0 22px}.dgd-grid-key{left:12px}}@media(prefers-reduced-motion:reduce){.dgd *,.dgd *:before,.dgd *:after{scroll-behavior:auto;transition:none}}.dgd :is(select,input,button):focus-visible{outline:2px solid var(--fresh-paper);outline-offset:3px}.dgd select{color-scheme:dark;cursor:pointer}.dgd-navigation{display:flex;flex:1;flex-direction:column;min-height:0;margin-top:var(--dgd-navigation-gap)}.dgd-navigation .fresh-article-nav{margin-top:16px}.dgd-platforms{display:flex;flex:none;gap:4px}.dgd-platforms a{flex:1;display:grid;place-items:center;min-height:var(--dgd-platform-height);text-decoration:none;font-family:var(--font-sans);font-size:13px;color:var(--fresh-muted)}.dgd-platforms a:hover{color:var(--fresh-paper);background:color-mix(in oklch,var(--fresh-paper) 5%,transparent)}.dgd-platforms a[aria-current]{color:var(--fresh-accent);font-variation-settings:"wght" 650}.dgd-platforms a[aria-current]{box-shadow:inset 0 -1px var(--fresh-accent)}.dgd .fresh-article-nav-group li>a.is-active,.dgd .fresh-article-toc a[aria-current]{background:transparent;color:var(--fresh-accent);font-variation-settings:"wght" 650}.dgd .fresh-article-toc a{min-height:27px;padding:3px 7px;font-size:12px;line-height:1.25}.dgd-workbench{position:sticky;bottom:0;z-index:30;max-height:65svh;overflow-y:auto;overscroll-behavior:contain;margin-left:var(--dgd-rail);padding:0 24px;background:var(--lab-ink-raised);font-family:var(--font-sans)}.dgd-workbench-bar{position:sticky;top:0;z-index:1;background:var(--lab-ink-raised);display:flex;justify-content:space-between;align-items:center;min-height:64px;gap:20px}.dgd-workbench-bar>div:first-child{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px}.dgd-workbench-bar strong{font-size:16px;font-variation-settings:"wght" 600}.dgd-workbench-bar span{font-size:12px;color:var(--fresh-muted)}.dgd-workbench-actions{display:flex;flex-wrap:wrap;gap:8px}.dgd-workbench button{font-family:inherit}.dgd-workbench-actions button,.dgd-options-footer button{padding:8px 10px;min-height:36px;border:0;color:var(--fresh-paper);background:var(--lab-ink);font-size:12px}.dgd-workbench button:hover{background:color-mix(in oklch,var(--fresh-paper) 10%,var(--lab-ink))}.dgd-options{padding-bottom:18px}.dgd-options[hidden]{display:none}.dgd-layout-description{min-height:18px;margin:10px 0 18px;font-size:12px;line-height:1.5;color:var(--fresh-muted);text-wrap:balance}.dgd-options-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px;color:var(--fresh-muted);font-size:12px}.dgd-options-footer label{display:inline-flex;align-items:center;gap:6px;min-height:32px;color:var(--fresh-paper)}.dgd-options-footer input{accent-color:var(--fresh-paper)}.dgd-options-footer button{margin-left:auto}@media(max-width:1100px)and (min-width:801px){.dgd{--dgd-rail: 240px;--dgd-gutter: 32px}.dgd-rail{padding-inline:20px}}@media(max-width:800px){.dgd-navigation{grid-column:1 / -1;margin-top:20px}.dgd-navigation .fresh-article-nav{margin-top:10px}.dgd-workbench{padding-inline:22px}.dgd-workbench-bar{gap:12px}}@media(max-width:680px){.dgd-workbench-bar{flex-wrap:wrap;padding-block:14px}.dgd-workbench-actions{margin-left:auto}.dgd-options-footer>span{display:none}.dgd-rail>.fresh-site-navigation-brand{grid-row:1}}.dgd-workbench .dgd-grid-key{position:static;max-width:none;padding:0 0 16px;border:0;background:transparent}@media(min-width:681px){.dgd-toc-rail{padding-bottom:0}.dgd-toc-sticky{--dgd-sticky-top: 32px;display:flex;flex-direction:column;gap:40px;min-height:calc(100dvh - var(--dgd-sticky-top) - 88px);top:var(--dgd-sticky-top)}.dgd-rail-ad-reveal{margin-top:auto}.dgd .dgd-rail-ad{margin-top:0}.dgd .dgd-page{grid-template-rows:max-content auto;row-gap:72px}.dgd[data-layout=lead] .dgd-intro{padding-top:clamp(96px,10vw,144px)}.dgd[data-layout=lead] .dgd-intro-copy{gap:18px}.dgd[data-layout=lead] .dgd-article{grid-area:2 / 2}.dgd[data-layout=lead] .dgd-toc-rail{grid-area:2 / 1}}@media(min-width:801px){.dgd-toc-sticky{--dgd-sticky-top: calc(64px + var(--dgd-navigation-gap))}.dgd-copy>:is(h2,h3){scroll-margin-top:calc(64px + var(--dgd-navigation-gap))}.dgd .fresh-article-toc-desktop{border-top:0}.dgd .fresh-article-toc-desktop>strong{min-height:var(--dgd-platform-height);display:flex;align-items:center;padding:0 8px;border-bottom:0}.dgd[data-layout=lead] .dgd-intro{padding-top:calc(128px + var(--dgd-navigation-gap))}.dgd[data-layout=lead] .dgd-breadcrumb{min-height:var(--dgd-platform-height);display:flex;align-items:center}}@media(min-width:681px){.dgd[data-layout=lead] .dgd-intro{grid-area:1 / 1 / 2 / 3;display:grid;grid-template-columns:subgrid;padding-inline:0}.dgd[data-layout=lead] .dgd-intro-copy{grid-column:2;max-width:calc(var(--dgd-reading-width) + var(--dgd-gutter));padding-right:var(--dgd-gutter)}.dgd-header-meta{grid-column:2;max-width:min(var(--dgd-reading-width),calc(100% - var(--dgd-gutter)))}}@media(max-width:800px){.dgd{--dgd-rail: 0px;--dgd-gutter: 30px;--dgd-site-header-height: calc(64px + env(safe-area-inset-top, 0px)) ;--dgd-compact-header-height: calc(var(--dgd-site-header-height) + 48px)}.dgd-site-header{position:fixed;inset:0 0 auto;z-index:40;height:var(--dgd-site-header-height);gap:16px;margin:0;padding:env(safe-area-inset-top,0px) var(--dgd-gutter) 0;background:var(--fresh-ink)}.dgd-mobile-brand{display:flex;flex:none;align-items:center}.dgd-mobile-brand .fresh-site-navigation-brand{min-height:44px}.dgd-site-links{flex:1;min-width:0;flex-wrap:nowrap}.dgd-site-actions{gap:8px}.dgd-document{display:block;padding-top:var(--dgd-site-header-height)}.dgd-rail{position:sticky;inset:var(--dgd-site-header-height) 0 auto;z-index:35;display:block;width:auto;height:auto;padding:0;border:0;background-image:none}.dgd-rail>.fresh-site-navigation-brand,.dgd-rail .dgd-lab-controls,.dgd-platforms{display:none}.dgd-navigation{display:block;margin:0}.dgd-navigation .fresh-article-nav{margin:0;max-height:none}.dgd-navigation .fresh-article-nav-tabs{display:flex;gap:8px;padding:8px calc(var(--dgd-gutter) - 8px) 12px;background:var(--fresh-ink)}.dgd-navigation .fresh-article-nav-tabs a{min-height:44px}.dgd-rail .fresh-article-nav-compact-bar{height:48px;padding-inline:var(--dgd-gutter)}.dgd-rail .fresh-article-nav-body{max-height:calc(100dvh - var(--dgd-compact-header-height) - env(safe-area-inset-bottom,0px))}.dgd-rail .fresh-article-nav-groups{padding:12px calc(var(--dgd-gutter) - 8px) 28px}}@media(max-width:1199px){.dgd .dgd-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;row-gap:0;padding-top:0;scroll-margin-top:var(--dgd-compact-header-height)}.dgd-header-field{grid-area:1 / 1}.dgd[data-layout=lead] .dgd-intro{grid-area:1 / 1;display:block;padding:48px var(--dgd-gutter)}.dgd[data-layout=lead] .dgd-intro-copy{max-width:var(--dgd-reading-width);padding:0}.dgd-header-meta{max-width:var(--dgd-reading-width)}.dgd[data-layout=lead] .dgd-article{grid-area:2 / 1;padding:0 var(--dgd-gutter) calc(72px + env(safe-area-inset-bottom,0px))}.dgd[data-layout=lead] .dgd-toc-rail,.dgd-toc-sticky{display:contents}.dgd-toc-sticky>.fresh-article-toc{position:sticky;z-index:30;bottom:0;grid-area:2 / 1;align-self:end;min-width:0;background:var(--fresh-ink);padding-bottom:env(safe-area-inset-bottom,0px)}.dgd-toc-rail .fresh-article-toc-desktop{display:none}.dgd-toc-rail .fresh-article-toc-compact{display:block}.dgd-toc-rail .fresh-article-compact-bar{padding-inline:var(--dgd-gutter)}.dgd-toc-rail .fresh-article-toc-compact-panel{top:auto;bottom:100%;padding-inline:calc(var(--dgd-gutter) - 8px);max-height:calc(100dvh - var(--dgd-compact-header-height) - 64px - env(safe-area-inset-bottom,0px));clip-path:inset(100% 0 0 0)}.dgd-toc-rail .fresh-article-toc-compact[data-open] .fresh-article-toc-compact-panel{clip-path:inset(0)}.dgd .dgd-rail-ad-reveal{display:none}.dgd .dgd-rail-ad{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px 18px;max-width:var(--dgd-reading-width);margin:0}.dgd .dgd-rail-ad>p{margin:0}.dgd-discovery{grid-area:3 / 1;margin:80px var(--dgd-gutter)}.dgd-discovery .fresh-related-topics,.dgd-discovery .dgd-related-examples,.dgd-community-sponsors .github-sponsors{grid-template-columns:minmax(0,1fr)}.dgd-discovery .fresh-related-topics{max-width:var(--dgd-code-width)}.dgd-discovery .dgd-related-examples{max-width:var(--dgd-breakout-width)}.dgd-plus-footer{grid-area:4 / 1;grid-template-columns:minmax(0,var(--dgd-code-width));margin-inline:var(--dgd-gutter)}.dgd-site-footer .footer{grid-template-columns:minmax(0,var(--dgd-code-width))}.dgd-copy>:is(h2,h3),.dgd-embed,.dgd-pager{scroll-margin-top:calc(var(--dgd-compact-header-height) + 24px)}.dgd-workbench{position:relative;bottom:auto}}@media(min-width:801px)and (max-width:1199px){.dgd{--dgd-compact-header-height: 88px}.dgd[data-layout=lead] .dgd-intro{padding-top:calc(128px + var(--dgd-navigation-gap))}}@media(max-width:620px){.dgd{--dgd-gutter: 12px;--dgd-site-header-height: calc(60px + env(safe-area-inset-top, 0px)) }.dgd-site-header{gap:8px;padding-inline:var(--dgd-gutter)}.dgd-mobile-brand .fresh-site-navigation-brand>span{display:none}.dgd-site-links{gap:0;overflow-x:auto}.dgd-site-links a{flex-shrink:0;padding-inline:6px;font-size:11px;letter-spacing:.04em}.dgd-site-actions{gap:0}.dgd-plus{min-height:44px;padding-inline:8px}}.dgd-copy .code-block{position:relative}.dgd-copy .docs-code-block-actions{position:absolute;right:var(--dgd-code-padding);bottom:12px;display:flex}.dgd-copy .docs-code-block-actions .docs-copy-btn{min-height:36px;padding-inline:8px;background:var(--fresh-raised)}.dgd .advert-rail-slot>p>small,.dgd .advert-rail-slot>.advert-rail-slot-footnote,.dgd .sponsors-row a:before{font-size:11px}.dgd-article>:is(.docs-fresh-inline-gate,.tut-gate-fade){width:100%;max-width:var(--dgd-code-width)}.dgd-article>.tut-gate-fade{--background: var(--fresh-ink)}.dgd-copy.fresh-article-content>.docs-plus-continuation{max-width:none}.docs-grid-live .dgd-article>:is(.docs-deprecated-banner,.docs-fresh-plus-banner){max-width:var(--dgd-reading-width);margin-bottom:32px}.docs-grid-live .dgd-platforms a{min-width:0}.docs-grid-live .dgd-platforms{gap:0}
