/* ============================================================
   右侧目录 (Table of Contents)
   ============================================================ */

.app-toc {
  padding: 40px 20px 32px;
  font-size: 13px;
}

.toc-title {
  margin: 0 0 12px;
  padding: 0 0 8px 12px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--color-text-muted);
  border-bottom: 1px solid var(--color-border-soft);
}

.toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.toc-item {
  margin: 0;
}

.toc-item a {
  display: block;
  padding: 4px 12px;
  border-left: 2px solid transparent;
  color: var(--color-text-muted);
  line-height: 1.45;
  text-decoration: none;
  transition: color var(--transition-fast),
              border-color var(--transition-fast),
              background-color var(--transition-fast);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 层级缩进 */
.toc-item--h3 a { padding-left: 24px; }
.toc-item--h4 a { padding-left: 36px; }

.toc-item a:hover {
  color: var(--color-text);
  background-color: var(--color-bg-hover);
  text-decoration: none;
}

.toc-item a.active {
  color: var(--color-primary);
  border-left-color: var(--color-primary);
  background-color: var(--color-primary-bg);
  font-weight: 500;
}

/* 无标题时隐藏标题占位 */
.app-toc.toc-empty { visibility: hidden; }
