:root {
    font-family: system-ui, Segoe UI, Roboto, Helvetica, Arial;
    line-height: 1.3;
    color: #111
}

body {
    margin: 20px;
    max-width: 900px
}

header {
    margin-bottom: 12px
}

nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px
}

li {
    /* display: flex;
    align-items: flex-start; */
    gap: 10px;
    background: #fff;
    border: 1px solid #e6e6e6;
    padding: 10px;
    border-radius: 6px
}

.thumb {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    border-radius: 6px;
    background: #f5f7fb;
    display: grid;
    place-items: center
}

.thumb svg {
    width: 36px;
    height: 36px;
    opacity: .9
}

.title {
    font-weight: 600;
    margin: 0 0 6px 0;
    font-size: 0.98rem
}

.abstract {
    margin: 0;
    color: #555;
    font-size: 0.9rem
}

a.item {
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%
}

footer {
    margin-top: 18px;
    color: #777;
    font-size: 0.85rem
}

.topic-view {
    display: none
}

.topic-view.active {
    display: block
}

.nav-index {
    display: block
}

.nav-index.hidden {
    display: none
}

.subtopic {
    margin: 0;
    color: #666;
    font-size: 0.85rem
}

article {
    padding: 10px;
    border: 1px dotted gainsboro;
    border-radius: 12pt;
}

article section.collapsed>section {
    display: none;
}

section {
    cursor: default;
    margin: 20px;
    /* background-color: #f5f7fb; */

    section {
        margin: 20px;
        /* background-color: whitesmoke; */

        section {
            margin: 20px;
            /* background-color: gainsboro; */
        }
    }
}

article>section {
    cursor: pointer;
}

table, tr, td, th {
    border-collapse: collapse;
    border-style: solid;
    border-width: 1px;
    border-color: black;
    text-align: center;
}

img {
    width: 100%;
}