

@layer components {

    .toc {
        position: sticky;
        top: calc(var(--h-header-slim) + var(--s-5));
    }

    .toc__list {
        display: grid;
        margin-top: var(--s-3);
        border-left: 1px solid var(--c-line);
    }

    .toc__link {
        display: block;
        margin-left: -1px;
        padding: 7px 0 7px var(--s-4);
        border-left: 1px solid transparent;
        font-size: var(--t-sm);
        line-height: 1.35;
        color: var(--c-muted);
        transition: color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);
    }

    .toc__link:hover {
        border-left-color: var(--c-ink);
        color: var(--c-ink);
    }

    @media (max-width: 899px) {
        .toc {
            position: static;
            margin-inline: calc(var(--gutter) * -1);
        }

        .toc__title {
            display: none;
        }

        .toc__list {
            display: flex;
            gap: var(--s-2);
            margin-top: 0;
            padding-inline: var(--gutter);
            border-left: 0;
            overflow-x: auto;
            scrollbar-width: none;
        }

        .toc__link {
            margin-left: 0;
            padding: 9px var(--s-4);
            border: 1px solid var(--c-line-strong);
            border-radius: var(--r-pill);
            white-space: nowrap;
        }

        .toc__link:hover {
            border-color: var(--c-ink);
        }
    }

}
