.badger-celebration { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:24px; pointer-events:none; background:radial-gradient(ellipse at center,rgba(255,133,8,.16),rgba(0,0,0,.72)); animation:badger-veil .3s ease-out; }
.badger-celebration__card { position:relative; width:min(100%,440px); padding:12px 28px 28px; text-align:center; color:#fff5df; font-family:"Segoe UI",Arial,sans-serif; background:linear-gradient(145deg,#162021,#080d0d); border:1px solid #ff8508; border-radius:24px; box-shadow:0 0 70px rgba(255,133,8,.28); pointer-events:auto; animation:badger-pop .65s cubic-bezier(.2,1.4,.4,1); }
.badger-celebration__mascot { display:block; width:100%; max-height:290px; margin:auto; animation:badger-hop 1.4s ease-in-out 3; transform-origin:50% 90%; }
.badger-celebration__kicker { margin:0 0 6px; color:#ffb957; font-size:12px; letter-spacing:4px; font-weight:800; }
.badger-celebration__title { margin:0; font-size:clamp(28px,6vw,42px); font-weight:900; letter-spacing:1px; }
.badger-celebration__detail { margin:10px 0 0; color:#c9d6ca; font-size:15px; }
.badger-celebration__close { position:absolute; top:10px; right:12px; width:36px; height:36px; border:1px solid #526157; border-radius:50%; background:#111d1b; color:#fff; font-size:23px; cursor:pointer; }
.badger-celebration__spark { position:absolute; left:var(--x); top:-20px; width:9px; height:15px; background:var(--color); border-radius:2px; animation:badger-confetti 4s var(--delay) ease-in both; }
@keyframes badger-pop { from { opacity:0; transform:translateY(40px) scale(.7); } to { opacity:1; transform:none; } }
@keyframes badger-hop { 0%,100% { transform:translateY(0) rotate(0); } 30% { transform:translateY(-16px) rotate(-4deg); } 60% { transform:translateY(-6px) rotate(4deg); } }
@keyframes badger-confetti { from { transform:translateY(-30px) rotate(0); opacity:0; } 10% { opacity:1; } to { transform:translateY(105vh) rotate(580deg); opacity:0; } }
@keyframes badger-veil { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .badger-celebration,.badger-celebration__card,.badger-celebration__mascot { animation:none; } .badger-celebration__spark { display:none; } }
