.toc{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.toc__heading{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-5);color:var(--color-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;list-style:none}.toc__heading::-webkit-details-marker{display:none}.toc__count{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.toc__heading:after{width:8px;height:8px;margin-left:auto;border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);content:"";transform:translateY(-2px) rotate(45deg);transition:transform var(--transition-fast)}.toc[open] .toc__heading:after{transform:translateY(2px) rotate(-135deg)}.toc__body{padding:0 var(--space-3) var(--space-4)}.toc__list{display:flex;flex-direction:column}.toc__list:not([data-depth="0"]){margin:0 0 var(--space-1) 2.4rem}.toc__link{display:flex;align-items:baseline;gap:var(--space-3);min-height:44px;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6;transition:background-color var(--transition-fast),color var(--transition-fast)}.toc__link:hover{background:var(--color-surface-muted);color:var(--color-heading)}.toc__link.is-active{background:var(--color-primary-lighter);color:var(--color-primary-active);font-weight:var(--font-weight-bold)}.toc__index{flex-shrink:0;min-width:1.6rem;color:var(--color-text-muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-bold);letter-spacing:.04em}.toc__link.is-active .toc__index{color:var(--color-primary)}.toc__text{min-width:0}.toc--static{border:0;background:transparent}.toc--static .toc__heading{min-height:0;padding:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.08em;cursor:auto}.toc--static .toc__heading:after{display:none}.toc--static .toc__body{padding:0;border-left:1px solid var(--color-border)}.toc--static .toc__link{margin-left:-1px;padding-left:var(--space-4);border-left:2px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.toc--static .toc__link.is-active{border-left-color:var(--color-primary)}
