/* Copied from `node_modules/@speed-highlight/core/dist/themes/visual-studio-dark.css` and
 * modified to work correctly with vscode theming
 */

[class*=shj-lang-] {
    white-space: pre;
    color: var(--vscode-editor-foreground);
    text-shadow: none;
    box-sizing: border-box;
    background: var(--vscode-editor-background);
    border-radius: 10px;
    max-width: min(100%, 100vw);
    margin: 10px 0;
    padding: 30px 20px;
    font-family: var(--vscode-editor-font-family);
    font-size: var(--vscode-editor-font-size);
    font-weight: var(--vscode-editor-font-weight);
    box-shadow: 0 0 5px #0001;
}

.shj-inline {
    border-radius: 5px;
    margin: 0;
    padding: 2px 5px;
    display: inline-block;
}

[class*=shj-lang-]::selection {
    background: var(--vscode-editor-selectionBackground);
}

[class*=shj-lang-] ::selection {
    background: var(--vscode-editor-selectionBackground);
}

[class*=shj-lang-] > div {
    display: flex;
    overflow: auto;
}

[class*=shj-lang-] > div :last-child {
    outline: none;
    flex: 1;
}

.shj-numbers {
    counter-reset: line;
    padding-left: 5px;
}

.shj-numbers div {
    padding-right: 5px;
}

.shj-numbers div:before {
    color: #999;
    content: counter(line);
    opacity: .5;
    text-align: right;
    counter-increment: line;
    margin-right: 5px;
    display: block;
}

.shj-syn-cmnt {
    font-style: italic;
}

.shj-syn-insert {
    color: #7d8;
}

.shj-syn-section,
.shj-syn-func {
    color: #84f;
}

.shj-syn-deleted,
.shj-syn-var {
    color: #f44;
}

.shj-oneline {
    padding: 12px 10px;
}

.shj-lang-http.shj-oneline .shj-syn-kwd {
    color: #fff;
    background: #25f;
    border-radius: 5px;
    padding: 5px 7px;
}

.shj-syn-deleted,
.shj-syn-err,
.shj-syn-kwd {
    color: #cf222e;
}

.shj-syn-class {
    color: #953800;
}

.shj-numbers,
.shj-syn-cmnt {
    color: #6e7781;
}

.shj-syn-type,
.shj-syn-oper,
.shj-syn-num,
.shj-syn-section,
.shj-syn-var,
.shj-syn-bool {
    color: #0550ae;
}

.shj-syn-str {
    color: #0a3069;
}

.shj-syn-func {
    color: #8250df;
}


/* Dark theme overrides */

.vscode-dark {

    [class*=shj-lang-]:before {
        color: #6f9aff;
    }

    .shj-syn-insert {
        color: #98c379;
    }

    .shj-syn-var {
        color: #9cdcfe;
    }

    .shj-syn-oper {
        color: #d4d4d4;
    }

    .shj-syn-num,
    .shj-syn-kwd {
        color: #569cd6;
    }

    .shj-syn-section,
    .shj-syn-type,
    .shj-syn-class {
        color: #4fc1ff;
    }

    .shj-numbers,
    .shj-syn-cmnt {
        color: #6a9955;
    }

    .shj-syn-bool {
        color: #b5cea8;
    }

    .shj-syn-deleted,
    .shj-syn-err,
    .shj-syn-str {
        color: #ce9178;
    }

    .shj-syn-func {
        color: #dcdcaa;
    }
}