#board,#basketDock{touch-action:none}
.slot .egg,.basket-slot img{-webkit-user-drag:none}
.held-egg{cursor:grabbing;will-change:left,top}
.merge-burst{position:fixed;width:0;height:0;z-index:60;pointer-events:none}
.merge-ring{position:absolute;width:var(--burst-size);height:var(--burst-size);border:3px solid #fff2aa;border-radius:50%;box-shadow:0 0 14px #ffd45288;animation:merge-ring .48s ease-out both}
.merge-star{position:absolute;left:0;top:0;width:var(--star-size);height:var(--star-size);background:linear-gradient(135deg,#fffde3 10%,#ffe785 44%,#ffbc36 80%);clip-path:polygon(50% 0,62% 34%,98% 35%,70% 57%,81% 94%,50% 72%,19% 94%,30% 57%,2% 35%,38% 34%);animation:merge-star .6s cubic-bezier(.15,.65,.25,1) both}
@keyframes merge-star{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}65%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--spin)) scale(.45)}}
@keyframes merge-ring{0%{opacity:.85;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.25)}}
@media(prefers-reduced-motion:reduce){.merge-ring{opacity:.5;transform:translate(-50%,-50%);box-shadow:none}}

.merge-coins{position:fixed;width:0;height:0;z-index:60;pointer-events:none}
.merge-reward-coin{position:absolute;left:0;top:0;display:grid;place-items:center;box-sizing:border-box;width:var(--coin-size);height:var(--coin-size);border:1px solid #976000;border-radius:50%;background:linear-gradient(135deg,#fff5b5,#ffd64c 48%,#efa51c);box-shadow:inset 0 0 0 1px #fff1a2,0 1px 3px #70411666;color:#d58b13;font-size:calc(var(--coin-size)*.45);font-style:normal;line-height:1;animation:merge-coin-flight 720ms linear both;will-change:transform,opacity}
@keyframes merge-coin-flight{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}
  12%{opacity:1}
  28%{opacity:1;transform:translate(calc(-50% + var(--scatter-x)),calc(-50% + var(--scatter-y))) scale(1)}
  62%{opacity:1;transform:translate(calc(-50% + var(--curve-x)),calc(-50% + var(--curve-y))) scale(.95)}
  92%{opacity:1}
  100%{opacity:0;transform:translate(calc(-50% + var(--coin-dx)),calc(-50% + var(--coin-dy))) scale(.45)}
}
.wallet{position:relative}
.wallet:after{content:'';position:absolute;inset:-8px -16px;border-radius:50%;background:radial-gradient(ellipse,#fff5ae88,transparent 70%);opacity:0;pointer-events:none}
.wallet #coins{display:inline-block;transform-origin:center}
.wallet.merge-coin-hit:after{animation:merge-wallet-glow 1s ease-out both}
.wallet.merge-coin-hit .coin{animation:merge-wallet-shine 1s ease-out both}
.wallet.merge-coin-hit #coins{animation:merge-wallet-number 1s ease-out both}
@keyframes merge-wallet-glow{0%,100%{opacity:0}20%{opacity:.85}55%{opacity:.4}}
@keyframes merge-wallet-shine{0%,100%{filter:none}22%{filter:brightness(1.45) drop-shadow(0 0 7px #ffe592)}55%{filter:brightness(1.15) drop-shadow(0 0 3px #ffe592)}}
@keyframes merge-wallet-number{0%,100%{transform:scale(1);text-shadow:inherit}22%{transform:scale(1.13);text-shadow:0 0 9px #fff2a4}55%{transform:scale(1.04);text-shadow:0 0 4px #ffe592}}
@media(prefers-reduced-motion:reduce){.wallet.merge-coin-hit .coin{filter:brightness(1.2)}.wallet.merge-coin-hit #coins{text-shadow:0 0 6px #ffe592}}
