/* Effects are visual only, bounded and disabled for reduced motion. */
#refresh{position:relative}
.paneltitle:has(#refresh){position:relative}
.lontong-refresh-ball{position:absolute;right:94px;top:10px;display:inline-block;font-size:13px;pointer-events:none;animation:lontong-bounce 3s ease-in-out}
@keyframes lontong-bounce{0%,20%,40%,60%,80%,100%{transform:translateY(0)}10%{transform:translateY(-9px)}30%{transform:translateY(-8px)}50%{transform:translateY(-7px)}70%{transform:translateY(-5px)}90%{transform:translateY(-3px)}}
.lontong-saved-tick{display:inline-block;margin-right:6px;color:var(--brand-leaf);animation:lontong-tick .35s ease-out}
@keyframes lontong-tick{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
.lontong-count-rise{animation:lontong-count .4s ease-out!important}
@keyframes lontong-count{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.lontong-sunrise-reveal{animation:lontong-reveal 5s ease-out}
@keyframes lontong-reveal{from{opacity:.2}to{opacity:1}}
.courtside-strip{position:relative;flex-wrap:wrap;overflow:hidden}
.lontong-milestone{flex-basis:100%;margin-top:3px;padding:9px 12px;border-radius:11px;background:#fff5df;color:#775211;font-size:12px;line-height:1.5}
.lontong-spark{position:absolute;pointer-events:none;color:#bb8b2c;animation:lontong-spark 1.7s ease-out both;font-size:14px}
@keyframes lontong-spark{0%{opacity:0;transform:translateY(5px) scale(.4)}25%{opacity:.9;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-12px) scale(.5)}}
@media(prefers-reduced-motion:reduce){.lontong-refresh-ball,.lontong-saved-tick,.lontong-count-rise,.lontong-sunrise-reveal,.lontong-spark{animation:none!important}.lontong-spark{display:none}}
