body { 
    background:rgb(0, 0, 0); 
    color:#180e02; 
    overflow-x: hidden; 
    font-family: Verdana, sans-serif;
    padding:0; 
    margin:0; 
    justify-content: center;
    align-items: center;
    display: flex; /* Se mantiene el flex */
}

body ul li{
    font-family: redactionTextReg;
    color:#ffffffce;
    font-size: 18px;
}

main { 
    padding: 65px; 
    float:left; 
    max-width:1100px;
    min-height: 100vh;
    width: 90%;
    box-sizing: border-box;
    margin: 0 auto;
    flex: 1;
}

main > h1 { 
    font-family: redactionH1;
    font-size:35px;
    text-align: left;
    color: #ffffffce;
}

main > h2 {
    font-family: redactionH2; 
    font-size:30px;
    color: #ffffffce;
}

main > h3 { 
    font-family: redactionH2;
    font-size:20px; 
    color: #ffffffce;
}

main > h4 { 
    font-family: redactionH2;
    font-size:15px; 
    color: #ffffffce;
}

main p { 
    font-family: redactionTextReg;
    line-height: 25px; 
    font-size:18px; 
    margin-top: 0px; 
}

img  {
    max-width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
}

table td { 
    vertical-align:top;
    padding:2.5px 5px;
    text-align:left; 
    border: 1px solid black; 
}

table {
    border: solid black; 
}

nav {
    background-color: #3532308e;
    overflow: hidden;
    text-align: left;
}
  
nav ul {
    list-style-type: none;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    text-align: center;
    display: inline-block; 
}
  
nav ul li {
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 0;
}
  
nav ul li a {
    display: block;
    color: #fefefedd;
    padding: 14px 16px;
    text-decoration: none;
}
  
nav ul li a:hover {
    background-color: #fff9e880;
    color: black;
}

p {
    color: #ffffffce;
    text-align: justify;
}

a{
    color: #fff3ea8e;
}

ol {
    color: #ffffffce;
    font-size: 16px;
    font-family: redactionTextReg;
}

footer {
    padding: 10px;
    text-align: center;
    font-size: 14px;
    position: fixed; 
    bottom: 0;
    width: 100%;
    font-family: redactionTextReg;
}

footer p {
    margin: 0 auto;
    text-align: center;
    font-family: redactionTextReg;
}

@media only screen and (max-width: 600px) {
    
    nav.expand ul {
        display: block;
    }

    nav ul li {
        display: block;
        margin: 10px 0;
        margin-bottom: 10px;
        margin-right: 0;
    }

    nav ul li a {
        padding: 10px;
    }

    nav {
        text-align: center;
    }
    
     main > h1 { 
        text-align: center;
     }

     img {
        max-width: 100%;
     }
}

.cita {
    font-family: redactionTextIt;
    background-color: #ffffff6d;
    text-align: center;
}

/* FUENTES */
@font-face {
    font-family: redactionH1;
    src: url(../fonts/Redaction50-Bold.otf);
}

@font-face {
    font-family: redactionH2;
    src: url(../fonts/Redaction35-Bold.otf);
}

@font-face {
    font-family: redactionTextReg;
    src: url(../fonts/Redaction20-Regular.otf);
}

@font-face {
    font-family: redactionTextIt;
    src: url(../fonts/Redaction35-Italic.otf);
}

/* WIDGETS */
#lastfm-list {
    padding: 0;
    width: 100%;
    max-width: 500px;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#album-list {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

#album-list li {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    text-align: left;
    width: 100%;
}

#album-list img {
    width: 50px;
    height: 50px;
    border-radius: 1px;
    margin-right: 10px;
    flex-shrink: 0;
    filter: grayscale(100%);
}

#album-list span {
    color: #ffffffce;
    font-family: redactionTextReg;
    font-size: 18px;
    text-align: left;
    flex-grow: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#lastfm-nowplaying-list {
    padding: 0;
    width: 100%;
    max-width: 500px;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#nowplaying-track {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

#nowplaying-track li {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    text-align: left;
    width: 100%;
}

