/* Contenedor y Estructura */
.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }

.highlight, .highlight .w {

  color: var(--code-text);
  background-color: var(--code-bg);
  border-radius: 8px; /* Un toque moderno */
  overflow: hidden;
}

.highlighter-rouge div{
    border: 1px solid var(--surface0);

}

/* === KEYWORDS (if, else, import) -> Mauve === */
.highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv {
  color: var(--mauve);
}

/* === GENERIC (Diffs) === */
.highlight .gr { color: var(--text); }
.highlight .gd {
  color: var(--red);
  background-color: rgba(243, 139, 168, 0.15); /* Transparencia sobre el rojo */
}
.highlight .gi {
  color: var(--green);
  background-color: rgba(166, 227, 161, 0.15); /* Transparencia sobre el verde */
}

/* === BUILTINS & CONSTANTS -> Peach/Red === */
.highlight .nb, .highlight .no, .highlight .nn {
  color: var(--peach); 
}
.highlight .nc {
  color: var(--yellow); /* Clases/Tipos en Amarillo */
}

/* === STRINGS & REGEX -> Green === */
.highlight .s, .highlight .sa, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .sx, .highlight .s1, .highlight .ss, .highlight .sr {
  color: var(--green);
}

/* === ATTRIBUTES & TAGS -> Teal/Blue === */
.highlight .na { color: var(--teal); } /* Atributos HTML/CSS */
.highlight .nt { color: var(--blue); } /* Tags HTML */

/* === EMPHASIS === */
.highlight .ges {
  font-weight: bold;
  font-style: italic;
  color: var(--maroon);
}
.highlight .gh, .highlight .gu { /* Headings en Markdown */
  color: var(--blue);
  font-weight: bold;
}

/* === VARIABLES & OPERATORS -> Text/Sky === */
.highlight .kc { color: var(--peach); } /* Booleanos */
.highlight .l, .highlight .ld, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
  color: var(--peach); /* Números */
}

.highlight .sb { color: var(--green); }
.highlight .bp { color: var(--sapphire); }
.highlight .ne { color: var(--red); font-weight: bold; } /* Excepciones */
.highlight .nl { color: var(--teal); }

/* Variables */
.highlight .py { color: var(--text); }
.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {
  color: var(--text);
}

/* Operadores */
.highlight .o, .highlight .ow {
  color: var(--sky); 
}

/* === FUNCTIONS -> Blue === */
.highlight .nd { color: var(--teal); } /* Decoradores */
.highlight .nf, .highlight .fm {
  color: var(--blue);
}

/* === ERRORS === */
.highlight .err {
  color: var(--red);
  background-color: transparent; /* Quitamos el fondo agresivo */
  text-decoration: underline wavy var(--red); /* Estilo moderno de error */
}

/* === COMMENTS -> Overlay === */
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs, .highlight .gl, .highlight .gt {
  color: var(--code-comment);
  font-style: italic;
}

/* === INTERPOLATION === */
.highlight .ni { color: var(--rosewater); }
.highlight .si { color: var(--rosewater); }
.highlight .ge { color: var(--overlay2); font-style: italic; }
.highlight .gs { color: var(--text); font-weight: bold; }
