.dc{--dc-side: 14rem;--dc-toc: 13rem;--dc-gap: clamp(2rem, 4vw, 4rem);padding-block:clamp(7rem,12vw,11rem) clamp(5rem,10vw,9rem)}.dc__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem var(--dc-gap);align-items:start}.dc__article{min-width:0;max-width:68ch}.dc__side-full{display:none}@media(min-width:48rem){.dc{--dc-side: 12rem}.dc__layout{grid-template-columns:var(--dc-side) minmax(0,1fr)}.dc__side,.dc__toc{position:sticky;top:6rem;max-height:calc(100vh - 7rem);overflow-y:auto}.dc__side-toggle{display:none}.dc__side-full{display:block}}@media(min-width:68rem){.dc{--dc-side: 14rem}}@media(min-width:88rem){.dc__layout{grid-template-columns:var(--dc-side) minmax(0,1fr) var(--dc-toc)}}.dc__toc{display:none}@media(min-width:88rem){.dc__toc{display:block}}.dc__side-sec+.dc__side-sec{margin-top:1.5rem}.dc__side-title{margin:0 0 .5rem;font-size:.8125rem;color:var(--muted)}.dc__side ul,.dc__toc ul{list-style:none;margin:0;padding:0}.dc__side li a{position:relative;display:block;padding:.3rem 0 .3rem 1.1rem;font-size:.9375rem;line-height:1.4;color:var(--muted);text-decoration:none;transition:color var(--dur-hover) var(--ease)}.dc__side li a:hover,.dc__side li a[aria-current=page]{color:var(--ink)}.dc__side li a[aria-current=page]:before{content:"";position:absolute;left:.2rem;top:calc(.3rem + .7em - 2.5px);width:5px;height:5px;border-radius:50%;background:var(--green)}.dc__side-toggle{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.dc__side-toggle summary{padding:.85rem 1.1rem;font-size:.9375rem;color:var(--ink);cursor:pointer;list-style:none}.dc__side-toggle summary::-webkit-details-marker{display:none}.dc__side-toggle summary:after{content:"+";float:right;color:var(--muted)}.dc__side-toggle[open] summary:after{content:"−"}.dc__side-toggle[open] summary{border-bottom:1px solid var(--line)}.dc__side-toggle .dc__side-sec{padding:1rem 1.1rem 0}.dc__side-toggle .dc__side-sec:last-child{padding-bottom:1rem}.dc__side-toggle .dc__side-sec+.dc__side-sec{margin-top:0}.dc__side summary:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:var(--radius-card)}.dc__toc-title{margin:0 0 .75rem;font-size:.8125rem;color:var(--muted)}.dc__toc ul{padding-left:1rem;border-left:1px solid var(--line)}.dc__toc li a{position:relative;display:block;padding:.3rem 0;font-size:.875rem;line-height:1.4;color:var(--muted);text-decoration:none;transition:color var(--dur-hover) var(--ease)}.dc__toc li a:hover,.dc__toc li a.is-active,.dc__intoc li a.is-active{color:var(--ink)}.dc__toc li a.is-active:before,.dc__intoc li a.is-active:before{content:"";position:absolute;left:calc(-1rem - 1px);top:.3rem;bottom:.3rem;width:1px;background:var(--green);box-shadow:0 0 8px #24ff8480}.dc__crumbs{display:flex;flex-wrap:wrap;margin-bottom:2rem;font-size:.875rem}.dc__crumbs a{color:var(--muted);text-decoration:none;transition:color var(--dur-hover) var(--ease)}.dc__crumbs a+a:before{content:"/";margin:0 .5em;color:var(--muted)}.dc__crumbs a:hover{color:var(--ink)}.dc__title{font-size:var(--h2);line-height:.95;letter-spacing:-.02em;margin:0 0 1.25rem;text-wrap:balance}.dc__head{max-width:46ch;margin-bottom:clamp(3rem,7vw,6rem)}.dc__head .dc__lead{margin-bottom:0}.dc__lead{color:var(--ink);max-width:52ch;margin:0 0 clamp(2rem,4vw,3rem);font-size:clamp(1.1875rem,1.5vw,1.375rem);line-height:1.45;letter-spacing:-.01em;text-wrap:pretty}.dc__intoc{margin:0 0 clamp(2rem,4vw,3rem)}.dc__intoc ul{list-style:none;margin:0;padding:0 0 0 1rem;border-left:1px solid var(--line)}.dc__intoc li a{position:relative;display:block;padding:.25rem 0;font-size:.9375rem;line-height:1.4;color:var(--muted);text-decoration:none;transition:color var(--dur-hover) var(--ease)}.dc__intoc li a:hover{color:var(--ink)}.dc__intoc li a:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}@media(min-width:88rem){.dc__intoc{display:none}}.dc__prose p,.dc__prose li{overflow-wrap:anywhere;font-size:1.0625rem;line-height:1.7;color:var(--muted);text-wrap:pretty}.dc__prose p{margin:0 0 1.1rem}.dc__prose strong,.dc__prose h2,.dc__prose h3,.dc__prose h4{color:var(--ink)}.dc__prose strong{font-weight:600}.dc__prose a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);transition:border-color var(--dur-hover) var(--ease)}.dc__prose a:hover{border-bottom-color:var(--green)}.dc__prose h2{font-size:1.375rem;font-weight:600;letter-spacing:-.01em;margin:clamp(2rem,4vw,3rem) 0 1.1rem;scroll-margin-top:6rem}.dc__prose h3{font-size:1.125rem;font-weight:600;letter-spacing:-.005em;margin:2rem 0 .85rem;scroll-margin-top:6rem}.dc__prose>:first-child{margin-top:0}.dc__prose ul,.dc__prose ol{margin:0 0 1.25rem;padding-left:1.35rem}.dc__prose li{margin-bottom:.45rem;padding-left:.2rem}.dc__prose li::marker{color:#ffffff52}.dc__prose code{padding:.1em .4em;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font-size:.875em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dc__prose pre{margin:0 0 1.25rem;padding:1rem 1.25rem;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.dc__prose pre code{padding:0;border:0;background:none;font-size:.875rem;line-height:1.6}.dc__prose kbd{display:inline-block;padding:.05em .6em;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--panel);color:var(--ink);font:inherit;font-size:.8125em;line-height:1.6}.dc__prose blockquote{margin:0 0 1.25rem;padding-left:1.1rem;border-left:2px solid var(--line)}.dc__prose hr{margin:2.5rem 0;border:0;border-top:1px solid var(--line)}.dc__prose img:not(.dc-demo__poster,.dc-image__media){display:block;max-width:100%;height:auto;margin:0 0 1.25rem;border:1px solid var(--line);border-radius:12px}.dc-table{overflow-x:auto;margin:0 0 1.5rem}.dc-table table{width:100%;border-collapse:collapse;font-size:.9375rem}.dc-table th,.dc-table td{padding:.75rem 1.25rem .75rem 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);color:var(--muted)}.dc-table th{font-size:.8125rem;font-weight:400;white-space:nowrap}.dc-table thead th{border-bottom-color:#ffffff40}.dc-table td:first-child{color:var(--ink)}.dc-table td{min-width:6rem}.dc-demo{--dc-pad: clamp(1rem, 2vw, 1.5rem);position:relative;margin:1.75rem 0 2rem;padding:var(--dc-pad);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card)}.dc-demo__poster{display:block;width:100%;aspect-ratio:4 / 3;object-fit:contain;border-radius:12px;transition:opacity .35s var(--ease);mix-blend-mode:lighten}.dc-demo .card__viz-frame{top:var(--dc-pad);left:var(--dc-pad);width:calc(100% - var(--dc-pad) * 2);height:auto;aspect-ratio:4 / 3;border-radius:12px;background:transparent}.dc-demo.is-live .card__viz-frame{opacity:1}.dc-demo.is-live .dc-demo__poster{opacity:0}.dc-demo__cap{margin-top:.85rem;font-size:.875rem;line-height:1.5;color:var(--muted)}.dc-image__media{display:block;width:auto;max-width:100%;height:auto;margin-inline:auto;border-radius:10px}.dc-video__media{display:block;width:100%;height:auto;border-radius:12px;background:#000}.dc__pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(2.5rem,5vw,4rem)}.dc__pager-link{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.25rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);color:var(--ink);font-size:1rem;line-height:1.4;text-decoration:none;transition:border-color var(--dur-hover) var(--ease)}.dc__pager-link span{font-size:.8125rem;color:var(--muted)}.dc__pager-link:hover{border-color:#ffffff40}.dc__pager-link:focus-visible{outline:2px solid var(--green);outline-offset:2px}.dc__pager-prev{grid-column:1}.dc__pager-next{grid-column:2;text-align:right}.dc__cta{margin:clamp(2rem,4vw,3rem) 0 0}.dc-sec+.dc-sec{margin-top:clamp(2.5rem,5vw,4rem)}.dc-sec__title{font-size:1.375rem;font-weight:600;letter-spacing:-.01em;margin:0 0 1.1rem}.dc-sec__grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.dc-card{display:flex;flex-direction:column;gap:.45rem;padding:1.25rem 1.5rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);color:var(--ink);text-decoration:none;transition:border-color var(--dur-hover) var(--ease)}.dc-card:hover{border-color:#ffffff40}.dc-card:focus-visible{outline:2px solid var(--green);outline-offset:2px}.dc-card__title{font-size:1.0625rem;font-weight:500}.dc-card__desc{font-size:.9375rem;line-height:1.55;color:var(--muted);text-wrap:pretty}@media(max-width:36rem){.dc__pager{grid-template-columns:minmax(0,1fr)}.dc__pager-prev,.dc__pager-next{grid-column:1;text-align:left}}.dc-note{margin:1.5rem 0;padding:.15rem 0 .15rem 1.1rem;border-left:2px solid rgb(255 255 255 / .32)}.dc-note--tip{border-left-color:var(--green)}.dc-note--warning{border-left-color:var(--ink)}.dc__prose .dc-note__label{margin:0 0 .35rem;font-size:.8125rem;line-height:1.4;font-weight:600;letter-spacing:.02em;color:var(--ink)}.dc__prose .dc-note--tip .dc-note__label{color:var(--green)}.dc__prose .dc-note>:last-child{margin-bottom:0}.dc-search{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--muted);font:inherit;font-size:.9375rem;text-align:left;cursor:pointer;transition:border-color var(--dur-hover) var(--ease),color var(--dur-hover) var(--ease)}.dc-search[hidden]{display:none}.dc-search:hover{border-color:#ffffff40;color:var(--ink)}.dc-search:focus-visible{outline:2px solid var(--green);outline-offset:2px}.dc-search svg{width:1rem;height:1rem;flex:none}.dc-search span{flex:1}.dc-search kbd,.dcs__field kbd{font:inherit;font-size:.75rem;color:var(--muted);padding:.1rem .4rem;border:1px solid var(--line);border-radius:6px}.dc-search--side{margin-bottom:1.5rem}.dc-search--hero{max-width:32rem;margin-top:2rem;padding:.85rem 1rem;font-size:1rem}.dcs{width:min(40rem,calc(100vw - 2rem));max-height:min(36rem,calc(100svh - 4rem));margin:clamp(1rem,12vh,8rem) auto auto;padding:0;background:var(--panel);color:var(--ink);border:1px solid rgb(255 255 255 / .16);border-radius:var(--radius-card);box-shadow:0 24px 80px #0009}.dcs[open]{display:flex;flex-direction:column}.dcs::backdrop{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes dcs-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}}@keyframes dcs-out{to{opacity:0;transform:translateY(-6px) scale(.985)}}@keyframes dcs-fade-in{0%{opacity:0}}@keyframes dcs-fade-out{to{opacity:0}}.dcs[open]{animation:dcs-in .22s var(--ease-out)}.dcs[open]::backdrop{animation:dcs-fade-in .22s var(--ease-out)}.dcs.is-closing{animation:dcs-out .14s var(--ease) forwards}.dcs.is-closing::backdrop{animation:dcs-fade-out .14s var(--ease) forwards}@media(prefers-reduced-motion:reduce){.dcs[open],.dcs[open]::backdrop,.dcs.is-closing,.dcs.is-closing::backdrop{animation:none}}.dcs__field{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--line);color:var(--muted)}.dcs__field svg{width:1.1rem;height:1.1rem;flex:none}.dcs__input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--ink);font:inherit;font-size:1.0625rem}.dcs__input::-webkit-search-cancel-button{display:none}.dcs__list{position:relative;list-style:none;margin:0;padding:.4rem;overflow-y:auto}.dcs__list:not(:has(li)){display:none}.dcs__list li{position:relative}.dcs__list a{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .8rem;border-radius:10px;color:var(--ink);text-decoration:none}.dcs__hl{position:absolute;left:.4rem;right:.4rem;top:0;border-radius:10px;background:#ffffff0f;pointer-events:none;transition:transform .2s var(--ease-out),height .2s var(--ease-out)}.dcs__hl.is-instant{transition:none}.dcs__trail,.dcs__snippet{transition:color var(--dur-hover) var(--ease)}.dcs__list li[aria-selected=true] .dcs__snippet{color:#e6e6e9c7}@media(prefers-reduced-motion:reduce){.dcs__hl{transition:none}}.dcs__trail{font-size:.75rem;color:var(--muted)}.dcs__title{font-size:.9875rem;font-weight:500}.dcs__snippet{font-size:.875rem;line-height:1.5;color:var(--muted)}.dcs mark{background:none;color:var(--green)}.dcs__empty{margin:0;padding:1.25rem 1.1rem;font-size:.9375rem;color:var(--muted)}.dc-top{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);margin-bottom:clamp(3rem,6vw,5rem)}@media(min-width:56rem){.dc-top{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}.dc-start{display:flex;flex-direction:column;gap:.6rem;padding:clamp(1.5rem,3vw,2.25rem);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);color:var(--ink);text-decoration:none;transition:border-color var(--dur-hover) var(--ease)}.dc-start:hover{border-color:#ffffff40}.dc-start:focus-visible{outline:2px solid var(--green);outline-offset:2px}.dc-start__media{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;margin-bottom:.75rem;border:1px solid var(--line);border-radius:10px;background:#000}.dc-start__kicker{font-size:.8125rem;color:var(--green)}.dc-start__title{font-size:var(--card-title);font-weight:500;letter-spacing:-.01em}.dc-start__desc{max-width:44ch;font-size:1rem;line-height:1.55;color:var(--muted);text-wrap:pretty}.dc-start__go{margin-top:auto;padding-top:1rem;font-size:.9375rem;color:var(--ink)}.dc-pop{padding:clamp(1.5rem,3vw,2.25rem);border:1px solid var(--line);border-radius:var(--radius-card)}.dc-pop__title{margin:0 0 .75rem;font-size:.8125rem;font-weight:400;color:var(--muted)}.dc-pop ul{list-style:none;margin:0;padding:0}.dc-pop li+li{border-top:1px solid var(--line)}.dc-pop a{display:block;padding:.6rem 0;font-size:.9875rem;color:var(--ink);text-decoration:none;transition:color var(--dur-hover) var(--ease)}.dc-pop a:hover{color:var(--green)}.dc-pop a:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}@media(hover:none){.dc-search kbd{display:none}}.dc__prose .dc-image+ol li::marker{color:var(--green);font-weight:600}.dc-upgrade{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;margin:1.75rem 0 2rem;padding:clamp(1.25rem,2.5vw,1.75rem);background:var(--panel);border:1px solid rgb(36 255 132 / .35);border-radius:var(--radius-card)}.dc-upgrade__body{flex:1 1 18rem}.dc__prose .dc-upgrade__title{margin:0 0 .35rem;font-size:1.125rem;font-weight:600;color:var(--ink)}.dc__prose .dc-upgrade__text{margin:0;font-size:.9375rem;line-height:1.55}.dc__prose a.dc-upgrade__btn{flex:none;border-bottom:0;color:var(--green-ink)}
