#dk-celebration-layer{position:fixed;inset:0;z-index:2147483000;overflow:hidden;pointer-events:none;contain:strict}.dk-celebration-particle{position:absolute;top:-12vh;left:var(--x);font-size:var(--size);opacity:0;will-change:transform,opacity;animation:dk-celebrate-fall var(--time) cubic-bezier(.18,.65,.35,1) var(--delay) forwards;filter:drop-shadow(0 2px 2px #0002)}.dk-celebration-particle.dk-burst{top:var(--y);left:var(--x);animation-name:dk-celebrate-burst}.dk-celebration-image{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);object-fit:contain;animation:dk-celebrate-pop var(--time) ease-out var(--delay) forwards}.dk-celebration-particle.dk-sparkle{color:#ffcb3d;text-shadow:0 0 8px #fff;animation-name:dk-celebrate-sparkle}.dk-celebration-particle.dk-firework{top:var(--y);left:var(--x);animation-name:dk-celebrate-burst}.dk-celebration-particle.dk-bell{filter:drop-shadow(0 2px 2px #0002)}@keyframes dk-celebrate-fall{0%{opacity:0;transform:translate3d(0,-5vh,0) rotate(0)}10%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate3d(var(--drift),115vh,0) rotate(var(--rotate))}}@keyframes dk-celebrate-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.1) rotate(0)}12%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--drift)),calc(-50% + var(--drop))) scale(1.15) rotate(var(--rotate))}}@keyframes dk-celebrate-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.15) rotate(-18deg)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(8deg)}35%{transform:translate(-50%,-50%) scale(1) rotate(0)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(.75) rotate(12deg)}}

.dk-celebration-particle.dk-center-burst{top:50%;left:50%;animation-name:dk-celebrate-center-burst}.dk-celebration-message{position:absolute;z-index:2;left:50%;top:50%;max-width:min(90vw,760px);transform:translate(-50%,-50%) scale(.7);opacity:0;background:rgba(19,32,52,.94);color:#fff;border:2px solid #ffd45c;border-radius:18px;padding:16px 26px;text-align:center;font-size:clamp(19px,3vw,34px);font-weight:800;line-height:1.2;box-shadow:0 10px 45px #0004,0 0 24px #ffd45c99;overflow-wrap:anywhere;animation:dk-celebrate-message var(--message-time,3s) ease-out forwards;pointer-events:none}@keyframes dk-celebrate-center-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}12%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.85) rotate(var(--rotate))}}@keyframes dk-celebrate-message{0%{opacity:0;transform:translate(-50%,-50%) scale(.65)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}22%{transform:translate(-50%,-50%) scale(1)}78%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(.92)}}
@keyframes dk-celebrate-sparkle{0%{opacity:0;transform:translate3d(0,-5vh,0) rotate(0) scale(.3)}15%{opacity:1;transform:translate3d(0,0,0) rotate(50deg) scale(1.3)}30%{transform:translate3d(0,0,0) rotate(100deg) scale(.7)}45%{transform:translate3d(0,0,0) rotate(150deg) scale(1.2)}85%{opacity:1}100%{opacity:0;transform:translate3d(var(--drift),115vh,0) rotate(var(--rotate)) scale(.8)}}

/* Diwali firecracker blast: layered golden flash and particles expanding from centre. */
#dk-celebration-layer{isolation:isolate}
.dk-celebration-particle.dk-diwali-burst{top:50%;left:50%;color:var(--color);text-shadow:0 0 7px #fff,0 0 18px var(--color),0 0 30px #ff6500;filter:drop-shadow(0 0 5px #ff9b28);animation-name:dk-celebrate-diwali-burst}
.dk-celebration-diwali-flash{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#fff 0,#fff7b3 18%,#ffc23c 34%,#ff781d 55%,transparent 74%);box-shadow:0 0 30px 18px #ffb52b88;transform:translate(-50%,-50%);animation:dk-celebrate-diwali-flash .8s ease-out forwards}
.dk-celebration-diwali-ring{position:absolute;left:50%;top:50%;width:18px;height:18px;border:2px solid #ffd45c;border-radius:50%;box-shadow:0 0 15px #ffb32f99;transform:translate(-50%,-50%);animation:dk-celebrate-diwali-ring 1s cubic-bezier(.12,.6,.26,1) forwards}
.dk-celebration-diwali-ring.ring-1{border-color:#ff7947;animation-delay:.13s}
@keyframes dk-celebrate-diwali-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.12) rotate(0);filter:brightness(2.4)}10%{opacity:1;transform:translate(-50%,-50%) scale(1.2) rotate(24deg)}78%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.62) rotate(var(--rotate));filter:brightness(1.15)}}
@keyframes dk-celebrate-diwali-flash{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}12%{opacity:1;transform:translate(-50%,-50%) scale(6)}42%{opacity:.75;transform:translate(-50%,-50%) scale(11)}100%{opacity:0;transform:translate(-50%,-50%) scale(14)}}
@keyframes dk-celebrate-diwali-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}12%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(26)}}
@media (max-width:767px){.dk-celebration-message{max-width:88vw;padding:13px 17px;font-size:clamp(17px,5vw,25px);border-radius:14px}.dk-celebration-particle.dk-diwali-burst{filter:drop-shadow(0 0 3px #ff9b28)}}

