/* ============================================================
   DLG celebration overlay — strong full-website celebration feel.
   Overlay-only enhancement; existing content/layout/theme remains untouched.
   Bright gold confetti + white twinkling stars + corner celebration bursts.
   ============================================================ */
#dlgCelebrationChamkies{
  position: fixed;
  inset: 0;
  z-index: 1200;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  contain: layout paint;
}
#dlgCelebrationChamkies .dlg-celebration-glow{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 10% 8%, rgba(255,219,120,.10), transparent 28%),
    radial-gradient(circle at 90% 10%, rgba(255,219,120,.10), transparent 28%),
    radial-gradient(circle at 20% 88%, rgba(255,255,255,.05), transparent 24%),
    radial-gradient(circle at 80% 85%, rgba(255,255,255,.05), transparent 24%),
    linear-gradient(180deg, rgba(255,228,146,.06), transparent 18%, transparent 82%, rgba(255,228,146,.04));
  opacity:1;
  animation:dlgGlowShift 9s ease-in-out infinite;
}
#dlgCelebrationChamkies .dlg-ambient-stars{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 4% 10%, rgba(255,255,255,.35) 0 1.4px, transparent 3.5px),
    radial-gradient(circle at 9% 22%, rgba(255,255,255,.24) 0 1.4px, transparent 3.5px),
    radial-gradient(circle at 14% 6%, rgba(255,255,255,.28) 0 1.5px, transparent 3.7px),
    radial-gradient(circle at 19% 18%, rgba(255,255,255,.26) 0 1.3px, transparent 3.4px),
    radial-gradient(circle at 25% 11%, rgba(255,255,255,.34) 0 1.5px, transparent 3.8px),
    radial-gradient(circle at 32% 7%, rgba(255,255,255,.24) 0 1.4px, transparent 3.5px),
    radial-gradient(circle at 38% 20%, rgba(255,255,255,.27) 0 1.4px, transparent 3.6px),
    radial-gradient(circle at 45% 9%, rgba(255,255,255,.30) 0 1.5px, transparent 3.8px),
    radial-gradient(circle at 52% 19%, rgba(255,255,255,.22) 0 1.3px, transparent 3.3px),
    radial-gradient(circle at 58% 7%, rgba(255,255,255,.28) 0 1.5px, transparent 3.7px),
    radial-gradient(circle at 63% 16%, rgba(255,255,255,.22) 0 1.3px, transparent 3.3px),
    radial-gradient(circle at 69% 9%, rgba(255,255,255,.28) 0 1.5px, transparent 3.7px),
    radial-gradient(circle at 74% 19%, rgba(255,255,255,.25) 0 1.4px, transparent 3.5px),
    radial-gradient(circle at 81% 8%, rgba(255,255,255,.33) 0 1.6px, transparent 3.9px),
    radial-gradient(circle at 87% 17%, rgba(255,255,255,.26) 0 1.4px, transparent 3.5px),
    radial-gradient(circle at 94% 9%, rgba(255,255,255,.30) 0 1.5px, transparent 3.7px),
    radial-gradient(circle at 8% 42%, rgba(255,255,255,.14) 0 1.1px, transparent 3px),
    radial-gradient(circle at 21% 58%, rgba(255,255,255,.13) 0 1.1px, transparent 2.9px),
    radial-gradient(circle at 34% 46%, rgba(255,255,255,.12) 0 1.1px, transparent 2.9px),
    radial-gradient(circle at 47% 66%, rgba(255,255,255,.15) 0 1.2px, transparent 3.1px),
    radial-gradient(circle at 62% 53%, rgba(255,255,255,.12) 0 1.1px, transparent 2.9px),
    radial-gradient(circle at 76% 64%, rgba(255,255,255,.14) 0 1.2px, transparent 3px),
    radial-gradient(circle at 90% 50%, rgba(255,255,255,.13) 0 1.1px, transparent 2.9px),
    radial-gradient(circle at 12% 84%, rgba(255,255,255,.16) 0 1.2px, transparent 3px),
    radial-gradient(circle at 28% 79%, rgba(255,255,255,.12) 0 1.1px, transparent 2.8px),
    radial-gradient(circle at 42% 89%, rgba(255,255,255,.13) 0 1.1px, transparent 2.9px),
    radial-gradient(circle at 56% 82%, rgba(255,255,255,.14) 0 1.2px, transparent 3px),
    radial-gradient(circle at 71% 92%, rgba(255,255,255,.12) 0 1.1px, transparent 2.8px),
    radial-gradient(circle at 86% 80%, rgba(255,255,255,.15) 0 1.2px, transparent 3px);
  opacity:1;
  animation: dlgAmbientPulse 7s ease-in-out infinite;
}
#dlgCelebrationChamkies .dlg-burst{
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  opacity:.68;
}
#dlgCelebrationChamkies .dlg-burst::before,
#dlgCelebrationChamkies .dlg-burst::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
}
#dlgCelebrationChamkies .dlg-burst::before{
  background:radial-gradient(circle, rgba(255,244,212,.22) 0%, rgba(248,205,92,.08) 30%, transparent 68%);
  animation:dlgBurstPulse 5.4s ease-in-out infinite;
}
#dlgCelebrationChamkies .dlg-burst::after{
  background:conic-gradient(from 0deg,
    rgba(255,236,170,.0) 0deg 8deg,
    rgba(255,236,170,.85) 8deg 10deg,
    rgba(255,236,170,.0) 10deg 20deg,
    rgba(255,215,110,.75) 20deg 22deg,
    rgba(255,236,170,.0) 22deg 36deg,
    rgba(255,236,170,.8) 36deg 38deg,
    rgba(255,236,170,.0) 38deg 54deg,
    rgba(255,215,110,.75) 54deg 56deg,
    rgba(255,236,170,.0) 56deg 72deg,
    rgba(255,236,170,.78) 72deg 74deg,
    rgba(255,236,170,.0) 74deg 92deg,
    rgba(255,215,110,.72) 92deg 94deg,
    rgba(255,236,170,.0) 94deg 112deg,
    rgba(255,236,170,.82) 112deg 114deg,
    rgba(255,236,170,.0) 114deg 130deg,
    rgba(255,215,110,.75) 130deg 132deg,
    rgba(255,236,170,.0) 132deg 150deg,
    rgba(255,236,170,.78) 150deg 152deg,
    rgba(255,236,170,.0) 152deg 170deg,
    rgba(255,215,110,.72) 170deg 172deg,
    rgba(255,236,170,.0) 172deg 190deg,
    rgba(255,236,170,.8) 190deg 192deg,
    rgba(255,236,170,.0) 192deg 208deg,
    rgba(255,215,110,.72) 208deg 210deg,
    rgba(255,236,170,.0) 210deg 226deg,
    rgba(255,236,170,.8) 226deg 228deg,
    rgba(255,236,170,.0) 228deg 246deg,
    rgba(255,215,110,.72) 246deg 248deg,
    rgba(255,236,170,.0) 248deg 264deg,
    rgba(255,236,170,.8) 264deg 266deg,
    rgba(255,236,170,.0) 266deg 284deg,
    rgba(255,215,110,.72) 284deg 286deg,
    rgba(255,236,170,.0) 286deg 304deg,
    rgba(255,236,170,.8) 304deg 306deg,
    rgba(255,236,170,.0) 306deg 324deg,
    rgba(255,215,110,.72) 324deg 326deg,
    rgba(255,236,170,.0) 326deg 344deg,
    rgba(255,236,170,.8) 344deg 346deg,
    rgba(255,236,170,.0) 346deg 360deg);
  -webkit-mask: radial-gradient(circle, transparent 0 34%, #000 34% 64%, transparent 64% 100%);
  mask: radial-gradient(circle, transparent 0 34%, #000 34% 64%, transparent 64% 100%);
  animation:dlgBurstRotate 11s linear infinite;
}
#dlgCelebrationChamkies .dlg-burst.left{left:-34px;top:-34px}
#dlgCelebrationChamkies .dlg-burst.right{right:-34px;top:-34px}
#dlgCelebrationChamkies .dlg-burst.bottom-left{left:-34px;bottom:-34px;opacity:.45}
#dlgCelebrationChamkies .dlg-burst.bottom-right{right:-34px;bottom:-34px;opacity:.45}
#dlgCelebrationChamkies .dlg-chamki{
  position:absolute;
  left:var(--x);
  top:var(--y);
  opacity:var(--o,.3);
  transform:translate3d(0,0,0) rotate(var(--r,0deg));
  will-change:transform,opacity;
}
#dlgCelebrationChamkies .dlg-chamki.spark::before{
  content:"✦";
  display:block;
  color:var(--c,#ffffff);
  font:900 var(--s,12px)/1 Georgia,serif;
  text-shadow:0 0 7px rgba(255,255,255,.56), 0 0 16px rgba(255,255,255,.30), 0 0 22px rgba(255,255,255,.15);
  animation:dlgChamkiTwinkle var(--d,4.1s) ease-in-out var(--delay,0s) infinite;
}
#dlgCelebrationChamkies .dlg-chamki.dot{
  width:var(--s,3px);
  height:var(--s,3px);
  border-radius:50%;
  background:var(--c,#ffffff);
  box-shadow:0 0 8px rgba(255,255,255,.50),0 0 16px rgba(255,255,255,.20);
  animation:dlgChamkiTwinkle var(--d,4.8s) ease-in-out var(--delay,0s) infinite;
}
#dlgCelebrationChamkies .dlg-chamki.glowdot{
  width:var(--s,5px);
  height:var(--s,5px);
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.98) 0%, rgba(255,255,255,.90) 36%, rgba(255,255,255,.36) 64%, rgba(255,255,255,0) 100%);
  filter:blur(.15px);
  box-shadow:0 0 14px rgba(255,255,255,.46),0 0 28px rgba(255,255,255,.16);
  animation:dlgGlowPulse var(--d,6.2s) ease-in-out var(--delay,0s) infinite;
}
#dlgCelebrationChamkies .dlg-chamki.confetti{
  width:var(--w,4px);
  height:var(--h,12px);
  border-radius:1.6px;
  background:linear-gradient(180deg, rgba(255,246,212,.98), rgba(255,220,120,.97) 34%, var(--c,#d5a12f) 100%);
  box-shadow:0 0 11px rgba(255,212,96,.26), 0 0 18px rgba(213,161,47,.14);
  animation:dlgChamkiFloat var(--d,10.6s) linear var(--delay,0s) infinite;
}
#dlgCelebrationChamkies .dlg-chamki.confetti.confetti--round{border-radius:999px}
#dlgCelebrationChamkies .dlg-chamki.confetti.confetti--diamond{width:var(--w,6px);height:var(--h,6px);transform:translate3d(0,0,0) rotate(45deg)}
#dlgCelebrationChamkies .dlg-chamki.confetti.confetti--sliver{width:2px;border-radius:999px}
#dlgCelebrationChamkies .dlg-chamki.confetti.confetti--flake{width:8px;height:8px;clip-path:polygon(50% 0%,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0% 50%,39% 36%)}
#dlgCelebrationChamkies .dlg-chamki.confetti.confetti--mini{width:5px;height:5px;border-radius:1px}
#dlgCelebrationChamkies .dlg-chamki.confetti.confetti--triangle{width:8px;height:8px;clip-path:polygon(50% 0%,0% 100%,100% 100%)}
#dlgCelebrationChamkies .dlg-chamki.confetti.confetti--ribbon{width:3px;height:var(--h,14px);border-radius:999px}

@keyframes dlgGlowShift{0%,100%{opacity:.92}50%{opacity:1}}
@keyframes dlgAmbientPulse{0%,100%{opacity:.82}50%{opacity:1}}
@keyframes dlgBurstPulse{0%,100%{transform:scale(.86);opacity:.34}50%{transform:scale(1.04);opacity:.58}}
@keyframes dlgBurstRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes dlgGlowPulse{0%,100%{opacity:.12;transform:scale(.82) rotate(var(--r,0deg))}50%{opacity:var(--o,.32);transform:scale(1.12) rotate(calc(var(--r,0deg) + 8deg))}}
@keyframes dlgChamkiTwinkle{0%,100%{opacity:.10;transform:scale(.76) rotate(var(--r,0deg))}42%{opacity:var(--o,.30);transform:scale(1.12) rotate(calc(var(--r,0deg) + 12deg))}70%{opacity:calc(var(--o,.30) * .74);transform:scale(.95) rotate(calc(var(--r,0deg) + 20deg))}}
@keyframes dlgChamkiFloat{
  0%{transform:translate3d(0,-12vh,0) rotate(var(--r,0deg));opacity:0}
  7%{opacity:var(--o,.24)}
  34%{transform:translate3d(calc(var(--drift,18px) * .55),29vh,0) rotate(calc(var(--r,0deg) + 105deg));opacity:var(--o,.24)}
  64%{transform:translate3d(var(--drift,18px),60vh,0) rotate(calc(var(--r,0deg) + 188deg));opacity:calc(var(--o,.24) * .98)}
  100%{transform:translate3d(calc(var(--drift,18px) * -0.22),112vh,0) rotate(calc(var(--r,0deg) + 320deg));opacity:0}
}
@media(max-width:720px){
  #dlgCelebrationChamkies .dlg-burst{width:128px;height:128px}
  #dlgCelebrationChamkies .dlg-chamki:nth-child(n+56){display:none}
  #dlgCelebrationChamkies{opacity:.9}
}
@media(prefers-reduced-motion:reduce){
  #dlgCelebrationChamkies .dlg-chamki,
  #dlgCelebrationChamkies .dlg-burst::before,
  #dlgCelebrationChamkies .dlg-burst::after,
  #dlgCelebrationChamkies .dlg-ambient-stars,
  #dlgCelebrationChamkies .dlg-celebration-glow{animation:none!important}
  #dlgCelebrationChamkies .dlg-chamki.confetti{display:none}
}
