.devportal{--dp-ink:#0f0e0d;--dp-ink-2:#33302c;--dp-ink-soft:#6b6661;--dp-paper:#fff;--dp-paper-2:#faf9f6;--dp-paper-3:#f5f1ea;--dp-line:#0f0e0d1a;--dp-line-soft:#0f0e0d0e;--dp-brass:#b8862b;--dp-brass-deep:#8e661b;--dp-brass-tint:#b8862b1a;--dp-shadow:0 1px 2px #0f0e0d0a;--dp-sans:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, sans-serif;--dp-serif:var(--font-serif), Georgia, "Times New Roman", serif;--dp-mono:var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--dp-header-h:3.5rem;background:var(--dp-paper);color:var(--dp-ink-2);font-family:var(--dp-sans);letter-spacing:-.004em;-webkit-font-smoothing:antialiased;flex-direction:column;flex:1;font-size:1rem;line-height:1.65;display:flex}@media (prefers-color-scheme:dark){.devportal{--dp-ink:#f5f2ec;--dp-ink-2:#d8d3ca;--dp-ink-soft:#9c958a;--dp-paper:#100f0d;--dp-paper-2:#171613;--dp-paper-3:#1d1b17;--dp-line:#f5f2ec1f;--dp-line-soft:#f5f2ec12;--dp-brass:#d9a441;--dp-brass-deep:#e0b25c;--dp-brass-tint:#d9a44121;--dp-shadow:0 1px 2px #0006}}.devportal *,.devportal :before,.devportal :after{box-sizing:border-box}.devportal :focus-visible{outline:2px solid var(--dp-brass);outline-offset:2px;border-radius:2px}.devportal .dp-eyebrow{font-family:var(--dp-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--dp-ink-soft);align-items:center;gap:.625rem;margin:0 0 .875rem;font-size:.6875rem;font-weight:500;display:flex}.devportal .dp-eyebrow:before{content:"";background:var(--dp-brass);flex:none;width:1.5rem;height:1px}.devportal h1{font-family:var(--dp-serif);letter-spacing:-.022em;color:var(--dp-ink);text-wrap:balance;margin:0 0 1rem;font-size:clamp(2rem,1.5rem + 1.6vw,2.625rem);font-weight:500;line-height:1.1}.devportal h2{letter-spacing:-.014em;color:var(--dp-ink);margin:3rem 0 .75rem;font-size:1.375rem;font-weight:600;line-height:1.3}.devportal h3{letter-spacing:-.008em;color:var(--dp-ink);scroll-margin-top:calc(var(--dp-header-h) + 1.5rem);margin:2.25rem 0 .5rem;font-size:1.0625rem;font-weight:600;line-height:1.4}.devportal h4{font-family:var(--dp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dp-ink-soft);margin:1.5rem 0 .5rem;font-size:.6875rem;font-weight:500}.devportal p{text-wrap:pretty;margin:0 0 1rem}.devportal .dp-lead{color:var(--dp-ink-2);margin-bottom:1.5rem;font-size:1.125rem;line-height:1.6}.devportal ul{margin:0 0 1rem;padding-left:1.25rem;list-style:outside}.devportal li{margin:0 0 .375rem}.devportal li::marker{color:var(--dp-brass)}.devportal a{color:var(--dp-brass-deep);text-underline-offset:.15em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--dp-brass) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--dp-brass) 40%, transparent)}.devportal a:hover{text-decoration-color:currentColor}.devportal code{font-family:var(--dp-mono);font-variant-ligatures:none;font-size:.875em}.devportal :not(pre,h1)>code{border:1px solid var(--dp-line-soft);background:var(--dp-paper-2);color:var(--dp-ink);white-space:nowrap;border-radius:.25rem;padding:.1em .35em}.devportal pre{background:var(--dp-paper-2);border:1px solid var(--dp-line-soft);tab-size:2;border-radius:.625rem;margin:0 0 1.25rem;padding:1rem 1.125rem;font-size:.8125rem;line-height:1.7;overflow-x:auto}.devportal pre code{color:var(--dp-ink)}.devportal h1 code{font-family:var(--dp-mono);color:inherit;background:0 0;border:0;padding:0;font-size:.82em;font-weight:500}.dp-header{z-index:40;height:var(--dp-header-h);background:color-mix(in srgb, var(--dp-paper) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--dp-line-soft);align-items:center;gap:1rem;padding:0 1.25rem;display:flex;position:sticky;top:0}.devportal .dp-brand{color:var(--dp-ink);letter-spacing:-.015em;align-items:center;gap:.5rem;font-size:1.0625rem;font-weight:500;text-decoration:none;display:inline-flex}.devportal .dp-brand:hover{color:var(--dp-ink)}.dp-brand-dot{background:var(--dp-brass);border-radius:50%;flex:none;width:.5rem;height:.5rem}.dp-brand-suffix{font-family:var(--dp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dp-ink-soft);border-left:1px solid var(--dp-line);margin-left:.125rem;padding-left:.5rem;font-size:.6875rem}.dp-header-nav{align-items:center;gap:1.25rem;margin-left:auto;font-size:.875rem;display:flex}.dp-header-nav a{color:var(--dp-ink-soft);text-decoration:none}.dp-header-nav a:hover{color:var(--dp-ink)}@media (max-width:30rem){.dp-header-nav .dp-header-secondary{display:none}}.devportal-shell{flex:1;grid-template-columns:1fr;align-items:start;width:100%;display:grid}@media (min-width:64rem){.devportal-shell{grid-template-columns:16rem minmax(0,1fr)}}.devportal-sidebar{overscroll-behavior:contain;border-bottom:1px solid var(--dp-line-soft);background:var(--dp-paper-2);max-height:40vh;padding:.75rem 1.25rem;font-size:.875rem;overflow-y:auto}@media (min-width:64rem){.devportal-sidebar{top:var(--dp-header-h);min-height:calc(100dvh - var(--dp-header-h));max-height:calc(100dvh - var(--dp-header-h));overscroll-behavior:contain;border-bottom:0;border-right:1px solid var(--dp-line-soft);padding:1.75rem 1rem 3rem 1.5rem;position:sticky;overflow-y:auto}}.dp-nav-toggle{cursor:pointer;font-family:var(--dp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dp-ink-soft);padding:.25rem 0;font-size:.6875rem;list-style:none;display:block}.dp-nav-toggle::-webkit-details-marker{display:none}.dp-nav-toggle:after{content:" +"}.dp-nav[open]>.dp-nav-toggle:after{content:" −"}@media (min-width:64rem){.dp-nav-toggle{display:none}}.dp-nav-section{margin-top:1.75rem}.dp-nav-section:first-of-type{margin-top:1rem}.devportal .dp-nav-heading{font-family:var(--dp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dp-ink-soft);margin:0 0 .5rem;padding:0 .5rem;font-size:.6875rem;font-weight:500}.devportal .dp-nav-list{margin:0;padding:0;list-style:none}.devportal .dp-nav-list li{margin:0}.devportal .dp-nav-link{color:var(--dp-ink-2);border-radius:.3125rem;margin:.0625rem 0;padding:.3125rem .5rem;line-height:1.45;text-decoration:none;display:block}.devportal .dp-nav-link:hover{background:var(--dp-brass-tint);color:var(--dp-ink)}.devportal .dp-nav-link[aria-current]{background:var(--dp-brass-tint);color:var(--dp-ink);box-shadow:inset 2px 0 0 var(--dp-brass);font-weight:500}.devportal .dp-product-switch{gap:.25rem;margin:0 0 .5rem;padding:0;list-style:none;display:grid}.devportal .dp-product-link{border:1px solid var(--dp-line-soft);background:var(--dp-paper);color:var(--dp-ink-2);border-radius:.5rem;align-items:baseline;gap:.5rem;padding:.5rem .625rem;font-weight:500;text-decoration:none;display:flex}.devportal .dp-product-link:hover{border-color:var(--dp-line);color:var(--dp-ink)}.devportal .dp-product-link[aria-current]{border-color:color-mix(in srgb, var(--dp-brass) 45%, transparent);background:var(--dp-brass-tint);color:var(--dp-ink)}.dp-product-note{font-family:var(--dp-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dp-ink-soft);margin-left:auto;font-size:.625rem}.devportal .dp-nav-section>details>summary{font-family:var(--dp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dp-ink-soft);cursor:pointer;margin:0 0 .5rem;padding:0 .5rem;font-size:.6875rem;font-weight:500}.devportal .dp-nav-section>details>summary:hover{color:var(--dp-ink)}.dp-sidebar-foot{border-top:1px solid var(--dp-line-soft);margin-top:2rem;padding-top:1rem}.devportal-main{min-width:0;padding:2.5rem 1.25rem 5rem}@media (min-width:48rem){.devportal-main{padding:3rem 2.5rem 6rem}}.dp-doc{grid-template-columns:minmax(0,1fr);gap:2rem;max-width:46rem;display:grid}.dp-doc-head>:last-child{margin-bottom:0}@media (min-width:86rem){.dp-doc{grid-template-columns:minmax(0,44rem) 13rem;gap:0 4rem;max-width:none}.dp-doc-head{grid-area:1/1}.dp-article{grid-area:2/1}.dp-toc{top:calc(var(--dp-header-h) + 2.5rem);grid-area:1/2/span 2;align-self:start;position:sticky}}.devportal .dp-toc-title{font-family:var(--dp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dp-ink-soft);margin:0 0 .5rem;font-size:.6875rem;font-weight:500}.devportal .dp-toc ul{border-left:1px solid var(--dp-line);margin:0;padding:0;font-size:.8125rem;list-style:none}.devportal .dp-toc li{margin:0}.devportal .dp-toc a{color:var(--dp-ink-soft);border-left:1px solid #0000;margin-left:-1px;padding:.25rem 0 .25rem .75rem;text-decoration:none;display:block}.devportal .dp-toc a:hover{color:var(--dp-ink);border-left-color:var(--dp-brass)}@media (max-width:85.999rem){.dp-toc{background:var(--dp-paper-2);border:1px solid var(--dp-line-soft);border-radius:.625rem;padding:.875rem 1rem}.devportal .dp-toc ul{columns:2;border-left:0;column-gap:1.5rem}.devportal .dp-toc a{border-left:0;padding-left:0}}@media (max-width:30rem){.devportal .dp-toc ul{columns:1}}.devportal-callout{background:var(--dp-paper-3);border:1px solid var(--dp-line-soft);border-left:2px solid var(--dp-brass);border-radius:0 .5rem .5rem 0;margin:0 0 1.25rem;padding:.875rem 1.125rem}.devportal-callout strong{color:var(--dp-ink);margin-bottom:.25rem;font-weight:600;display:block}.devportal-callout p:last-child{margin-bottom:0}.dp-table-wrap{border:1px solid var(--dp-line-soft);background:var(--dp-paper);border-radius:.625rem;margin:0 0 1.25rem;overflow-x:auto}.devportal table{border-collapse:collapse;width:100%;margin:0;font-size:.8125rem;line-height:1.55}.devportal thead{background:var(--dp-paper-2)}.devportal th{text-align:left;font-family:var(--dp-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dp-ink-soft);border-bottom:1px solid var(--dp-line-soft);white-space:nowrap;padding:.5rem .75rem;font-size:.6875rem;font-weight:500}.devportal td{border-top:1px solid var(--dp-line-soft);vertical-align:top;padding:.5rem .75rem}.devportal tbody tr:first-child td{border-top:0}.devportal td:nth-child(2),.devportal td:nth-child(3){font-family:var(--dp-mono);color:var(--dp-ink-soft);white-space:nowrap;font-size:.75rem}.devportal td:nth-child(4){min-width:18rem}.devportal td code{white-space:nowrap}.dp-badge{border:1px solid var(--dp-line);font-family:var(--dp-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--dp-ink-soft);white-space:nowrap;vertical-align:.08em;border-radius:999px;align-items:center;gap:.3125rem;padding:.0625rem .4375rem;font-size:.625rem;font-weight:500;display:inline-flex}.dp-badge-write{border-color:color-mix(in srgb, var(--dp-brass) 40%, transparent);background:var(--dp-brass-tint);color:var(--dp-brass-deep)}.dp-badge-confirm{border-color:color-mix(in srgb, var(--dp-brass) 55%, transparent);color:var(--dp-brass-deep)}.dp-badge-confirm:before{content:"";background:var(--dp-brass);border-radius:50%;width:.3125rem;height:.3125rem}.devportal .dp-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.devportal .dp-cards>li{margin:0;display:flex}.devportal .dp-card{border:1px solid var(--dp-line-soft);background:var(--dp-paper);box-shadow:var(--dp-shadow);color:inherit;border-radius:.75rem;flex-direction:column;flex:1;gap:.375rem;padding:1.25rem;text-decoration:none;transition:border-color .15s;display:flex}.devportal a.dp-card:hover{border-color:color-mix(in srgb, var(--dp-brass) 45%, transparent)}@media (prefers-reduced-motion:reduce){.devportal .dp-card{transition:none}}.devportal .dp-card-title{letter-spacing:-.01em;color:var(--dp-ink);margin:0;font-size:1.0625rem;font-weight:600}.devportal .dp-card p{color:var(--dp-ink-soft);margin:0;font-size:.875rem}.devportal .dp-card-meta{font-family:var(--dp-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dp-brass-deep);margin-top:auto;padding-top:.75rem;font-size:.6875rem}.devportal .dp-domain-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:.5rem;margin:0 0 2.5rem;padding:0;list-style:none;display:grid}.devportal .dp-domain-grid>li{margin:0;display:flex}.devportal .dp-domain-chip{border:1px solid var(--dp-line-soft);background:var(--dp-paper-2);font-family:var(--dp-mono);color:var(--dp-ink-2);border-radius:.5rem;flex:1;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.5rem .6875rem;font-size:.8125rem;text-decoration:none;display:flex}.devportal .dp-domain-chip:hover{border-color:color-mix(in srgb, var(--dp-brass) 45%, transparent);color:var(--dp-ink)}.dp-domain-count{color:var(--dp-ink-soft);font-variant-numeric:tabular-nums;font-size:.6875rem}.devportal .dp-tool-list{border:1px solid var(--dp-line-soft);border-radius:.625rem;margin:0;padding:0;list-style:none;overflow:hidden}.devportal .dp-tool-list li{border-top:1px solid var(--dp-line-soft);margin:0;padding:.6875rem .875rem}.devportal .dp-tool-list li:first-child{border-top:0}.dp-tool-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.devportal :not(pre)>code.dp-tool-name{font-family:var(--dp-mono);color:var(--dp-ink);background:0 0;border:0;padding:0;font-size:.8125rem;font-weight:500}.devportal .dp-tool-desc{color:var(--dp-ink-soft);margin:.1875rem 0 0;font-size:.8125rem}.dp-tool-card{border-top:1px solid var(--dp-line-soft);margin-top:2rem;padding-top:2rem}.dp-tool-card>h3{margin-top:0}.dp-tool-flags{flex-wrap:wrap;gap:.375rem;margin:0 0 .625rem;display:flex}.dp-filter{margin:0 0 1.5rem;display:block}.devportal .dp-filter-label{font-family:var(--dp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dp-ink-soft);margin:0 0 .5rem;font-size:.6875rem;font-weight:500;display:block}.dp-filter-input{border:1px solid var(--dp-line);background:var(--dp-paper);width:100%;max-width:22rem;color:var(--dp-ink);font-family:var(--dp-mono);border-radius:.5rem;padding:.5rem .75rem;font-size:.8125rem}.dp-filter-input::placeholder{color:var(--dp-ink-soft)}.devportal .dp-filter-count{font-family:var(--dp-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dp-ink-soft);margin:.5rem 0 0;font-size:.6875rem;display:block}.dp-main-centered .dp-doc{grid-template-columns:minmax(0,1fr);max-width:46rem;margin-inline:auto}.devportal-main.dp-main-wide{max-width:none}.dp-main-wide .dp-doc{grid-template-columns:minmax(0,1fr);max-width:none}.dp-footer{border-top:1px solid var(--dp-line-soft);color:var(--dp-ink-soft);margin-top:3rem;padding-top:1.25rem;font-size:.8125rem}
