.tommys-toc {
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    margin-block: 0 1.5rem;
    padding: 0.65rem;
    border: 1px solid #aaa;
    border-radius: 3px;
    background: #f7f7f7;
    color: #171717;
    font: 0.9375rem/1.5 system-ui, sans-serif;
}

.tommys-toc .tommys-toc-title {
    margin: 0 0 0.15rem;
    font-size: 1.2rem;
    font-weight: 600;
}

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

.tommys-toc li {
    margin: 0;
    padding: 0;
}

.tommys-toc li > ol {
    padding-inline-start: 1.35rem;
}

.tommys-toc a {
    color: inherit;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.tommys-toc a:hover,
.tommys-toc a:focus-visible {
    text-decoration: underline;
}
