/* ==========================================================================
   Syntax highlighting theme: Zenburn Dark (high contrast variant)

   Based on the Zenburn palette by Jani Nurminen, with a darker background
   for improved readability on dark page backgrounds.

   Background #2c2c2c | Foreground #dcdccc

   Palette:
     red        #cc9393 | bright red   #dca3a3
     green      #7f9f7f | bright green #bfebbf
     yellow     #f0dfaf | dim yellow   #e0cf9f
     blue       #8cd0d3 | dim blue     #7cb8bb
     orange     #dfaf8f | bright orange #ecbcbc
     magenta    #dc8cc3 | dim magenta  #c0bed1
     cyan       #93e0e3
     fg+1       #ffffef | fg+2 #e0e0d0
     bg+1       #3f3f3f | bg+2 #4f4f4f
     comment    #7f9f7f (green, italic)
   ========================================================================== */

/* Keywords: control flow, storage, operators */
[class*="-keyword"] {
    color: #f0dfaf;
}

[class*="-storage-type"],
[class*="-storage-modifier"] {
    color: #f0dfaf;
}

/* Strings */
[class*="-string"] {
    color: #cc9393;
}

/* Comments */
[class*="-comment"] {
    color: #7f9f7f;
    font-style: italic;
}

/* Constants: numbers, booleans, language constants */
[class*="-constant-numeric"],
[class*="-constant-language"] {
    color: #8cd0d3;
}

[class*="-constant-character"] {
    color: #dca3a3;
}

/* Entity names: functions, classes, types, tags */
[class*="-entity-name-function"] {
    color: #93e0e3;
}

[class*="-entity-name-type"] {
    color: #dfaf8f;
}

[class*="-entity-name-tag"] {
    color: #e0cf9f;
}

[class*="-entity-other-attribute-name"] {
    color: #8cd0d3;
}

/* Support: built-in functions, types */
[class*="-support-function"] {
    color: #93e0e3;
}

[class*="-support-type"] {
    color: #dfaf8f;
}

[class*="-support-class"] {
    color: #dfaf8f;
}

/* Variables */
[class*="-variable-language"],
[class*="-variable-other-constant"] {
    color: #8cd0d3;
}

[class*="-variable-parameter"] {
    color: #dcdccc;
}

/* Punctuation — subdued foreground */
[class*="-punctuation"] {
    color: #dcdccc;
}

/* Meta — structural, inherits from parent or children */
[class*="-meta"] {
    /* no color override */
}

/* Markup (markdown, HTML) */
[class*="-markup-heading"] {
    color: #dfaf8f;
    font-weight: bold;
}

[class*="-markup-bold"] {
    color: #f0dfaf;
    font-weight: bold;
}

[class*="-markup-italic"] {
    color: #8cd0d3;
    font-style: italic;
}

[class*="-markup-inline-raw"],
[class*="-markup-fenced-code"] {
    color: #93e0e3;
}

[class*="-markup-deleted"] {
    color: #dca3a3;
    background-color: rgba(220, 163, 163, 0.1);
}

[class*="-markup-inserted"] {
    color: #bfebbf;
    background-color: rgba(127, 159, 127, 0.12);
}

/* Diff specific */
[class*="-punctuation-definition-inserted"],
[class*="-markup-inserted"] {
    color: #bfebbf;
}

[class*="-punctuation-definition-deleted"],
[class*="-markup-deleted"] {
    color: #dca3a3;
}
