.dsk-animated-text {
    display: block;
}

/* ── Aurora ── */
.dsk-animated-text--aurora .dsk-animated-text__inner {
    background: linear-gradient(
        90deg,
        var(--dsk-text-grad-from, #6a42c2),
        var(--dsk-text-grad-to, #e040fb),
        var(--dsk-text-grad-from, #6a42c2)
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: dsk-aurora var(--dsk-text-duration, 3s) linear infinite;
}

@keyframes dsk-aurora {
    0%   { background-position: 0% center; }
    100% { background-position: 200% center; }
}

/* ── Glitch ── */
.dsk-animated-text--glitch {
    position: relative;
}

.dsk-animated-text--glitch::before,
.dsk-animated-text--glitch::after {
    content: attr(data-text);
    position: absolute;
    inset: 0;
    animation: dsk-glitch var(--dsk-text-duration, 3s) infinite;
}

.dsk-animated-text--glitch::before {
    color: var(--dsk-text-glitch-1, #ff0055);
    animation-delay: 0s;
}

.dsk-animated-text--glitch::after {
    color: var(--dsk-text-glitch-2, #00ffd5);
    animation-delay: calc( var(--dsk-text-duration, 3s) * 0.1 );
}

@keyframes dsk-glitch {
    0%, 90%, 100% { clip-path: inset(50% 0 50% 0); transform: translateX(0); }
    92%           { clip-path: inset(10% 0 60% 0);  transform: translateX(-4px); }
    94%           { clip-path: inset(60% 0 10% 0);  transform: translateX(4px); }
    96%           { clip-path: inset(30% 0 40% 0);  transform: translateX(-2px); }
    98%           { clip-path: inset(70% 0 5% 0);   transform: translateX(2px); }
}

/* ── Blur ── */
.dsk-animated-text--blur .dsk-animated-text__char {
    display: inline-block;
    animation: dsk-blur var(--dsk-text-duration, 3s) cubic-bezier(0.4, 0, 0.2, 1) infinite;
    opacity: 0;
}

@keyframes dsk-blur {
    0%        { opacity: 0; filter: blur(10px); }
    25%, 65%  { opacity: 1; filter: blur(0px);  }
    90%, 100% { opacity: 0; filter: blur(10px); }
}