code[class*=language-], pre[class*=language-] {
    color: #000;
    background: 0 0;
    text-shadow: 0 1px #fff;
    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
    font-size: 1em;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none
}

code[class*=language-] ::-moz-selection, code[class*=language-]::-moz-selection, pre[class*=language-] ::-moz-selection, pre[class*=language-]::-moz-selection {
    text-shadow: none;
    background: #b3d4fc
}

code[class*=language-] ::selection, code[class*=language-]::selection, pre[class*=language-] ::selection, pre[class*=language-]::selection {
    text-shadow: none;
    background: #b3d4fc
}

@media print {
    code[class*=language-], pre[class*=language-] {
        text-shadow: none
    }
}

pre[class*=language-] {
    padding: 1em;
    margin: .5em 0;
    overflow: auto;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.08)
}

:not(pre)>code[class*=language-] {
    padding: .1em;
    border-radius: .3em;
    white-space: normal;
    background: #fff;
    border: 1px solid #ddd;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1)
}

.token.cdata, .token.comment, .token.doctype, .token.prolog {
    color: #116963
}

.token.punctuation {
    color: #999
}

.token.namespace {
    opacity: .7
}

.token.boolean, .token.constant, .token.deleted, .token.number, .token.property, .token.symbol, .token.tag {
    color: #7D3CBD
}

.token.attr-name, .token.char, .token.inserted, .token.selector, .token.string {
    color: #666692
}

.token.builtin {
    color: #16a085;
    font-weight: 600
}

.language-css .token.string, .style .token.string {
    color: #666692
}

.token.entity, .token.url {
    color: #000
}

.token.operator {
    color: #000;
    background: transparent;
    font-weight: bold
}

.token.atrule, .token.attr-value, .token.keyword {
    color: #1D5BBF
}

.token.function {
    color: #C21355
}

.token.class-name {
    color: #e67e22;
    font-weight: 600
}

.token.decorator, .token.annotation {
    color: #9b59b6;
    font-weight: 600
}

.token.string-interpolation {
    color: #666692
}

.token.string-interpolation .token.interpolation {
    color: #e67e22;
    font-weight: 600
}

.token.string-interpolation .token.interpolation .token.punctuation {
    color: #9b59b6
}

.token.identifier {
    color: #666692
}

.token.important, .token.regex, .token.variable {
    color: #7D3CBD
}

.token.bold, .token.important {
    font-weight: 700
}

.token.italic {
    font-style: italic
}

.token.entity {
    cursor: help
}

pre[data-line] {
    position: relative;
    padding: 1em 0 1em 3em
}

.line-highlight {
    position: absolute;
    left: 0;
    right: 0;
    padding: inherit 0;
    margin-top: 1em;
    background: hsla(24, 20%, 50%, .08);
    background: linear-gradient(to right, hsla(24, 20%, 50%, .1) 70%, hsla(24, 20%, 50%, 0));
    pointer-events: none;
    line-height: inherit;
    white-space: pre
}

@media print {
    .line-highlight {
        -webkit-print-color-adjust: exact;
        color-adjust: exact
    }
}

.line-highlight:before, .line-highlight[data-end]:after {
    content: attr(data-start);
    position: absolute;
    top: .4em;
    left: .6em;
    min-width: 1em;
    padding: 0 .5em;
    background-color: hsla(24, 20%, 50%, .4);
    color: #f4f1ef;
    font: bold 65%/1.5 sans-serif;
    text-align: center;
    vertical-align: .3em;
    border-radius: 999px;
    text-shadow: none;
    box-shadow: 0 1px #fff
}

.line-highlight[data-end]:after {
    content: attr(data-end);
    top: auto;
    bottom: .4em
}

.line-numbers .line-highlight:after, .line-numbers .line-highlight:before {
    content: none
}

pre[id].linkable-line-numbers span.line-numbers-rows {
    pointer-events: all
}

pre[id].linkable-line-numbers span.line-numbers-rows>span:before {
    cursor: pointer
}

pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before {
    background-color: rgba(128, 128, 128, .2)
}

pre[class*=language-].line-numbers {
    position: relative;
    padding-left: 3.8em;
    counter-reset: linenumber
}

pre[class*=language-].line-numbers>code {
    position: relative;
    white-space: inherit
}

.line-numbers .line-numbers-rows {
    position: absolute;
    pointer-events: none;
    top: 0;
    font-size: 100%;
    left: -3.8em;
    width: 3em;
    letter-spacing: -1px;
    border-right: 1px solid #999;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.line-numbers-rows>span {
    display: block;
    counter-increment: linenumber
}

