.dv{--dv-ink:var(--page-ink,#1e1e1e);--dv-soft:#43434c;--dv-quiet:#6f6f78;--dv-faint:#8e8e96;--dv-line:#00000014;--dv-line-strong:#00000024;--dv-ground:var(--page-ground,#f5f5f4);--dv-surface:#fbfbfa;--dv-code:#f9f8f9;--dv-hover:#0000000d;--dv-ring:#00000014;--dv-shadow:#0000000f;--dv-on-ink:#fff;--dv-ok:#1f7a3f;--dv-side-w:280px;--dv-bar-h:64px;--dv-radius:12px;--tok-kw:#d73a49;--tok-def:#6f42c1;--tok-prop:#e36209;--tok-str:#032f62;--tok-num:#005cc5;--tok-cm:#6a737d;--tok-var:#005cc5;--tok-punc:#24292e;grid-template-columns:var(--dv-side-w) minmax(0, 1fr);min-height:100vh;color:var(--dv-ink);font-family:var(--page-body,var(--font-sans));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--dv-ground);-webkit-font-smoothing:antialiased;display:grid}:root[data-dv-theme=dark] .dv{--dv-ink:#f7f8f8;--dv-soft:#d0d6e0;--dv-quiet:#8a8f98;--dv-faint:#62666d;--dv-line:#ffffff14;--dv-line-strong:#ffffff29;--dv-ground:#08090a;--dv-surface:#141416;--dv-code:#1c1c1f;--dv-hover:#ffffff0f;--dv-ring:#ffffff1f;--dv-shadow:#0006;--dv-on-ink:#08090a;--dv-ok:#6fcf8c;--tok-kw:#f47067;--tok-def:#dcbdfb;--tok-prop:#f69d50;--tok-str:#96d0ff;--tok-num:#6cb6ff;--tok-cm:#768390;--tok-var:#6cb6ff;--tok-punc:#adbac7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:has(.dv){scroll-padding-block-start:0}.dv-brand-mark .dv-logo-dark,:root[data-dv-theme=dark] .dv-brand-mark .dv-logo-light{display:none}:root[data-dv-theme=dark] .dv-brand-mark .dv-logo-dark{display:block}.dv-theme{width:32px;height:32px;color:var(--dv-quiet);cursor:pointer;transition:color .15s, background-color .15s, scale .15s var(--ease-out);background:0 0;border:0;border-radius:9999px;flex:none;justify-content:center;align-items:center;margin-right:4px;padding:0;display:inline-flex}.dv-theme:hover{color:var(--dv-ink);background:var(--dv-hover)}.dv-theme:active{scale:.95}.dv-theme:focus-visible{outline:2px solid var(--dv-ink);outline-offset:2px}.dv-theme-sun,:root[data-dv-theme=dark] .dv-theme-moon{display:none}:root[data-dv-theme=dark] .dv-theme-sun{display:block}.dv-side{background:var(--dv-ground);border-right:1px solid var(--dv-line);flex-direction:column;min-width:0;height:100dvh;display:flex;position:sticky;top:0}.dv-side-head{height:var(--dv-bar-h);flex:none;align-items:center;gap:12px;padding:0 16px 0 24px;display:flex}.dv-brand-mark{flex:none;justify-content:center;align-items:center;height:20px;transition:opacity .15s;display:flex}.dv-brand-mark img{width:auto;height:20px;display:block}.dv-brand-mark:hover{opacity:.8}.dv-brand-rule{background:var(--dv-line);flex:none;width:1px;height:20px}.dv-brand{min-width:0;color:var(--dv-ink);letter-spacing:-.01em;white-space:nowrap;flex:1;font-size:17px;font-weight:600;line-height:24px;text-decoration:none}.dv-side-toggle{display:none}.dv-side-body{flex-direction:column;flex:1;min-height:0;display:flex}.dv-side-nav{overscroll-behavior:contain;scrollbar-width:none;flex:1;min-height:0;padding:20px 20px 48px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 40px),#0000);mask-image:linear-gradient(#000 calc(100% - 40px),#0000)}.dv-side-nav::-webkit-scrollbar{display:none}.dv-side-foot{border-top:1px solid var(--dv-line);flex:none;padding:16px 20px}.dv-nav-groups,.dv-nav-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.dv-nav-list[hidden]{display:none}.dv-nav-group+.dv-nav-group{margin-top:24px}.dv-nav-head{width:100%;height:36px;font:500 14px/20px var(--page-body,var(--font-sans));color:var(--dv-ink);letter-spacing:-.01em;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:0 0 1px;padding:0 5px 0 2px;transition:color .15s;display:flex}.dv-nav-head:hover{color:var(--dv-ink)}.dv-nav-head svg{color:var(--dv-quiet);transition:rotate .2s var(--ease-out);flex:none}.dv-nav-group[data-open=false] .dv-nav-head svg{rotate:-90deg}.dv-nav-link{min-width:0;height:32px;color:var(--dv-quiet);white-space:nowrap;letter-spacing:-.01em;border-radius:8px;align-items:center;gap:12px;padding:0 5px 0 2px;font-size:14px;font-weight:500;line-height:20px;text-decoration:none;transition:color .15s;display:flex}.dv-nav-link>svg:first-child{width:16px;color:var(--dv-quiet);flex:none;transition:color .15s}.dv-nav-link>span{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.dv-nav-out{color:var(--dv-faint);flex:none}.dv-nav-link:hover,.dv-nav-link:hover>svg:first-child,.dv-nav-link[aria-current=page],.dv-nav-link[aria-current=page]>svg:first-child{color:var(--dv-ink)}.dv-side-foot .dv-nav-link{height:36px}.dv-nav-link:focus-visible,.dv-nav-head:focus-visible{outline:2px solid var(--dv-ink);outline-offset:1px}.dv-main{min-width:0}.dv-bar{z-index:5;height:var(--dv-bar-h);background:color-mix(in srgb, var(--dv-ground) 86%, transparent);-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:16px;padding:0 32px;display:flex;position:sticky;top:0}.dv-crumb{min-width:0;color:var(--dv-quiet);white-space:nowrap;align-items:center;gap:8px;font-size:14px;font-weight:500;line-height:20px;display:flex}.dv-crumb-group,.dv-crumb-page{text-overflow:ellipsis;min-width:0;overflow:hidden}.dv-crumb-page{color:var(--dv-ink)}.dv-crumb-sep{color:var(--dv-faint)}.dv-crumb a{color:inherit;text-decoration:none}.dv-crumb a:hover{color:var(--dv-ink)}.dv-bar-ctas{flex:none;align-items:center;gap:8px;display:flex}.dv-bar-login,.dv-bar-signup{height:32px;color:var(--dv-ink);white-space:nowrap;transition:background-color .15s, opacity .15s, scale .15s var(--ease-out);border-radius:9999px;align-items:center;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.dv-bar-login:hover{background:var(--dv-hover)}.dv-bar-signup{color:var(--dv-on-ink);background:var(--dv-ink);box-shadow:0 0 0 .5px var(--dv-line-strong)}.dv-bar-signup:hover{opacity:.88}.dv-bar-login:active,.dv-bar-signup:active{scale:.97}.dv-bar-login:focus-visible,.dv-bar-signup:focus-visible{outline:2px solid var(--dv-ink);outline-offset:2px}.dv-page{grid-template-columns:minmax(0,1fr) 250px;gap:76px;min-width:0;max-width:1100px;margin:0 auto;padding:48px 24px 96px;display:grid}.dv-page--home{display:block}.dv-article{min-width:0;max-width:680px}.dv-article-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.dv-article h1{font-family:var(--page-font,var(--font-sans));letter-spacing:-.03em;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-size:32px;font-weight:600;line-height:1.15}.dv-copy-menu{flex:none;position:relative}.dv-copy-page{height:32px;font:500 13px/1 var(--page-body,var(--font-sans));color:var(--dv-soft);white-space:nowrap;background:var(--dv-surface);border:1px solid var(--dv-line);border-radius:8px;display:inline-flex;overflow:hidden}.dv-copy-page-main,.dv-copy-page-caret{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 12px;transition:color .15s,background-color .15s;display:inline-flex}.dv-copy-page-caret{border-left:1px solid var(--dv-line);padding:0 8px}.dv-copy-page-main:hover,.dv-copy-page-caret:hover,.dv-copy-page-caret[aria-expanded=true]{color:var(--dv-ink);background:var(--dv-hover)}.dv-copy-page[data-copied=done] .dv-copy-page-main{color:var(--dv-ok)}.dv-copy-page-main:focus-visible,.dv-copy-page-caret:focus-visible{outline:2px solid var(--dv-ink);outline-offset:-2px}.dv-menu{z-index:6;background:var(--dv-surface);border:1px solid var(--dv-line);min-width:264px;box-shadow:0 0 0 1px var(--dv-shadow), 0 12px 32px -8px var(--dv-shadow);border-radius:10px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.dv-menu-item{width:100%;font:inherit;color:var(--dv-ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;text-decoration:none;display:flex}.dv-menu-item>svg{color:var(--dv-quiet);flex:none}.dv-menu-item>span{flex-direction:column;gap:2px;min-width:0;display:flex}.dv-menu-item:hover,.dv-menu-item:focus-visible{background:var(--dv-hover);outline:none}.dv-menu-title{font-weight:500;line-height:1.3}.dv-menu-text{color:var(--dv-quiet);font-size:12px;line-height:1.3}.dv-lead{max-width:64ch;color:var(--dv-soft);text-wrap:pretty;margin:16px 0 0;font-size:15px;font-weight:450;line-height:1.6}.dv-body{color:var(--dv-soft);flex-direction:column;gap:16px;margin-top:28px;font-size:15px;font-weight:450;line-height:1.6;display:flex}.dv-body h2{font-family:var(--page-font,var(--font-sans));color:var(--dv-ink);letter-spacing:-.025em;scroll-margin-top:calc(var(--dv-bar-h) + 24px);margin:28px 0 0;font-size:24px;font-weight:600;line-height:1.3}.dv-body h2:first-child{margin-top:0}.dv-body h3{color:var(--dv-ink);letter-spacing:-.015em;scroll-margin-top:calc(var(--dv-bar-h) + 24px);margin:16px 0 0;font-size:18px;font-weight:600;line-height:1.35}.dv-body h4{color:var(--dv-ink);scroll-margin-top:calc(var(--dv-bar-h) + 24px);margin:8px 0 0;font-size:15.5px;font-weight:600;line-height:1.4}.dv-body :is(h2,h3,h4)>a.dv-anchor{font-weight:inherit;color:inherit;text-decoration:none}.dv-body :is(h2,h3,h4)>a.dv-anchor:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--dv-faint);text-decoration-color:var(--dv-faint)}.dv-body p{text-wrap:pretty;margin:0}:where(.dv-body) ul,:where(.dv-body) ol{flex-direction:column;gap:8px;margin:0;padding-left:22px;display:flex}.dv-body strong{color:var(--dv-ink);font-weight:600}.dv-body a:not(.dv-card){color:var(--dv-ink);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, currentcolor 35%, transparent);text-decoration-color:color-mix(in srgb, currentcolor 35%, transparent);font-weight:500;transition:text-decoration-color .15s}.dv-body a:not(.dv-card):hover{text-decoration-color:currentColor}.dv code{font-family:var(--font-mono);font-size:.875em}.dv-body :not(pre)>code{color:var(--dv-ink);overflow-wrap:anywhere;background:var(--dv-surface);border:1px solid var(--dv-line);border-radius:5px;padding:1px 5px}.dv-code{background:var(--dv-code);border:1px solid var(--dv-line);border-radius:8px;min-width:0;position:relative}.dv-code .tok-kw{color:var(--tok-kw)}.dv-code .tok-def{color:var(--tok-def)}.dv-code .tok-prop{color:var(--tok-prop)}.dv-code .tok-str{color:var(--tok-str)}.dv-code .tok-num{color:var(--tok-num)}.dv-code .tok-cm{color:var(--tok-cm);font-style:italic}.dv-code .tok-var{color:var(--tok-var)}.dv-code .tok-punc{color:var(--tok-punc)}.dv-code-head{min-height:40px;color:var(--dv-quiet);border-bottom:1px solid var(--dv-line);justify-content:space-between;align-items:center;gap:12px;padding:0 8px 0 16px;font-size:12.5px;font-weight:600;display:flex}.dv-code pre{overscroll-behavior-x:contain;font-family:var(--font-mono);color:var(--dv-soft);white-space:pre;scrollbar-width:thin;margin:0;padding:16px 20px;font-size:13.5px;line-height:1.55;overflow-x:auto}.dv-code[data-titled=false] pre{padding-right:60px}.dv-code pre code{font-size:inherit}.dv-copy{width:30px;height:30px;color:var(--dv-soft);cursor:pointer;background:var(--dv-code);box-shadow:0 0 0 1px var(--dv-ring), 0 1px 2px var(--dv-shadow);transition:color .15s, background-color .15s, scale .15s var(--ease-out);border:0;border-radius:9999px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.dv-code[data-titled=false]>.dv-copy{position:absolute;top:12px;right:12px}.dv-copy:hover{color:var(--dv-ink)}.dv-copy:active{scale:.95}.dv-copy[data-copied=done]{color:var(--dv-ok)}.dv-copy:focus-visible{outline:2px solid var(--dv-ink);outline-offset:1px}.dv-pager{border-top:1px solid var(--dv-line);grid-template-columns:1fr 1fr;gap:16px;margin-top:56px;padding-top:32px;display:grid}.dv-pager-link{min-width:0;color:var(--dv-ink);border:1px solid var(--dv-line);border-radius:var(--dv-radius);flex-direction:column;gap:6px;padding:14px 16px;text-decoration:none;transition:background-color .15s,border-color .15s;display:flex}.dv-pager-link:hover{background:var(--dv-hover);border-color:var(--dv-line-strong)}.dv-pager-link--next{text-align:right;align-items:flex-end}.dv-pager-label{color:var(--dv-quiet);align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:inline-flex}.dv-pager-title{overflow-wrap:anywhere;font-size:15px;font-weight:600}.dv-toc{top:calc(var(--dv-bar-h) + 32px);max-height:calc(100vh - var(--dv-bar-h) - 48px);scrollbar-width:thin;align-self:start;padding-right:8px;position:sticky;overflow-y:auto}.dv-toc ul{border-left:1px solid var(--dv-line);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dv-toc a{color:var(--dv-quiet);border-left:1px solid #0000;margin-left:-1px;padding:5px 0 5px 16px;font-size:13px;font-weight:500;line-height:1.4;text-decoration:none;transition:color .15s,border-color .15s;display:block}.dv-toc a:hover{color:var(--dv-ink)}.dv-toc a[aria-current=true]{color:var(--dv-ink);border-left-color:var(--dv-ink)}.dv-toc li[data-level="3"] a{padding-left:28px}.dv-home{flex-direction:column;gap:48px;max-width:1040px;display:flex}.dv-home-head{flex-direction:column;gap:12px;display:flex}.dv-home-head h1{font-family:var(--page-font,var(--font-sans));letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:40px;font-weight:600;line-height:1.1}.dv-home-head .dv-lead{margin:0}.dv-home-section{flex-direction:column;gap:24px;display:flex}.dv-home-section h2{font-family:var(--page-font,var(--font-sans));color:var(--dv-ink);letter-spacing:-.02em;margin:0;font-size:20px;font-weight:600;line-height:1.3}.dv-cards{grid-template-columns:repeat(auto-fill,minmax(min(228px,100%),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.dv-cards>li{min-width:0;display:flex}.dv-card{width:100%;min-height:260px;color:inherit;background:var(--dv-surface);border:1px solid var(--dv-line);border-radius:var(--dv-radius);flex-direction:column;text-decoration:none;transition:background-color .2s,border-color .2s;display:flex}.dv-card:hover{background:var(--dv-code);border-color:var(--dv-line-strong)}.dv-card:focus-visible{outline:2px solid var(--dv-ink);outline-offset:3px}.dv-card-head{color:var(--dv-ink);flex:1;justify-content:space-between;align-items:flex-start;padding:22px 20px;display:flex}.dv-card-out{color:var(--dv-faint)}.dv-card-content{border-top:1px solid var(--dv-line);flex-direction:column;gap:4px;min-height:130px;padding:18px 20px 20px;display:flex}.dv-card-title{color:var(--dv-ink);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600;line-height:1.4}.dv-card-body{color:var(--dv-quiet);text-wrap:pretty;margin:0;font-size:14px;line-height:1.5}.dv-table-wrap{overscroll-behavior-x:contain;border:1px solid var(--dv-line);border-radius:var(--dv-radius);min-width:0;overflow-x:auto}.dv-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.55}.dv-table th{color:var(--dv-quiet);text-align:left;white-space:nowrap;background:var(--dv-surface);border-bottom:1px solid var(--dv-line);padding:10px 14px;font-size:12.5px;font-weight:600}.dv-table td{vertical-align:top;text-wrap:pretty;padding:11px 14px}.dv-table tbody tr+tr td{border-top:1px solid var(--dv-line)}.dv-table td code{white-space:nowrap}.dv-actions{flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}@media (width<=1180px){.dv-page{grid-template-columns:minmax(0,1fr);gap:0}.dv-toc{display:none}}@media (width<=900px){.dv{--dv-side-w:0px;display:block}.dv-side{z-index:10;border-right:0;border-bottom:1px solid var(--dv-line);height:auto;position:sticky;top:0}.dv-side-head{height:56px;padding:0 12px 0 16px}.dv-side-toggle{width:40px;height:40px;color:var(--dv-ink);cursor:pointer;background:0 0;border:0;border-radius:9999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.dv-side-toggle:hover{background:var(--dv-hover)}.dv-side-body{overscroll-behavior:contain;border-top:1px solid var(--dv-line);max-height:calc(100dvh - 56px);display:none;overflow-y:auto}.dv-side[data-open=true] .dv-side-body{display:flex}.dv-side-nav{flex:none;overflow:visible}.dv-bar{-webkit-backdrop-filter:none;background:0 0;height:auto;min-height:56px;padding:8px 16px;position:static}.dv-bar-login{display:none}.dv-page{padding:16px 16px 64px}.dv-article h1{font-size:28px}.dv-home-head h1{font-size:32px}.dv-card{min-height:0}.dv-card-head{flex:none;padding:18px 18px 14px}.dv-card-content{min-height:0;padding:14px 18px 18px}}@supports (corner-shape:squircle){.dv-card,.dv-code,.dv-table-wrap{corner-shape:squircle;border-radius:18px}}
