
:root{
    --bg: #0b1220 !important; 
    --card: rgba(255,255,255,.06) !important;
    --border: rgba(255,255,255,.12) !important;
    --text: #eaf0ff !important;
    --muted: rgba(234,240,255,.75) !important;

    --brand: #4f8cff !important;   /* azul vivo */
    --accent: #22c55e !important;  /* verde */
    --warn: #f59e0b !important;    /* ámbar */
    --pink: #ec4899 !important;    /* rosado */
    --cyan: #06b6d4 !important;    /* cian */
}

body{
    background: radial-gradient(1200px 700px at 10% 0%, rgba(79,140,255,.20), transparent 60%),
                radial-gradient(900px 600px at 90% 20%, rgba(6,182,212,.18), transparent 60%),
                radial-gradient(900px 700px at 50% 100%, rgba(236,72,153,.14), transparent 60%),
                var(--bg) !important;
    color: var(--text) !important;
}

a{ color: var(--text); }
a:hover{ color: #ffffff; }

.wrap{ max-width: 1100px; }

.soft-card{
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 1.25rem;
    box-shadow: 0 14px 40px rgba(0,0,0,.35);
}

.pill{
    border-radius: 999px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,.05);
    color: var(--muted);
    padding: .35rem .7rem;
    font-size: .9rem;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.hero{
    background: linear-gradient(135deg, rgba(79,140,255,.20), rgba(6,182,212,.12));
    border: 1px solid rgba(79,140,255,.25);
}

.title-gradient{
    background: linear-gradient(90deg, #ffffff, rgba(234,240,255,.70));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.nav-pills .nav-link{
    color: rgba(234,240,255,.75);
    border-radius: 999px;
    border: 1px solid transparent;
}
.nav-pills .nav-link:hover{
    border-color: rgba(255,255,255,.14);
    color: #fff;
}
.nav-pills .nav-link.active{
    background: rgba(79,140,255,.18);
    border: 1px solid rgba(79,140,255,.40);
    color: #fff;
}

.section-title{
    letter-spacing: .2px;
    margin-bottom: .75rem;
}

.divider{
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
    margin: 1.25rem 0;
}

.badge-chip{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.45rem .75rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    color: rgba(234,240,255,.85);
    font-size: .9rem;
}

.callout{
    border-left: 4px solid rgba(79,140,255,.85);
    background: rgba(79,140,255,.10);
    border-radius: 1rem;
    border: 1px solid rgba(79,140,255,.20);
    padding: 1rem 1.1rem;
    color: rgba(234,240,255,.90);
}

.mini{
    font-size: .92rem;
    color: var(--muted);
}

.kpi{
    border-radius: 1rem;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.05);
    padding: .9rem 1rem;
    height: 100%;
}

.kpi .k{ font-weight: 700; }
.kpi .v{ color: var(--muted); font-size: .95rem; }

.example{
    border-radius: 1rem;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.05);
    padding: 1rem 1.1rem;
    height: 100%;
}

.code{
    background: #070b14;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 12px;
    padding: 12px 14px;
    color: rgba(234,240,255,.92);
    overflow: auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: .9rem;
    margin: 0;
}

/* Acordeón legible en fondo oscuro */
.accordion-item{
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 1rem !important;
    overflow: hidden;
    margin-bottom: .75rem;
}
.accordion-button{
    background: rgba(255,255,255,.06);
    color: rgba(234,240,255,.92);
}
.accordion-button:not(.collapsed){
    background: rgba(34,197,94,.12);
    color: #fff;
    box-shadow: none;
}
.accordion-button:focus{
    box-shadow: 0 0 0 .2rem rgba(79,140,255,.25);
}
.accordion-body{
    color: rgba(234,240,255,.88);
}

.footer-note{
    color: rgba(234,240,255,.60);
    font-size: .9rem;
}
