      /* ---------- Controles de lectura ---------- */
    .reader-toolbar {
        position: sticky;
        top: .5rem;
        z-index: 5;
        display: flex;
        gap: .5rem;
        align-items: center;
        justify-content: flex-end;
        margin-bottom: .75rem;
        padding: .4rem .5rem;
        background: rgba(255, 255, 255, .75);
        backdrop-filter: blur(8px);
        border: 1px solid var(--brand-gris-30, #e1e4e8);
        border-radius: 999px;
        box-shadow: 0 8px 18px rgba(0, 0, 0, .08);
    }

    .reader-btn {
        appearance: none;
        border: 0;
        cursor: pointer;
        padding: .35rem .7rem;
        border-radius: 999px;
        font-weight: 700;
        background: linear-gradient(145deg,
                var(--brand-azul-shade-20, #002a9f) 0%,
                var(--brand-azul, #0133CC) 50%,
                var(--brand-azul-tint-20, #375fe0) 100%);
        color: #fff;
        box-shadow: 0 3px 10px rgba(0, 0, 0, .12);
        transition: filter .15s ease, transform .06s ease;
    }

    .reader-btn:active {
        transform: translateY(1px) scale(.99);
    }

    .reader-btn.secondary {
        background: linear-gradient(145deg, #f1f3f5 0%, #ffffff 100%);
        color: #222;
        border: 1px solid var(--brand-gris-30, #e1e4e8);
    }

    .reader-indicator {
        min-width: 3ch;
        text-align: center;
        font-weight: 700;
        color: #333;
        padding: 0 .25rem;
    }

    /* El contenedor que escala la tipografía */
    .reader {
        /* Escala tipográfica controlada por variable */
        font-size: var(--reader-font, 1rem);
        line-height: 1.65;
    }

    .reader .section-block h2 { font-size: clamp(1.2rem, 1.1rem + .2vw, 1.4rem); }
