html.xdd-root{overflow-y:auto!important}html.xdd-root,html.xdd-root body{overflow-x:clip!important;height:auto!important;background:var(--th-bg,var(--xr-cream,#e9e6dc))!important}html.xdd-root body{overflow-y:visible!important}@media (prefers-reduced-motion:no-preference){html.xdd-root{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){html.xdd-root{scroll-behavior:auto!important}}.xd-docs{--dd-bg:var(--th-bg,var(--xr-cream,#e9e6dc));--dd-paper:var(--th-paper,#f9f8f4);--dd-white:var(--th-white,#fdfcf9);--dd-ink:var(--th-ink,#1f1c17);--dd-ink2:var(--th-ink2,#4e4b43);--dd-grey:var(--th-grey,#75716a);--dd-faint:var(--th-faint,#948f84);--dd-line:var(--th-line,#e3e1d9);--dd-line2:var(--th-line2,#d3d1c9);--dd-red:var(--th-red,#c52416);--dd-code-bg:#201d19;--dd-code-chrome:#191713;--dd-code-line:hsla(45,26%,88%,.09);--dd-code-text:#cfcac0;--dd-code-sec:#8f8a7e;--dd-code-red:#e8442e;--dd-mono:var(--font-geist-mono),ui-monospace,"SF Mono",Menlo,monospace;--dd-sans:var(--font-geist-sans),system-ui,sans-serif;--dd-pad:clamp(22px,5vw,84px);--dd-ease:cubic-bezier(0.23,1,0.32,1);--dd-s0:10px;--dd-s1:16px;--dd-s2:22px;--dd-s3:38px;--dd-s4:clamp(46px,6.5vh,60px);--dd-measure:860px;--dd-max:1320px;background:var(--dd-bg);color:var(--dd-ink2);font-family:var(--dd-sans);font-size:16px;line-height:1.6;min-height:100vh;overflow-x:clip}.xd-docs ::-moz-selection{background:#ecd8d2;color:var(--dd-ink)}.xd-docs ::selection{background:#ecd8d2;color:var(--dd-ink)}.xd-docs a{color:inherit;text-decoration:none}.xd-docs :focus-visible{outline:2px solid var(--dd-red);outline-offset:3px}.xd-docs section:not([class]){padding:0}.xd-docs footer{background:none;border:0;padding:0}.xd-docs h1,.xd-docs h2,.xd-docs h3{color:var(--dd-ink);max-width:none}.xd-docs .dd-foot-col,.xd-docs .dd-side nav{position:static;z-index:auto;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}.dd-wrap{max-width:var(--dd-max);margin:0 auto;padding-left:var(--dd-pad);padding-right:var(--dd-pad)}.dd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--dd-sans);font-size:15px;font-weight:500;padding:12px 22px;border-radius:10px;border:1px solid var(--dd-line2);background:transparent;color:var(--dd-ink);cursor:pointer;transition:border-color .16s,background .16s,color .16s,transform .12s var(--dd-ease)}.dd-btn:hover{border-color:var(--dd-ink)}.dd-btn:active{transform:scale(.97)}.dd-btn.primary{background:var(--dd-ink);border-color:var(--dd-ink);color:var(--dd-bg)}.dd-btn.primary:hover{background:#2c2820}.dd-btn.sm{font-size:14px;padding:9px 16px;border-radius:9px}.dd-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:var(--dd-s2)}.dd-mark{background:rgba(194,25,10,.14);color:inherit;padding:.02em .13em;margin:0 -.05em;border-radius:.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.dd-shell{max-width:var(--dd-max);margin:0 auto;padding:calc(64px + clamp(36px, 6vh, 56px)) var(--dd-pad) var(--dd-s4);display:grid;grid-template-columns:228px minmax(0,1fr);-moz-column-gap:clamp(44px,5.5vw,76px);column-gap:clamp(44px,5.5vw,76px);align-items:start}.dd-side{position:sticky;top:88px;max-height:calc(100vh - 112px);overflow-y:auto;padding:3px 10px 24px 0}.dd-side-group+.dd-side-group{margin-top:var(--dd-s3)}.dd-side-group .gh{font-family:var(--dd-mono);font-size:11px;letter-spacing:.01em;color:var(--dd-grey);margin:0 0 var(--dd-s0)}.dd-side a{position:relative;display:flex;align-items:center;gap:7px;padding:5px 8px 5px 13px;border-left:1px solid var(--dd-line2);border-radius:0 7px 7px 0;font-size:13.5px;line-height:1.45;color:var(--dd-grey);transition:color .15s,border-color .15s,background .15s}.dd-side a:hover{color:var(--dd-ink);border-left-color:var(--dd-faint);background:hsla(50,50%,98%,.75)}.dd-side a .mk{display:none;width:8px;height:8px;color:var(--dd-red);flex:none}.dd-side a.on{color:var(--dd-ink);font-weight:500;border-left-color:var(--dd-ink);background:var(--dd-white)}.dd-side a.on .mk{display:block}.dd-rail{display:none;position:sticky;top:64px;z-index:30;margin:0;padding:0 var(--dd-pad);background:color-mix(in srgb,var(--dd-bg) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--dd-line);overflow-x:auto;white-space:nowrap;scrollbar-width:none}.dd-rail::-webkit-scrollbar{display:none}.dd-rail a{display:inline-flex;align-items:center;gap:6px;padding:11px 8px;font-family:var(--dd-mono);font-size:12px;color:var(--dd-grey);border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.dd-rail a .mk{display:none;width:8px;height:8px;color:var(--dd-red);flex:none}.dd-rail a.on{color:var(--dd-ink);border-bottom-color:var(--dd-ink)}.dd-rail a.on .mk{display:inline-block}.dd-otp{display:none;position:sticky;top:88px;max-height:calc(100vh - 112px);overflow-y:auto;padding:3px 0 24px}.dd-otp .gh{font-size:11px;letter-spacing:.01em;margin:0 0 var(--dd-s0)}.dd-otp .gh,.dd-otp .grp{font-family:var(--dd-mono);color:var(--dd-grey)}.dd-otp .grp{font-size:10.5px;margin:0 0 3px}.dd-otp .sec{display:block;font-size:13.5px;font-weight:500;line-height:1.4;color:var(--dd-ink);padding:1px 0 2px}.dd-otp .sec:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--dd-line2)}.dd-otp .subs{margin-top:7px}.dd-otp .subs a{display:block;padding:4px 6px 4px 12px;border-left:1px solid var(--dd-line2);border-radius:0 6px 6px 0;font-size:12.5px;line-height:1.45;color:var(--dd-grey);transition:color .15s,border-color .15s,background .15s}.dd-otp .subs a:hover{color:var(--dd-ink);border-left-color:var(--dd-faint)}.dd-otp .subs a.on{color:var(--dd-ink);font-weight:500;border-left-color:var(--dd-ink);background:var(--dd-white)}.dd-main{min-width:0}.dd-hero{padding:0 0 var(--dd-s4);border-bottom:1px solid var(--dd-line)}.dd-crumb{display:flex;align-items:baseline;gap:8px;margin:0 0 var(--dd-s2);font-family:var(--dd-mono);font-size:11.5px;letter-spacing:.01em;color:var(--dd-grey)}.dd-crumb a{color:var(--dd-grey);transition:color .15s}.dd-crumb a:hover{color:var(--dd-ink)}.dd-crumb .sep{color:var(--dd-faint)}.dd-crumb [aria-current=page],.dd-h1{color:var(--dd-ink)}.dd-h1{font-weight:500;font-size:clamp(30px,3.4vw,42px);letter-spacing:-.03em;line-height:1.08;margin:0;text-wrap:balance;max-width:30ch}.dd-lede{margin:var(--dd-s2) 0 0;font-size:16px;line-height:1.65;color:var(--dd-ink2);max-width:76ch}.dd-lede a{color:var(--dd-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--dd-line2);transition:text-decoration-color .15s}.dd-lede a:hover{text-decoration-color:var(--dd-red)}.dd-hero-start{margin-top:var(--dd-s3);max-width:var(--dd-measure)}.dd-hero-start .k{margin:0 0 var(--dd-s0);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-family:var(--dd-mono);font-size:12.5px;letter-spacing:.01em;color:var(--dd-grey)}.dd-hero-start .k b{font-weight:600;color:var(--dd-ink)}.dd-hero-start .dd-code{margin-top:0}.dd-hero-fine{margin:12px 0 0;font-family:var(--dd-mono);font-size:11.5px;line-height:1.65;color:var(--dd-grey);max-width:var(--dd-measure)}.dd-hero-fine a{color:var(--dd-grey);text-decoration:underline;text-underline-offset:3px}.dd-hero-fine a:hover{color:var(--dd-ink)}.dd-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.dd-agents{margin-top:var(--dd-s3);max-width:var(--dd-measure);display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:11px 14px 12px;background:var(--dd-white);border:1px solid var(--dd-line2);border-radius:10px}.dd-agents .t{margin:0;flex:1 1 260px;font-family:var(--dd-mono);font-size:11.5px;line-height:1.65;color:var(--dd-grey)}.dd-agents .t b{font-weight:600;color:var(--dd-ink)}.dd-agents .t a{color:var(--dd-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--dd-line2);transition:text-decoration-color .15s}.dd-agents .t a:hover{text-decoration-color:var(--dd-red)}.dd-agents .cp{font-family:var(--dd-mono);font-size:11.5px;letter-spacing:.01em;color:var(--dd-ink);background:transparent;border:1px solid var(--dd-line2);border-radius:8px;padding:7px 12px;cursor:pointer;white-space:nowrap;transition:border-color .16s,transform .12s var(--dd-ease)}.dd-agents .cp:hover{border-color:var(--dd-ink)}.dd-agents .cp:active{transform:scale(.97)}.dd-sec{display:flow-root;padding:clamp(38px,5.2vh,64px) 0;scroll-margin-top:88px}.dd-sec+.dd-sec{border-top:1px solid var(--dd-line)}.dd-main>.dd-sec:last-child{padding-bottom:0}.dd-sec h2{font-weight:500;font-size:clamp(23px,2.3vw,28px);letter-spacing:-.024em;line-height:1.15;margin:0;text-wrap:balance}.dd-sec h3{font-weight:600;font-size:19px;letter-spacing:-.016em;color:var(--dd-ink);margin:var(--dd-s3) 0 2px;scroll-margin-top:100px}.dd-p{margin:var(--dd-s1) 0 0;font-size:15px;line-height:1.65;color:var(--dd-ink2);max-width:80ch}.dd-p a{color:var(--dd-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--dd-line2);transition:text-decoration-color .15s}.dd-p a:hover{text-decoration-color:var(--dd-red)}.dd-ul{margin:var(--dd-s1) 0 0;padding:0;list-style:none;max-width:80ch}.dd-ul li{position:relative;padding:8px 0 8px 20px;border-top:1px solid var(--dd-line);font-size:14.5px;line-height:1.6;color:var(--dd-ink2)}.dd-ul li:first-child{border-top:0;padding-top:2px}.dd-ul li:first-child:before{top:10px}.dd-ul li:before{content:"";position:absolute;left:2px;top:16px;width:5px;height:5px;background:var(--dd-ink2)}.dd-ul li b{font-weight:600;color:var(--dd-ink)}.dd-ul li a{color:var(--dd-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--dd-line2);transition:text-decoration-color .15s}.dd-ul li a:hover{text-decoration-color:var(--dd-red)}.dd-step{margin-top:var(--dd-s3);display:grid;grid-template-columns:30px minmax(0,1fr);-moz-column-gap:14px;column-gap:14px}.dd-step .n{font-family:var(--dd-mono);font-size:13px;font-weight:500;color:var(--dd-ink);border:1px solid var(--dd-line2);border-radius:999px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;margin-top:-2px;background:var(--dd-white)}.dd-step .body{min-width:0}.dd-step .body h3{margin:0}.dd-step .body h3+.dd-p{margin-top:var(--dd-s0)}.dd-step .body h3+.dd-code{margin-top:var(--dd-s1)}.dd-step+.dd-p{margin-top:var(--dd-s3)}.dd-callout{display:flex;align-items:flex-start;gap:10px;margin:var(--dd-s2) 0 0;max-width:var(--dd-measure);background:transparent;border:0;border-left:2px solid var(--dd-line2);border-radius:0;padding:2px 0 2px 14px}.dd-callout.warning{border-left-color:var(--dd-red)}.dd-callout.warning .ic{color:var(--dd-red)}.dd-callout .ic{flex:none;margin-top:3px;color:var(--dd-grey)}.dd-callout .ic svg{display:block;width:14px;height:14px}.dd-callout .body{margin:0;font-size:14px;line-height:1.6;color:var(--dd-ink2)}.dd-callout .body a{color:var(--dd-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--dd-line2)}.dd-callout .kd{font-family:var(--dd-mono);font-weight:500;font-style:normal;font-size:11.5px;letter-spacing:.01em;margin-right:5px}.dd-callout .kd,.dd-callout.tip .ic{color:var(--dd-ink)}.dd-callout.warning .ic,.dd-callout.warning .kd{color:var(--dd-red)}.dd-callout+.dd-code,.dd-callout+.dd-ctas{margin-top:var(--dd-s1)}.dd-ic{font-family:var(--dd-mono);font-size:.86em;background:var(--dd-white);border:1px solid var(--dd-line2);border-radius:6px;padding:1px 6px 2px;color:var(--dd-ink);overflow-wrap:anywhere}.dd-code{margin:var(--dd-s2) 0 0;background:var(--dd-code-bg);border-radius:10px;overflow:hidden;max-width:var(--dd-measure)}.dd-code-bar{display:flex;align-items:center;gap:4px;padding:8px 8px 8px 14px;background:var(--dd-code-chrome);border-bottom:1px solid var(--dd-code-line)}.dd-code-lang{letter-spacing:.03em;margin-right:auto}.dd-code-lang,.dd-code-tab{font-family:var(--dd-mono);font-size:11px;color:var(--dd-code-sec)}.dd-code-tab{letter-spacing:.02em;background:none;border:0;border-radius:6px;padding:5px 10px;cursor:pointer;transition:color .15s,background .15s,transform .12s var(--dd-ease)}.dd-code-tab:hover{color:var(--dd-code-text);background:hsla(45,26%,88%,.05)}.dd-code-tab:active{transform:scale(.96)}.dd-code-tab.on{color:var(--dd-code-text);background:hsla(45,26%,88%,.08)}.dd-code-copy{font-family:var(--dd-mono);font-size:11px;letter-spacing:.02em;color:var(--dd-code-sec);background:none;border:1px solid var(--dd-code-line);border-radius:6px;padding:4px 10px;cursor:pointer;margin-left:8px;transition:color .15s,border-color .15s,transform .12s var(--dd-ease)}.dd-code-copy:hover{color:var(--dd-code-text);border-color:hsla(45,26%,88%,.28)}.dd-code-copy:active{transform:scale(.95)}.dd-code pre,.dd-code-copy.did{color:var(--dd-code-text)}.dd-code pre{margin:0;padding:15px 18px 17px;overflow-x:auto;font-family:var(--dd-mono);font-size:13px;line-height:1.62;scrollbar-width:thin;scrollbar-color:hsla(45,26%,88%,.22) transparent}.dd-code code{font-family:inherit}.dd-code ::-moz-selection{background:rgba(232,68,46,.28);color:#fff}.dd-code ::selection{background:rgba(232,68,46,.28);color:#fff}.dd-code :focus-visible{outline:2px solid var(--dd-code-red);outline-offset:-2px}.dd-ep{display:inline-flex;align-items:center;gap:10px;margin:var(--dd-s1) 0 0;font-family:var(--dd-mono);font-size:13px;color:var(--dd-ink);background:var(--dd-white);border:1px solid var(--dd-line2);border-radius:999px;padding:7px 15px 8px;overflow-wrap:anywhere}.dd-ep .verb{font-weight:600;font-size:11.5px;letter-spacing:.05em;color:var(--dd-red)}.dd-params{margin:var(--dd-s2) 0 0;max-width:var(--dd-measure);border-top:1px solid var(--dd-ink)}.dd-prow:nth-of-type(2n){background:color-mix(in srgb,var(--dd-ink) 2.5%,transparent)}.dd-prow:not(.head):hover{background:color-mix(in srgb,var(--dd-ink) 4.5%,transparent)}.dd-prow{display:grid;grid-template-columns:176px 108px minmax(0,1fr);gap:6px 18px;padding:10px 0;border-bottom:1px solid var(--dd-line)}.dd-prow.head{padding:8px 0}.dd-prow.head span{font-family:var(--dd-mono);font-size:11px;letter-spacing:.01em;color:var(--dd-grey)}.dd-prow .pname{font-family:var(--dd-mono);font-size:13px;color:var(--dd-ink);overflow-wrap:anywhere}.dd-prow .ptype{font-family:var(--dd-mono);font-size:12px;color:var(--dd-grey)}.dd-prow .pdesc{font-size:13.5px;line-height:1.55;color:var(--dd-ink2)}.dd-figaside{float:right;width:118px;margin:4px 0 16px 24px}.dd-figaside .art svg{display:block;width:100%;height:auto}.dd-figaside figcaption{margin:6px 0 0;font-family:var(--dd-mono);font-size:10.5px;line-height:1.5;letter-spacing:.01em;color:var(--dd-grey)}.dd-figaside figcaption b{font-weight:500;color:var(--dd-red)}.dd-figaside svg .ghost{fill:#c6c1b2}.dd-figaside svg .wire{stroke:var(--dd-faint);stroke-width:1;fill:none}.dd-figaside svg .hit{fill:var(--dd-white);stroke:var(--dd-ink);stroke-width:1.3}.dd-figaside svg .query{fill:var(--dd-ink)}.dd-figaside svg .claim{stroke:var(--dd-ink2);stroke-width:1.6}.dd-figaside svg .seal{fill:none;stroke:var(--dd-ink)}.dd-figaside svg .seal.dashed{stroke:var(--dd-faint);stroke-width:1;stroke-dasharray:2 3.5}.dd-figaside svg .seal.drawn{stroke-width:1.3}.dd-figaside svg .check{fill:none;stroke:var(--dd-ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.dd-figaside svg .base{stroke:var(--dd-ink2);stroke-width:1}.dd-figaside svg .tick{fill:var(--dd-ink)}.dd-figaside svg .gap{fill:var(--dd-white)}.dd-figaside svg .flag-pole,.dd-figaside svg .gap{stroke:var(--dd-ink);stroke-width:1.2}.dd-figaside svg .flag{fill:var(--dd-red)}.dd-figaside svg .trace{fill:none;stroke:var(--dd-grey);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:.002 .022}.dd-figaside.play .check,.dd-figaside.play .claim,.dd-figaside.play .flag-pole,.dd-figaside.play .seal.drawn,.dd-figaside.play .wire{stroke-dasharray:1;stroke-dashoffset:0;animation:dd-draw .55s var(--dd-ease) both;animation-delay:var(--d,0s)}.dd-figaside.play .flag,.dd-figaside.play .gap,.dd-figaside.play .hit,.dd-figaside.play .query,.dd-figaside.play .tick{transform-box:fill-box;transform-origin:center;animation:dd-pop .4s var(--dd-ease) both;animation-delay:var(--d,0s)}.dd-figaside.play .ghost,.dd-figaside.play .trace{animation:dd-fadein .7s ease-out both;animation-delay:var(--d,0s)}@keyframes dd-draw{0%{stroke-dashoffset:1}}@keyframes dd-pop{0%{opacity:0;transform:scale(.4)}}@keyframes dd-fadein{0%{opacity:0}}.xd-docs .dd-rv-wait{opacity:0;transform:translateY(16px)}.xd-docs .dd-rv-in{opacity:1;transform:none;transition:opacity .6s var(--dd-ease),transform .6s var(--dd-ease)}.dd-close{padding:clamp(56px,9vh,84px) 0;border-top:1px solid var(--dd-line);background:var(--dd-paper)}.dd-close .dd-h2{font-weight:500;font-size:clamp(26px,3.2vw,42px);letter-spacing:-.028em;line-height:1.06;margin:0;text-wrap:balance}.dd-close .dd-sub{margin:var(--dd-s2) 0 0;font-size:15.5px;line-height:1.6;color:var(--dd-ink2);max-width:52ch}.dd-foot{position:relative;padding:0;overflow:clip;border-top:1px solid var(--dd-line)}.dd-foot-ground{position:absolute;inset:0;background-image:radial-gradient(circle at 1.5px 1.5px,color-mix(in srgb,var(--dd-ink) 38%,transparent) 1.1px,transparent 1.6px);background-size:5px 5px}.dd-foot-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,color-mix(in srgb,var(--dd-bg) 32%,transparent),color-mix(in srgb,var(--dd-bg) 68%,transparent) 30%,color-mix(in srgb,var(--dd-bg) 68%,transparent))}.dd-foot-inner{position:relative;z-index:1;max-width:var(--dd-max);margin:0 auto;padding:clamp(36px,5vh,54px) var(--dd-pad) 26px}.dd-foot-grid{display:grid;grid-template-columns:minmax(130px,1.1fr) repeat(4,minmax(104px,1fr));gap:26px 24px;padding:0 0 clamp(28px,4vh,40px)}.dd-foot-brand{display:flex;flex-direction:column;gap:6px;min-width:0}.dd-foot-brand .row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;margin:0}.dd-foot-brand .mk{width:13px;height:13px;color:var(--dd-red);flex:none}.dd-foot-brand .nm{font-weight:600;font-size:15.5px;letter-spacing:-.02em;color:var(--dd-ink)}.dd-foot-brand .tag{flex-basis:100%;font-family:var(--dd-mono);font-size:11px;color:var(--dd-grey);white-space:nowrap}.dd-foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.dd-foot-col h3{font-family:var(--dd-mono);font-size:11px;letter-spacing:.01em;font-weight:500;color:var(--dd-grey);margin:0 0 2px}.dd-foot-col a{font-family:var(--dd-sans);font-size:13.5px;color:var(--dd-ink2);transition:color .15s}.dd-foot-col a:hover{color:var(--dd-ink)}.dd-foot-base{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;border-top:1px solid var(--dd-line2);padding-top:16px;font-family:var(--dd-mono);font-size:11px;color:var(--dd-grey)}.dd-foot-base p{margin:0}@media (prefers-reduced-motion:reduce){.xd-docs *,.xd-docs :after,.xd-docs :before{transition-duration:.01ms!important;animation-duration:.01ms!important}.xd-docs .dd-figaside svg *{animation:none!important}.xd-docs .dd-rv-wait{opacity:1!important;transform:none!important}}html[data-effects=off] .dd-foot-ground,html[data-effects=off] .dd-foot-scrim{display:none}html[data-effects=off] .xd-docs .dd-figaside svg *{animation:none!important}html[data-effects=off] .xd-docs .dd-rv-wait{opacity:1;transform:none}@media (min-width:1280px){.xd-docs{--dd-max:1440px}.dd-shell{grid-template-columns:204px minmax(0,1fr) 172px;-moz-column-gap:clamp(32px,3.2vw,52px);column-gap:clamp(32px,3.2vw,52px)}.dd-otp{display:block}}@media (max-width:960px){.dd-rail{display:block;margin-top:64px}.dd-shell{grid-template-columns:1fr;padding-top:clamp(28px,5vh,44px)}.dd-side{display:none}.dd-sec{scroll-margin-top:124px}.dd-sec h3{scroll-margin-top:136px}}@media (max-width:768px){.dd-h1{font-size:clamp(27px,7.4vw,30px)}.dd-foot-grid{grid-template-columns:1fr 1fr;gap:26px 22px}.dd-foot-brand{grid-column:1/-1}}@media (max-width:560px){.dd-figaside{width:94px;margin:2px 0 12px 16px}}@media (max-width:620px){.dd-prow{grid-template-columns:1fr;gap:3px;padding:12px 0}.dd-prow.head{display:none}.dd-prow .ptype{margin-top:-2px}.dd-code pre{font-size:12.5px}.dd-code-bar{flex-wrap:wrap}.dd-step{grid-template-columns:26px minmax(0,1fr);-moz-column-gap:12px;column-gap:12px}}.dd-shell{position:relative}.dd-shell:after,.dd-shell:before{content:"";position:absolute;top:0;bottom:0;width:1px;z-index:0;background-image:repeating-linear-gradient(180deg,var(--dd-line2,#cbc7bc) 0 2px,transparent 2px 4px);pointer-events:none}.dd-shell:before{left:var(--dd-pad)}.dd-shell:after{right:var(--dd-pad)}@media (max-width:900px){.dd-shell:after,.dd-shell:before{display:none}}.dd-sec+.dd-sec{position:relative}.dd-sec+.dd-sec:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-image:repeating-linear-gradient(90deg,var(--dd-line2,#cbc7bc) 0 2px,transparent 2px 4px)}.dd-hero{position:relative}.dd-hero:after{content:"";position:absolute;right:0;bottom:0;width:180px;height:120px;z-index:0;background-image:radial-gradient(var(--dd-line2,#cbc7bc) .7px,transparent .9px);background-size:4px 4px;mask-image:radial-gradient(120% 100% at 100% 100%,#000,transparent 70%);-webkit-mask-image:radial-gradient(120% 100% at 100% 100%,#000,transparent 70%);opacity:.5;pointer-events:none}.dd-hero>*{position:relative;z-index:1}.xd-docs .dd-chat-fab{position:fixed;right:calc(18px + env(safe-area-inset-right, 0px));bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:60;display:inline-flex;align-items:center;gap:8px;font-family:var(--dd-sans);font-size:13.5px;font-weight:500;color:var(--dd-ink);background:var(--dd-white);border:1px solid var(--dd-line2);border-radius:999px;padding:10px 16px 11px;cursor:pointer;box-shadow:0 10px 28px rgba(26,23,18,.12),0 1px 3px rgba(26,23,18,.08);transition:border-color .16s,background .16s,transform .12s var(--dd-ease)}.xd-docs .dd-chat-fab:hover{border-color:var(--dd-ink)}.xd-docs .dd-chat-fab:active{transform:scale(.97)}.xd-docs .dd-chat-fab svg{display:block;flex:none}.xd-docs .dd-chat-panel{position:fixed;right:calc(18px + env(safe-area-inset-right, 0px));bottom:calc(72px + env(safe-area-inset-bottom, 0px));z-index:61;display:flex;flex-direction:column;width:min(388px,calc(100vw - 36px));height:min(540px,calc(100dvh - 140px));background:var(--dd-white);border:1px solid var(--dd-line2);border-radius:14px;box-shadow:0 24px 64px rgba(26,23,18,.16),0 4px 14px rgba(26,23,18,.08);overflow:hidden;transform-origin:100% 100%;animation:dd-chat-in .22s var(--dd-ease) both}@keyframes dd-chat-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}.xd-docs .dd-chat-scrim{display:none}.dd-chat-head{flex:none;display:flex;align-items:baseline;gap:10px;padding:12px 12px 11px 16px;border-bottom:1px solid var(--dd-line)}.dd-chat-head .ttl{margin:0;font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--dd-ink)}.dd-chat-head .sub{margin:0;font-family:var(--dd-mono);font-size:11px;color:var(--dd-grey)}.dd-chat-head .x{margin-left:auto;align-self:center;display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;background:none;border:1px solid transparent;border-radius:7px;color:var(--dd-grey);cursor:pointer;transition:color .15s,border-color .15s}.dd-chat-head .x:hover{color:var(--dd-ink);border-color:var(--dd-line2)}.dd-chat-head .x svg path{stroke:currentColor;stroke-width:1.4;stroke-linecap:round}.dd-chat-thread{flex:1 1 auto;overflow-y:auto;padding:14px 16px 6px;scrollbar-width:thin;scrollbar-color:var(--dd-line2) transparent}.dd-chat-intro .hi{margin:2px 0 12px;font-size:13.5px;line-height:1.6;color:var(--dd-ink2)}.dd-chat-intro .egs{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.dd-chat-intro .eg{font-family:var(--dd-mono);font-size:11.5px;color:var(--dd-grey);background:transparent;border:1px solid var(--dd-line2);border-radius:999px;padding:5px 12px 6px;cursor:pointer;transition:color .15s,border-color .15s,transform .12s var(--dd-ease)}.dd-chat-intro .eg:hover{color:var(--dd-ink);border-color:var(--dd-ink)}.dd-chat-intro .eg:active{transform:scale(.97)}.dd-chat-msg{margin:0 0 12px}.dd-chat-msg.user{display:flex;justify-content:flex-end}.dd-chat-msg.user .txt{margin:0;max-width:85%;font-size:14px;line-height:1.55;color:var(--dd-ink);background:var(--dd-bg);border:1px solid var(--dd-line);border-radius:12px 12px 4px 12px;padding:8px 12px 9px;white-space:pre-wrap;overflow-wrap:anywhere}.dd-chat-msg.assistant .who{margin:0 0 3px;font-family:var(--dd-mono);font-size:10.5px;letter-spacing:.02em;color:var(--dd-grey)}.dd-chat-msg.assistant .txt{margin:0;font-size:14px;line-height:1.62;color:var(--dd-ink2);white-space:pre-wrap;overflow-wrap:anywhere}.dd-chat-msg.assistant .txt.live:after{content:"";display:inline-block;width:7px;height:.95em;margin-left:3px;vertical-align:text-bottom;background:var(--dd-ink);animation:dd-chat-caret 1.06s steps(2,jump-none) infinite}.dd-chat-msg.assistant .waiting{margin:0;font-family:var(--dd-mono);font-size:12px;color:var(--dd-grey);animation:dd-chat-pulse 1.6s ease-in-out infinite}.dd-chat-msg.assistant .waiting .dots:after{content:"…"}@keyframes dd-chat-caret{50%{opacity:0}}@keyframes dd-chat-pulse{50%{opacity:.55}}.dd-chat-msg .cits{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.dd-chat-msg .cit{display:inline-flex;align-items:baseline;gap:6px;font-family:var(--dd-mono);font-size:11px;color:var(--dd-ink);background:var(--dd-bg);border:1px solid var(--dd-line2);border-radius:999px;padding:3px 10px 4px}.dd-chat-msg .cit b{font-weight:600;font-size:10px;letter-spacing:.05em;color:var(--dd-red)}.dd-chat-note{margin:2px 0 12px;padding:10px 12px 11px;background:var(--dd-bg);border:1px solid var(--dd-line2);border-radius:10px}.dd-chat-note p{margin:0;font-size:13px;line-height:1.6;color:var(--dd-ink2)}.dd-chat-note.warming{background:transparent;border-style:dashed}.dd-chat-note.warming p{font-family:var(--dd-mono);font-size:11.5px;line-height:1.7;color:var(--dd-grey)}.dd-chat-note.signin .go-signin{display:inline-flex;margin-top:9px;font-size:13px;font-weight:500;color:var(--dd-bg);background:var(--dd-ink);border-radius:8px;padding:7px 14px 8px;transition:background .16s,transform .12s var(--dd-ease)}.dd-chat-note.signin .go-signin:hover{background:#2c2820}.dd-chat-note.signin .go-signin:active{transform:scale(.97)}.dd-chat-form{flex:none;display:flex;gap:8px;align-items:flex-end;padding:10px 12px 8px;border-top:1px solid var(--dd-line);background:var(--dd-white)}.dd-chat-form textarea{flex:1 1 auto;min-width:0;resize:none;font-family:var(--dd-sans);font-size:14px;line-height:1.5;color:var(--dd-ink);background:var(--dd-bg);border:1px solid var(--dd-line2);border-radius:10px;padding:8px 12px 9px;min-height:38px;max-height:96px;field-sizing:content;transition:border-color .15s}.dd-chat-form textarea::-moz-placeholder{color:var(--dd-grey)}.dd-chat-form textarea::placeholder{color:var(--dd-grey)}.dd-chat-form textarea:hover{border-color:var(--dd-faint)}.dd-chat-form textarea:focus{border-color:var(--dd-ink);outline:none}.dd-chat-form textarea:focus-visible{outline:2px solid var(--dd-red);outline-offset:2px}.dd-chat-form .send{flex:none;height:38px;font-family:var(--dd-sans);font-size:14px;font-weight:500;padding:0 16px;border-radius:10px;background:var(--dd-ink);color:var(--dd-bg);border:1px solid var(--dd-ink);cursor:pointer;transition:background .16s,transform .12s var(--dd-ease)}.dd-chat-form .send:hover{background:#2c2820}.dd-chat-form .send:active{transform:scale(.97)}.dd-chat-form .send:disabled{opacity:.45;cursor:default}.dd-chat-hint{flex:none;margin:0;padding:0 14px 9px;font-family:var(--dd-mono);font-size:10.5px;color:var(--dd-grey);background:var(--dd-white)}@media (max-width:640px){.xd-docs .dd-chat-fab.is-open{opacity:0;pointer-events:none}.xd-docs .dd-chat-scrim{display:block;position:fixed;inset:0;z-index:60;background:rgba(26,23,18,.28);animation:dd-chat-scrim-in .2s ease-out both}.xd-docs .dd-chat-panel{right:0;left:0;bottom:0;width:auto;height:min(82dvh,620px);border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0)}.dd-chat-hint{display:none}}@keyframes dd-chat-scrim-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.xd-docs .dd-chat-panel,.xd-docs .dd-chat-scrim{animation:none}}