/* Modern "One Dark" inspired syntax highlighting theme */
/* Overrides the default pre/code styles with proper syntax highlighting */

/* Base code block styling */
pre {
    color: #abb2bf !important;
    border-radius: 8px;
    padding: 0;
    margin: 1.5em 0;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border: 1px solid #3e4451;
    overflow: auto;
}

pre code {
    background-color: transparent !important;
    padding: 1.25em 1.5em !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    font-family: 'Fira Code', 'JetBrains Mono', 'Source Code Pro', Consolas, Monaco, 'Andale Mono', monospace;
}

/* Inline code styling */
:not(pre) > code {
    background-color: #e8eaed;
    padding: 0.2em 0.4em;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'JetBrains Mono', 'Source Code Pro', Consolas, Monaco, monospace;
}

/* Hugo Chroma syntax highlighting classes */

/* Background */
.highlight {
    background-color: rgb(23, 23, 23);
    border-radius: 8px;
    margin: 1.5em 0;
    overflow: hidden;
}

.highlight pre {
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    border: none;
}

/* Line numbers */
.highlight .ln,
.highlight .lnt {
    color: #5c6370;
    padding-right: 1em;
    user-select: none;
}

/* Error */
.highlight .err {
    color: #e06c75;
}

/* Line Highlight */
.highlight .hl {
    background-color: #3e4451;
    display: block;
}

/* Keyword */
.highlight .k,
.highlight .kc,
.highlight .kd,
.highlight .kn,
.highlight .kp,
.highlight .kr,
.highlight .kt,
.highlight .nx {
    color: rgb(204, 153, 205);
}

/* Name */
.highlight .n {
    color: #abb2bf;
}

/* Name.Attribute */
.highlight .na {
    color: #d19a66;
}

/* Name.Builtin */
.highlight .nb {
    color: #e5c07b;
}

/* Name.Builtin.Pseudo */
.highlight .bp {
    color: #e5c07b;
}

/* Name.Class */
.highlight .nc {
    color: #e5c07b;
}

/* Name.Constant */
.highlight .no {
    color: #d19a66;
}

/* Name.Decorator */
.highlight .nd {
    color: #61afef;
}

/* Name.Entity */
.highlight .ni {
    color: #c678dd;
}

/* Name.Exception */
.highlight .ne {
    color: #e5c07b;
}

/* Name.Function */
.highlight .nf {
    color: #61afef;
}

/* Name.Function.Magic */
.highlight .fm {
    color: #61afef;
}

/* Name.Label (object keys in JS) */
.highlight .nl {
    color: #abb2bf;
}

/* Name.Namespace */
.highlight .nn {
    color: #abb2bf;
}

/* Name.Other (variables, identifiers) */
.highlight .nx {
    color: rgb(229, 229, 229);
}

/* Name.Property (object keys) */
.highlight .py {
    color: #abb2bf;
}

/* Name.Tag */
.highlight .nt {
    color: #e06c75;
}

/* Name.Variable */
.highlight .nv {
    color: #abb2bf;
}

/* Name.Variable.Class */
.highlight .vc {
    color: #abb2bf;
}

/* Name.Variable.Global */
.highlight .vg {
    color: #abb2bf;
}

/* Name.Variable.Instance */
.highlight .vi {
    color: #abb2bf;
}

/* Name.Variable.Magic */
.highlight .vm {
    color: #abb2bf;
}

/* Literal */
.highlight .l {
    color: #d19a66;
}

/* Literal.Date */
.highlight .ld {
    color: #98c379;
}

/* Literal.String */
.highlight .s,
.highlight .sa,
.highlight .sb,
.highlight .sc,
.highlight .dl,
.highlight .sd,
.highlight .s2,
.highlight .se,
.highlight .sh,
.highlight .si,
.highlight .sx,
.highlight .sr,
.highlight .s1,
.highlight .ss {
    color: #98c379;
}

/* Literal.Number */
.highlight .m,
.highlight .mb,
.highlight .mf,
.highlight .mh,
.highlight .mi,
.highlight .il,
.highlight .mo,
.highlight .mx {
    color: #d19a66;
}

/* Operator */
.highlight .o,
.highlight .ow {
    color: #56b6c2;
}

/* Punctuation */
.highlight .p {
    color: rgb(204, 204, 204);
}

/* Comment */
.highlight .c,
.highlight .ch,
.highlight .cm,
.highlight .c1,
.highlight .cs {
    color: rgb(153, 153, 153);
    font-style: italic;
}

/* Comment.Preproc */
.highlight .cp,
.highlight .cpf {
    color: #5c6370;
    font-style: italic;
}

/* Generic */
.highlight .g {
    color: #abb2bf;
}

/* Generic.Deleted */
.highlight .gd {
    color: #e06c75;
    background-color: rgba(224, 108, 117, 0.1);
}

/* Generic.Emph */
.highlight .ge {
    font-style: italic;
}

/* Generic.Heading */
.highlight .gh {
    color: #61afef;
    font-weight: bold;
}

/* Generic.Inserted */
.highlight .gi {
    color: #98c379;
    background-color: rgba(152, 195, 121, 0.1);
}

/* Generic.Output */
.highlight .go {
    color: #5c6370;
}

/* Generic.Prompt */
.highlight .gp {
    color: #5c6370;
}

/* Generic.Strong */
.highlight .gs {
    font-weight: bold;
}

/* Generic.Subheading */
.highlight .gu {
    color: #56b6c2;
    font-weight: bold;
}

/* Text.Whitespace */
.highlight .w {
    color: #abb2bf;
}
