/* ========== Gem sizing (unchanged) ========== */
.d2-chat-gem img {
    width: 32px;
    height: 32px;
    display: block;
    cursor: pointer;
    transition: filter .3s ease, transform .3s ease;
}

/* ---------- Visual states ---------- */
.d2-gem-off     { filter: grayscale(100%) brightness(.6); }
.d2-gem-on      { filter: none; }
.d2-gem-special { animation: gemHue 2s linear infinite,
                                gemJump 1s ease-in-out infinite alternate; }

/* ---------- Animations ---------- */
@keyframes gemHue  {        /* cycles through the colour wheel   */
    0%   { filter: hue-rotate(0deg);   }
    100% { filter: hue-rotate(360deg); }
}
@keyframes gemJump {        /* small jitter / bounce             */
    0%   { transform: translate( 0px,  0px); }
    20%  { transform: translate( 0px, -2px); }
    50%  { transform: translate(-1px, -6px); }
    70%  { transform: translate( 1px, -4px); }
    100% { transform: translate( 0px,  0px); }
}
