*{box-sizing:border-box}
:root{color-scheme:light;--canvas:#fff;--sidebar:#fafafa;--text:#262626;--heading:#171717;--secondary:#646464;--tertiary:#8a8a8a;--line:#e9e9e9;--hover:#f0f0f0;--active:#ededed;--accent:#2563eb;--code-bg:#f8f8f8;--code-border:#e9e9e9;--inline:#f3f3f3;--callout:#fafafa;--overlay:rgba(0,0,0,.38)}
html[data-theme="dark"]{color-scheme:dark;--canvas:#121212;--sidebar:#161616;--text:#d7d7d7;--heading:#f0f0f0;--secondary:#9b9b9b;--tertiary:#828282;--line:#303030;--hover:#252525;--active:#2b2b2b;--accent:#7ca7ff;--code-bg:#1b1b1b;--code-border:#323232;--inline:#252525;--callout:#1b1b1b;--overlay:rgba(0,0,0,.65)}
html{scroll-behavior:smooth;scroll-padding-top:99px}body{margin:0;background:var(--canvas);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.67;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:#93b5fa66}
.top{height:62px;position:fixed;inset:0 0 auto;z-index:30;background:var(--canvas);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 29px}.brand{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:650;text-decoration:none;color:var(--heading);white-space:nowrap;letter-spacing:-.25px}.brand-icon{width:24px;height:24px;border:1.5px solid var(--heading);border-radius:5px;display:grid;place-items:center;font-size:11px;letter-spacing:-.6px;font-weight:800}.brand-separator{height:19px;width:1px;background:var(--line);margin:0 3px}.brand-docs{font-weight:450;color:var(--secondary)}.top-right{margin-left:auto;display:flex;align-items:center;gap:13px}.search-button{height:34px;min-width:242px;display:flex;align-items:center;gap:10px;background:transparent;border:1px solid var(--line);padding:0 9px;color:var(--secondary);font-size:12px;text-align:left;border-radius:6px}.search-button:hover{border-color:var(--tertiary);background:var(--hover)}.search-button svg{flex:none}.search-button kbd{font:11px ui-monospace,SFMono-Regular,Consolas,monospace;border:1px solid var(--line);border-radius:3px;padding:1px 5px;margin-left:auto;color:var(--tertiary)}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:0;background:transparent;border-radius:5px;color:var(--secondary)}.icon-button:hover{background:var(--hover);color:var(--heading)}.icon-button svg{width:17px;height:17px}.mobile-menu{display:none}.updated{font-size:12px;color:var(--tertiary);white-space:nowrap}
.sidebar{position:fixed;top:62px;bottom:0;left:0;width:257px;background:var(--sidebar);border-right:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;z-index:21;scrollbar-width:thin}.sidebar-inner{padding:22px 13px 48px 20px}.nav-label{font-size:10px;line-height:1.5;font-weight:650;letter-spacing:1px;color:var(--tertiary);margin:29px 9px 9px}.nav-item{min-height:32px;display:flex;gap:8px;align-items:center;flex:1;min-width:0;text-decoration:none;border-radius:5px;padding:6px 10px;color:var(--secondary);font-size:12.9px;line-height:1.45}.nav-item:hover,.nav-subitem:hover{color:var(--heading);background:var(--hover)}.nav-item.current,.nav-subitem.current{color:var(--heading);font-weight:600;background:var(--active)}.overview-link{margin-bottom:5px}.nav-num{font-variant-numeric:tabular-nums;color:var(--tertiary);font-size:11px}.chapter-row{display:flex;min-width:0;align-items:center;margin:1px 0}.chapter-link{padding-right:4px}.chapter-toggle{display:grid;place-items:center;color:var(--tertiary);background:none;border:0;width:27px;height:29px;border-radius:5px;flex:none}.chapter-toggle:hover{background:var(--hover);color:var(--heading)}.chapter-toggle svg{transition:transform .15s}.chapter.open .chapter-toggle svg{transform:rotate(180deg)}.chapter-children{display:none;margin:2px 0 10px 16px;padding-left:12px;border-left:1px solid var(--line)}.chapter.open .chapter-children{display:block}.nav-subitem{display:block;text-decoration:none;color:var(--secondary);font-size:12px;line-height:1.46;padding:6px 8px;margin:1px 0;border-radius:5px}.sidebar-foot{border-top:1px solid var(--line);color:var(--tertiary);font-size:11px;margin:35px 9px 0;padding-top:15px}.backdrop{display:none}
.layout{margin:62px 0 0 257px;display:grid;grid-template-columns:minmax(0,850px) 195px;gap:50px;max-width:1300px;margin-right:auto;padding:0 28px 0 clamp(39px,5vw,90px)}.main{min-width:0;width:100%;padding:48px 0 110px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tertiary);margin:0 0 22px}.breadcrumb svg{color:var(--tertiary)}.page-header{padding-bottom:26px;border-bottom:1px solid var(--line)}.page-header h1{margin:0 0 13px;font-size:36px;letter-spacing:-1.1px;font-weight:680;line-height:1.22;color:var(--heading)}.page-header p{max-width:750px;color:var(--secondary);font-size:15px;line-height:1.8;margin:0}.page-header strong{color:var(--text)}.page-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:19px;color:var(--tertiary);font-size:12px}.page-meta span+span:before{content:"·";margin:0 10px}.article{min-width:0}.article h2,.article h3{color:var(--heading);scroll-margin-top:95px;position:relative;letter-spacing:-.35px}.article h2{font-weight:650;font-size:25px;line-height:1.35;margin:54px 0 20px;padding:35px 0 0;border-top:1px solid var(--line)}.article h2:first-of-type{border-top:0;padding-top:0;margin-top:36px}.article h3{font-size:18px;font-weight:650;line-height:1.45;margin:33px 0 15px}.article .hash-link{visibility:hidden;color:var(--tertiary);font-weight:450;font-size:.73em;text-decoration:none;margin-left:9px}.article h2:hover .hash-link,.article h3:hover .hash-link,.article .hash-link:focus-visible{visibility:visible}.article p{margin:14px 0 17px}.article strong{font-weight:650;color:var(--heading)}.article a:not(.hash-link){color:var(--accent);text-decoration:none}.article a:not(.hash-link):hover{text-decoration:underline}.article ul,.article ol{padding-left:24px;margin:14px 0 20px}.article li{margin:7px 0;padding-left:3px}.article li>ul,.article li>ol{margin-top:8px}.article li::marker{color:var(--secondary)}.article hr{height:0;border:0;border-top:1px solid var(--line);margin:34px 0 0;display:none}.article :not(pre)>code{background:var(--inline);border:1px solid var(--line);border-radius:4px;font:12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--heading);padding:2px 5px;overflow-wrap:anywhere}.article blockquote{margin:21px 0;padding:11px 15px;border-left:3px solid #a9b0b9;background:var(--callout);color:var(--text);border-radius:0 4px 4px 0}.article blockquote p{margin:0;font-size:13.5px}.table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:6px;margin:16px 0 25px;scrollbar-width:thin}.article table{border-collapse:collapse;width:100%;text-align:left;font-size:12.8px;line-height:1.55;min-width:max-content}.article th,.article td{border-bottom:1px solid var(--line);padding:10px 14px;vertical-align:top;max-width:530px}.article th{background:var(--code-bg);color:var(--heading);font-weight:650;white-space:nowrap}.article tr:last-child td{border-bottom:0}.article td code,.article th code{white-space:normal}.code-box{margin:19px 0 23px;border:1px solid var(--code-border);border-radius:7px;overflow:hidden;background:var(--code-bg)}.code-head{min-height:34px;padding:0 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--code-border);color:var(--tertiary);font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.5px}.copy-btn{display:flex;align-items:center;gap:5px;border:0;background:transparent;border-radius:4px;padding:5px 7px;color:var(--secondary);font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:0}.copy-btn:hover{background:var(--hover);color:var(--heading)}.copy-btn svg{width:14px;height:14px}.article pre{font:12.5px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;color:var(--heading);overflow:auto;margin:0;padding:14px 17px 17px;white-space:pre;tab-size:2}.article pre code{font:inherit}.toc{position:sticky;top:62px;height:calc(100dvh - 62px);padding-top:54px;overflow-y:auto;scrollbar-width:thin}.toc-label{color:var(--tertiary);font-size:10px;text-transform:uppercase;letter-spacing:.9px;font-weight:650;margin-bottom:14px}.toc a{display:block;text-decoration:none;color:var(--secondary);font-size:12px;line-height:1.5;border-left:1px solid var(--line);padding:7px 10px}.toc a:hover{color:var(--heading)}.toc a.current{color:var(--heading);border-left:2px solid var(--heading);padding-left:9px;font-weight:600}.toc .toc-top{margin-top:15px;color:var(--tertiary)}.doc-footer{border-top:1px solid var(--line);margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;gap:12px;color:var(--tertiary);font-size:12px}.doc-footer a{color:var(--secondary);text-decoration:none}.doc-footer a:hover{text-decoration:underline}
.search-dialog{border:1px solid var(--line);border-radius:10px;padding:0;background:var(--canvas);color:var(--text);width:min(575px,calc(100vw - 24px));max-height:min(580px,85dvh);margin:15vh auto auto;box-shadow:0 18px 70px #0002;overflow:hidden}.search-dialog::backdrop{background:var(--overlay);backdrop-filter:blur(2px)}.search-line{display:flex;align-items:center;gap:10px;padding:13px 17px;border-bottom:1px solid var(--line)}.search-line svg{width:18px;height:18px;color:var(--secondary);flex:none}.search-line input{width:100%;background:transparent;border:0;outline:0;color:var(--heading);font-size:14px;min-width:0}.search-line input:focus-visible{outline:0}.close-search{border:1px solid var(--line);background:var(--canvas);color:var(--secondary);font-size:10px;border-radius:4px;padding:4px 6px}.search-results{overflow-y:auto;max-height:430px;padding:8px}.search-result{display:block;text-decoration:none;border-radius:5px;padding:11px 13px}.search-result:hover,.search-result.selected{background:var(--hover)}.search-result strong{display:block;color:var(--heading);font-size:13px;font-weight:600;margin-bottom:4px}.search-result small{display:block;color:var(--secondary);font-size:12px;line-height:1.5}.search-empty{padding:22px 16px;color:var(--secondary);font-size:13px}.search-bottom{padding:9px 16px;color:var(--tertiary);font-size:11px;border-top:1px solid var(--line)}mark{background:#ffefaf;color:#202020;border-radius:2px}
@media(max-width:1330px){.layout{gap:32px;padding-left:54px;grid-template-columns:minmax(0,1fr) 175px}}@media(max-width:1110px){.layout{grid-template-columns:minmax(0,790px);justify-content:center;padding:0 45px}.toc{display:none}}@media(max-width:830px){.mobile-menu{display:grid}.top{padding:0 16px;gap:12px}.sidebar{z-index:42;transform:translateX(-101%);transition:transform .2s;width:min(282px,85vw);box-shadow:none}.nav-open .sidebar{transform:translateX(0)}.nav-open .backdrop{display:block;position:fixed;inset:62px 0 0;z-index:41;background:var(--overlay)}.layout{margin-left:0;padding:0 30px}.main{padding-top:34px}.updated{display:none}}@media(max-width:540px){.top{gap:9px}.brand{font-size:13px}.brand-docs{display:none}.brand-separator{display:none}.brand-icon{width:22px;height:22px}.search-button{min-width:0;width:34px;height:34px;padding:0;justify-content:center;border:0}.search-button .search-placeholder,.search-button kbd{display:none}.top-right{gap:2px}.layout{padding:0 20px}.main{padding:29px 0 72px}.page-header h1{font-size:29px;letter-spacing:-.7px}.page-header p{font-size:14px}.article h2{font-size:22px}.article h3{font-size:17px}.article pre{font-size:11.5px}.article th,.article td{padding:9px 11px}.doc-footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chapter-toggle svg,.sidebar{transition:none}}
.brand-icon{font-size:9px;letter-spacing:-.7px}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline;color:var(--heading)}
.home-lead{max-width:780px}.article .home-section{margin-top:51px}.article .home-section:first-of-type{margin-top:37px}
.link-list{border-top:1px solid var(--line);margin:19px 0 7px}.link-row{display:flex;align-items:center;gap:23px;text-decoration:none;padding:20px 0;border-bottom:1px solid var(--line)}.link-row:hover .link-title{color:var(--accent)}.link-body{flex:1;min-width:0}.link-title{font-weight:650;font-size:15px;color:var(--heading);display:block;line-height:1.4}.link-desc{display:block;font-size:13px;margin-top:5px;line-height:1.65;color:var(--secondary)}.link-arrow{color:var(--tertiary);font-size:18px;font-weight:400}.link-kicker{color:var(--tertiary);font-size:11px;letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:4px}
.endpoint{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere;color:var(--heading)}.method{display:inline-block;font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--secondary);background:var(--inline);border-radius:3px;padding:3px 6px;margin-right:8px;letter-spacing:.04em}.notes{background:var(--callout);border-left:2px solid var(--line);padding:11px 14px;margin:19px 0;color:var(--secondary);font-size:13px}.homepage-footer{margin-top:70px}.nav-item.current{font-weight:600}.overview-keyline{font-size:12px;color:var(--tertiary);margin:0 0 12px}.table-scroll{margin-top:19px}.simple-toc a{display:block;text-decoration:none;color:var(--secondary);font-size:12px;margin:12px 0}.simple-toc a:hover,.simple-toc a.current{color:var(--heading)}.product-word{font-weight:500;color:var(--tertiary)}.text-link{color:var(--accent);text-decoration:none}.text-link:hover{text-decoration:underline}.article p a{color:var(--accent)}.sidebar-foot{line-height:1.9}
@media(max-width:540px){.link-row{gap:12px}.link-title{font-size:14px}.link-desc{font-size:12px}.article .home-section{margin-top:37px}}


