/* Everforest Dark Theme for Syntax Highlighting */

/* Base background and text */
.highlight {
  background: #2d353b;
  color: #d3c6aa;
  padding: 1em;
  border-radius: 8px;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
  overflow-x: auto;
  line-height: 1.5;
}

/* Comments */
.highlight .c,    /* Comment */
        .highlight .ch,   /* Comment.Hashbang */
        .highlight .cm,   /* Comment.Multiline */
        .highlight .cp,   /* Comment.Preproc */
        .highlight .cpf,  /* Comment.PreprocFile */
        .highlight .c1,   /* Comment.Single */
        .highlight .cs {
  /* Comment.Special */
  color: #859289;
  font-style: italic;
}

/* Errors */
.highlight .err {
  color: #e67e80;
  background-color: #4c3743;
}

/* Keywords */
.highlight .k,    /* Keyword */
        .highlight .kc,   /* Keyword.Constant */
        .highlight .kd,   /* Keyword.Declaration */
        .highlight .kn,   /* Keyword.Namespace */
        .highlight .kp,   /* Keyword.Pseudo */
        .highlight .kr,   /* Keyword.Reserved */
        .highlight .kt {
  /* Keyword.Type */
  color: #e69875;
  font-weight: bold;
}

/* Literals */
.highlight .l,    /* Literal */
        .highlight .ld {
  /* Literal.Date */
  color: #dbbc7f;
}

/* Numbers */
.highlight .m,    /* Literal.Number */
        .highlight .mb,   /* Literal.Number.Bin */
        .highlight .mf,   /* Literal.Number.Float */
        .highlight .mh,   /* Literal.Number.Hex */
        .highlight .mi,   /* Literal.Number.Integer */
        .highlight .mo {
  /* Literal.Number.Oct */
  color: #d699b6;
}

/* Strings */
.highlight .s,    /* Literal.String */
        .highlight .sa,   /* Literal.String.Affix */
        .highlight .sb,   /* Literal.String.Backtick */
        .highlight .sc,   /* Literal.String.Char */
        .highlight .dl,   /* Literal.String.Delimiter */
        .highlight .sd,   /* Literal.String.Doc */
        .highlight .s2,   /* Literal.String.Double */
        .highlight .se,   /* Literal.String.Escape */
        .highlight .sh,   /* Literal.String.Heredoc */
        .highlight .si,   /* Literal.String.Interpol */
        .highlight .sx,   /* Literal.String.Other */
        .highlight .sr,   /* Literal.String.Regex */
        .highlight .s1,   /* Literal.String.Single */
        .highlight .ss {
  /* Literal.String.Symbol */
  color: #a7c080;
}

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

/* Name attributes */
.highlight .na {
  /* Name.Attribute */
  color: #83c092;
}

/* Name builtin */
.highlight .nb {
  /* Name.Builtin */
  color: #7fbbb3;
}

/* Name builtin pseudo */
.highlight .bp {
  /* Name.Builtin.Pseudo */
  color: #d699b6;
}

/* Name class */
.highlight .nc {
  /* Name.Class */
  color: #dbbc7f;
  font-weight: bold;
}

/* Name constant */
.highlight .no {
  /* Name.Constant */
  color: #d699b6;
  font-weight: bold;
}

/* Name decorator */
.highlight .nd {
  /* Name.Decorator */
  color: #e69875;
}

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

/* Name exception */
.highlight .ne {
  /* Name.Exception */
  color: #e67e80;
  font-weight: bold;
}

/* Name function */
.highlight .nf {
  /* Name.Function */
  color: #83c092;
  font-weight: bold;
}

/* Name function magic */
.highlight .fm {
  /* Name.Function.Magic */
  color: #7fbbb3;
}

/* Name label */
.highlight .nl {
  /* Name.Label */
  color: #e69875;
}

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

/* Name other */
.highlight .nx {
  /* Name.Other */
  color: #d3c6aa;
}

/* Name property */
.highlight .py {
  /* Name.Property */
  color: #d3c6aa;
}

/* Name tag */
.highlight .nt {
  /* Name.Tag */
  color: #e69875;
  font-weight: bold;
}

/* Name variable */
.highlight .nv,   /* Name.Variable */
        .highlight .vc,   /* Name.Variable.Class */
        .highlight .vg,   /* Name.Variable.Global */
        .highlight .vi {
  /* Name.Variable.Instance */
  color: #d3c6aa;
}

/* Operators */
.highlight .o,    /* Operator */
        .highlight .ow {
  /* Operator.Word */
  color: #e69875;
}

/* Punctuation */
.highlight .p {
  /* Punctuation */
  color: #d3c6aa;
}

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

/* Generic deleted */
.highlight .gd {
  /* Generic.Deleted */
  color: #e67e80;
  background-color: #4c3743;
}

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

/* Generic error */
.highlight .gr {
  /* Generic.Error */
  color: #e67e80;
}

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

/* Generic inserted */
.highlight .gi {
  /* Generic.Inserted */
  color: #a7c080;
  background-color: #3d4f42;
}

/* Generic output */
.highlight .go {
  /* Generic.Output */
  color: #859289;
}

/* Generic prompt */
.highlight .gp {
  /* Generic.Prompt */
  color: #83c092;
  font-weight: bold;
}

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

/* Generic subheading */
.highlight .gu {
  /* Generic.Subheading */
  color: #7fbbb3;
  font-weight: bold;
}

/* Generic traceback */
.highlight .gt {
  /* Generic.Traceback */
  color: #e67e80;
}

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

/* Custom styling for code blocks */
pre.highlight {
  margin: 1em 0;
  border-left: 4px solid #a7c080;
}

/* Line numbers (if enabled) */
.highlight .linenos {
  background-color: #343f44;
  color: #859289;
  padding-right: 1em;
  border-right: 1px solid #4f585e;
}
