/* exoquery-red — CodeMirror 5 theme matching ExoQuery "IMPOSSIBLE" sections */
.cm-s-exoquery-red.CodeMirror {
    background-color: #030712;          /* deep space background */
    color: #ffcdd2;                     /* light pink base text */
}

.cm-s-exoquery-red .CodeMirror-gutters {
    background: #030712;
    color: #546e7a;                     /* blue-grey gutter text */
    border: none;
}
.cm-s-exoquery-red .CodeMirror-guttermarker,
.cm-s-exoquery-red .CodeMirror-guttermarker-subtle,
.cm-s-exoquery-red .CodeMirror-linenumber { color: #546e7a; }

/* Caret (red glow) */
.cm-s-exoquery-red .CodeMirror-cursor {
    border-left: 2px solid #ef5350;
}
.cm-s-exoquery-red.cm-fat-cursor .CodeMirror-cursor,
.cm-s-exoquery-red .cm-animate-fat-cursor {
    background-color: rgba(239, 83, 80, 0.35) !important;
}

/* Selection & active line */
.cm-s-exoquery-red div.CodeMirror-selected {
    background: rgba(239, 83, 80, 0.16);
}
.cm-s-exoquery-red.CodeMirror-focused div.CodeMirror-selected {
    background: rgba(239, 83, 80, 0.20);
}
.cm-s-exoquery-red .CodeMirror-line::selection,
.cm-s-exoquery-red .CodeMirror-line > span::selection,
.cm-s-exoquery-red .CodeMirror-line > span > span::selection {
    background: rgba(239, 83, 80, 0.18);
}
.cm-s-exoquery-red .CodeMirror-line::-moz-selection,
.cm-s-exoquery-red .CodeMirror-line > span::-moz-selection,
.cm-s-exoquery-red .CodeMirror-line > span > span::-moz-selection {
    background: rgba(239, 83, 80, 0.18);
}
.cm-s-exoquery-red .CodeMirror-activeline-background {
    background: rgba(239, 83, 80, 0.08);
}

/* Syntax highlighting based on ExoQuery IMPOSSIBLE section */
.cm-s-exoquery-red .cm-comment      { color: #546e7a; font-style: italic; }  /* blue-grey comments */
.cm-s-exoquery-red .cm-keyword      { color: #ffcdd2; font-weight: 600; }    /* light pink keywords */
.cm-s-exoquery-red .cm-operator     { color: #ffcdd2; }                       /* light pink operators */
.cm-s-exoquery-red .cm-atom         { color: #ef5350; }                       /* red constants */
.cm-s-exoquery-red .cm-number       { color: #ff8a80; }                       /* coral numbers */
.cm-s-exoquery-red .cm-def          { color: #ff8a80; }                       /* coral function definitions */
.cm-s-exoquery-red .cm-variable     { color: #ffcdd2; }                       /* light pink variables */
.cm-s-exoquery-red .cm-variable-2   { color: #ffb3ba; }                       /* pale pink params */
.cm-s-exoquery-red .cm-variable-3,
.cm-s-exoquery-red .cm-type         { color: #ef5350; }                       /* red types/classes */
.cm-s-exoquery-red .cm-builtin      { color: #ff8a80; }                       /* coral builtins */
.cm-s-exoquery-red .cm-string       { color: #ef5350; }                       /* red strings */
.cm-s-exoquery-red .cm-string-2     { color: #ff8a80; }                       /* coral alt strings */
.cm-s-exoquery-red .cm-tag          { color: #ff8a80; }                       /* coral tags */
.cm-s-exoquery-red .cm-attribute    { color: #ef5350; }                       /* red attributes */
.cm-s-exoquery-red .cm-property     { color: #ffcdd2; }                       /* light pink properties */
.cm-s-exoquery-red .cm-meta         { color: #ffb3ba; }                       /* pale pink meta/annotations */
.cm-s-exoquery-red .cm-qualifier    { color: #ffb3ba; }                       /* pale pink qualifiers */

/* Errors & matching */
.cm-s-exoquery-red .cm-error {
    color: #ffcdd2;
    background-color: rgba(239, 83, 80, 0.3);
}
.cm-s-exoquery-red .CodeMirror-matchingbracket {
    color: #ef5350 !important;
    background: rgba(239, 83, 80, 0.22);
    text-decoration: underline;
}
.cm-s-exoquery-red .CodeMirror-nonmatchingbracket {
    color: #ffcdd2;
    background: rgba(239, 83, 80, 0.2);
}

