/* =============================================
   THEMES — cada terminal simula un entorno
   distinto: shell, json, syslog, git, yaml, system
   ============================================= */

/* ── SHARED base overrides por tema ───────── */
[class*="theme-"] {
    border-radius: 8px;
    overflow: hidden;
}
[class*="theme-"] .terminal-body {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    line-height: 1.6;
}

/* ══════════════════════════════════════════
   THEME: SHELL / BASH
   skills.sh — verde, macOS Terminal
   ══════════════════════════════════════════ */
.theme-shell {
    background: #0a0e14;
    border: 1px solid rgba(0,255,0,0.2);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4), 0 0 25px rgba(0,255,0,0.04);
}
.theme-shell .terminal-header { background: #1a1a1a; border-bottom: 1px solid rgba(0,255,0,0.1); }
.theme-shell .terminal-title  { color: #8a8a8a; }

/* ══════════════════════════════════════════
   THEME: JSON / VSCODE
   tech_stack.json — ámbar dorado
   ══════════════════════════════════════════ */
.theme-json {
    background: #1e1e2e;
    border: 1px solid rgba(245,197,66,0.2);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4), 0 0 25px rgba(245,197,66,0.04);
}
.theme-json .terminal-header {
    background: #181825;
    border-bottom: 1px solid rgba(245,197,66,0.12);
    display: flex;
    flex-direction: column;
    padding: 0;
}
.theme-json .theme-topbar {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    color: rgba(255,255,255,0.18);
    letter-spacing: 0.12em;
    padding: 0.25rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.theme-json .theme-tab {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.4rem 1rem;
}
.theme-json .terminal-title {
    color: #f5c542;
    font-size: 0.75rem;
    border-bottom: 2px solid #f5c542;
    padding-bottom: 0.3rem;
}
.theme-json .terminal-buttons { margin-left: auto; }

/* JSON syntax */
.json-viewer { padding: 0.5rem 0; }
.json-line   { padding: 0.08rem 0; white-space: pre; }
.json-line.pad1 { padding-left: 1.5rem; }
.json-line.pad2 { padding-left: 3rem; }
.json-brace  { color: rgba(245,197,66,0.85); font-weight: 700; }
.json-key    { color: #9cdcfe; }
.json-str    { color: #ce9178; }
.json-num    { color: #b5cea8; }
.json-bool   { color: #569cd6; font-style: italic; }
.json-punct  { color: rgba(255,255,255,0.4); }
.json-comment { color: #6a9955; font-style: italic; }

/* ══════════════════════════════════════════
   THEME: SYSLOG / SERVER
   certs.log — azul sistema
   ══════════════════════════════════════════ */
.theme-syslog {
    background: #0d1117;
    border: 1px solid rgba(88,166,255,0.15);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4), 0 0 25px rgba(88,166,255,0.03);
}
.theme-syslog .terminal-header {
    background: #161b22;
    border-bottom: 1px solid rgba(88,166,255,0.1);
}
.theme-syslog .terminal-title  { color: #58a6ff; }
.theme-syslog .terminal-button { background: #21262d; border: 1px solid rgba(88,166,255,0.2); }
.theme-syslog .terminal-button:nth-child(1) { background: #3d444d; }
.theme-syslog .terminal-button:nth-child(2) { background: #3d444d; }
.theme-syslog .terminal-button:nth-child(3) { background: #58a6ff; }

/* Syslog syntax */
.syslog-viewer    { padding: 0.25rem 0; }
.log-entry        { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0.2rem 0; align-items: baseline; border-bottom: 1px solid rgba(255,255,255,0.03); }
.log-entry:last-child { border-bottom: none; }
.log-separator    { height: 1px; background: rgba(88,166,255,0.1); margin: 0.6rem 0; }
.log-timestamp    { color: #8b949e; font-size: 0.78rem; white-space: nowrap; flex-shrink: 0; }
.log-level-info   { color: #58a6ff; font-weight: 700; font-size: 0.75rem; width: 54px; text-align: center; background: rgba(88,166,255,0.1); border-radius: 3px; padding: 0 4px; }
.log-level-success{ color: #3fb950; font-weight: 700; font-size: 0.75rem; width: 54px; text-align: center; background: rgba(63,185,80,0.1); border-radius: 3px; padding: 0 4px; }
.log-level-warn   { color: #e3b341; font-weight: 700; font-size: 0.75rem; width: 54px; text-align: center; background: rgba(227,179,65,0.1); border-radius: 3px; padding: 0 4px; }
.log-service      { color: #79c0ff; font-size: 0.8rem; min-width: 80px; }
.log-kv           { font-size: 0.8rem; }
.log-key          { color: #8b949e; }
.log-value        { color: #a5d6ff; }
.log-summary .log-value { color: #3fb950; font-weight: 700; }

/* ══════════════════════════════════════════
   THEME: GIT LOG
   career.log — naranja commit
   ══════════════════════════════════════════ */
.theme-git {
    background: #1a1a2e;
    border: 1px solid rgba(224,123,84,0.2);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4), 0 0 25px rgba(224,123,84,0.04);
}
.theme-git .terminal-header { background: #16213e; border-bottom: 1px solid rgba(224,123,84,0.12); }
.theme-git .terminal-title  { color: #e07b54; }
.theme-git .terminal-button:nth-child(1) { background: #e07b54; }
.theme-git .terminal-button:nth-child(2) { background: #e0b454; }
.theme-git .terminal-button:nth-child(3) { background: #54e07b; }
/* Override timeline colors for git theme */
.theme-git .tl-year   { color: #e07b54; }
.theme-git .tl-dot    { background: #e07b54; box-shadow: 0 0 8px #e07b54; }
.theme-git .tl-line   { background: linear-gradient(to bottom, rgba(224,123,84,0.4), rgba(224,123,84,0.02)); }
.theme-git .tl-commit { color: rgba(224,123,84,0.75); }
.theme-git .tl-content h4 { color: #f0b27a; }
#timeline .section-title         { color: #e07b54; }
#timeline .section-title::after  { background-color: #e07b54; }

/* ══════════════════════════════════════════
   THEME: YAML / MARKDOWN CONFIG
   philosophy.md — púrpura editor
   ══════════════════════════════════════════ */
.theme-yaml {
    background: #1a1225;
    border: 1px solid rgba(199,146,234,0.2);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4), 0 0 25px rgba(199,146,234,0.04);
}
.theme-yaml .terminal-header { background: #130f1e; border-bottom: 1px solid rgba(199,146,234,0.12); }
.theme-yaml .terminal-title  { color: #c792ea; }
.theme-yaml .terminal-button:nth-child(1) { background: #c792ea; }
.theme-yaml .terminal-button:nth-child(2) { background: #82aaff; }
.theme-yaml .terminal-button:nth-child(3) { background: #c3e88d; }
.theme-yaml .terminal-prompt      { color: #c792ea; }
.theme-yaml .approach-cmd-text    { color: rgba(130,170,255,0.55); }
.theme-yaml .approach-cmd-block   { border-left-color: rgba(199,146,234,0.2); }
.theme-yaml .approach-cmd-block:hover { border-left-color: rgba(199,146,234,0.45); }
.theme-yaml .approach-section h3  { color: #82aaff; }
.theme-yaml .approach-section p   { color: #a0a8c0; }
#approach .section-title          { color: #c792ea; }
#approach .section-title::after   { background-color: #c792ea; }

/* ══════════════════════════════════════════
   THEME: SYSTEM / OPENSSL
   secure_contact.sh — rojo coral sistema
   ══════════════════════════════════════════ */
.theme-system {
    background: #0f1419;
    border: 1px solid rgba(255,107,107,0.2);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4), 0 0 25px rgba(255,107,107,0.04);
}
.theme-system .terminal-header { background: #0a0f14; border-bottom: 1px solid rgba(255,107,107,0.12); }
.theme-system .terminal-title  { color: #ff6b6b; }
.theme-system .terminal-button:nth-child(1) { background: #ff6b6b; }
.theme-system .terminal-button:nth-child(2) { background: #ffd93d; }
.theme-system .terminal-button:nth-child(3) { background: #6bcb77; }
.theme-system .terminal-prompt  { color: #ff6b6b; }
.theme-system .status-line      { color: #8899aa; }
.theme-system .status-ok        { color: #6bcb77 !important; }
.theme-system .contact-intro p  { color: #8899aa; }
.theme-system .form-group label { color: #ff6b6b; }
.theme-system .form-group input,
.theme-system .form-group textarea {
    border-color: rgba(255,107,107,0.2);
    background: rgba(255,107,107,0.03);
}
.theme-system .form-group input:focus,
.theme-system .form-group textarea:focus {
    border-color: rgba(255,107,107,0.5);
}
.theme-system .btn-submit {
    color: #ff6b6b;
    border-color: rgba(255,107,107,0.5);
}
.theme-system .btn-submit:hover {
    background: rgba(255,107,107,0.08);
    color: #fff;
}
.theme-system .contact-link  { border-color: rgba(255,107,107,0.15); }
.theme-system .contact-link:hover { color: #ff6b6b; border-color: rgba(255,107,107,0.4); }
.theme-system .link-label    { color: #ff6b6b; }
#contact .section-title       { color: #ff6b6b; }
#contact .section-title::after{ background-color: #ff6b6b; }
