[data-md-color-scheme="default"] {
    --doc-symbol-parameter-fg-color: #df50af;
    --doc-symbol-type_parameter-fg-color: #df50af;
    --doc-symbol-attribute-fg-color: #0079ff;
    --doc-symbol-function-fg-color: #00dfa2;
    --doc-symbol-method-fg-color: #00dfa2;
    --doc-symbol-class-fg-color: #d1b619;
    --doc-symbol-type_alias-fg-color: #d1b619;
    --doc-symbol-module-fg-color: #ff0060;

    --doc-symbol-parameter-bg-color: #df50af1a;
    --doc-symbol-type_parameter-bg-color: #df50af1a;
    --doc-symbol-attribute-bg-color: #0079ff1a;
    --doc-symbol-function-bg-color: #00dfa21a;
    --doc-symbol-method-bg-color: #00dfa21a;
    --doc-symbol-class-bg-color: #d1b6191a;
    --doc-symbol-type_alias-bg-color: #d1b6191a;
    --doc-symbol-module-bg-color: #ff00601a;
}

[data-md-color-scheme="slate"] {
    --doc-symbol-parameter-fg-color: #ffa8cc;
    --doc-symbol-type_parameter-fg-color: #ffa8cc;
    --doc-symbol-attribute-fg-color: #963fb8;
    --doc-symbol-function-fg-color: #6d67e4;
    --doc-symbol-method-fg-color: #6d67e4;
    --doc-symbol-class-fg-color: #46c2cb;
    --doc-symbol-type_alias-fg-color: #46c2cb;
    --doc-symbol-module-fg-color: #f2f7a1;

    --doc-symbol-parameter-bg-color: #ffa8cc1a;
    --doc-symbol-type_parameter-bg-color: #ffa8cc1a;
    --doc-symbol-attribute-bg-color: #963fb81a;
    --doc-symbol-function-bg-color: #6d67e41a;
    --doc-symbol-method-bg-color: #6d67e41a;
    --doc-symbol-class-bg-color: #46c2cb1a;
    --doc-symbol-type_alias-bg-color: #46c2cb1a;
    --doc-symbol-module-bg-color: #f2f7a11a;
}

/* Indentation. */
div.doc-contents:not(.first) {
    padding-left: 25px;
    border-left: .05rem solid var(--md-typeset-table-color);
}

/* Mark external links as such. */
a.external::after,
a.autorefs-external::after {
    /* https://primer.style/octicons/arrow-up-right-24 */
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.25 15.5a.75.75 0 00.75-.75v-9a.75.75 0 00-.75-.75h-9a.75.75 0 000 1.5h7.19L6.22 16.72a.75.75 0 101.06 1.06L17.5 7.56v7.19c0 .414.336.75.75.75z"></path></svg>');
    -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.25 15.5a.75.75 0 00.75-.75v-9a.75.75 0 00-.75-.75h-9a.75.75 0 000 1.5h7.19L6.22 16.72a.75.75 0 101.06 1.06L17.5 7.56v7.19c0 .414.336.75.75.75z"></path></svg>');
    content: ' ';

    display: inline-block;
    vertical-align: middle;
    position: relative;

    height: 1em;
    width: 1em;
    background-color: currentColor;
}

a.external:hover::after,
a.autorefs-external:hover::after {
    background-color: var(--md-accent-fg-color);
}

/* Tree-like output for backlinks. */
.doc-backlink-list {
    --tree-clr: var(--md-default-fg-color);
    --tree-font-size: 1rem;
    --tree-item-height: 1;
    --tree-offset: 1rem;
    --tree-thickness: 1px;
    --tree-style: solid;
    display: grid;
    list-style: none !important;
}

.doc-backlink-list li>span:first-child {
    text-indent: .3rem;
}

.doc-backlink-list li {
    padding-inline-start: var(--tree-offset);
    border-left: var(--tree-thickness) var(--tree-style) var(--tree-clr);
    position: relative;
    margin-left: 0 !important;

    &:last-child {
        border-color: transparent;
    }

    &::before {
        content: '';
        position: absolute;
        top: calc(var(--tree-item-height) / 2 * -1 * var(--tree-font-size) + var(--tree-thickness));
        left: calc(var(--tree-thickness) * -1);
        width: calc(var(--tree-offset) + var(--tree-thickness) * 2);
        height: calc(var(--tree-item-height) * var(--tree-font-size));
        border-left: var(--tree-thickness) var(--tree-style) var(--tree-clr);
        border-bottom: var(--tree-thickness) var(--tree-style) var(--tree-clr);
    }

    &::after {
        content: '';
        position: absolute;
        border-radius: 50%;
        background-color: var(--tree-clr);
        top: calc(var(--tree-item-height) / 2 * 1rem);
        left: var(--tree-offset);
        translate: calc(var(--tree-thickness) * -1) calc(var(--tree-thickness) * -1);
    }
}