/*
 * Primary sidebar + in-page table of contents (Material).
 */

/* -------------------------------------------------------------------------- */
/* Section headers (TOC title, nested group title, top-level section toggles) */
/* -------------------------------------------------------------------------- */

.md-sidebar--primary .md-nav--primary .md-nav__title:not([for="__drawer"]),
.md-sidebar--secondary .md-nav__title,
.md-sidebar--primary .md-nav--primary[data-md-level="0"] > .md-nav__list > .md-nav__item > label.md-nav__link {
  color: #8a8a89;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* -------------------------------------------------------------------------- */
/* Nav links (primary sidebar — not TOC)                                      */
/* -------------------------------------------------------------------------- */

.md-sidebar--primary .md-nav--primary .md-nav__list:not([data-md-component="toc"]) a.md-nav__link {
  align-items: center;
  display: flex;
  gap: 0.4rem;
  height: 37px;
  margin-top: 0.625em;
  padding: 0 12px;
  scroll-snap-align: start;
  transition: color 125ms;
}

@media screen and (max-width: 59.984375em) {
  .md-sidebar--primary .md-nav--primary .md-nav__link[for="__toc"] {
    align-items: center;
    display: flex;
    gap: 0.4rem;
    height: 37px;
    margin-top: 0.625em;
    padding: 0 12px;
    scroll-snap-align: start;
    transition: color 125ms;
  }
}

@media screen and (min-width: 60em) {
  .md-sidebar--primary .md-nav--primary .md-nav__link[for="__toc"] {
    display: none;
  }
}

/* -------------------------------------------------------------------------- */
/* Active page row (anchor only — not TOC scroll-spy links)                   */
/* -------------------------------------------------------------------------- */

.md-sidebar--primary .md-nav--primary .md-nav__item--active > a.md-nav__link.md-nav__link--active {
  background-color: var(--tv-purple-accent);
  border-radius: 8px;
  box-shadow: none;
  color: var(--tv-purple-700);
  font-weight: 600;
}

.md-sidebar--primary .md-nav--primary .md-nav__item--active > a.md-nav__link.md-nav__link--active code {
  color: var(--tv-purple-700);
}

@media screen and (max-width: 59.984375em) {
  .md-sidebar--primary .md-nav--primary .md-nav__item--active > .md-nav__link[for="__toc"].md-nav__link--active {
    background-color: var(--tv-purple-accent);
    border-radius: 8px;
    box-shadow: none;
    color: var(--tv-purple-700);
    font-weight: 600;
  }
}

/* -------------------------------------------------------------------------- */
/* Table of contents (left nested TOC + right sidebar on desktop)             */
/* -------------------------------------------------------------------------- */

.md-sidebar--primary .md-nav--secondary,
.md-sidebar--secondary .md-nav--secondary {
  border-left: none;
  margin-left: 0;
}

/* data-md-component="toc" = TOC only (primary nested + md-sidebar--secondary) */
.md-nav__list[data-md-component="toc"] .md-nav__item > a.md-nav__link {
  background: none;
  border-left: 3px solid transparent;
  border-radius: 0;
  box-shadow: none;
  color: #8a8a89;
  font-weight: 400;
  height: auto;
  margin-top: 0.35em;
  min-height: 1.25rem;
  padding: 0.2rem 0 0.2rem 0.75rem;
  transition: color 125ms, border-color 125ms, font-weight 125ms;
  align-items: center;
  font-size: 14px;
}

.md-nav__list[data-md-component="toc"] .md-nav__item > a.md-nav__link--active {
  border-left-color: var(--tv-purple-700);
  color: var(--tv-purple-700);
  font-weight: 600;
}

/* Passed only — current section also has --active; don’t override active styles */
.md-nav__list[data-md-component="toc"] .md-nav__item > a.md-nav__link--passed:not(.md-nav__link--active) {
  color: #8a8a89;
  font-weight: 400;
}

.md-nav__list[data-md-component="toc"] .md-nav__item > a.md-nav__link:focus,
.md-nav__list[data-md-component="toc"] .md-nav__item > a.md-nav__link:hover {
  color: #3c3c3b;
}

.md-nav__list[data-md-component="toc"] .md-nav__item > a.md-nav__link--active:focus,
.md-nav__list[data-md-component="toc"] .md-nav__item > a.md-nav__link--active:hover {
  color: var(--tv-purple-600);
}

/* -------------------------------------------------------------------------- */
/* Dark palette                                                                 */
/* -------------------------------------------------------------------------- */

[data-md-color-scheme="slate"] .md-sidebar--primary .md-nav--primary .md-nav__title:not([for="__drawer"]),
[data-md-color-scheme="slate"] .md-sidebar--secondary .md-nav__title,
[data-md-color-scheme="slate"]
  .md-sidebar--primary
  .md-nav--primary[data-md-level="0"]
  > .md-nav__list
  > .md-nav__item
  > label.md-nav__link {
  color: var(--md-default-fg-color--light);
}

[data-md-color-scheme="slate"]
  .md-sidebar--primary
  .md-nav--primary
  .md-nav__item--active
  > a.md-nav__link.md-nav__link--active {
  background-color: rgba(100, 21, 191, 0.22);
  color: var(--tv-purple-accent);
}

[data-md-color-scheme="slate"]
  .md-sidebar--primary
  .md-nav--primary
  .md-nav__item--active
  > a.md-nav__link.md-nav__link--active
  code {
  color: var(--tv-purple-accent);
}

[data-md-color-scheme="slate"] .md-nav__list[data-md-component="toc"] .md-nav__item > a.md-nav__link {
  color: var(--md-default-fg-color--light);
}

[data-md-color-scheme="slate"] .md-nav__list[data-md-component="toc"] .md-nav__item > a.md-nav__link--active {
  border-left-color: var(--tv-purple-muted);
  color: var(--tv-purple-accent);
}

[data-md-color-scheme="slate"] .md-nav__list[data-md-component="toc"] .md-nav__item > a.md-nav__link--active:focus,
[data-md-color-scheme="slate"] .md-nav__list[data-md-component="toc"] .md-nav__item > a.md-nav__link--active:hover {
  color: #f1ebff;
}
