body.dark-theme .language-opencl {
    --background-color: #2d2d2d;
    --text-color: #bbbdc2;
    --comment-color: #73767c;
    --punctuation-color: #bebb8d;
    --keyword-color: #6799c0;
    --datatype-color: #c892ca;
    --function-color: #8888c1;
    --directive-color: #c1be90;
    --bind-color: #c1be90;
}

body.light-theme .language-opencl {
    --background-color: #fff;
    --text-color: #2f3541;
    --comment-color: #aab0ba;
    --punctuation-color: #d08770;
    --keyword-color: #ba98b4;
    --datatype-color: #c6ab76;
    --function-color: #a5c08f;
    --directive-color: #d08770;
    --bind-color: #d08770;
}

.language-opencl {
    background-color: var(--background-color);
    color: var(--text-color) !important;
    padding-bottom: 3px;
}

/* Custom styles for @bind elements */
.language-opencl .token.bind {
    color: var(--bind-color) !important;
}


/* Comments */
.language-opencl .token.comment,
.language-opencl .token.prolog,
.language-opencl .token.doctype,
.language-opencl .token.cdata {
    color: var(--comment-color) !important;
}

/* Keywords */
.language-opencl .token.keyword {
    color: var(--keyword-color) !important;
}

/* Datatypes */
.language-opencl .token.builtin {
    color: var(--datatype-color) !important;
}

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

/* Directives */
.language-opencl .token.directive,
.language-opencl .token.expression,
.language-opencl .token.directive-hash {
    color: var(--directive-color) !important;
}


/* Text elements */
.language-opencl .token.text,
.language-opencl .token.number,
.language-opencl .token.punctuation,
.language-opencl .token.operator {
    color: var(--text-color) !important;
}
