.custom-toc {
    position: sticky;
    top: 120px;

    background: #fff;
    padding: 24px;

    border-radius: 16px;

    box-shadow: 0 2px 12px rgba(0,0,0,0.08);

    max-height: 85vh;
    overflow-y: auto;
}

.custom-toc h3 {
    margin-bottom: 18px;
    font-size: 22px;
}

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

.custom-toc li {
    margin-bottom: 14px;
    line-height: 1.6;
}

.custom-toc a {
    display: block;

    text-decoration: none;
    color: #222;

    font-size: 15px;
    line-height: 1.7;

    transition: 0.3s;
}

.custom-toc a:hover {
    color: #0073aa;
}

.toc-subitem {
    padding-left: 18px;
    font-size: 14px;
}

html {
    scroll-behavior: smooth;
}