/* Short, bounded colour celebrations. All moving surfaces use transform/opacity. */
.bonus-notice{isolation:isolate;box-shadow:0 28px 100px #102f6577,0 0 0 5px #fff7df55,0 0 80px #c69bef66!important;background:radial-gradient(ellipse at 50% 0,#fff6d5,transparent 55%),linear-gradient(145deg,#fffef4,#f2efff)!important}
.bonus-notice::before{content:'';position:absolute;inset:7px;border:1px solid #d3b4e7;border-radius:20px;pointer-events:none}
.bonus-notice .magic-reward-sun{position:relative;z-index:1;display:grid;place-items:center;margin:0 auto 16px;width:92px;height:92px;border-radius:50%;font-size:52px;background:radial-gradient(circle,#fffcdf,#ecd5ff 65%,#bd9fe900);box-shadow:0 0 32px #e6b8ff88;animation:bonus-emblem 3s ease-in-out infinite}
.notice-bomb .magic-reward-sun{background:radial-gradient(circle,#fff5ae,#ffc2c9 65%,#ffb6b600)}
.bonus-constellation{position:absolute;left:50%;top:74px;width:1px;height:1px;pointer-events:none;color:#b58a35;z-index:0}
.bonus-constellation i{position:absolute;font:14px/1 system-ui;transform:rotate(var(--orbit)) translateX(74px) rotate(calc(-1 * var(--orbit)));animation:bonus-star 2.5s ease-in-out infinite;animation-delay:var(--delay)}
.bonus-notice strong,.bonus-notice small,.bonus-notice p,.bonus-notice b{position:relative;z-index:1}
.secret-prism{position:absolute;left:var(--secret-x);top:var(--secret-y);width:calc(2 * var(--secret-radius));height:calc(2 * var(--secret-radius));border-radius:50%;background:conic-gradient(from 20deg,#fd5a7b66,#ffcb5966,#65ecc566,#5dbefa66,#b293fa66,#fd5a7b66);animation:secret-prism 1.8s ease-out both}
.secret-ring{border-width:6px;border-color:#fff1ae;box-shadow:0 0 22px #ffcc52,inset 0 0 18px #fff8c7;animation-duration:1.65s}
.secret-ring::after,.bomb-wave::after{content:'';position:absolute;inset:12px;border:1px solid #fff6cbcc;border-radius:50%;pointer-events:none}
.secret-ring:nth-of-type(even){border-color:#99faee}
.secret-spark{width:12px;height:18px;border-radius:40% 65% 50% 60%;background:linear-gradient(145deg,#fff7dc,hsl(var(--hue) 92% 65%) 38%,hsl(var(--hue) 85% 48%));box-shadow:0 0 8px hsl(var(--hue) 95% 73% / .75);animation:secret-pigment-flight 2.1s cubic-bezier(.15,.6,.3,1) both}
.pigment-star{clip-path:polygon(50% 0,61% 36%,100% 50%,61% 63%,50% 100%,37% 63%,0 50%,37% 36%);border-radius:0!important}
.secret-message{border:1px solid #edc9a6;border-radius:18px;background:linear-gradient(135deg,#fff8eefa,#f3edfffa);box-shadow:0 10px 34px #39244b42}
.secret-message strong{background:linear-gradient(90deg,#ba386d,#9a591e,#436b91);background-clip:text;-webkit-background-clip:text;color:transparent}
.bomb-prism,.bomb-orbit{width:calc(var(--blast)*2);height:calc(var(--blast)*2);border-radius:50%;pointer-events:none}
.bomb-prism{background:repeating-conic-gradient(from 0deg,#ffeaa955 0 7deg,transparent 7deg 22deg,#c5a5ff44 22deg 30deg,transparent 30deg 45deg);animation:prism-bomb 2s .7s ease-out both}
.bomb-orbit{border:3px dotted #fffac5;box-shadow:0 0 20px #d7b2ff;animation:bomb-orbit 1.9s .8s ease-out both}
.bomb-colour-cloud{filter:none;background:radial-gradient(ellipse at 25% 40%,#fd62919c,transparent 50%),radial-gradient(ellipse at 70% 30%,#ffcb668c,transparent 50%),radial-gradient(ellipse at 65% 70%,#41d9ce99,transparent 50%),radial-gradient(ellipse at 30% 80%,#9c79fca8,transparent 50%)}
.bomb-pigment{animation:bomb-pigment-wow 2.1s cubic-bezier(.12,.65,.3,1) both;animation-delay:calc(.76s + var(--particle-delay));width:14px;height:22px;background:linear-gradient(145deg,#fff9e7,hsl(var(--hue) 95% 72%) 30%,hsl(var(--hue) 90% 52%));box-shadow:0 0 9px hsl(var(--hue) 100% 80% / .8)}
.bomb-core::after{content:'✦';position:absolute;right:-7px;top:-8px;font:27px/1 system-ui;color:#fff5ad;text-shadow:0 0 10px #ffcd47}
.bomb-wave{border-color:#fff9d2;box-shadow:0 0 20px #ffdf73,inset 0 0 18px #fff4a3;animation-duration:1.9s}.bomb-wave-two{border-color:#aefbea}
.paint-bomb-effect>strong{left:50%;top:54%;width:88%;white-space:normal;text-align:center;font-size:clamp(28px,5vw,52px);animation:bomb-title-readable 2.2s .8s both}
.magic-paint-trail{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:15}
.magic-mote{position:absolute;opacity:0;font:25px/1 system-ui;text-shadow:0 0 7px #fff,0 0 14px currentColor;pointer-events:none}
.magic-painting::after{content:'';position:absolute;inset:0;border:3px solid #bc91eb88;box-shadow:inset 0 0 26px #c49bf749;pointer-events:none;z-index:14;animation:magic-frame 2s ease-in-out infinite}
.magic-status{padding:5px 10px!important;border:1px solid #d5b1f3;border-radius:12px;background:linear-gradient(120deg,#f3d4ff,#fff2b9);color:#592b85!important;font-weight:850!important;box-shadow:0 0 14px #e5a8fc66}
body.dark .bonus-notice{background:radial-gradient(ellipse at 50% 0,#685175,transparent 55%),linear-gradient(145deg,#263c59,#302b4e)!important;color:#fff4d6}
body.dark .secret-message{background:linear-gradient(135deg,#253f4df5,#403050f5);color:#fff4df}
body.dark .secret-message strong{background:none;color:#ffe6a9}
@keyframes bonus-emblem{50%{transform:translateY(-4px);box-shadow:0 0 40px #d3a2ff99}}
@keyframes bonus-star{0%,100%{opacity:.25;scale:.65}50%{opacity:1;scale:1.15}}
@keyframes secret-prism{0%{opacity:0;transform:translate(-50%,-50%) scale(.04) rotate(-25deg)}25%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) scale(1.2) rotate(35deg)}}
@keyframes prism-bomb{0%{opacity:0;transform:translate(-50%,-50%) scale(.03) rotate(-30deg)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.2) rotate(35deg)}}
@keyframes bomb-orbit{0%{opacity:0;transform:translate(-50%,-50%) scale(.1) rotate(0)}20%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) scale(1.2) rotate(70deg)}}
@keyframes secret-pigment-flight{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}12%{opacity:1}70%{opacity:.9}100%{opacity:0;transform:translate(calc(var(--dx) * var(--secret-radius)),calc(var(--dy) * var(--secret-radius))) rotate(var(--particle-spin)) scale(var(--particle-size))}}
@keyframes bomb-pigment-wow{0%{opacity:0;transform:rotate(var(--angle)) translateX(0) scale(.3)}12%{opacity:1}72%{opacity:.9}100%{opacity:0;transform:rotate(var(--angle)) translateX(calc(var(--blast)*var(--flight))) rotate(var(--particle-spin)) scale(var(--particle-size))}}
@keyframes bomb-title-readable{0%{opacity:0;transform:translate(-50%,-30%) scale(.85)}15%,82%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-65%) scale(1)}}
@keyframes magic-frame{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-height:650px){.bonus-notice .magic-reward-sun{width:55px;height:55px;font-size:34px;margin-bottom:10px}.bonus-constellation{top:49px}.bonus-constellation i{transform:rotate(var(--orbit)) translateX(50px) rotate(calc(-1 * var(--orbit)))}}
@media(prefers-reduced-motion:reduce){.bonus-notice .magic-reward-sun,.bonus-constellation i,.magic-painting::after,.paint-bomb-effect>strong{animation:none}.secret-prism,.secret-spark,.bomb-prism,.bomb-orbit,.bomb-pigment,.magic-paint-trail{display:none}}
