/* Outline rail. Shared by /about and the /legal documents so the two can never
   drift apart. Page-specific vertical alignment comes in via --toc-offset. */

.atoc { display: none; }

@media (min-width: 1120px) {
  .atoc {
    display: block;
    position: sticky;
    top: 96px;                              /* clears the sticky nav */
    align-self: start;
    padding-top: var(--toc-offset, 0);
    /* Terms has 27 sections, more than fits a viewport, so the rail scrolls
       inside itself rather than pushing the page. */
    max-height: calc(100vh - 128px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
}

.atoc__label {
  margin: 0 0 12px 17px;
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--muted-2);
}
.atoc__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-left: 1px solid var(--line);
}
.atoc__list a {
  display: block;
  margin-left: -1px;
  padding: 7px 0 7px 16px;
  border-left: 2px solid transparent;
  font-size: 13.5px;
  line-height: 1.38;
  letter-spacing: -.01em;
  color: var(--muted);
  transition: color 140ms ease, border-color 140ms ease;
}
.atoc__list a:hover { color: var(--ink); }
.atoc__list a[aria-current] {
  color: var(--ink-deep);
  font-weight: 500;
  border-left-color: var(--accent-700);
}
/* /about only: sections still behind the disclosure read as available */
.atoc__list a.is-locked { color: var(--muted-2); opacity: .62; }
.atoc__list a.is-locked:hover { opacity: 1; color: var(--ink); }

@media (prefers-reduced-motion: reduce) { .atoc__list a { transition: none; } }
