/* style.css — Estilos Cyber Dark para el Portal de Formación */

/* Fuentes servidas en local (vendorizadas con build_assets.sh) — sin CDN. */
@import url('../vendor/fonts/fonts.css');

body {
    font-family: 'Inter', sans-serif;
    background-color: #0d1117;
    color: #e6edf3;
}

code, pre, .font-mono {
    font-family: 'JetBrains Mono', monospace;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #0d1117;
}
::-webkit-scrollbar-thumb {
    background: #30363d;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #00d4aa;
}

/* Markdown Rendering Engine Styling */
.markdown-body {
    color: #e6edf3;
    line-height: 1.7;
    font-size: 0.95rem;
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4 {
    color: #ffffff;
    font-weight: 800;
    margin-top: 1.8rem;
    margin-bottom: 0.8rem;
    line-height: 1.3;
}

.markdown-body h1 {
    font-size: 1.75rem;
    border-bottom: 1px solid #30363d;
    padding-bottom: 0.5rem;
}

.markdown-body h2 {
    font-size: 1.35rem;
    border-bottom: 1px solid #21262d;
    padding-bottom: 0.4rem;
}

.markdown-body h3 {
    font-size: 1.15rem;
}

.markdown-body p {
    margin-bottom: 1.1rem;
    color: #c9d1d9;
}

.markdown-body ul, .markdown-body ol {
    margin-bottom: 1.2rem;
    padding-left: 1.5rem;
}

.markdown-body ul {
    list-style-type: disc;
}

.markdown-body ol {
    list-style-type: decimal;
}

.markdown-body li {
    margin-bottom: 0.4rem;
    color: #c9d1d9;
}

.markdown-body strong {
    color: #ffffff;
}

.markdown-body a {
    color: #58a6ff;
    text-decoration: none;
}

.markdown-body a:hover {
    text-decoration: underline;
    color: #79c0ff;
}

.markdown-body blockquote {
    border-left: 4px solid #00d4aa;
    background: rgba(0, 212, 170, 0.05);
    padding: 0.8rem 1.2rem;
    margin: 1.2rem 0;
    border-radius: 0 8px 8px 0;
    color: #c9d1d9;
}

/* Tablas Markdown */
.markdown-body table {
    width: 100%;
    margin: 1.5rem 0;
    border-collapse: collapse;
    border: 1px solid #30363d;
    border-radius: 8px;
    overflow: hidden;
}

.markdown-body table th {
    background-color: #161b22;
    color: #ffffff;
    font-weight: 700;
    padding: 0.75rem 1rem;
    border: 1px solid #30363d;
    text-align: left;
    font-size: 0.85rem;
}

.markdown-body table td {
    padding: 0.75rem 1rem;
    border: 1px solid #21262d;
    background-color: #0d1117;
    font-size: 0.85rem;
    color: #c9d1d9;
}

.markdown-body table tr:hover td {
    background-color: #161b22;
}

/* Bloques de Código y Snippets */
.markdown-body pre {
    background-color: #090d13 !important;
    border: 1px solid #30363d;
    border-radius: 10px;
    padding: 1.2rem;
    margin: 1.2rem 0;
    overflow-x: auto;
    position: relative;
}

.markdown-body code {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.85rem;
    color: #00d4aa;
    background: rgba(0, 212, 170, 0.1);
    padding: 0.15rem 0.35rem;
    border-radius: 4px;
}

.markdown-body pre code {
    background: transparent;
    padding: 0;
    color: #e6edf3;
}

/* Botón de Copiar Snippet */
.copy-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background-color: #21262d;
    border: 1px solid #30363d;
    color: #8b949e;
    padding: 0.25rem 0.6rem;
    border-radius: 6px;
    font-size: 0.75rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.copy-btn:hover {
    background-color: #30363d;
    color: #ffffff;
    border-color: #00d4aa;
}

/* ── Resaltado de sintaxis (python-markdown codehilite + Pygments monokai) ── */
.markdown-body .codehilite {
    background: #1b1f27;
    border: 1px solid #30363d;
    border-radius: 10px;
    margin: 1.2rem 0;
    overflow-x: auto;
}
.markdown-body .codehilite pre {
    background: transparent !important;
    border: 0;
    margin: 0;
    padding: 1.2rem;
}
.codehilite .hll { background-color: #49483e }
.codehilite { background: #1b1f27; color: #f8f8f2 }
.codehilite .c, .codehilite .ch, .codehilite .cm, .codehilite .cp, .codehilite .cpf,
.codehilite .c1, .codehilite .cs, .codehilite .gu { color: #959077 }
.codehilite .err { color: #ed007e; background-color: #1e0010 }
.codehilite .k, .codehilite .kc, .codehilite .kd, .codehilite .kp, .codehilite .kr,
.codehilite .kt, .codehilite .go, .codehilite .gt { color: #66d9ef }
.codehilite .l, .codehilite .m, .codehilite .se, .codehilite .mb, .codehilite .mf,
.codehilite .mh, .codehilite .mi, .codehilite .mo, .codehilite .il { color: #ae81ff }
.codehilite .o, .codehilite .ow, .codehilite .kn, .codehilite .nt, .codehilite .gd,
.codehilite .gr { color: #ff4689 }
.codehilite .na, .codehilite .nb, .codehilite .nc, .codehilite .nd, .codehilite .ne,
.codehilite .nf, .codehilite .nx, .codehilite .bp, .codehilite .fm, .codehilite .gi { color: #a6e22e }
.codehilite .no { color: #66d9ef }
.codehilite .s, .codehilite .sa, .codehilite .sb, .codehilite .sc, .codehilite .dl,
.codehilite .sd, .codehilite .s2, .codehilite .sh, .codehilite .si, .codehilite .sx,
.codehilite .sr, .codehilite .s1, .codehilite .ss, .codehilite .ld { color: #e6db74 }
.codehilite .gp { color: #ff4689; font-weight: bold }
.codehilite .ge { font-style: italic }
.codehilite .gs { font-weight: bold }
