/* Live chat floating effects (Admin > Settings > Chat Settings > Chatbox Effect).
   Compact effect engine used by the homepage live-chat widget. */

.lcw-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.lcw-stream .lcw-msgs{position:relative;z-index:2}
.lcw-fx span{position:absolute;line-height:1;user-select:none;pointer-events:none;will-change:transform,opacity;animation-timing-function:linear;animation-iteration-count:infinite}

.lcwf-fall{top:-40px;animation-name:lcwfFall}
@keyframes lcwfFall{
    0%{transform:translateY(0) translateX(0) rotate(0deg);opacity:0}
    8%{opacity:.95}
    100%{transform:translateY(340px) translateX(26px) rotate(220deg);opacity:0}
}

.lcwf-rise{bottom:-40px;animation-name:lcwfRise}
@keyframes lcwfRise{
    0%{transform:translateY(0) translateX(0);opacity:0}
    12%{opacity:.85}
    100%{transform:translateY(-340px) translateX(-18px) rotate(-120deg);opacity:0}
}

.lcwf-confetti{top:-24px;border-radius:2px;animation-name:lcwfConfetti}
@keyframes lcwfConfetti{
    0%{transform:translateY(0) rotate(0deg);opacity:1}
    100%{transform:translateY(360px) rotate(720deg);opacity:.15}
}

.lcwf-rain{top:-24px;width:1px;height:36px;background:linear-gradient(180deg,rgba(147,197,253,0),rgba(147,197,253,.85));animation-name:lcwfRain}
@keyframes lcwfRain{
    0%{transform:translateY(0);opacity:.5}
    100%{transform:translateY(380px);opacity:.1}
}

.lcwf-bubble{bottom:-30px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),rgba(255,255,255,.05) 62%);border:1px solid rgba(255,255,255,.16);animation-name:lcwfRise}

.lcwf-firefly{border-radius:50%;background:currentColor;color:#ffc107;animation-name:lcwfDrift}
@keyframes lcwfDrift{
    0%{transform:translate(0,0);opacity:0}
    15%{opacity:.9}
    50%{transform:translate(36px,-130px);opacity:.75}
    100%{transform:translate(-24px,-330px);opacity:0}
}

.lcwf-twinkle{opacity:.2;animation-name:lcwfTwinkle;animation-timing-function:ease-in-out;animation-duration:2.4s}
@keyframes lcwfTwinkle{
    0%,100%{opacity:.12;transform:scale(.7) rotate(0deg)}
    50%{opacity:1;transform:scale(1.15) rotate(16deg)}
}

.lcwf-fireworks{position:absolute;inset:0;width:100%;height:100%;z-index:1}

/* Composer positioned on top (Chat Settings > Input position = Top) */
.lcw-in-top .lcw-composer{border-top:none;border-bottom:1px solid var(--lc-border)}
.lcw-in-top .lcw-picker{bottom:auto;top:calc(100% + 8px)}