body {
    font-family:
        "DM Mono", "Microsoft Yahei", "Helvetica Neue", "Helvetica", "Arial",
        sans-serif;
}

pre,
code,
.tsd-signature {
    font-family:
        "Google Sans Mono", "Microsoft Yahei", "Helvetica Neue", "Helvetica",
        Menlo, Monaco, "Courier New", monospace;
}

.tsd-signature {
    border-radius: 8px;
}

.tsd-signatures {
    padding: 0 2px;
    .tsd-signature {
        border-width: 1px;
    }
}

code {
    border-radius: 8px;
}

pre {
    margin-top: 4px;
}

.site-menu {
    :is(.tsd-navigation, .tsd-page-navigation) a {
        border-radius: 6px;
        &:not(.current):hover {
            background: rgb(0 0 0 /0.05);
        }
        &:hover {
            text-decoration: none;
        }
        &.current span {
            color: var(--color-background-secondary);
        }
    }
}

.col-sidebar,
.site-menu {
    overflow-y: auto !important;
    overflow-x: hidden;

    @media not (max-width: 769px) {
        * {
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }
    }
}

footer:empty {
    display: none;
}

header.tsd-page-toolbar {
    border: none;
    border-bottom: solid 1px #e5e1da;

    #tsd-search {
        :is(.results, .no-results) {
            border-radius: 6px;
            box-shadow: none;
            border: solid 1px #ddd;
            background-color: inherit;
        }
        .no-results {
            margin: 0;
            padding: 0;
            border: none;
        }
        .results {
            box-sizing: border-box;
            padding: 8px;
            min-height: 2rem;
            li {
                transition: background-color 100ms;
                border-radius: 6px;
            }
        }
    }

    .tsd-toolbar-contents,
    #tsd-search {
        background: var(--color-background);
    }

    a.title {
        font-weight: normal;
        font-size: 110%;
        display: inline-block;
        &:hover {
            text-decoration: none;
            background: rgb(0 0 0 / 0.05);
        }
    }
}

.container-main {
    margin: 0;
    .col-content {
        margin: 2rem 0;
        .tsd-page-title {
            word-break: break-all;
        }
    }
}

details {
    border-radius: 16px;
    padding: 8px;
    background: var(--color-background-secondary);
    border: solid 1px #e5e1da;
    .tsd-index-heading {
        margin: 4px 0;
    }
}

summary :is(h3, h4, h5) {
    display: flex;
    align-items: center;
    gap: 4px;
}

select,
button {
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 8px;
}

button {
    border: solid 1px #cccccccc;
    padding: 4px 8px;
    transition: all 200ms !important;
    &:active {
        scale: 0.9;
    }
}

pre > button {
    background: #efefefcc;
    top: 3px;
    right: 3px;
}

:root {
    --code-background: #b4d4ff;

    /* Light */
    --light-color-background: #eef5ff;
    --light-color-background-secondary: #f3f8ff;
    --light-color-warning-text: #222;
    --light-color-background-warning: #e6e600;
    --light-color-icon-background: var(--light-color-background);
    --light-color-accent: #86b6f6;
    --light-color-active-menu-item: var(--light-color-accent);
    --light-color-text: #222;
    --light-color-text-aside: #6e6e6e;
    --light-color-link: #1f70c2;

    /* Dark */
    --dark-color-background: #2b2e33;
    --dark-color-background-secondary: #1e2024;
    --dark-color-background-warning: #bebe00;
    --dark-color-warning-text: #222;
    --dark-color-icon-background: var(--dark-color-background-secondary);
    --dark-color-accent: #9096a2;
    --dark-color-active-menu-item: #5d5d6a;
    --dark-color-text: #f5f5f5;
    --dark-color-text-aside: #dddddd;
    --dark-color-link: #00aff4;
}
