.chestnut-fx-layer{isolation:isolate;contain:layout paint;pointer-events:none}
.bampop-fx{position:absolute;display:block;margin:0;padding:0;pointer-events:none;will-change:transform,opacity;animation-duration:var(--fx-time,520ms);animation-fill-mode:both;animation-timing-function:cubic-bezier(.16,.68,.22,1);transform-origin:center}
.bampop-fx-flash{width:var(--fx-size);height:var(--fx-size);border-radius:42%;background:radial-gradient(circle,#fffef7 0 24%,var(--fx-color) 38%,transparent 70%);animation-name:bampop-flash;animation-delay:var(--fx-delay,0ms)}
.bampop-fx-shard,.bampop-fx-confetti{width:var(--fx-size);height:calc(var(--fx-size)*.7);border-radius:2px;background:linear-gradient(135deg,#fff6d2,var(--fx-color) 40%);box-shadow:0 1px 2px #8f64372b;animation-name:bampop-shard}
.bampop-fx-star{width:var(--fx-size);height:var(--fx-size);background:var(--fx-color);clip-path:polygon(50% 0,62% 34%,100% 50%,62% 63%,50% 100%,38% 63%,0 50%,38% 34%);animation-name:bampop-star}
.bampop-fx-ring,.bampop-fx-shockwave{width:var(--fx-size);height:var(--fx-size);border-radius:50%;border:3px solid var(--fx-color);box-shadow:inset 0 0 8px #fff7c4b3,0 0 10px #ffdf8370;animation-name:bampop-ring}
.bampop-fx-shockwave{border-width:5px;background:radial-gradient(circle,transparent 44%,#fff6b437 62%,transparent 70%);box-shadow:inset 0 0 12px #fffbeab3,0 0 16px #ffb83f70;animation-name:bampop-shockwave}
.bampop-fx-core,.bampop-fx-line-core,.bampop-fx-bomb-core,.bampop-fx-rainbow-core{width:var(--fx-size);height:var(--fx-size);border-radius:50%;background:radial-gradient(circle,#fffdf3 0 25%,var(--fx-color) 35%,#ffa9589c 57%,transparent 70%);animation-name:bampop-core}
.bampop-fx-line-core{background:radial-gradient(circle,#fffef2 0 24%,#ffea7d 36%,transparent 69%)}
.bampop-fx-bomb-core{background:radial-gradient(circle,#fffdf1 0 20%,#ffea79 32%,#ffae48 44%,#f6884866 60%,transparent 72%)}
.bampop-fx-rainbow-core{background:conic-gradient(from 35deg,#ffe47ed1,#83f1c8d1,#ffb8c5d1,#c7a5ffd1,#ffe47ed1);border:4px solid #fff9db;box-shadow:0 0 18px #ffeeb1ab;animation-name:bampop-rainbow-core}
.bampop-fx-beam,.bampop-fx-rainbow-ray{width:var(--fx-length);height:var(--fx-thickness);border-radius:999px;transform-origin:left center;box-shadow:0 0 12px var(--fx-color);background:linear-gradient(to bottom,transparent,var(--fx-color) 15%,#fff9cf 36%,#fffef0 50%,#fff9cf 64%,var(--fx-color) 85%,transparent);animation-name:bampop-beam}
.bampop-fx-rainbow-ray{box-shadow:0 0 7px var(--fx-color);background:linear-gradient(to bottom,transparent,var(--fx-color) 25%,#fffaf0 50%,var(--fx-color) 75%,transparent);animation-name:bampop-ray}
.bampop-fx-callout{width:var(--fx-width);text-align:center;font-size:clamp(23px,7vw,34px);font-weight:950;letter-spacing:-1.2px;line-height:1.2;color:var(--fx-color);text-shadow:0 3px 0 #a76538,2px 0 0 #a76538,-2px 0 0 #a76538,0 -1px 0 #a76538,0 5px 10px #6d40233b;animation-name:bampop-callout}
.bampop-fx-callout span{display:block;margin-top:7px;color:#fffaf0;font-size:12px;font-weight:850;letter-spacing:-.3px;text-shadow:0 2px 3px #765038,1px 0 #765038,-1px 0 #765038}
.bampop-fx-chain-badge{white-space:nowrap;font-size:17px;font-weight:950;color:#fff5c5;letter-spacing:-.6px;background:linear-gradient(135deg,#f0a44c,#ce743b);border:2px solid #fff1b6;border-radius:15px;padding:6px 10px;box-shadow:0 3px 0 #97552d44;transform-origin:right center;animation-name:bampop-chain-badge}
.bampop-fx-goal-badge{white-space:nowrap;font-size:13px;font-weight:950;letter-spacing:-.5px;color:#fffef5;background:#548b62;border:2px solid #fff9d4;border-radius:12px;padding:4px 7px;box-shadow:0 2px 0 #4264464d;animation-name:bampop-goal-badge}
.bampop-fx-goal-flight{width:var(--fx-size);height:var(--fx-size);border:2px solid #fff9d6;border-radius:50%;background:var(--fx-color);box-shadow:0 0 9px #ffeca7;animation-name:bampop-goal-flight}
.bampop-fx-basket-flight{width:var(--fx-size);height:var(--fx-size);font-size:var(--fx-size);line-height:1;animation-name:bampop-goal-flight}
.bampop-fx-honey-sweep{width:var(--fx-size);height:calc(var(--fx-size)*.48);border-radius:50%;background:linear-gradient(120deg,transparent,#fff4bacc,#ffe58f,transparent);animation-name:bampop-honey-sweep}
@keyframes bampop-flash{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}18%{opacity:.95;transform:translate(-50%,-50%) scale(1.12)}100%{opacity:0;transform:translate(-50%,-50%) scale(.55)}}
@keyframes bampop-shard{0%{opacity:1;transform:translate(-50%,-50%) scale(.5) rotate(var(--fx-turn))}18%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--fx-dx)),calc(-50% + var(--fx-dy))) scale(.3) rotate(var(--fx-spin))}}
@keyframes bampop-star{0%{opacity:1;transform:translate(-50%,-50%) scale(.5) rotate(0deg)}28%{opacity:1;transform:translate(calc(-50% + var(--fx-dx)*.4),calc(-50% + var(--fx-dy)*.4)) scale(1.2) rotate(40deg)}100%{opacity:0;transform:translate(calc(-50% + var(--fx-dx)),calc(-50% + var(--fx-dy))) scale(.1) rotate(100deg)}}
@keyframes bampop-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(.35)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}
@keyframes bampop-shockwave{0%{opacity:0;transform:translate(-50%,-50%) scale(.12)}15%{opacity:.9;transform:translate(-50%,-50%) scale(.38)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.12)}}
@keyframes bampop-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(.5)}}
@keyframes bampop-rainbow-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0deg)}25%{opacity:.9;transform:translate(-50%,-50%) scale(1.1) rotate(30deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(.7) rotate(110deg)}}
@keyframes bampop-beam{0%{opacity:0;transform:translateY(-50%) rotate(var(--fx-angle)) scaleX(.05) scaleY(.4)}18%{opacity:1;transform:translateY(-50%) rotate(var(--fx-angle)) scaleX(1) scaleY(1.25)}100%{opacity:0;transform:translateY(-50%) rotate(var(--fx-angle)) scaleX(1) scaleY(.2)}}
@keyframes bampop-ray{0%{opacity:0;transform:translateY(-50%) rotate(var(--fx-angle)) scaleX(.05)}28%{opacity:.9;transform:translateY(-50%) rotate(var(--fx-angle)) scaleX(1)}100%{opacity:0;transform:translateY(-50%) rotate(var(--fx-angle)) scaleX(1) scaleY(.2)}}
@keyframes bampop-callout{0%{opacity:0;transform:translate(-50%,-50%) scale(.65) rotate(-4deg)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.08) rotate(1deg)}36%,72%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0deg)}100%{opacity:0;transform:translate(-50%,calc(-50% - 22px)) scale(.94)}}
@keyframes bampop-chain-badge{0%{opacity:0;transform:translate(-100%,-50%) scale(.6) rotate(-6deg)}25%{opacity:1;transform:translate(-100%,-50%) scale(1.1) rotate(2deg)}50%,80%{opacity:1;transform:translate(-100%,-50%) scale(1)}100%{opacity:0;transform:translate(-100%,-70%) scale(.95)}}
@keyframes bampop-goal-badge{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}20%{opacity:1;transform:translate(-50%,-70%) scale(1.08)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,calc(-50% - 28px)) scale(.95)}}
@keyframes bampop-goal-flight{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}16%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}55%{opacity:1;transform:translate(calc(-50% + var(--fx-dx)*.35),calc(-50% + var(--fx-dy)*.4 - 25px)) scale(.9)}94%{opacity:1;transform:translate(calc(-50% + var(--fx-dx)),calc(-50% + var(--fx-dy))) scale(.5)}100%{opacity:0;transform:translate(calc(-50% + var(--fx-dx)),calc(-50% + var(--fx-dy))) scale(.1)}}
@keyframes bampop-honey-sweep{0%{opacity:0;transform:translate(-85%,-50%) scaleX(.2)}30%{opacity:.85;transform:translate(-50%,-50%) scaleX(1.1)}100%{opacity:0;transform:translate(-15%,-50%) scaleX(.2)}}
.bampop-fx-reduced{animation:none!important;will-change:auto;opacity:.7;transform:translate(-50%,-50%)}
.bampop-fx-reduced.bampop-fx-shockwave,.bampop-fx-reduced.bampop-fx-ring{opacity:.32;transform:translate(-50%,-50%) scale(.72)}
.bampop-fx-reduced.bampop-fx-core,.bampop-fx-reduced.bampop-fx-line-core,.bampop-fx-reduced.bampop-fx-bomb-core,.bampop-fx-reduced.bampop-fx-rainbow-core{opacity:.38;transform:translate(-50%,-50%) scale(.7)}
.bampop-fx-reduced.bampop-fx-beam,.bampop-fx-reduced.bampop-fx-rainbow-ray{opacity:.45;transform:translateY(-50%) rotate(var(--fx-angle))}
.bampop-fx-reduced.bampop-fx-callout{opacity:1;transform:translate(-50%,-50%)}
.bampop-fx-reduced.bampop-fx-chain-badge{opacity:1;transform:translate(-100%,-50%)}
@media(prefers-reduced-motion:reduce){.bampop-fx{animation:none!important;will-change:auto;transform:translate(-50%,-50%);opacity:.55}.bampop-fx-beam,.bampop-fx-rainbow-ray{transform:translateY(-50%) rotate(var(--fx-angle))}.bampop-fx-callout{opacity:1}}
