/* colors from: https://raw.githubusercontent.com/WhiteVermouth/XcodeTheme/master/assets/color-palette.png */
:root {
    --code-theme-color: #dedede;
    --code-theme-bg-color: #1f1f24;
    --code-theme-bg-color_selection: #515b70;
    --code-theme-color_selection: inherit;

    --code-theme-comment: #6c7986;

    /* number */
    --code-theme-c1: #d0bf69;
    /* keyword */
    --code-theme-c2: #fc5fa3;
    /* ? */
    --code-theme-c3: #39adb5;
    /* string */
    --code-theme-c4: rgb(124, 201, 117);
    /* #fc6a5d; */
    /* declaration */
    --code-theme-c5: #5dd8ff;
    /* proyect function */
    --code-theme-c6: #67b7a4;
    /*#e53935;*/
    /* function */
    --code-theme-c7: rgb(179, 146, 240);

    --code-theme-punctuation: #dedede;
}

@media (prefers-color-scheme: light) {
    :root {
        --code-theme-color: #3a3a3a;
        --code-theme-bg-color: #ffffff;
        --code-theme-bg-color_selection: #a4cdff;
        --code-theme-color_selection: inherit;
        --code-theme-border-color: #c2c2c2;

        --code-theme-comment: #5d6c79;

        /* number */
        --code-theme-c1: #1c00cf;
        /* keyword */
        --code-theme-c2: #9b2393;
        --code-theme-c3: #39adb5;
        /* string */
        --code-theme-c4: #c41a16;
        /* declaration */
        --code-theme-c5: #0f68a0;
        --code-theme-c6: #326d74;
        /*#e53935;*/
        /* function */
        --code-theme-c7: rgb(95, 74, 134);

        --code-theme-punctuation: #202020;
    }
}

code[class*="language-"],
pre[class*="language-"] {
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    color: var(--code-theme-color);
    background: var(--code-theme-bg-color);
    line-height: 1.5em;
    border-radius: 0.3em;

    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;

    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
}

code[class*="language-"]::-moz-selection,
pre[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection,
pre[class*="language-"] ::-moz-selection {
    background: var(--code-theme-bg-color_selection);
    color: var(--code-theme-color_selection);
}

code[class*="language-"]::selection,
pre[class*="language-"]::selection,
code[class*="language-"] ::selection,
pre[class*="language-"] ::selection {
    background: var(--code-theme-bg-color_selection);
    color: var(--code-theme-color_selection);
}

:not(pre)>code[class*="language-"] {
    white-space: normal;
    border-radius: 0.2em;
    padding: 0.1em;
}

:not(pre)>code {
    background-color: var(--code-theme-bg-color);
    padding: 0 0.25rem;
    border-radius: 5px;
}

pre[class*="language-"] {
    overflow: auto;
    position: relative;
    margin: 0.5em 0;
    padding: 0.75em 0.75em;
    border: 1px solid var(--code-theme-border-color);
}

.language-css>code,
.language-sass>code,
.language-scss>code {
    color: var(--code-theme-c1);
}

[class*="language-"] .namespace {
    opacity: 0.7;
}

.token.atrule {
    color: var(--code-theme-c2);
}

.token.attr-name {
    color: var(--code-theme-c3);
}

.token.attr-value {
    color: var(--code-theme-c4);
}

.token.attribute {
    color: var(--code-theme-c4);
}

.token.boolean {
    color: var(--code-theme-c2);
}

.token.builtin {
    color: var(--code-theme-c3);
}

.token.cdata {
    color: var(--code-theme-c3);
}

.token.char {
    color: var(--code-theme-c3);
}

.token.class {
    color: var(--code-theme-c3);
}

.token.class-name {
    color: var(--code-theme-c5);
}

.token.comment {
    color: var(--code-theme-comment);
}

.token.constant {
    color: var(--code-theme-c2);
}

.token.deleted {
    color: var(--code-theme-c6);
}

.token.doctype {
    color: var(--code-theme-comment);
}

.token.entity {
    color: var(--code-theme-c6);
}

.token.function {
    color: var(--code-theme-c7);
}

.token.hexcode {
    color: var(--code-theme-c1);
}

.token.id {
    color: var(--code-theme-c2);
    font-weight: bold;
}

.token.important {
    color: var(--code-theme-c2);
    font-weight: bold;
}

.token.inserted {
    color: var(--code-theme-c3);
}

.token.keyword {
    color: var(--code-theme-c2);
}

.token.number {
    color: var(--code-theme-c1);
}

.token.operator {
    color: var(--code-theme-punctuation);
}

.token.prolog {
    color: var(--code-theme-comment);
}

.token.property {
    color: var(--code-theme-c3);
}

.token.pseudo-class {
    color: var(--code-theme-c4);
}

.token.pseudo-element {
    color: var(--code-theme-c4);
}

.token.punctuation {
    color: var(--code-theme-punctuation);
}

.token.regex {
    color: var(--code-theme-c5);
}

.token.selector {
    color: var(--code-theme-c6);
}

.token.string {
    color: var(--code-theme-c4);
}

.token.symbol {
    color: var(--code-theme-c2);
}

.token.tag {
    color: var(--code-theme-c6);
}

.token.unit {
    color: var(--code-theme-c1);
}

.token.url {
    color: var(--code-theme-c6);
}

.token.variable {
    color: var(--code-theme-c6);
}