/* Each navigator label follows its own backdrop, including across section edges. */
#pageToc[data-adaptive-contrast] [data-toc-backdrop="dark"] { text-shadow:0 1px 5px #0007; }
#pageToc[data-adaptive-contrast] :is(.pt-card strong, .pt-group, .pt-close) { color:var(--toc-ink,#101114); }
#pageToc[data-adaptive-contrast] :is(.pt-list a, .layout-versions a) { color:var(--toc-muted,#626b75); }
#pageToc[data-adaptive-contrast] .pt-list a:is(.on,:hover,:focus-visible),
#pageToc[data-adaptive-contrast] .layout-versions a:is(:hover,:focus-visible) { color:var(--toc-ink,#101114); }
#pageToc[data-adaptive-contrast] .pt-list a.on::before { background:var(--toc-ink,#101114); z-index:1; }
#pageToc[data-adaptive-contrast] .layout-versions a[aria-current="page"] { background:#e8eef9; color:#1f4eaa; border-color:#c8d5ed; }
#pageToc[data-adaptive-contrast] .layout-versions { border-bottom-color:var(--toc-rule,#cbd0d6); }
#pageToc[data-adaptive-contrast] a:focus-visible { outline-color:currentColor; }
#pageToc .pt-list a:focus:not(:focus-visible) { outline:none; }
#pageToc .pt-list a.on { transition:none; }
/* Mobile active pills follow the selected palette on every public page. */
@media(max-width:650px) {
 body.navy-mode #pageToc .pt-list a.on {
  background:var(--navy,#1f4eaa); border-color:var(--navy,#1f4eaa); color:#fff;
 }
}
/* Divide the vertical rail by row so it can cross light and dark backgrounds. */
#pageToc[data-adaptive-contrast] .pt-list.toc-vertical { border-left-color:transparent; }
#pageToc[data-adaptive-contrast] .pt-list.toc-vertical > a::after {
 content:''; position:absolute; left:-1px; top:0; bottom:0; width:1px;
 background:var(--toc-rule,#cbd0d6); pointer-events:none;
}

/* A label crossing a section edge changes foreground at that exact edge. */
#pageToc[data-adaptive-contrast] [data-toc-split] {
 background-image:linear-gradient(to bottom,var(--toc-top-ink) var(--toc-split),var(--toc-bottom-ink) var(--toc-split));
 background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
#pageToc[data-adaptive-contrast] :is(.pt-list a,.layout-versions a)[data-toc-split] {
 background-image:linear-gradient(to bottom,var(--toc-top-muted) var(--toc-split),var(--toc-bottom-muted) var(--toc-split));
}
#pageToc[data-adaptive-contrast] :is(.pt-list a,.layout-versions a)[data-toc-split]:is(.on,:hover,:focus-visible) {
 background-image:linear-gradient(to bottom,var(--toc-top-ink) var(--toc-split),var(--toc-bottom-ink) var(--toc-split));
}
#pageToc[data-adaptive-contrast] .pt-list.toc-vertical > a[data-toc-split]::after {
 background:linear-gradient(to bottom,var(--toc-top-rule) var(--toc-split),var(--toc-bottom-rule) var(--toc-split));
}
#pageToc[data-adaptive-contrast] .pt-list a.on[data-toc-split]::before {
 background:linear-gradient(to bottom,var(--toc-top-ink) calc(var(--toc-split) - 5px),var(--toc-bottom-ink) calc(var(--toc-split) - 5px));
}

/* Shared footer return control. */
@media(min-width:651px) { #footer .ft-base { padding-right:76px; } }
.site-back-to-top {
  position:fixed; z-index:90; right:max(28px,env(safe-area-inset-right)); bottom:max(28px,env(safe-area-inset-bottom));
  display:grid; place-items:center; width:50px; height:50px; padding:0; border:1px solid #ffffff38; border-radius:50%;
  background:#101114; color:#fff; box-shadow:0 3px 16px #0002; cursor:pointer;
  opacity:0; visibility:hidden; transform:translateY(18px); pointer-events:none;
  transition:opacity .25s ease,transform .3s ease,visibility 0s .3s,background-color .18s ease;
}
@media(max-width:1679px) { .site-back-to-top { z-index:96; } }
@media(max-width:1679px) { .site-back-to-top { bottom:calc(100px + env(safe-area-inset-bottom)); } }
.site-back-to-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; transition-delay:0s; }
body.navy-mode .site-back-to-top { background:var(--navy,#1f4eaa); }
.site-back-to-top svg { display:block; width:23px; height:23px; }
.site-back-to-top:focus-visible { outline:2px solid var(--navy,#1f4eaa); outline-offset:4px; }
body:is(.paper-open,.pdf-open,.menu-open,.search-open) .site-back-to-top { opacity:0; visibility:hidden; pointer-events:none; }
@media(max-width:650px) {
  .site-back-to-top { width:46px; height:46px; right:max(20px,env(safe-area-inset-right)); }
}
@media(prefers-reduced-motion:reduce) { .site-back-to-top { transition:none; transform:none; } }
