/* Gruvbox Dark syntax highlighting for highlight.js */
/* Used by mdBook for coal/navy themes */

.hljs {
    display: block;
    overflow-x: auto;
    background: var(--gruvbox-bg0-hard);
    color: var(--gruvbox-fg1);
}

/* Comments */
.hljs-comment,
.hljs-quote {
    color: var(--gruvbox-gray);
    font-style: italic;
}

/* Keywords */
.hljs-keyword,
.hljs-selector-tag {
    color: var(--gruvbox-red);
}

/* Strings */
.hljs-string,
.hljs-symbol,
.hljs-bullet {
    color: var(--gruvbox-green);
}

/* Numbers, literals, types */
.hljs-number,
.hljs-literal,
.hljs-type,
.hljs-params {
    color: var(--gruvbox-purple);
}

/* Built-ins */
.hljs-built_in,
.hljs-builtin-name {
    color: var(--gruvbox-orange);
}

/* Functions, titles, sections */
.hljs-title,
.hljs-section {
    color: var(--gruvbox-yellow);
}

/* Attributes, variables */
.hljs-variable,
.hljs-template-variable,
.hljs-attribute,
.hljs-attr {
    color: var(--gruvbox-blue);
}

/* Tags, names */
.hljs-tag,
.hljs-name {
    color: var(--gruvbox-red);
}

/* Regex, links */
.hljs-regexp,
.hljs-link {
    color: var(--gruvbox-green);
}

/* Selectors */
.hljs-selector-id,
.hljs-selector-class {
    color: var(--gruvbox-aqua);
}

/* Meta/preprocessor */
.hljs-meta {
    color: var(--gruvbox-yellow-dim);
}

/* Emphasis */
.hljs-emphasis {
    font-style: italic;
}

.hljs-strong {
    font-weight: bold;
}

/* Diff */
.hljs-addition {
    color: var(--gruvbox-green);
    background-color: rgba(184, 187, 38, 0.1);
}

.hljs-deletion {
    color: var(--gruvbox-red);
    background-color: rgba(251, 73, 52, 0.1);
}
