/**
 * DE: Prism.js Theme für EURIP SSO (basiert auf Tomorrow Night)
 * EN: Prism.js theme for EURIP SSO (based on Tomorrow Night)
 *
 * Angepasst für das Tabler Design-System.
 * Code-Blöcke sind immer dunkel (auch im Light Mode).
 */

/* DE: Basis-Styling für Code-Blöcke */
/* EN: Base styling for code blocks */
code[class*="language-"],
pre[class*="language-"] {
    color: #c5c8c6;
    background: none;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 0.875rem;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    line-height: 1.5;
    tab-size: 4;
    hyphens: none;
}

/* DE: Code-Selektion */
/* EN: Code selection */
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
    text-shadow: none;
    background: #373b41;
}

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

/* DE: Inline-Code */
/* EN: Inline code */
:not(pre) > code[class*="language-"] {
    padding: 0.1em 0.3em;
    border-radius: 0.3em;
    white-space: normal;
    background: #1e293b;
}

/* === TOKENS === */

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
    color: #7c8792;
}

.token.punctuation {
    color: #c5c8c6;
}

.token.namespace {
    opacity: 0.7;
}

.token.property,
.token.keyword,
.token.tag {
    color: #96cbfe;
}

.token.class-name {
    color: #ffeead;
}

.token.boolean,
.token.constant {
    color: #cc99cd;
}

.token.symbol,
.token.deleted {
    color: #f2777a;
}

.token.number {
    color: #f99157;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
    color: #b9ca4a;
}

.token.variable {
    color: #f2777a;
}

.token.operator {
    color: #66d9ef;
}

.token.entity {
    color: #ffeead;
    cursor: help;
}

.token.url {
    color: #96cbfe;
}

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

.token.atrule,
.token.attr-value {
    color: #b9ca4a;
}

.token.function {
    color: #ffeead;
}

.token.regex {
    color: #7ec699;
}

.token.important {
    color: #e45649;
    font-weight: bold;
}

.token.bold {
    font-weight: bold;
}

.token.italic {
    font-style: italic;
}

/* === PHP SPECIFIC === */

.language-php .token.variable {
    color: #f2777a;
}

.language-php .token.this {
    color: #cc99cd;
}

.language-php .token.delimiter {
    color: #cc99cd;
}

/* === BASH SPECIFIC === */

.language-bash .token.function {
    color: #96cbfe;
}

.language-bash .token.parameter {
    color: #f2777a;
}

/* === LINE NUMBERS (optional) === */

.tabler-code-block__pre--line-numbers {
    counter-reset: linenumber;
}

.tabler-code-block__pre--line-numbers code {
    padding-left: 3em;
}

.tabler-code-block__pre--line-numbers code::before {
    counter-increment: linenumber;
    content: counter(linenumber);
    position: absolute;
    left: 0;
    width: 2.5em;
    text-align: right;
    color: #5c6370;
    border-right: 1px solid #3e4451;
    padding-right: 0.5em;
    margin-right: 1em;
}
