/* Syntax Highlighting - Dark Theme (monokai-inspired) */

/* Code block container */
.highlight {
  background-color: #1C1C26;
  border-radius   : 0.75rem;
  padding         : 1.5rem;
  margin          : 1.5rem 0;
  overflow-x      : auto;
  /* border          : 1px solid rgba(124, 58, 237, 0.1); */
  /* box-shadow   : 0 4px 6px -1px rgba(0, 0, 0, 0.3); */
}

.highlight pre {
  margin    : 0;
  /* padding   : 0; */
  background: transparent;
  overflow-x: auto;
}

.highlight code {
  background   : transparent;
  padding      : 0;
  border-radius: 0;
  font-family  : 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;
  font-size    : 0.875rem;
  line-height  : 1.7;
  color        : #f8f8f2;
}

/* Inline code */
p code,
li code,
td code {
  background-color: #1C1C26;
  color           : #A78BFA;
  padding         : 0.2rem 0.5rem;
  border-radius   : 0.375rem;
  font-family     : 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;
  font-size       : 0.875em;
  border          : 1px solid rgba(124, 58, 237, 0.2);
}

/* Language badge */
.highlight::before {
  content       : attr(data-lang);
  position      : absolute;
  right         : 1rem;
  top           : 0.5rem;
  font-size     : 0.75rem;
  text-transform: uppercase;
  color         : #A78BFA;
  font-weight   : 600;
  letter-spacing: 0.05em;
}

.highlight {
  position: relative;
}

/* Syntax highlighting colors */
.highlight .c {
  color     : #75715e;
  font-style: italic;
}

/* Comment */
.highlight .err {
  color: #f92672;
}

/* Error */
.highlight .k {
  color      : #66d9ef;
  font-weight: bold;
}

/* Keyword */
.highlight .l {
  color: #ae81ff;
}

/* Literal */
.highlight .n {
  color: #f8f8f2;
}

/* Name */
.highlight .o {
  color: #f92672;
}

/* Operator */
.highlight .p {
  color: #f8f8f2;
}

/* Punctuation */
.highlight .ch {
  color     : #75715e;
  font-style: italic;
}

/* Comment.Hashbang */
.highlight .cm {
  color     : #75715e;
  font-style: italic;
}

/* Comment.Multiline */
.highlight .cp {
  color      : #75715e;
  font-weight: bold;
}

/* Comment.Preproc */
.highlight .cpf {
  color     : #75715e;
  font-style: italic;
}

/* Comment.PreprocFile */
.highlight .c1 {
  color     : #75715e;
  font-style: italic;
}

/* Comment.Single */
.highlight .cs {
  color      : #75715e;
  font-weight: bold;
  font-style : italic;
}

/* Comment.Special */
.highlight .gd {
  color: #f92672;
}

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

/* Generic.Emph */
.highlight .gi {
  color: #a6e22e;
}

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

/* Generic.Strong */
.highlight .gu {
  color: #75715e;
}

/* Generic.Subheading */
.highlight .kc {
  color      : #66d9ef;
  font-weight: bold;
}

/* Keyword.Constant */
.highlight .kd {
  color      : #66d9ef;
  font-weight: bold;
}

/* Keyword.Declaration */
.highlight .kn {
  color      : #f92672;
  font-weight: bold;
}

/* Keyword.Namespace */
.highlight .kp {
  color: #66d9ef;
}

/* Keyword.Pseudo */
.highlight .kr {
  color      : #66d9ef;
  font-weight: bold;
}

/* Keyword.Reserved */
.highlight .kt {
  color: #66d9ef;
}

/* Keyword.Type */
.highlight .ld {
  color: #e6db74;
}

/* Literal.Date */
.highlight .m {
  color: #ae81ff;
}

/* Literal.Number */
.highlight .s {
  color: #e6db74;
}

/* Literal.String */
.highlight .na {
  color: #a6e22e;
}

/* Name.Attribute */
.highlight .nb {
  color: #f8f8f2;
}

/* Name.Builtin */
.highlight .nc {
  color      : #a6e22e;
  font-weight: bold;
}

