@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--ink:#202122;--muted:#54595d;--border:#a2a9b1;--light:#eaecf0;--link:#202122;--sans:'IBM Plex Sans',Arial,sans-serif;--serif:'IBM Plex Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6}a{color:var(--link);text-decoration:underline;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit;color:inherit}.visually-hidden,.skip-link{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:focus{clip:auto;width:auto;height:auto;left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:100}.site-header{min-height:74px;display:flex;align-items:center;gap:30px;padding:14px max(24px,calc((100vw - 1500px)/2));border-bottom:1px solid var(--light)}.brand{font:600 22px/1.1 var(--serif);letter-spacing:-.015em;text-decoration:none;white-space:nowrap}.search-form{display:flex;height:38px;width:min(460px,55vw);margin-left:20px}.search-form input{width:100%;min-width:0;border:1px solid var(--border);border-right:0;background:#fff;padding:0 11px;outline-offset:0}.search-form input:focus{outline:2px solid #555;outline-offset:-2px}.search-form button,.export-controls button{background:#f8f9fa;border:1px solid var(--border);font-weight:600;padding:0 16px;cursor:pointer}.search-form button:hover,.export-controls button:hover{background:#eaecf0}.menu-button{display:none;border:0;background:none;font-size:20px;cursor:pointer}.site-shell{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:235px minmax(0,1fr);gap:35px;padding:28px 24px 70px}.sidebar{position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px);overflow:auto;scrollbar-width:thin}.sidebar-heading{font-weight:600;font-size:14px;padding:0 0 8px;border-bottom:1px solid var(--border);margin-bottom:8px}.nav-node{margin:0}.nav-row{display:flex;align-items:flex-start}.nav-toggle{flex:none;width:22px;height:26px;border:0;background:none;padding:0;cursor:pointer;position:relative}.nav-toggle::before{content:'';position:absolute;left:8px;top:9px;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent #54595d;transition:transform .1s}.nav-node.open>.nav-row>.nav-toggle::before{transform:rotate(90deg)}.nav-toggle:hover::before{border-left-color:#202122}.nav-spacer{flex:none;width:22px}.nav-link{flex:1;min-width:0;font-size:12px;line-height:1.35;padding:5px 0;text-decoration:none}.nav-link:hover{text-decoration:underline}.nav-link.current{font-weight:600;text-decoration:underline}.depth-0>.nav-row>.nav-link,.kind-chapter .kind-group>.nav-row>.nav-link{font-weight:600;font-size:13px;padding:6px 0}.nav-kids{margin:0 0 4px 10px;border-left:1px solid #c8ccd1}.depth-0>.nav-kids{margin-bottom:8px}main{min-width:0;max-width:1100px;width:100%}.page-tabs{border-bottom:1px solid var(--border);display:flex;gap:22px;align-items:center;margin-bottom:24px;height:37px;font-size:13px}.page-tabs a{text-decoration:none;padding:9px 0 8px}.page-tabs a.active{border-bottom:2px solid #202122;font-weight:600}.page-tabs a:hover{text-decoration:underline}.content-body{max-width:1030px}.page-title{font:400 clamp(30px,3.2vw,40px)/1.2 var(--serif);letter-spacing:-.02em;margin:0 0 18px;padding-bottom:8px;border-bottom:1px solid var(--border)}.breadcrumbs{font-size:12px;margin-bottom:14px;color:var(--muted)}.breadcrumbs a{color:var(--muted)}.breadcrumbs span{margin:0 7px}.home-index{columns:2;column-gap:50px;padding:0 0 10px}.home-index h2{font:600 18px/1.3 var(--serif);margin:0 0 8px}.home-index h3{font:600 15px/1.3 var(--serif);margin:12px 0 4px}.home-index section{break-inside:avoid;margin:0 0 23px}.home-index ul{padding-left:19px;margin:0}.home-index li{margin:3px 0}.group-list ul{margin:0;padding-left:24px}.group-list li{margin:7px 0}.group-list>ul{padding-left:20px}.status{font-size:11px;color:var(--muted);font-weight:400}.status::before{content:' · '}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;column-gap:45px;row-gap:0}.article-main{min-width:0}.article-header{margin-bottom:18px}.article-meta{font-size:12px;color:var(--muted)}.article-intro{font-size:13px;color:var(--muted)}.article-body{font-size:15px;line-height:1.75;overflow-wrap:break-word}.article-body p{margin:.8em 0}.article-body h2,.references h2,.subpages h2,.method-body h2{font:400 25px/1.25 var(--serif);border-bottom:1px solid var(--border);margin:1.3em 0 .5em;padding-bottom:.15em;scroll-margin-top:20px}.article-body h3{font:600 19px/1.3 var(--serif);margin:1.3em 0 .5em;scroll-margin-top:20px}.article-body ul,.article-body ol{padding-left:1.7em}.article-body li{margin:.35em 0}.article-body .prose-item{list-style:none;margin-left:-1.7em;margin-bottom:1em}.article-body .prose-item>p{margin:.35em 0}.article-body math[display=block]{overflow:auto;max-width:100%;padding:.75em 0}.citation{font-size:11px;vertical-align:super;line-height:0}.citation a{color:var(--link);text-decoration:none}.citation a:hover{text-decoration:underline}.citation-needed{font-size:11px;color:#555}.table-scroll{overflow:auto;max-width:100%;margin:20px 0}.article-body table{border-collapse:collapse;font-size:12px;min-width:500px}.article-body th,.article-body td{border:1px solid #a2a9b1;padding:8px;text-align:left;vertical-align:top}.article-body th{background:#eaecf0}.article-aside{position:sticky;top:20px;align-self:start;max-height:90vh;overflow:auto;font-size:12px}.aside-title{font-weight:600;border-bottom:1px solid var(--border);padding-bottom:6px}.toc a{display:block;padding:4px 0;line-height:1.4;text-decoration:none}.toc a:hover{text-decoration:underline}.toc-sub{padding-left:12px!important}.references,.subpages{margin-top:35px}.reference{display:grid;grid-template-columns:35px minmax(0,1fr);gap:2px;padding:5px 0;font-size:13px}.reference small{display:none}.subpage-link{display:block;margin:5px 0}.subpage-link small{color:var(--muted);font-size:11px;margin-left:7px}.empty-page{color:var(--muted);font-size:13px}.export-controls{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:18px 0}.export-controls label{display:block;font-weight:600;font-size:13px}.export-controls select{display:block;max-width:min(100%,500px);width:500px;padding:7px;border:1px solid var(--border);background:white}.export-controls button{min-height:38px}.export-status{font-size:13px;color:var(--muted);min-height:1.6em}.results-count{color:var(--muted);font-size:13px}.search-result{padding:15px 0;border-bottom:1px solid var(--light)}.search-result h2{font:600 19px var(--serif);margin:0 0 2px}.search-result .result-group{color:var(--muted);font-size:12px}.search-result p{margin:3px 0 0;font-size:13px}.site-footer{max-width:1500px;border-top:1px solid var(--light);margin:0 auto;padding:20px 24px 40px;color:var(--muted);font-size:11px}.mobile-scrim{position:fixed;inset:0;background:#0007;z-index:9}.loading{color:var(--muted)}@media(max-width:1100px){.article-layout{grid-template-columns:minmax(0,1fr)}.article-aside{display:none}}@media(max-width:720px){.site-header{padding:12px 16px;gap:12px;flex-wrap:wrap}.menu-button{display:block}.brand{font-size:20px}.search-form{order:2;flex-basis:100%;width:100%;margin:0}.site-shell{display:block;padding:20px 16px 45px}.sidebar{position:fixed;z-index:10;left:0;top:0;background:#fff;height:100vh;max-height:none;width:min(300px,85vw);padding:18px;transform:translateX(-100%);transition:transform .15s;box-shadow:0 0 10px #0003}.sidebar.open{transform:translateX(0)}.home-index{columns:1}.page-tabs{margin-bottom:20px}.article-body{font-size:15px}.paper-figure{width:100%}.export-controls select{width:min(100%,500px)}.site-footer{padding:15px 16px 30px}}@media print{.site-header,.sidebar,.page-tabs,.site-footer,.article-aside,.breadcrumbs,.export-controls{display:none!important}.site-shell{display:block;padding:0}.article-layout{display:block}.paper-figure{break-inside:avoid}a{color:#000}}
/* Indentation in the source denotes an expandable section hierarchy. */
.atlas-subsection{margin:1.15em 0}.atlas-subsection>summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:.45em;border-bottom:1px solid #a2a9b1}.atlas-subsection>summary::-webkit-details-marker{display:none}.atlas-subsection>summary:before{content:'▸';font:12px/1 var(--sans);flex:none}.atlas-subsection[open]>summary:before{content:'▾'}.article-body .atlas-subsection>summary h2,.article-body .atlas-subsection>summary h3{display:inline;border:0;padding:0;margin:0;font:400 23px/1.3 var(--serif)}.article-body .atlas-subsection .atlas-subsection>summary h2,.article-body .atlas-subsection .atlas-subsection>summary h3{font-size:18px;font-weight:600}.atlas-subsection .manuscript-children{padding-left:.75em}.manuscript-paragraph p{margin:.8em 0}.missing-authors{color:#54595d}.source-quote{color:#54595d}