/* Lightweight dynamic CMS additions */
.brand-icon{font-size:10px;letter-spacing:-.5px}
.dynamic-links{padding:0 8px}.dynamic-toc-link{display:block;font-size:12px;padding:5px 10px;color:var(--secondary);text-decoration:none;border-radius:5px;line-height:1.45}.dynamic-toc-link.sub{padding-left:20px;font-size:11.7px}.dynamic-toc-link:hover,.dynamic-toc-link.active{background:var(--hover);color:var(--heading)}
.toc-link{display:block;font-size:12px;color:var(--secondary);text-decoration:none;padding:5px 0;line-height:1.4}.toc-link.toc-sub{padding-left:12px;font-size:11.6px}.toc-link:hover,.toc-link.active{color:var(--accent)}
.docs-footer{border-top:1px solid var(--line);padding-top:21px;margin-top:48px;color:var(--secondary);font-size:12px}.docs-footer a{color:var(--accent);text-decoration:none}
.breadcrumb-arrow{font-size:20px;line-height:0}
.article pre{white-space:pre;overflow-x:auto}.code-box,.article pre{position:relative}.copy-doc-code{position:absolute;top:7px;right:8px;border:1px solid var(--line);border-radius:5px;background:var(--code-bg);font-size:11px;color:var(--secondary);padding:4px 8px;cursor:pointer}.copy-doc-code:hover{color:var(--heading)}.article .code-box .copy-doc-code{top:4px}.code-ready:not(.code-box){background:var(--code-bg);border:1px solid var(--line);border-radius:6px;padding:40px 12px 12px}
.search-dialog{border:0;padding:0;background:var(--canvas);color:var(--text);border-radius:8px;width:min(590px,calc(100% - 30px));box-shadow:0 25px 70px #0004}.search-dialog::backdrop{background:var(--overlay)}.search-modal{padding:0}.search-top{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:14px}.search-top input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);outline:0;font-size:15px}.search-top button{border:1px solid var(--line);border-radius:4px;background:var(--hover);color:var(--secondary);font-size:11px;padding:4px 7px}.search-results{padding:12px;max-height:65vh;overflow-y:auto}.search-results>p{color:var(--secondary)}.search-result{display:block;color:var(--text);padding:11px;border-radius:6px;text-decoration:none}.search-result:hover{background:var(--hover)}.search-result strong{display:block;font-size:13px}.search-result span{display:block;color:var(--secondary);font-size:12px;line-height:1.6;margin-top:3px}
@media(max-width: 760px){.search-button{min-width:0;width:36px;justify-content:center;padding:0}.search-button span:nth-child(2),.search-button kbd{display:none}.layout{padding:0 20px}.page-header h1{font-size:29px}}
