/* Permitir animaciones en el editor para los efectos de entrada */
    #xioleni-editor [class*="xioleni-text-entrada-slide"],
    #xioleni-editor [class*="xioleni-text-entrada-slide"] span,
    #xioleni-editor .xioleni-char-effect {
        animation-play-state: running !important;
    }

    /* Modificar selectores para no bloquear animaciones en el editor */
    #xioleni-editor .xioleni-per-char-effect,
    #xioleni-editor [class*="xioleni-text-entrada-"] {
        display: inline-block !important;
        white-space: nowrap !important;
    }

    /* Estilos específicos para efectos de entrada en el editor */
    #xioleni-editor .xioleni-text-entrada-slide-left span,
    #xioleni-editor .xioleni-text-entrada-slide-right span,
    #xioleni-editor .xioleni-text-entrada-slide-up span,
    #xioleni-editor .xioleni-text-entrada-slide-down span,
    #xioleni-editor .xioleni-char-effect {
        opacity: 1 !important;
        visibility: visible !important;
        display: inline-block !important;
        position: relative !important;
        animation-fill-mode: forwards !important;
        animation-play-state: running !important;
    }

    /* Asegurar que las animaciones estén activas */
    #xioleni-editor [class*="xioleni-text-entrada-slide"] {
        animation: none !important;
        display: inline-block !important;
        white-space: nowrap !important;
        vertical-align: baseline !important;
    }

    /* Sobrescribir cualquier regla que oculte los efectos */
    #xioleni-editor [class*="xioleni-text-entrada-slide"] .xioleni-char-effect,
    #xioleni-editor [class*="xioleni-text-entrada-slide"] span {
        animation-duration: 0.6s !important;
        animation-timing-function: ease !important;
        animation-fill-mode: forwards !important;
    }

    /* Agregar reglas para que el orden de aplicación sea correcto */
    @keyframes xioleniEditorSlideLeft {
        0% { transform: translateX(-40px); opacity: 0; }
        100% { transform: translateX(0); opacity: 1; }
    }

    @keyframes xioleniEditorSlideRight {
        0% { transform: translateX(40px); opacity: 0; }
        100% { transform: translateX(0); opacity: 1; }
    }

    @keyframes xioleniEditorSlideUp {
        0% { transform: translateY(30px); opacity: 0; }
        100% { transform: translateY(0); opacity: 1; }
    }

    @keyframes xioleniEditorSlideDown {
        0% { transform: translateY(-30px); opacity: 0; }
        100% { transform: translateY(0); opacity: 1; }
    }

    /* Estilo para el efecto de desvanecimiento inverso */
    .xioleni-text-entrada-reverse-fade {
        display: inline !important;
        white-space: normal !important;
        position: relative !important;
        vertical-align: baseline !important;
        line-height: inherit !important;
    }

    .xioleni-text-entrada-reverse-fade span {
        display: inline !important;
        opacity: 0;
        animation-timing-function: ease-in-out;
        animation-fill-mode: forwards;
        animation-name: xioleniReverseFade;
        animation-duration: 1.2s;
        vertical-align: baseline !important;
        line-height: inherit !important;
    }

    /* Corregir la animación del desvanecimiento inverso */
    @keyframes xioleniReverseFade {
        0% { 
            transform: translateX(-15px); 
            opacity: 0;
            filter: blur(4px);
        }
        50% {
            opacity: 0.7;
            filter: blur(2px);
        }
        100% { 
            transform: translateX(0); 
            opacity: 1;
            filter: blur(0);
        }
    }

    /* Corregir la animación del desvanecimiento inverso para caracteres */
    @keyframes xioleniReverseFadeChar {
        0% { 
            transform: translateX(-15px); 
            opacity: 0;
            filter: blur(4px);
        }
        50% {
            opacity: 0.7;
            filter: blur(2px);
        }
        100% { 
            transform: translateX(0); 
            opacity: 1;
            filter: blur(0);
        }
    }

    /* Corrección específica para el desvanecimiento inverso en el editor */
    #xioleni-editor .xioleni-text-entrada-reverse-fade .xioleni-char-effect {
        animation: xioleniReverseFadeChar 0.6s forwards !important;
        animation-delay: calc(0.05s * var(--xioleni-char-index, 0)) !important;
        opacity: 0 !important;
        visibility: visible !important;
        display: inline-block !important;
    }

    /* Corrección para el desvanecimiento inverso en el muro */
    .xioleni-post-content .xioleni-text-entrada-reverse-fade span {
        animation: xioleniReverseFadeChar 0.8s forwards cubic-bezier(0.22, 1, 0.36, 1) !important;
        animation-delay: calc(0.03s * var(--xioleni-char-index, 0)) !important;
    }

    /* Mejoras específicas para el efecto de desvanecimiento inverso en el editor */
    #xioleni-editor .xioleni-text-entrada-reverse-fade {
        display: inline !important;
        vertical-align: baseline !important;
        line-height: inherit !important;
    }

    #xioleni-editor .xioleni-text-entrada-reverse-fade span {
        display: inline !important;
        vertical-align: baseline !important;
        line-height: inherit !important;
    }

    #xioleni-editor .xioleni-text-entrada-reverse-fade .xioleni-char-effect {
        display: inline !important;
        vertical-align: baseline !important;
        line-height: inherit !important;
        animation: xioleniReverseFadeChar 0.6s forwards !important;
    }

    /* Regla específica para que los caracteres dentro del efecto en el editor sean visibles */
    #xioleni-editor .xioleni-text-entrada-reverse-fade span {
        display: inline !important;
        vertical-align: baseline !important;
        line-height: inherit !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: inline-block !important;
        filter: none !important;
        transform: none !important;
    }

    /* Mantener las reglas existentes para el muro */
    .xioleni-post-content .xioleni-text-entrada-reverse-fade span {
        display: inline !important;
        vertical-align: baseline !important;
        line-height: inherit !important;
        animation: xioleniReverseFadeChar 0.8s forwards cubic-bezier(0.22, 1, 0.36, 1) !important;
        animation-delay: calc(0.03s * var(--xioleni-char-index, 0)) !important;
        opacity: 0; /* Comenzar invisible en el muro */
        filter: blur(4px); /* Aplicar desenfoque inicial en el muro */
        transform: translateX(-15px); /* Posición inicial en el muro */
    }

    /* Estilos mejorados para efectos de interacción - prevenir saltos de línea */
    span[class*="xioleni-text-interaccion-"] {
        display: inline !important;
        position: relative !important;
        float: none !important;
        clear: none !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: normal !important;
        line-height: inherit !important;
        vertical-align: baseline !important;
    }

    /* Aplicación de efectos letra por letra */
    .xioleni-text-interaccion-zoom span,
    .xioleni-text-interaccion-shake span,
    .xioleni-text-interaccion-pulse span,
    .xioleni-text-interaccion-girar span,
    .xioleni-text-interaccion-expand span {
        display: inline-block !important;
        position: relative !important;
        vertical-align: baseline !important;
        transform-origin: center !important;
    }

    /* Efecto zoom por letra */
    .xioleni-text-interaccion-zoom span {
        transition: transform 0.3s ease !important;
    }

    .xioleni-text-interaccion-zoom:hover span {
        transform: scale(1.1) !important;
        z-index: 1; /* Evitar superposición */
    }

    /* Efecto shake por letra */
    .xioleni-text-interaccion-shake span {
        transition: transform 0.1s ease !important;
    }

    .xioleni-text-interaccion-shake:hover span {
        animation: xioleniShakeChar 0.5s infinite !important;
    }

    /* Efecto pulse por letra */
    .xioleni-text-interaccion-pulse span {
        transform-origin: center !important;
    }

    .xioleni-text-interaccion-pulse:hover span {
        animation: xioleniPulseChar 1s ease-in-out infinite !important;
    }

    /* Efecto girar por letra (renombrado desde 'rotate') */
    .xioleni-text-interaccion-girar span {
        transform-origin: center !important;
        transition: transform 0.3s ease !important;
    }

    .xioleni-text-interaccion-girar:hover span {
        animation: xioleniGirarChar 2s linear infinite !important;
    }

    /* Efecto expand por letra */
    .xioleni-text-interaccion-expand span {
        transition: transform 0.3s ease !important;
    }

    .xioleni-text-interaccion-expand:hover span {
        transform: scale(1.1, 1.0) !important;
        letter-spacing: 1px !important;
    }

    /* Animaciones específicas por carácter */
    @keyframes xioleniShakeChar {
        0%, 100% { transform: translateX(0); }
        25% { transform: translateX(-2px); }
        75% { transform: translateX(2px); }
    }

    @keyframes xioleniPulseChar {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.2); }
    }

    @keyframes xioleniGirarChar {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
    }

    /* Correcciones para el muro */
    .xioleni-post-content span[class*="xioleni-text-interaccion-"] {
        display: inline !important;
        position: relative !important;
    }

    .xioleni-post-content span[class*="xioleni-text-interaccion-"] span {
        display: inline-block !important;
        position: relative !important;
        vertical-align: baseline !important;
    }

    /* Forzar que los efectos de interacción se muestren en línea con textos adyacentes */
    span[class*="xioleni-text-interaccion-"] + *,
    * + span[class*="xioleni-text-interaccion-"] {
        display: inline !important;
        vertical-align: baseline !important;
    }

    /* SOLUCIÓN ESPECÍFICA PARA EFECTOS DE INTERACCIÓN EN EL MURO */
    /* Evitar que los efectos de interacción salten líneas en el muro */
    .xioleni-post-content [class*="xioleni-text-interaccion-"] {
        display: inline !important;
        float: none !important;
        position: static !important;
        clear: none !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: normal !important;
        line-height: inherit !important;
        vertical-align: baseline !important;
        transform: none !important;
        transition: none !important;
    }

    /* Restaurar transición solo cuando se aplica hover */
    .xioleni-post-content [class*="xioleni-text-interaccion-"]:hover {
        transition: all 0.3s ease !important;
    }

    /* Forzar comportamiento inline para textos adyacentes */
    .xioleni-post-content [class*="xioleni-text-interaccion-"] + *,
    .xioleni-post-content * + [class*="xioleni-text-interaccion-"] {
        display: inline !important;
        vertical-align: baseline !important;
    }

    /* Mantener spans de caracteres en línea */
    .xioleni-post-content [class*="xioleni-text-interaccion-"] span {
        display: inline-block !important;
        position: relative !important;
        float: none !important;
        vertical-align: baseline !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Para elementos específicos que podrían causar problemas */
    .xioleni-post-content .xioleni-text-interaccion-zoom,
    .xioleni-post-content .xioleni-text-interaccion-shake,
    .xioleni-post-content .xioleni-text-interaccion-pulse,
    .xioleni-post-content .xioleni-text-interaccion-girar,
    .xioleni-post-content .xioleni-text-interaccion-expand {
        display: inline !important;
        white-space: normal !important;
        float: none !important;
    }

    /* Preservar efecto en hover pero manteniendo estructura de texto */
    .xioleni-post-content .xioleni-text-interaccion-zoom:hover span {
        transform: scale(1.1) !important;
        z-index: 1;
    }

    .xioleni-post-content .xioleni-text-interaccion-shake:hover span {
        animation: xioleniShakeChar 0.5s infinite !important;
    }

    .xioleni-post-content .xioleni-text-interaccion-pulse:hover span {
        animation: xioleniPulseChar 1s ease-in-out infinite !important;
    }

    .xioleni-post-content .xioleni-text-interaccion-girar:hover span {
        animation: xioleniGirarChar 2s linear infinite !important;
    }

    .xioleni-post-content .xioleni-text-interaccion-expand:hover span {
        transform: scale(1.1, 1.0) !important;
        letter-spacing: 1px !important;
    }

    /* Protección adicional para evitar saltos de línea */
    .xioleni-post-content p,
    .xioleni-post-content div {
        white-space: normal !important;
    }

    .xioleni-post-content span {
        vertical-align: baseline !important;
    }

    /* Fix específico para efecto expand que puede causar problemas */
    .xioleni-post-content .xioleni-text-interaccion-expand:hover {
        letter-spacing: 0 !important; /* Eliminar letter-spacing en el contenedor */
    }

    .xioleni-post-content .xioleni-text-interaccion-expand:hover span {
        letter-spacing: 1px !important; /* Aplicar solo a los spans internos */
    }

    /* Animaciones específicas para efectos de interacción en el muro */
    @keyframes xioleniShakeChar {
        0%, 100% { transform: translateX(0); }
        25% { transform: translateX(-2px); }
        75% { transform: translateX(2px); }
    }

    @keyframes xioleniPulseChar {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.2); }
    }

    @keyframes xioleniGirarChar {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
    }

    /* PROTECCIÓN ADICIONAL PARA EFECTOS DE INTERACCIÓN */
    /* Forzar inline para contenedores de efectos de interacción y elementos adyacentes */
    .xioleni-post-content span[class*="xioleni-text-interaccion-"] + span,
    .xioleni-post-content span + span[class*="xioleni-text-interaccion-"],
    .xioleni-post-content span[class*="xioleni-text-interaccion-"] + text,
    .xioleni-post-content text + span[class*="xioleni-text-interaccion-"] {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Eliminar cualquier comportamiento que pueda causar saltos de línea */
    .xioleni-post-content [class*="xioleni-text-interaccion-"] {
        display: inline !important;
        white-space: normal !important;
        position: static !important;
        float: none !important;
        clear: none !important;
        width: auto !important;
        height: auto !important;
        line-height: inherit !important;
        margin: 0 !important;
        padding: 0 !important;
        vertical-align: baseline !important;
        max-width: none !important;
        transform: none !important;
    }

    /* Forzar alineación de texto */
    .xioleni-post-content [class*="xioleni-text-interaccion-"] {
        text-align: inherit !important;
    }

    /* Estilos específicos para el efecto expand para evitar que aplique letter-spacing al contenedor */
    .xioleni-post-content .xioleni-text-interaccion-expand {
        letter-spacing: normal !important;
        word-spacing: normal !important;
    }

    /* Asegurar que los spans dentro del efecto expand estén correctamente espaciados al hacer hover */
    .xioleni-post-content .xioleni-text-interaccion-expand:hover span {
        letter-spacing: 2px !important;
        display: inline-block !important;
    }

    /* Fix crítico para la interfaz visual */
    .xioleni-post-content span[class*="xioleni-text-interaccion-"] {
        display: inline !important; 
    }