/* chapters, hatnotes, cross-references, generated tables */
.chapter-number{display:inline-block;min-width:1.5em;color:var(--muted);font-weight:400}
.lead{color:var(--muted);font-size:15px;max-width:720px;margin:0 0 22px}
.group-summary{margin:0 0 26px}.group-summary h2{font:600 19px/1.3 var(--serif);margin:0 0 3px}.group-summary p{margin:0 0 6px;color:var(--muted);font-size:13px}
.group-summary ul{margin:0;padding-left:19px}.group-summary li{margin:3px 0}
.hatnote{font-style:italic;font-size:13px;color:var(--muted);padding:3px 0 3px 1.4em;margin:.2em 0 .5em}.hatnote a{color:var(--ink)}
.see-also{margin-top:35px}.see-also h2{font:400 25px/1.25 var(--serif);border-bottom:1px solid var(--border);margin:0 0 .5em;padding-bottom:.15em}
.see-also ul{margin:0;padding-left:20px}.see-also li{margin:6px 0}.see-also small{display:block;color:var(--muted);font-size:12px}
.domain-trail{font-size:13px;border:1px solid #c8ccd1;background:#f8f9fa;padding:7px 12px;margin:0 0 20px}.domain-trail>span{color:var(--muted);margin-right:6px}
.map-note{color:var(--muted);font-size:13px;max-width:760px}
.domain-grid{border-collapse:collapse;font-size:12px;width:100%;min-width:640px}.domain-grid th,.domain-grid td{border:1px solid #a2a9b1;padding:6px;vertical-align:top;text-align:left}
.domain-grid thead th{background:#eaecf0;font-weight:600;font-size:11px;line-height:1.3}.domain-grid tbody th{background:#f8f9fa;font-weight:600;font-size:11px;line-height:1.3}.domain-grid .all-domains{text-align:center;background:#fafafa}
.domain-grid td a,.domain-grid th a{text-decoration:none;display:block}.domain-grid td a:hover,.domain-grid th a:hover{text-decoration:underline}
.article-body .cell-link{display:block;color:inherit;text-decoration:underline dotted #8a9099;text-underline-offset:3px}.article-body .cell-link:hover{text-decoration:underline solid}
.export-option{display:flex;align-items:center;gap:6px;font-weight:400!important;min-height:38px}
/* figures: the paper's figure, a caption written for this page, then the original caption in quotes */
.paper-figure{width:min(100%,640px);padding:10px;border:1px solid #c8ccd1;background:#f8f9fa;margin:22px 0}
.paper-figure .figure-image{display:block;background:#fff;text-decoration:none}.paper-figure img{display:block;max-width:100%;max-height:560px;object-fit:contain;margin:auto}
.paper-figure figcaption{font:13px/1.5 var(--sans);padding:10px 2px 1px}.figure-summary{margin:0 0 9px;font-size:14px;line-height:1.5}
.source-caption{margin:0 0 8px;padding:0 0 0 10px;border-left:3px solid #c8ccd1;color:var(--muted);font-size:12px;line-height:1.5}.source-caption p{margin:0}
.paper-figure .credit{margin:0;font-size:11px;color:var(--muted)}
.figure-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin:22px 0}.figure-row .paper-figure{width:100%;min-width:0;margin:0}
@media(max-width:720px){.paper-figure{padding:6px}.figure-row{gap:8px}.figure-row .figure-summary{font-size:12px}.figure-row .source-caption{font-size:10px}.figure-row .credit{font-size:9px}}

/* home overview figure */
.content-body:has(>.home-figure){max-width:1100px}.home-figure{margin:0 0 30px;padding:0;width:100%}.home-figure-full{display:block;margin:8px 2px 0;font-size:12px;color:var(--muted)}.home-figure svg{display:block;width:100%;height:auto;border-radius:10px;background:#0b141c}
.home-figure a,.home-figure text{text-decoration:none}.home-figure .hf-link{cursor:pointer}.home-figure .hf-link:hover rect,.home-figure .hf-link:focus rect{stroke:#cfe9e4;stroke-opacity:.45}.home-figure .hf-link:hover{opacity:.88}.home-figure .hf-link:focus{outline:none}.home-figure .hf-link:focus-visible{outline:2px solid #202122}
@media(max-width:720px){.home-figure{overflow-x:auto;-webkit-overflow-scrolling:touch}.home-figure svg{min-width:960px}}
.uc-tag{display:inline-block;margin-left:6px;padding:0 6px;border:1px solid #c9a227;border-radius:9px;background:#fbf4dc;color:#7a5d00;font:500 10px/16px var(--sans);vertical-align:1px;white-space:nowrap}h2 .uc-tag,h3 .uc-tag{font-size:11px}
.uc-note{margin:0 0 18px;padding:9px 12px;border-left:3px solid #c9a227;background:#fbf4dc;color:#4a3b00;font-size:13px}
/* Dark mode: the default. html[data-theme] is set before first paint by the inline script in index.html; the header switch flips it. */
.theme-switch{margin-left:auto;display:flex;align-items:center;gap:8px;border:0;background:none;padding:4px 0;cursor:pointer;font-size:13px;color:var(--muted)}.theme-switch .track{position:relative;width:38px;height:22px;border-radius:11px;background:#c8ccd1;transition:background .15s}.theme-switch .track::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.theme-switch[aria-checked=true] .track{background:#4f8f86}.theme-switch[aria-checked=true] .track::after{transform:translateX(16px)}.theme-switch:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
html[data-theme=dark]{color-scheme:dark;--ink:#dfe6e9;--muted:#9aa7ae;--border:#3d4a52;--light:#26323a;--link:#e6edf0;--panel:#141f27;--panel2:#1b2832}
html[data-theme=dark] body{background:#0e161c}
html[data-theme=dark] .skip-link:focus,html[data-theme=dark] .search-form input,html[data-theme=dark] .export-controls select{background:#0b1217}
html[data-theme=dark] .search-form input:focus{outline-color:#9aa7ae}
html[data-theme=dark] .search-form button,html[data-theme=dark] .export-controls button,html[data-theme=dark] .domain-trail,html[data-theme=dark] .domain-grid tbody th,html[data-theme=dark] .paper-figure{background:var(--panel)}
html[data-theme=dark] .search-form button:hover,html[data-theme=dark] .export-controls button:hover,html[data-theme=dark] .article-body th,html[data-theme=dark] .domain-grid thead th{background:var(--panel2)}
html[data-theme=dark] .domain-grid .all-domains{background:#111b22}
html[data-theme=dark] .nav-toggle::before{border-left-color:#9aa7ae}html[data-theme=dark] .nav-toggle:hover::before{border-left-color:#fff}
html[data-theme=dark] .nav-kids,html[data-theme=dark] .domain-trail,html[data-theme=dark] .paper-figure,html[data-theme=dark] .source-caption{border-color:var(--border)}
html[data-theme=dark] .article-body th,html[data-theme=dark] .article-body td,html[data-theme=dark] .domain-grid th,html[data-theme=dark] .domain-grid td,html[data-theme=dark] .atlas-subsection>summary{border-color:var(--border)}
html[data-theme=dark] .page-tabs a.active{border-bottom-color:var(--ink)}
html[data-theme=dark] .citation-needed,html[data-theme=dark] .missing-authors,html[data-theme=dark] .source-quote{color:var(--muted)}
html[data-theme=dark] .paper-figure .figure-image{background:#fff;border-radius:2px}
html[data-theme=dark] .home-figure .hf-link:focus-visible{outline-color:#fff}
html[data-theme=dark] .uc-tag{background:#3a3010;border-color:#8a7020;color:#f0d77a}
html[data-theme=dark] .uc-note{background:#2a2310;color:#f0dfa6}
@media(max-width:720px){html[data-theme=dark] .sidebar{background:#0e161c}.theme-switch .label{display:none}}
.home-figure-credit{margin:4px 2px 0;font-size:11px;line-height:1.5;color:var(--muted)}.home-figure-credit a{color:var(--muted)}
.home-intro{font-size:16px;line-height:1.65;margin:0 0 24px;max-width:860px}
/* larger contents and tabs */.sidebar-heading{font-size:17px}.nav-link{font-size:14px}.depth-0>.nav-row>.nav-link,.kind-chapter .kind-group>.nav-row>.nav-link{font-size:15.5px}.nav-toggle{height:30px}.nav-toggle::before{top:11px}.page-tabs{font-size:15.5px;height:42px}.page-tabs a{padding:10px 0 9px}
.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:44px;height:44px;flex:none}@media(max-width:720px){.brand-logo{width:32px;height:32px}}
.site-footer{font-size:13px}.site-footer a{color:var(--muted)}
