.inside-left-sidebar {
  height: 100%;
}

.toc {
  position: sticky;
  padding: 30px 0;
  top: 0;
  overflow-y: auto;
  height: 90vh;
}

.toc_content {
  margin: 0;
  list-style-type: none;
}

.toc a {
  color: var(--contrast);
  display: block;
  position: relative;
  text-wrap: balance;
}

.toc a:hover {
  text-decoration: underline;
}

.toc .item-h2 a {
  font-weight: 500;
  padding: .47em 0;
}

.toc .item-h2.active a {
  color: var(--accent);
}

.toc .item-h3 a {
  border-left: 1px solid var(--light2);
  font-size: .9em;
  padding: .5em 0 .5em 1.25em;
}

.toc .item-h3 a::before {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  position: absolute;
  inset: 0 auto 0 -1px;
  background-color: transparent;
  transition: background-color .05s ease-in;
}

.toc .item-h3.active a {
  color: var(--accent);
  border-left-color: var(--accent);
}

.toc .item-h3.active a::before {
  background-color: currentColor;
}