/**
 * WS Booster - Widget Flicker Text
 */

.ws-flicker-text {
    --ws-flicker-on: #ff3366;
    --ws-flicker-off: #220011;
    --ws-flicker-glow: 20px;

    display: block;
    line-height: 1.15;
    margin: 0;
    letter-spacing: 0.04em;
}

.ws-flicker-char {
    display: inline-block;
    color: var(--ws-flicker-off);
    transition: color 80ms linear, text-shadow 80ms linear;
    will-change: color, text-shadow;
}

.ws-flicker-char.is-on {
    color: var(--ws-flicker-on);
}

/* --- Style Neon : gros glow + transitions douces --- */
.ws-flicker-style-neon .ws-flicker-char.is-on {
    text-shadow:
        0 0 calc(var(--ws-flicker-glow) * 0.3) var(--ws-flicker-on),
        0 0 calc(var(--ws-flicker-glow) * 0.6) var(--ws-flicker-on),
        0 0 var(--ws-flicker-glow) var(--ws-flicker-on),
        0 0 calc(var(--ws-flicker-glow) * 1.5) color-mix(in srgb, var(--ws-flicker-on) 60%, transparent);
}

/* --- Style LED : on/off binaire, glow net, transition brutale --- */
.ws-flicker-style-led .ws-flicker-char {
    transition: none;
}

.ws-flicker-style-led .ws-flicker-char.is-on {
    text-shadow: 0 0 calc(var(--ws-flicker-glow) * 0.4) var(--ws-flicker-on);
}

/* --- Style Simple : juste couleur, aucun glow --- */
.ws-flicker-style-simple .ws-flicker-char {
    transition: color 120ms linear;
    text-shadow: none !important;
}

/* Respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .ws-flicker-char {
        color: var(--ws-flicker-on) !important;
        text-shadow: 0 0 calc(var(--ws-flicker-glow) * 0.4) var(--ws-flicker-on) !important;
        transition: none !important;
    }
}
