body.dark-theme .language-vex {
    --background-color: #2d2d2d;
    --text-color: white;
    --comment-color: #7b7e84;
    --punctuation-color: #bbbdc2;
    --keyword-color: #93d4eb;
    --number-color: #b5cea8;
    --string-color: #699269;
    --operator-color: #bbbdc2;
    --control-keyword-color: #c586c0;
    --function-color: #8888c1;
    --variable-color: #9cdcfe;
    --at-type-color: #93d4eb;
    --at-name-color: #bbbdc2;
    --global-variable-color: #d2cf9c;
}

body.light-theme .language-vex {
    --background-color: #fff;
    --text-color: #2e3440;
    --comment-color: #aab0ba;
    --punctuation-color: #2e3440;
    --keyword-color: #a08eb4;
    --number-color: #d08770;
    --string-color: #81a1c1;
    --operator-color: #2e3440;
    --control-keyword-color: #c586c0;
    --function-color: #a3be8c;
    --variable-color: #9cdcfe;
    --at-type-color: #a08eb4;
    --at-name-color: #2e3440;
    --global-variable-color: #d08770;
}
.language-vex {
    color: var(--text-color) !important;
    padding-bottom: 3px;
}
/* Comments */
.language-vex .token.comment,
.language-vex .token.prolog,
.language-vex .token.doctype,
.language-vex .token.cdata {
    color: var(--comment-color) !important;
}

/* Punctuation */
.language-vex .token.punctuation {
    color: var(--punctuation-color) !important;
}

/* Keywords */
.language-vex .token.property,
.language-vex .token.tag,
.language-vex .token.constant,
.language-vex .token.symbol,
.language-vex .token.deleted {
    color: var(--keyword-color) !important;
}

/* Numbers */
.language-vex .token.boolean,
.language-vex .token.number {
    color: var(--number-color) !important;
}

/* Strings */
.language-vex .token.selector,
.language-vex .token.attr-name,
.language-vex .token.string,
.language-vex .token.char,
.language-vex .token.builtin,
.language-vex .token.inserted {
    color: var(--string-color) !important;
}

/* Operators */
.language-vex .token.operator,
.language-vex .token.entity,
.language-vex .token.url,
.language-css .token.string,
.style .language-vex .token.string {
    color: var(--operator-color) !important;
}

/* Control Keywords */
.language-vex .token.atrule,
.language-vex .token.attr-value,
.language-vex .token.keyword {
    color: var(--control-keyword-color) !important;
}

/* Functions */
.language-vex .token.function {
    color: var(--function-color) !important;
}

/* Variables */
.language-vex .token.regex,
.language-vex .token.important,
.language-vex .token.variable {
    color: var(--variable-color) !important;
}

/* Custom styles for Houdini VEX */
.language-vex .token.at-type,
.language-vex .token.keyword {
    color: var(--at-type-color) !important;
}

.language-vex .token.at-name {
    color: var(--at-name-color) !important;
}

.language-vex .token.global-variable {
    color: var(--global-variable-color) !important;
}