/* One component: floating chapter links or an article sidebar; compact mobile disclosure. */
.gz-toc[hidden]{display:none}
.gz-toc{min-width:0}
.gz-toc nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;line-height:1.45}
.gz-toc nav a:is(:hover,[aria-current="location"]){text-decoration:underline;text-decoration-color:var(--color-primary);text-underline-offset:6px}
.gz-toc nav a[aria-current="location"]{color:var(--color-black);font-weight:500}
.gz-toc-mobile{display:none}
.gz-toc-inline{border-bottom:1px solid var(--gz-card-border);background:var(--color-white)}
.gz-toc-inline .gz-toc-desktop nav{display:flex;gap:clamp(18px,3vw,48px);overflow-x:auto;scrollbar-width:thin;padding-block:4px}
.gz-toc-inline nav a{flex:0 0 auto;max-width:250px;min-height:56px;font-size:13px}
.gz-toc-sidebar{align-self:start;position:sticky;top:110px}
.gz-toc-sidebar .gz-toc-desktop>p{margin:0 0 12px;font-size:12px;color:var(--gz-muted);line-height:1.6}
.gz-toc-sidebar nav{display:grid}
.gz-toc-sidebar nav a{font-size:14px;padding-block:7px;border-bottom:1px solid var(--gz-card-border)}
@media(max-height:600px){.gz-toc-sidebar{position:static}}
@media(max-width:840px){
  .gz-toc-sidebar{position:static}
  .gz-toc-desktop{display:none}
  .gz-toc-mobile{display:block}
  .gz-toc-mobile summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:52px;padding-block:12px;font-size:14px;list-style:none}
  .gz-toc-mobile summary::-webkit-details-marker{display:none}
  .gz-toc-mobile summary::after{content:'+';font-size:22px;font-weight:400}
  .gz-toc-mobile[open] summary::after{content:'−'}
  .gz-toc-mobile nav{display:grid;padding-bottom:12px}
  .gz-toc-mobile nav a{max-width:none;min-height:44px;font-size:14px;padding-block:10px;border-bottom:1px solid var(--gz-card-border);overflow-wrap:anywhere}
  .gz-toc-mobile nav a:last-child{border-bottom:0}
  .gz-toc-sidebar .gz-toc-mobile{border-bottom:1px solid var(--gz-card-border)}
}

/* The chapter background continues beneath the transparent floating navigation. */
.gz-toc-floating{border-bottom:1px solid var(--gz-card-border)}
@media(min-width:1280px){
  .gz-toc-chapters>section{padding-left:184px}
  .gz-toc-floating{position:fixed;left:18px;top:50%;transform:translateY(-50%);width:166px;max-height:calc(100svh - 160px);overflow-y:auto;overscroll-behavior:contain;border:0;background:transparent;z-index:40;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s;scrollbar-width:none}
  .gz-toc-floating.is-visible{opacity:1;visibility:visible;pointer-events:auto}
  .gz-toc-floating .gz-toc-inner{width:100%;padding:8px 0;margin:0}
  .gz-toc-floating .gz-toc-desktop{display:block}
  .gz-toc-floating .gz-toc-mobile{display:none}
  .gz-toc-floating nav{display:grid;gap:2px}
  .gz-toc-floating nav a{display:grid;grid-template-columns:16px minmax(0,1fr);gap:9px;align-items:center;min-height:48px;padding:5px 3px;color:var(--color-black-50a);font-size:12px;font-weight:400;line-height:1.35;text-decoration:none;text-shadow:0 1px 5px var(--color-white-75a);transition:font-size .2s,color .2s}
  .gz-toc-floating nav a::before{content:'';display:block;width:7px;height:1px;background:currentColor;box-shadow:0 1px 5px var(--color-white-75a);transition:width .2s,height .2s}
  .gz-toc-floating nav a:is(:hover,:focus-visible){color:var(--gz-body);text-decoration:none}
  .gz-toc-floating nav a[aria-current="location"]{color:var(--color-gray-superdark);font-size:16px;font-weight:500;text-decoration:none}
  .gz-toc-floating nav a[aria-current="location"]::before{width:16px;height:2px}
  .gz-toc-floating nav a:focus-visible{outline-offset:0}
  .gz-toc-floating nav a.is-on-dark{color:var(--color-white-75a);text-shadow:0 1px 5px var(--color-black-75a)}
  .gz-toc-floating nav a.is-on-dark:is(:hover,:focus-visible,[aria-current="location"]){color:var(--color-white)}
  .gz-toc-floating nav a.is-on-dark::before{box-shadow:0 1px 5px var(--color-black-75a)}
  body.gz-menu-open .gz-toc-floating{visibility:hidden;pointer-events:none}
}
@media(max-width:1279px){
  .gz-toc-floating{position:sticky;top:var(--gz-toc-offset,0px);z-index:45;background:var(--color-white);transition:top .24s ease-out}
  body:has(.gz-header:not(.is-scroll-hidden)) .gz-toc-floating{--gz-toc-offset:var(--gz-toc-header-height,94px)}
  .gz-toc-floating .gz-toc-desktop{display:none}
  .gz-toc-floating .gz-toc-mobile{display:block}
  .gz-toc-floating summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:52px;padding-block:12px;font-size:14px;list-style:none}
  .gz-toc-floating summary::-webkit-details-marker{display:none}
  .gz-toc-floating summary::after{content:'+';font-size:22px;font-weight:400}
  .gz-toc-floating details[open] summary::after{content:'−'}
  .gz-toc-floating nav{display:grid;padding-bottom:12px}
  .gz-toc-floating details[open] nav{max-height:calc(100svh - var(--gz-toc-offset,0px) - 68px);overflow:auto;overscroll-behavior:contain}
  .gz-toc-floating nav a{min-height:44px;padding-block:10px;font-size:14px;border-bottom:1px solid var(--gz-card-border)}
  .gz-toc-floating nav a:last-child{border-bottom:0}
}
@media(max-width:840px){
  .gz-toc-sidebar{position:sticky;top:var(--gz-toc-offset,0px);z-index:45;background:var(--color-white);transition:top .24s ease-out}
  body:has(.gz-header:not(.is-scroll-hidden)) .gz-toc-sidebar{--gz-toc-offset:var(--gz-toc-header-height,78px)}
  .gz-toc-sidebar details[open] nav{max-height:calc(100svh - var(--gz-toc-offset,0px) - 68px);overflow:auto;overscroll-behavior:contain}
}
@media(prefers-reduced-motion:reduce){
  .gz-toc-floating,.gz-toc-sidebar,.gz-toc-floating nav a,.gz-toc-floating nav a::before{transition:none}
}