#nowplaying-track img {
    width: 50px;
    height: 50px;
    border-radius: 1px;
    margin-right: 10px;
    flex-shrink: 0;
    filter: grayscale(100%);
}

#nowplaying-track span {
    color: #ffffffce;
    font-family: redactionTextReg;
    font-size: 18px;
    text-align: left;
    flex-grow: 1;
}

.hover-image {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.hover-image .imagen {
    max-width: none;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    width: 200px;
    height: auto;
    border: none;
    padding: 0;
    background: transparent;
    transform: translateX(-25%);
    filter: grayscale(100%);
}

.hover-image:hover .imagen {
    display: block;
}

.fecha-fija {
  display: inline-block; 
  min-width: 85px;       
  /* text-align: center; */ /* <--- COMENTARIO CERRADO CORRECTAMENTE */
}

/* --- BLOQUE DE CÓDIGO (CONTENEDOR) --- */
pre {
    background-color: #161616; /* Fondo gris muy oscuro */
    border: 1px solid #333;
    padding: 15px;
    overflow-x: auto;
    margin: 20px 0;
    color: #f8f8f2; /* Color base del texto (blanco roto) */
    font-family: 'Fira Code', 'Consolas', monospace;
    font-size: 14px;
    line-height: 1.5;
    border-radius: 5px;
}

code {
    font-family: inherit;
    color: inherit; /* Hereda el color del pre */
}

/* --- BLOQUE DE CÓDIGO (ESTILO GRUVBOX / TIERRA) --- */
pre {
    background-color: #282828; /* Gris parduzco oscuro (Base Gruvbox) */
    border: 1px solid #3c3836; /* Borde marrón oscuro sutil */
    padding: 15px;
    overflow-x: auto;
    margin: 20px 0;
    color: #ebdbb2; /* Color crema/hueso para el texto normal */
    font-family: 'Fira Code', 'Consolas', monospace;
    font-size: 14px;
    line-height: 1.5;
    border-radius: 4px;
}

code {
    font-family: inherit;
    color: inherit;
}

/* --- RESALTADO DE SINTAXIS (PALETA CÁLIDA) --- */

/* Palabras clave (if, else, return) - Naranja Quemado */
.highlight .k, .highlight .kd, .highlight .kp, .highlight .kr {
    color: #fe8019; 
    font-weight: bold;
}

/* Tipos de datos (int, void, char) - Amarillo Ocre */
.highlight .kt {
    color: #fabd2f; 
}

/* Strings ("Hola mundo") - Verde Oliva */
.highlight .s, .highlight .s1, .highlight .s2, .highlight .sb, .highlight .sc {
    color: #b8bb26; 
}

/* Comentarios (// comentario) - Marrón Grisáceo (Taupe) */
.highlight .c, .highlight .c1, .highlight .cm {
    color: #928374; 
    font-style: italic;
}

/* Números (0, 100) - Púrpura desaturado */
.highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi {
    color: #d3869b; 
}

/* Macros (#include) - Rojo Arcilla */
.highlight .cp {
    color: #fb4934; 
}

/* Funciones (main, printf) - Aqua/Azul verdoso desaturado */
.highlight .nf, .highlight .nc {
    color: #8ec07c; 
}

/* Código en línea (inline) */
p code, li code {
    background-color: #32302f; /* Un poco más claro que el fondo negro */
    color: #d65d0e; /* Naranja oscuro para destacar en texto */
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.9em;
}

/* --- MATHJAX (LATEX) --- */

/* Fuerza el color blanco (crema) en las fórmulas */
.MathJax, .MathJax_Display, .mjx-chtml, .mjx-container {
    color: #ffffffce !important; /* Usamos tu color estándar */
    font-size: 110%; /* Opcional: Las fórmulas suelen verse chicas, esto las agranda un pelín */
}

/* Asegura que los números de las ecuaciones (si usas) también sean blancos */
.MathJax_NoScript {
    color: #ffffffce !important;
}

/* Para que los videos y YouTube sean responsive */
video, iframe {
    max-width: 100%; /* No permite que sea más ancho que la columna */
    display: block;
    margin: 20px auto; /* Centrado automático y margen vertical */
}