/* [vd-split] table-of-contents — extracted verbatim from videos/css/video.css. Tokens (--vd-*) come from .vd in video.css. */
/* table of contents (chapters) — sticky nav inside the rail; <details> so it
   stays collapsible on mobile and open on desktop */
.vd-toc { background: #fff; border: 1px solid var(--vd-line); border-radius: var(--vd-radius); box-shadow: var(--vd-shadow); padding: 14px 16px; }
.vd-toc-title { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 800; font-size: 14px; color: var(--vd-ink); cursor: pointer; list-style: none; }
.vd-toc-title::-webkit-details-marker { display: none; }
.vd-toc-title .vd-icon { font-size: 18px; color: var(--vd-icon); }
.vd-toc-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 2px; }
.vd-toc-list a { display: flex; gap: 10px; align-items: baseline; padding: 7px 8px; border-radius: 8px; text-decoration: none; color: var(--vd-body); transition: background-color .12s ease, color .12s ease; }
.vd-toc-list a:hover { background: var(--vd-bg-soft); color: var(--vd-primary-dark); }
.vd-toc-list a.is-current { background: var(--vd-chip-bg); color: var(--vd-primary-dark); }
.vd-toc-t { flex: 0 0 auto; font-variant-numeric: tabular-nums; font-weight: 700; font-size: 12.5px; color: var(--vd-muted); min-width: 38px; }
.vd-toc-list a.is-current .vd-toc-t { color: var(--vd-primary); }
.vd-toc-x { font-size: 14px; line-height: 1.35; }