/* Name.Class */
.highlight .no {
  color: #66d9ef;
}

/* Name.Constant */
.highlight .nd {
  color: #a6e22e;
}

/* Name.Decorator */
.highlight .ni {
  color: #f8f8f2;
}

/* Name.Entity */
.highlight .ne {
  color      : #a6e22e;
  font-weight: bold;
}

/* Name.Exception */
.highlight .nf {
  color: #a6e22e;
}

/* Name.Function */
.highlight .nl {
  color: #f8f8f2;
}

/* Name.Label */
.highlight .nn {
  color: #f8f8f2;
}

/* Name.Namespace */
.highlight .nx {
  color: #a6e22e;
}

/* Name.Other */
.highlight .py {
  color: #f8f8f2;
}

/* Name.Property */
.highlight .nt {
  color: #f92672;
}

/* Name.Tag */
.highlight .nv {
  color: #f8f8f2;
}

/* Name.Variable */
.highlight .ow {
  color      : #f92672;
  font-weight: bold;
}

/* Operator.Word */
.highlight .w {
  color: #f8f8f2;
}

/* Text.Whitespace */
.highlight .mb {
  color: #ae81ff;
}

/* Literal.Number.Bin */
.highlight .mf {
  color: #ae81ff;
}

/* Literal.Number.Float */
.highlight .mh {
  color: #ae81ff;
}

/* Literal.Number.Hex */
.highlight .mi {
  color: #ae81ff;
}

/* Literal.Number.Integer */
.highlight .mo {
  color: #ae81ff;
}

/* Literal.Number.Oct */
.highlight .sa {
  color: #e6db74;
}

/* Literal.String.Affix */
.highlight .sb {
  color: #e6db74;
}

/* Literal.String.Backtick */
.highlight .sc {
  color: #e6db74;
}

/* Literal.String.Char */
.highlight .dl {
  color: #e6db74;
}

/* Literal.String.Delimiter */
.highlight .sd {
  color: #e6db74;
}

/* Literal.String.Doc */
.highlight .s2 {
  color: #e6db74;
}

/* Literal.String.Double */
.highlight .se {
  color: #ae81ff;
}

/* Literal.String.Escape */
.highlight .sh {
  color: #e6db74;
}

/* Literal.String.Heredoc */
.highlight .si {
  color: #e6db74;
}

/* Literal.String.Interpol */
.highlight .sx {
  color: #e6db74;
}

/* Literal.String.Other */
.highlight .sr {
  color: #e6db74;
}

/* Literal.String.Regex */
.highlight .s1 {
  color: #e6db74;
}

/* Literal.String.Single */
.highlight .ss {
  color: #e6db74;
}

/* Literal.String.Symbol */
.highlight .bp {
  color: #f8f8f2;
}

/* Name.Builtin.Pseudo */
.highlight .fm {
  color: #a6e22e;
}

/* Name.Function.Magic */
.highlight .vc {
  color: #f8f8f2;
}

/* Name.Variable.Class */
.highlight .vg {
  color: #f8f8f2;
}

/* Name.Variable.Global */
.highlight .vi {
  color: #f8f8f2;
}

/* Name.Variable.Instance */
.highlight .vm {
  color: #f8f8f2;
}

/* Name.Variable.Magic */
.highlight .il {
  color: #ae81ff;
}

/* Literal.Number.Integer.Long */

/* Line numbers */
.highlight .lineno {
  color        : #5c5c5c;
  padding-right: 1rem;
  user-select  : none;
  border-right : 1px solid #3a3a3a;
  margin-right : 1rem;
}

/* Scrollbar styling for code blocks */
.highlight pre::-webkit-scrollbar {
  height: 8px;
}

.highlight pre::-webkit-scrollbar-track {
  background   : #13131A;
  border-radius: 4px;
}

.highlight pre::-webkit-scrollbar-thumb {
  background   : #7C3AED;
  border-radius: 4px;
}

.highlight pre::-webkit-scrollbar-thumb:hover {
  background: #A78BFA;
}