.line-numbers-rows>span:before {
    content: counter(linenumber);
    color: #999;
    display: block;
    padding-right: .8em;
    text-align: right
}

div.code-toolbar {
    position: relative
}

div.code-toolbar>.toolbar {
    position: absolute;
    z-index: 10;
    top: .3em;
    right: .2em;
    opacity: 1 !important;
    display: flex;
    flex-direction: row;
    gap: .5em;
    align-items: center
}

div.code-toolbar>.toolbar>.toolbar-item {
    display: block
}

/* Language label - default neutral gray */
div.code-toolbar>.toolbar>.toolbar-item>span {
    color: white;
    font-size: .75em;
    font-weight: bold;
    padding: .4em .7em;
    background: #666;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
    border-radius: .3em;
    text-transform: uppercase;
    letter-spacing: .5px
}

/* Copy button - neutral style */
div.code-toolbar>.toolbar>.toolbar-item>button {
    background: #f5f5f5;
    border: 1px solid #ddd;
    color: #333;
    font: inherit;
    font-size: .75em;
    line-height: normal;
    overflow: visible;
    padding: .4em .7em;
    border-radius: .3em;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
    transition: all .2s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none
}

div.code-toolbar>.toolbar>.toolbar-item>button:hover {
    background: #e8e8e8;
    border-color: #ccc;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .15)
}

div.code-toolbar>.toolbar>.toolbar-item>button:active {
    background: #ddd;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1)
}

/* Language-specific colors */

/* AE Script - Purple */
pre.language-aescript ~ .toolbar .toolbar-item > span,
pre.language-ae ~ .toolbar .toolbar-item > span,
pre[class*="lang-aescript"] ~ .toolbar .toolbar-item > span,
pre[class*="lang-ae"] ~ .toolbar .toolbar-item > span {
    background: #7D3CBD !important
}

/* SQL - Red */
pre.language-sql ~ .toolbar .toolbar-item > span,
pre[class*="lang-sql"] ~ .toolbar .toolbar-item > span {
    background: #e74c3c !important
}

/* Bash/Shell - Green */
pre.language-bash ~ .toolbar .toolbar-item > span,
pre.language-shell ~ .toolbar .toolbar-item > span,
pre.language-sh ~ .toolbar .toolbar-item > span,
pre[class*="lang-bash"] ~ .toolbar .toolbar-item > span,
pre[class*="lang-shell"] ~ .toolbar .toolbar-item > span,
pre[class*="lang-sh"] ~ .toolbar .toolbar-item > span {
    background: #27ae60 !important
}

/* Python - Blue */
pre.language-python ~ .toolbar .toolbar-item > span,
pre.language-py ~ .toolbar .toolbar-item > span,
pre[class*="lang-python"] ~ .toolbar .toolbar-item > span,
pre[class*="lang-py"] ~ .toolbar .toolbar-item > span {
    background: #3776ab !important
}

/* JSON - Orange */
pre.language-json ~ .toolbar .toolbar-item > span,
pre.language-json5 ~ .toolbar .toolbar-item > span,
pre[class*="lang-json"] ~ .toolbar .toolbar-item > span {
    background: #f39c12 !important
}

/* XML/HTML/Markup - Teal */
pre.language-xml ~ .toolbar .toolbar-item > span,
pre.language-html ~ .toolbar .toolbar-item > span,
pre.language-markup ~ .toolbar .toolbar-item > span,
pre[class*="lang-xml"] ~ .toolbar .toolbar-item > span,
pre[class*="lang-html"] ~ .toolbar .toolbar-item > span,
pre[class*="lang-markup"] ~ .toolbar .toolbar-item > span {
    background: #16a085 !important
}

.command-line-prompt {
    border-right: 1px solid #999;
    display: block;
    float: left;
    font-size: 100%;
    letter-spacing: -1px;
    margin-right: 1em;
    pointer-events: none;
    text-align: right;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.command-line-prompt>span:before {
    opacity: .7;
    content: ' ';
    display: block;
    padding-right: .8em
}

.command-line-prompt>span[data-user]:before {
    content: "["attr(data-user) "@"attr(data-host) "] $"
}

.command-line-prompt>span[data-user=root]:before {
    content: "["attr(data-user) "@"attr(data-host) "] #"
}

.command-line-prompt>span[data-prompt]:before {
    content: attr(data-prompt)
}

.command-line-prompt>span[data-continuation-prompt]:before {
    content: attr(data-continuation-prompt)
}

.command-line span.token.output {
    opacity: .7
}