.neon-text {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 40px #0af, 0 0 70px #0af, 0 0 80px #0af, 0 0 100px #0af, 0 0 150px #0af;
    animation: neon-flicker 0.1s infinite alternate;
}

.flow-text {
    color: #f00 !important;
    -webkit-text-fill-color: #f00;
    text-align: center;
    animation: flow-pulse 1s infinite;
}

.broadway-text {
    color: inherit;
    text-align: center;
    text-shadow: 0 0 20px #fff;
    animation: broadway-blink 0.5s infinite;
}

@keyframes neon-flicker {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.8; }
}

@keyframes flow-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@keyframes broadway-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

.gold-shimmer {
    display: inline-block;
    color: transparent !important;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(90deg, #8b6914 0%, #d4af37 18%, #f9e076 35%, #fcf6ba 50%, #d4af37 65%, #8b6914 100%);
    background-size: 220% auto;
    -webkit-background-clip: text;
    background-clip: text;
    animation: gold-shimmer-move 3.2s ease-in-out infinite;
}

@keyframes gold-shimmer-move {
    0%, 100% { background-position: 0% center; }
    50% { background-position: 100% center; }
}

.aurora-flow {
    display: inline-block;
    color: transparent !important;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(120deg, #00f5a0 0%, #00d9f5 20%, #a78bfa 40%, #f472b6 60%, #00f5a0 80%, #00d9f5 100%);
    background-size: 300% 300%;
    -webkit-background-clip: text;
    background-clip: text;
    animation: aurora-flow-move 8s ease infinite;
}

@keyframes aurora-flow-move {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

.holographic-shift {
    display: inline-block;
    color: transparent !important;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(125deg, #ff006e 0%, #8338ec 14%, #3a86ff 28%, #06ffa5 42%, #ffbe0b 56%, #fb5607 70%, #ff006e 84%, #8338ec 100%);
    background-size: 400% 400%;
    -webkit-background-clip: text;
    background-clip: text;
    animation: holographic-shift-move 5s ease infinite;
    filter: saturate(1.15);
}

@keyframes holographic-shift-move {
    0%, 100% { background-position: 0% 40%; }
    50% { background-position: 100% 60%; }
}

.ember-flicker {
    display: inline-block;
    color: #ff6b35 !important;
    -webkit-text-fill-color: #ff6b35;
    text-shadow: 0 0 8px rgba(255, 107, 53, 0.9), 0 0 18px rgba(255, 69, 0, 0.7), 0 0 28px rgba(204, 51, 0, 0.5);
    animation: ember-flicker-kf 2.8s ease-in-out infinite;
}

@keyframes ember-flicker-kf {
    0%, 100% { opacity: 1; filter: brightness(1); }
    22% { opacity: 0.92; filter: brightness(1.12); }
    48% { opacity: 1; filter: brightness(0.95); }
    71% { opacity: 0.88; filter: brightness(1.2); }
}

.ice-spark {
    display: inline-block;
    color: #e0f7ff !important;
    -webkit-text-fill-color: #e0f7ff;
    text-shadow: 0 0 6px rgba(135, 206, 250, 0.95), 0 0 14px rgba(0, 191, 255, 0.75), 0 0 22px rgba(0, 150, 255, 0.45);
    animation: ice-spark-kf 2.2s ease-in-out infinite;
}

@keyframes ice-spark-kf {
    0%, 100% { transform: scale(1); text-shadow: 0 0 6px rgba(135, 206, 250, 0.95), 0 0 14px rgba(0, 191, 255, 0.75), 0 0 22px rgba(0, 150, 255, 0.45); }
    50% { transform: scale(1.02); text-shadow: 0 0 10px rgba(200, 240, 255, 1), 0 0 22px rgba(0, 229, 255, 0.9), 0 0 34px rgba(0, 180, 255, 0.55); }
}

.electric-surge {
    display: inline-block;
    color: #eaf6ff !important;
    -webkit-text-fill-color: #eaf6ff;
    text-shadow: 0 0 4px #7ecbff, 0 0 12px #4da6ff, 0 0 20px #1e6fd9;
    animation: electric-surge-kf 3.5s ease-in-out infinite;
}

@keyframes electric-surge-kf {
    0%, 12%, 100% { opacity: 1; filter: brightness(1); text-shadow: 0 0 4px #7ecbff, 0 0 12px #4da6ff, 0 0 20px #1e6fd9; }
    6% { opacity: 1; filter: brightness(1.45); text-shadow: 0 0 8px #fff, 0 0 24px #8ecfff, 0 0 40px #4da6ff; }
    55%, 90% { opacity: 1; filter: brightness(1); text-shadow: 0 0 4px #7ecbff, 0 0 12px #4da6ff, 0 0 20px #1e6fd9; }
}

.rainbow-outline {
    display: inline-block;
    color: #1e1e2e !important;
    -webkit-text-fill-color: #1e1e2e;
    -webkit-text-stroke: 1.2px #e040fb;
    paint-order: stroke fill;
    animation: rainbow-outline-hue 6s linear infinite;
}

@keyframes rainbow-outline-hue {
    0% { filter: hue-rotate(0deg); }
    100% { filter: hue-rotate(360deg); }
}

.heartbeat-pop {
    display: inline-block;
    color: #c41e3a !important;
    -webkit-text-fill-color: #c41e3a;
    text-shadow: 0 2px 8px rgba(196, 30, 58, 0.35);
    animation: heartbeat-pop-kf 1.35s ease-in-out infinite;
    transform-origin: center center;
}

@keyframes heartbeat-pop-kf {
    0%, 100% { transform: scale(1); }
    14% { transform: scale(1.065); }
    28% { transform: scale(1); }
    42% { transform: scale(1.045); }
    56% { transform: scale(1); }
}

.metallic-gleam {
    display: inline-block;
    color: transparent !important;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(100deg, #5c5c5c 0%, #a8a8a8 22%, #f0f0f0 42%, #ffffff 50%, #c0c0c0 58%, #6e6e6e 100%);
    background-size: 260% auto;
    -webkit-background-clip: text;
    background-clip: text;
    animation: metallic-gleam-move 3.8s ease-in-out infinite;
}

@keyframes metallic-gleam-move {
    0%, 100% { background-position: 0% center; }
    50% { background-position: 100% center; }
}

.stardust-twinkle {
    display: inline-block;
    color: #fff8e7 !important;
    -webkit-text-fill-color: #fff8e7;
    animation: stardust-twinkle-kf 2.6s ease-in-out infinite;
}

@keyframes stardust-twinkle-kf {
    0%, 100% {
        text-shadow: 0 0 4px rgba(255, 248, 200, 0.9), 0 0 10px rgba(255, 220, 150, 0.55), 0 0 18px rgba(200, 180, 255, 0.35);
    }
    33% {
        text-shadow: 0 0 8px rgba(255, 255, 255, 1), 0 0 20px rgba(180, 220, 255, 0.85), 0 0 32px rgba(255, 200, 120, 0.5);
    }
    66% {
        text-shadow: 0 0 5px rgba(255, 240, 200, 0.85), 0 0 14px rgba(220, 200, 255, 0.65), 0 0 24px rgba(150, 200, 255, 0.4);
    }
}
