/* prism-cyberpunk-alt.css */

/* Base styles */
code[class*="language-"], pre[class*="language-"] {
    color: #f8f8f2;
    /* background: #1d1f21; */
    font-family: 'IBM Plex Mono', 'Fira Code', 'Consolas', 'Monaco', 'Andale Mono', 'Ubuntu Mono', monospace;
    text-shadow: none;
    font-size: 1em;
    direction: ltr;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    line-height: 1.5;
    tab-size: 4;
    hyphens: none;
}
pre[class*="language-"] {
    padding: 1em;
    margin: .5em 0;
    overflow: auto;
    border-radius: 0.3em;
    background: #282a36; /* Dark background */
}
:not(pre) > code[class*="language-"] {
    padding: .1em;
    border-radius: .3em;
    white-space: normal;
}

/* Line numbers */
pre[class*="language-"].line-numbers {
    position: relative;
    padding-left: 3.8em;
    counter-reset: linenumber;
}
.line-numbers .line-numbers-rows {
    position: absolute;
    pointer-events: none;
    top: 0;
    font-size: 100%;
    left: -3.8em;
    width: 3em; /* works for line-numbers below 1000 lines */
    letter-spacing: -1px;
    border-right: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.line-numbers-rows > span {
    pointer-events: none;
    display: block;
    counter-increment: linenumber;
}
.line-numbers-rows > span:before {
    content: counter(linenumber);
    color: #5d5f63; /* Line number color */
    display: block;
    padding-right: 0.8em;
    text-align: right;
}

/* Token styles */
.token.comment, .token.prolog, .token.doctype, .token.cdata {
    color: #6272a4; /* Comment color */
}
.token.punctuation {
    color: #f8f8f2; /* Default text color */
}
.token.namespace {
    opacity: .7;
}
.token.operator, .token.boolean, .token.number {
    color: #ff79c6; /* Pink */
}
.token.property {
    color: #8be9fd; /* Cyan */
}
.token.tag {
    color: #ff79c6; /* Pink */
}
.token.string {
    color: #ffb86c; /* Yellow */
}
.token.selector {
    color: #bd93f9; /* Purple */
}
.token.attr-name {
    color: #ff79c6; /* Pink */
}
.token.entity, .token.url, .language-css .token.string, .style .token.string {
    color: #f1fa8c; /* Yellow */
}
.token.attr-value, .token.keyword, .token.control, .token.directive, .token.unit {
    color: #8be9fd; /* Cyan */
}
.token.function {
    color: #ffb86c; /* Yellow */
}
.token.regex, .token.important, .token.variable {
    color: #ff5555; /* Red */
}
.token.important, .token.bold {
    font-weight: bold;
}
.token.italic {
    font-style: italic;
}
.token.entity {
    cursor: help;
}