:root {
    --rust-code-bg: #1f2430;
    --rust-code-text: #e6e9ef;
    --rust-code-keyword: #ff7ab2;
    --rust-code-comment: #7f8c98;
    --rust-code-string: #c3e88d;
    --rust-code-literal: #f78c6c;
}

@media (prefers-color-scheme: light) {
    :root {
        --rust-code-bg: #f5f7fa;
        --rust-code-text: #263238;
        --rust-code-keyword: #9c36b5;
        --rust-code-comment: #697386;
        --rust-code-string: #287d3c;
        --rust-code-literal: #b75501;
    }
}

rust-code {
    display: block;
    width: 100%;
}

.rust-code {
    margin: 0;
    padding: 1rem 1.25rem;
    overflow-x: auto;
    border-radius: 0.5rem;
    background: var(--rust-code-bg);
    color: var(--rust-code-text);
    font: 0.95rem/1.6 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
        "Liberation Mono", "Courier New", monospace;
    tab-size: 4;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.rust-code code {
    font: inherit;
}

.rust-code .keyword {
    color: var(--rust-code-keyword);
    font-weight: 600;
}

.rust-code .comment {
    color: var(--rust-code-comment);
    font-style: italic;
}

.rust-code .string {
    color: var(--rust-code-string);
}

.rust-code .literal {
    color: var(--rust-code-literal);
}
