/* Theming for compiler/tool output converted from ANSI to HTML by aha and
   rewritten into classes by scripts/ansi_html_classes.py. A scrollable box
   (compiler diagnostics are routinely both wider and longer than the post
   column) with a light/dark ANSI 8-color palette. */

div.ansi-output {
    max-height: 32em;
    overflow: auto;
    margin-bottom: 20px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--code-bg);
}

div.ansi-output > pre {
    margin: 0;
    padding: 12px 14px;
    background: transparent !important;
    color: var(--ansi-fg-default);
    font-size: 0.78em;
    line-height: 1.5;
    white-space: pre;
}

body {
    --ansi-fg-default: #1f1f1f;
    --ansi-black:   #545454;
    --ansi-red:     #c4372b;
    --ansi-green:   #37a642;
    --ansi-yellow:  #a68a0d;
    --ansi-blue:    #3768c4;
    --ansi-magenta: #a03bc4;
    --ansi-cyan:    #1f9199;
    --ansi-white:   #6e6e6e;

    --ansi-bright-black:   #8a8a8a;
    --ansi-bright-red:     #e05a4d;
    --ansi-bright-green:   #5cc768;
    --ansi-bright-yellow:  #cba929;
    --ansi-bright-blue:    #5b8ce0;
    --ansi-bright-magenta: #c866e0;
    --ansi-bright-cyan:    #33b7c0;
    --ansi-bright-white:   #1f1f1f;
}

body.dark {
    --ansi-fg-default: #d4d4d4;
    --ansi-black:   #808080;
    --ansi-red:     #f44747;
    --ansi-green:   #6ac26a;
    --ansi-yellow:  #d7ba7d;
    --ansi-blue:    #6898d4;
    --ansi-magenta: #c586c0;
    --ansi-cyan:    #4ec9b0;
    --ansi-white:   #d4d4d4;

    --ansi-bright-black:   #a6a6a6;
    --ansi-bright-red:     #ff6b6b;
    --ansi-bright-green:   #8fe08f;
    --ansi-bright-yellow:  #e8d29a;
    --ansi-bright-blue:    #8fb4ea;
    --ansi-bright-magenta: #e0a6da;
    --ansi-bright-cyan:    #7fe0cb;
    --ansi-bright-white:   #f5f5f5;
}

div.ansi-output .ansi-bold { font-weight: bold; }
div.ansi-output .ansi-italic { font-style: italic; }
div.ansi-output .ansi-underline { text-decoration: underline; }

div.ansi-output .ansi-fg-black   { color: var(--ansi-black); }
div.ansi-output .ansi-fg-red     { color: var(--ansi-red); }
div.ansi-output .ansi-fg-green   { color: var(--ansi-green); }
div.ansi-output .ansi-fg-yellow  { color: var(--ansi-yellow); }
div.ansi-output .ansi-fg-blue    { color: var(--ansi-blue); }
div.ansi-output .ansi-fg-magenta { color: var(--ansi-magenta); }
div.ansi-output .ansi-fg-cyan    { color: var(--ansi-cyan); }
div.ansi-output .ansi-fg-white   { color: var(--ansi-white); }

div.ansi-output .ansi-bright.ansi-fg-black   { color: var(--ansi-bright-black); }
div.ansi-output .ansi-bright.ansi-fg-red     { color: var(--ansi-bright-red); }
div.ansi-output .ansi-bright.ansi-fg-green   { color: var(--ansi-bright-green); }
div.ansi-output .ansi-bright.ansi-fg-yellow  { color: var(--ansi-bright-yellow); }
div.ansi-output .ansi-bright.ansi-fg-blue    { color: var(--ansi-bright-blue); }
div.ansi-output .ansi-bright.ansi-fg-magenta { color: var(--ansi-bright-magenta); }
div.ansi-output .ansi-bright.ansi-fg-cyan    { color: var(--ansi-bright-cyan); }
div.ansi-output .ansi-bright.ansi-fg-white   { color: var(--ansi-bright-white); }

div.ansi-output .ansi-bg-black   { background-color: var(--ansi-black); }
div.ansi-output .ansi-bg-red     { background-color: var(--ansi-red); }
div.ansi-output .ansi-bg-green   { background-color: var(--ansi-green); }
div.ansi-output .ansi-bg-yellow  { background-color: var(--ansi-yellow); }
div.ansi-output .ansi-bg-blue    { background-color: var(--ansi-blue); }
div.ansi-output .ansi-bg-magenta { background-color: var(--ansi-magenta); }
div.ansi-output .ansi-bg-cyan    { background-color: var(--ansi-cyan); }
div.ansi-output .ansi-bg-white   { background-color: var(--ansi-white); }

div.ansi-output .ansi-bright.ansi-bg-black   { background-color: var(--ansi-bright-black); }
div.ansi-output .ansi-bright.ansi-bg-red     { background-color: var(--ansi-bright-red); }
div.ansi-output .ansi-bright.ansi-bg-green   { background-color: var(--ansi-bright-green); }
div.ansi-output .ansi-bright.ansi-bg-yellow  { background-color: var(--ansi-bright-yellow); }
div.ansi-output .ansi-bright.ansi-bg-blue    { background-color: var(--ansi-bright-blue); }
div.ansi-output .ansi-bright.ansi-bg-magenta { background-color: var(--ansi-bright-magenta); }
div.ansi-output .ansi-bright.ansi-bg-cyan    { background-color: var(--ansi-bright-cyan); }
div.ansi-output .ansi-bright.ansi-bg-white   { background-color: var(--ansi-bright-white); }
