/* Persistent document navigation; the page keeps one vertical scroll surface. */
:root{--sidebar-width:176px}
body{padding-left:var(--sidebar-width)}
main{width:calc(100% - 64px);max-width:1240px;margin-inline:auto}
.site-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);z-index:30;padding:27px 17px;background:#fafbfe;border-right:1px solid var(--border);overflow-y:auto}
.sidebar-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}
.site-sidebar .wordmark{gap:7px;font-size:19px;letter-spacing:-.6px}
.site-sidebar .project-logo{width:37px}
.page-navigation{display:block;font-size:12px;line-height:1.5}
.page-navigation ul{list-style:none;margin:0;padding:0}
.page-navigation>ul{display:grid;gap:5px}
.page-navigation a{display:block;padding:9px 12px;border-radius:7px;color:#65718a;transition:color .15s,background .15s}
.page-navigation a:hover{background:#eef1f8;color:var(--ink)}
.page-navigation a[aria-current=location]{color:var(--accent-dark);background:#eceffd;font-weight:600}
.page-navigation ul ul{margin:3px 0 5px 18px;padding-left:7px;border-left:1px solid #dbe1ed}
.page-navigation ul ul a{font-size:11px;padding:8px 10px}
.page-navigation .is-ancestor>a{color:var(--ink)}
.mobile-navigation,.sidebar-close,.navigation-backdrop{display:none}
.authors a{text-decoration:underline;text-decoration-color:#bcc5d5;text-underline-offset:4px;text-decoration-thickness:1px;white-space:nowrap}
.authors a:hover{color:var(--accent);text-decoration-color:currentColor}
.toolbox-credit{margin:3px 0 0;color:#778399;font-size:11px;line-height:1.5;font-weight:400}
.toolbox-credit a{text-decoration:underline;text-decoration-color:#c5cedb;text-underline-offset:3px}
.toolbox-credit a:hover{color:var(--env,#147d77)}
@media(min-width:800px) and (max-width:1050px){
  :root{--sidebar-width:156px}
  .site-sidebar{padding-inline:12px}
  main{width:calc(100% - 40px)}
  .gym-layout{grid-template-columns:168px minmax(0,1fr);gap:16px}
}
@media(max-width:799px){
  html{scroll-padding-top:76px}
  body{padding-left:0;padding-top:56px}
  main{width:calc(100% - 32px)}
  .mobile-navigation{position:fixed;inset:0 0 auto;z-index:25;display:flex;align-items:center;gap:12px;height:56px;padding:0 16px;background:#ffffffed;backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
  .mobile-navigation .wordmark{font-size:17px;gap:6px}
  .mobile-navigation .project-logo{width:31px}
  .mobile-navigation button,.sidebar-close{width:32px;height:32px;display:grid;place-items:center;padding:7px;border-radius:6px;color:#596982}
  .mobile-navigation button:hover,.sidebar-close:hover{background:#eef1f8}
  .site-sidebar{width:224px;padding:20px 17px;transform:translateX(-100%);visibility:hidden;transition:transform .18s,visibility .18s;z-index:40;box-shadow:8px 0 30px #18213812}
  .site-sidebar[data-open=true]{transform:translateX(0);visibility:visible}
  .site-sidebar .sidebar-brand{margin-bottom:27px}
  .page-navigation{font-size:13px}
  .page-navigation ul ul a{font-size:12px}
  .navigation-backdrop[data-open=true]{display:block;position:fixed;inset:0;background:#1821383d;z-index:35;cursor:default}
  body.navigation-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.site-sidebar,.page-navigation a{transition:none}}
