/* ============================================================
   micro-events.css — v0.9.4.2 Moment-to-Moment Drama
   ============================================================ */

@keyframes microEventFloat {
    0%   { opacity: 0;   transform: translate(-50%, 0) scale(0.7); }
    15%  { opacity: 1;   transform: translate(-50%, -6px) scale(1.1); }
    30%  { opacity: 1;   transform: translate(-50%, -10px) scale(1); }
    100% { opacity: 0;   transform: translate(-50%, -48px) scale(0.85); }
}

.micro-event-float {
    font-family: sans-serif;
    letter-spacing: 0.2px;
    user-select: none;
}

/* ---- Topbar-Value-Flash ---- */
@keyframes topbarPulsePos {
    0%   { color: #0a8030; transform: scale(1); }
    40%  { color: #0a8030; transform: scale(1.15); }
    100% { color: inherit; transform: scale(1); }
}
@keyframes topbarPulseNeg {
    0%   { color: #a02020; transform: scale(1); }
    40%  { color: #a02020; transform: scale(1.1); }
    100% { color: inherit; transform: scale(1); }
}

.topbar .val.pulse-pos {
    animation: topbarPulsePos 0.55s ease-out;
    display: inline-block;
}
.topbar .val.pulse-neg {
    animation: topbarPulseNeg 0.55s ease-out;
    display: inline-block;
}

/* Rep-Stern glitzert kurz bei Gain */
@keyframes repSparkle {
    0%   { text-shadow: 0 0 0 rgba(255,215,0,0); }
    30%  { text-shadow: 0 0 6px rgba(255,215,0,1), 0 0 14px rgba(255,215,0,0.7); }
    100% { text-shadow: 0 0 0 rgba(255,215,0,0); }
}

.topbar #tb-rep-cell .icon.sparkle {
    animation: repSparkle 0.9s ease-out;
    display: inline-block;
}
