:root{--ink:#202a3b;--muted:#606c7f;--navy:#203f6c;--navy-dark:#172d4d;--line:#dce1e8;--soft:#f5f7fa;--paper:#fff;--code:#f8f9fb;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 var(--sans)}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--navy);text-underline-offset:3px}a:hover{color:var(--navy-dark)}button:disabled{cursor:default}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #7594bd;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-70px;z-index:10;background:var(--navy);color:#fff;padding:9px 15px}.skip-link:focus{top:8px;color:#fff}.topbar{height:60px;position:sticky;top:0;background:#fffffff5;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:5}.topbar-inner{max-width:1440px;margin:auto;padding:0 28px;height:100%;display:flex;align-items:center;gap:18px}.brand{display:flex;gap:8px;align-items:center;font-size:18px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.4px;white-space:nowrap}.brand-mark{color:var(--navy);font:600 24px var(--mono);padding-right:1px}.preview-label{font-size:10px;line-height:1.5;border:1px solid var(--line);border-radius:3px;padding:2px 6px;color:var(--muted);white-space:nowrap}.primary-nav{margin-left:auto;display:flex;align-items:center;gap:24px;height:100%;font-size:12px}.primary-nav a{height:100%;display:flex;align-items:center;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;padding-top:2px;white-space:nowrap}.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--navy)}.primary-nav a[aria-current=page]{border-color:var(--navy);font-weight:600}.nav-toggle{display:none}.site-footer{max-width:1384px;margin:36px auto 0;padding:18px 0 24px;border-top:1px solid var(--line);display:flex;align-items:center;gap:20px;color:var(--muted);font-size:10px}.site-footer nav{margin-left:auto;display:flex;gap:18px}.site-footer a{text-decoration:none}.footer-divider{padding:0 7px;color:#a6afbd}.site-footer code{font:10px var(--mono)}.page-kicker{font-size:10px;font-weight:650;letter-spacing:1.4px;color:var(--muted);margin:0 0 7px}.document-layout{max-width:1160px;padding:39px 28px 16px;margin:0 auto;display:grid;grid-template-columns:minmax(0,820px) 180px;gap:55px}.document-main{min-width:0}.document-header{margin-bottom:30px}.document-main h1{font-size:31px;line-height:1.2;letter-spacing:-.8px;font-weight:650;margin:0 0 14px}.document-lead{font-size:15px;line-height:1.8;color:var(--muted);max-width:740px;margin:0}.document-main h2{font-size:19px;font-weight:650;line-height:1.4;letter-spacing:-.2px;margin:0 0 12px}.document-section{margin:0 0 31px;scroll-margin-top:85px}.document-section:not(:first-child){padding-top:21px;border-top:1px solid var(--line)}.document-main p{margin:0 0 13px}.document-main ul{padding-left:20px;margin:8px 0 15px}.document-main li{margin:4px 0}.document-main pre{margin:14px 0 17px;background:var(--code);border:1px solid var(--line);border-radius:3px;padding:13px 16px;font:12px/1.8 var(--mono);overflow:auto;max-width:100%;tab-size:2}.document-main code{font-family:var(--mono)}.document-main p code,.document-main li code{font-size:12px;background:var(--soft);padding:1px 4px;border-radius:2px}.section-links{display:flex;flex-wrap:wrap;gap:9px 20px;font-size:12px;margin:13px 0}.section-links a{text-decoration:none}.section-links a:hover{text-decoration:underline}.table-wrap{overflow:auto;max-width:100%;margin:13px 0 17px}.document-main table{border-collapse:collapse;text-align:left;width:100%;font-size:12px;line-height:1.65}.document-main th{font-weight:650;background:#f5f7fa;color:#39475d}.document-main th,.document-main td{padding:10px 12px;border:1px solid var(--line);vertical-align:top}.document-main td:first-child{white-space:nowrap}.document-toc{align-self:start;position:sticky;top:93px;border-left:1px solid var(--line);padding-left:18px;margin-top:2px}.panel-label{font-size:10px;font-weight:700;letter-spacing:1.1px;color:#5e6c81;margin:0 0 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-label span{font:10px var(--mono);color:#7c8797;letter-spacing:0;font-weight:400}.document-toc a{display:block;font-size:11px;line-height:1.6;margin:9px 0;color:var(--muted);text-decoration:none;overflow-wrap:anywhere}.document-toc a:hover{color:var(--navy)}.overview .document-header{margin-bottom:27px}.overview .document-main h1{font-size:33px}.overview .document-main .document-lead{font-size:15px}.note{border-left:3px solid #c7d5e6;background:#f5f8fc;padding:12px 15px;color:var(--muted);font-size:12px}.api-layout{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr) 190px;gap:30px;padding:0 28px;align-items:start}.module-panel{position:sticky;top:60px;max-height:calc(100dvh - 60px);overflow:auto;padding:27px 13px 25px 0;border-right:1px solid var(--line);scrollbar-width:thin}.panel-note{font-size:10px;color:#7c8797;margin:-6px 0 19px}.module-tree{font-size:12px;line-height:1.5}.module-tree button{border:0;background:transparent;color:#47576e;display:flex;width:100%;padding:5px 6px;text-align:left;border-radius:3px;align-items:baseline;gap:5px;min-width:0;line-height:1.55}.module-tree button span:first-child{min-width:0;overflow-wrap:anywhere}.module-tree button:hover{background:#f0f3f8;color:var(--navy)}.module-tree button.active{background:#eaf0f8;color:var(--navy);font-weight:650}.module-tree .count{font:9px var(--mono);margin-left:auto;color:#8a95a4;flex-shrink:0;padding-left:3px}.module-node{margin:3px 0}.module-node summary{position:relative;cursor:pointer;list-style:none;padding:5px 5px 5px 14px;color:#4a586e;display:flex;gap:6px;align-items:baseline;font-size:12px;user-select:none}.module-node summary::-webkit-details-marker{display:none}.module-node summary:before{content:'›';position:absolute;left:2px;top:5px;color:#8390a2;font-size:13px;line-height:1.3}.module-node[open]>summary:before{transform:rotate(90deg)}.module-node summary .count{font:9px var(--mono);margin-left:auto;color:#8a95a4}.module-node-children{padding-left:11px;border-left:1px solid #e8ecf1;margin-left:5px}.module-tree .namespace-link{font-size:10px;color:#8590a0;margin-bottom:2px}.module-panel-footer{border-top:1px solid var(--line);margin-top:23px;padding:14px 6px 0;font-size:10px;line-height:1.7;color:var(--muted)}.module-panel-footer a{text-decoration:none}.module-panel-footer p{margin:7px 0 0}.api-main{min-width:0;padding-top:28px}.api-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.api-header h1{overflow-wrap:anywhere;min-width:0;font-size:28px;line-height:1.15;letter-spacing:-.7px;font-weight:650;margin:0}.api-header .page-kicker{margin-bottom:6px}.api-scope{font-size:11px;color:var(--muted);margin:12px 0 21px}.scope-separator{padding:0 8px;color:#b3bbc6}.api-search{display:flex;align-items:center;gap:11px;border:1px solid #bec9d8;border-radius:4px;min-height:40px;background:white;padding:4px 5px 4px 12px}.api-search:focus-within{border-color:#5f7ea8;box-shadow:0 0 0 2px #6a8bb114}.search-icon{font-size:22px;color:#69809e;line-height:1}.api-search input{outline:none!important;border:0;background:transparent;flex:1;min-width:0;height:30px;color:var(--ink);font-size:12px}.api-search input::placeholder{color:#778398}.api-search kbd{color:#9aa6b6;border:1px solid #e2e7ed;border-radius:3px;font:10px var(--mono);padding:1px 5px}.search-button{border:0;background:var(--navy);color:white;border-radius:3px;padding:6px 13px;font-size:11px;line-height:1.5}.search-button:hover{background:var(--navy-dark)}.filter-bar{display:flex;gap:8px;margin:10px 0 18px;align-items:center;min-width:0}.filter-bar select{max-width:42%;min-width:0;font-size:11px;border:1px solid var(--line);border-radius:3px;background:#fbfcfd;color:#58667b;padding:5px 23px 5px 8px;height:30px;text-overflow:ellipsis}.filter-bar select#family{flex:1}.text-button{border:0;background:transparent;padding:0;color:var(--navy);font:inherit;text-decoration:underline;text-underline-offset:3px}.filter-bar .text-button{font-size:10px;margin-left:auto}.result-meta{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px;font-size:10px;color:var(--muted)}.result-meta p{margin:0;overflow-wrap:anywhere}#active-scope{font-family:var(--mono);color:#4d5f78}#result-count{white-space:nowrap}.module-group{margin:0 0 28px;min-width:0;scroll-margin-top:80px}.module-heading{padding:0 0 12px;border-bottom:1px solid var(--line);margin:0 0 0;display:flex;align-items:baseline;gap:10px;justify-content:space-between;min-width:0}.module-heading h2{font:600 13px/1.6 var(--mono);color:#334866;margin:0;overflow-wrap:anywhere;min-width:0}.module-heading .module-count{font:9px var(--mono);color:#8b96a6;white-space:nowrap}.declaration{padding:16px 0 17px;border-bottom:1px solid #e5e9ee;min-width:0;scroll-margin-top:83px}.declaration.is-target{border-left:2px solid #7795bc;padding-left:14px;margin-left:-16px;background:linear-gradient(90deg,#f5f8fc,transparent 70%)}.decl-header{display:flex;gap:9px;align-items:baseline;min-width:0;margin-bottom:7px}.decl-kind{font:10px var(--mono);color:#75839b;flex-shrink:0}.decl-header h3{font:600 13px/1.65 var(--mono);color:var(--navy);margin:0;overflow-wrap:anywhere;min-width:0}.decl-header a{color:inherit;text-decoration:none}.decl-header a:hover{text-decoration:underline}.decl-summary{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 9px}.signature{background:var(--code);border-left:2px solid #e1e7f0;padding:10px 13px;margin:0;font:12px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;min-width:0;tab-size:2;color:#2b3444}.signature code{font:inherit}.decl-actions{display:flex;flex-wrap:wrap;gap:6px 14px;margin:9px 0 0;align-items:center;font-size:11px}.decl-actions a{text-decoration:none}.decl-actions a:hover{text-decoration:underline}.decl-actions button{font-size:11px;color:#687992}.decl-actions .text-button{text-decoration:none}.decl-actions .text-button:hover{text-decoration:underline}.alias-note{font-size:10px;color:#778297;overflow-wrap:anywhere;margin:7px 0}.alias-note code{font:10px var(--mono)}.decl-details{margin-top:11px;font-size:11px}.decl-details>summary{color:#667891;cursor:pointer;font-size:10px;padding:2px 0;list-style-position:inside}.decl-details[open]>summary{margin-bottom:11px}.detail-content{background:#fafbfd;border:1px solid #e1e6ee;border-radius:3px;padding:13px 15px;min-width:0}.detail-content .inner-details{margin:0 0 12px}.inner-details>summary{font-size:10px;color:var(--navy);cursor:pointer;padding:3px 0}.explicit-type{max-height:480px;overflow:auto;background:#f3f5f9;margin:10px 0 6px;padding:12px;font:10px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #e0e6ee;tab-size:2}.detail-caption{font-size:10px;color:#78869b;line-height:1.7;margin:8px 0}.contract{font-size:11px;line-height:1.75;margin:8px 0 0}.contract dt{font-weight:650;color:#485a75;margin:10px 0 3px}.contract dd{margin:0;color:var(--muted)}.contract-title{font-size:12px;font-weight:650;margin:13px 0 6px}.detail-source-links{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;margin:11px 0 0}.detail-source-links a{text-decoration:none}.family-note{background:#f7f9fc;border:1px solid var(--line);border-radius:3px;padding:11px 14px;font-size:11px;margin:0 0 22px}.family-note h2{font-size:12px;margin:0 0 3px}.family-note p{margin:0;color:var(--muted)}.empty-state{padding:25px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.empty-state h2{font-size:15px;color:var(--ink);font-weight:600;margin:0 0 7px}.empty-state p{margin:0}.quiet-button{border:1px solid #cbd5e2;background:#fff;color:var(--navy);border-radius:3px;padding:7px 14px;font-size:11px}.quiet-button:hover{background:#f3f6fa}.module-toggle{display:none}.pagination{text-align:center;margin:22px 0 10px}.contents-panel{position:sticky;top:60px;max-height:calc(100dvh - 60px);overflow:auto;padding-top:28px;scrollbar-width:thin}.contents-panel nav{border-left:1px solid var(--line);padding-left:12px}.contents-panel button{display:block;border:0;background:transparent;color:#6b778a;font:10px/1.7 var(--mono);overflow-wrap:anywhere;text-align:left;width:100%;padding:5px 0}.contents-panel button:hover{color:var(--navy)}.reference-help{font-size:10px;color:#8490a0;line-height:1.8;margin-top:24px;padding-top:13px;border-top:1px solid var(--line)}.reference-help p{margin:0 0 10px}.reference-help kbd{font:9px var(--mono);padding:1px 4px;background:#f1f4f8;border:1px solid #e0e6ee;border-radius:2px;color:#69798f}.key-divider{padding:0 5px}.error-message{padding:14px;border:1px solid #b37f77;background:#fff8f6;color:#7b4038;font-size:12px}.loading-label{font-size:11px;color:#8b95a5}.tok-keyword{color:#6b418b}.tok-type{color:#286581}.tok-operator{color:#6a7590}.tok-number{color:#916234}.tok-string{color:#576d3a}.tok-comment{color:#88937c;font-style:italic}
@media(max-width:1300px){.api-layout{grid-template-columns:220px minmax(0,1fr);gap:28px;max-width:1220px}.contents-panel{display:none}.site-footer{margin-left:28px;margin-right:28px}.document-layout{gap:40px}}
@media(max-width:930px){.topbar-inner{padding:0 20px;gap:13px}.primary-nav{gap:17px;font-size:11px}.preview-label{font-size:9px}.api-layout{padding:0 20px;grid-template-columns:195px minmax(0,1fr);gap:23px}.module-panel{padding-right:10px}.module-tree{font-size:12px}.document-layout{padding:30px 25px;grid-template-columns:minmax(0,1fr) 150px;gap:25px}.site-footer{margin-left:20px;margin-right:20px;gap:14px;font-size:9px}.site-footer nav{gap:13px}.signature{font-size:12px}.decl-header h3{font-size:12px}}
@media(max-width:740px){.topbar{height:auto;min-height:56px}.topbar-inner{min-height:56px;flex-wrap:wrap;padding:0 18px;gap:0 12px}.brand{font-size:17px}.brand-mark{font-size:22px}.preview-label{font-size:9px;padding:1px 5px}.nav-toggle{display:block;margin-left:auto;border:1px solid #d3dce7;border-radius:3px;background:white;color:#53657e;font-size:10px;padding:4px 8px}.primary-nav{display:none;flex-basis:100%;margin:0;height:auto;gap:0;flex-wrap:wrap;border-top:1px solid var(--line);padding:6px 0 9px}.primary-nav.open{display:flex}.primary-nav a{height:auto;display:block;font-size:11px;padding:6px 10px;border:0}.primary-nav a[aria-current=page]{background:var(--soft);border-radius:3px}.document-layout{display:block;padding:28px 20px 10px}.document-toc{display:none}.document-main h1,.overview .document-main h1{font-size:27px}.document-lead,.overview .document-main .document-lead{font-size:14px;line-height:1.75}.document-main h2{font-size:18px}.document-main{font-size:13px}.document-header{margin-bottom:25px}.document-section{margin-bottom:27px}.document-section:not(:first-child){padding-top:19px}.document-main table{font-size:11px}.document-main td:first-child{white-space:normal}.document-main th,.document-main td{padding:8px 9px;min-width:95px}.document-main pre{font-size:11px;padding:11px 12px}.section-links{font-size:11px;gap:7px 15px}.api-layout{display:block;padding:0 18px}.module-panel{display:none;position:static;max-height:330px;margin:19px 0 0;padding:13px 10px 16px;border:1px solid var(--line);background:#fbfcfd;border-radius:3px}.module-panel.open{display:block}.module-panel .panel-note{margin-bottom:10px}.module-panel-footer{display:none}.module-tree{font-size:12px}.module-toggle{display:block}.api-main{padding-top:24px}.api-header h1{font-size:25px}.api-scope{font-size:10px;margin:10px 0 17px}.api-search{min-height:39px}.api-search input{font-size:11px}.filter-bar{gap:6px;margin-bottom:16px;flex-wrap:wrap}.filter-bar select{font-size:9px;max-width:45%;height:28px;padding:4px 18px 4px 6px}.filter-bar select#family{max-width:none}.filter-bar .text-button{font-size:9px}.result-meta{font-size:9px;gap:10px;margin-bottom:20px}.module-heading h2{font-size:11px}.decl-header{gap:7px}.decl-kind{font-size:9px}.decl-header h3{font-size:11px}.decl-summary{font-size:10px}.signature{font-size:12px;line-height:1.8;padding:9px 10px}.decl-actions{font-size:11px;gap:5px 12px}.decl-actions button{font-size:9px}.declaration{padding:14px 0}.declaration.is-target{padding-left:9px;margin-left:-11px}.detail-content{padding:10px 11px}.contract{font-size:10px}.explicit-type{font-size:9px;max-height:360px}.contents-panel{display:none}.site-footer{margin:30px 18px 0;padding:16px 0 22px;align-items:flex-start;flex-wrap:wrap;font-size:9px;gap:9px 17px}.site-footer nav{margin:0;flex-basis:100%;gap:16px}.site-footer code{font-size:9px}.footer-divider{padding:0 5px}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .12s,color .12s}}

.module-import{font-size:11px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:13px 0 0;color:#536782}.module-import code{font:11px var(--mono);overflow-wrap:anywhere}.module-import button{font-size:10px}.code-caption{font-size:11px;color:#7a879a;margin:12px 0 -5px!important;font-style:italic}.api-header>div{min-width:0}

@media(max-width:620px){.filter-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}.filter-bar select{max-width:none;width:100%;font-size:11px;height:31px}.filter-bar select#family{grid-column:1/-1;grid-row:1}.filter-bar select#category{grid-column:1;grid-row:2}.filter-bar select#kind{grid-column:2;grid-row:2}.filter-bar #reset{grid-column:3;grid-row:2;justify-self:end;font-size:11px;padding:5px 0 5px 7px}}
