/* Original, decorative 2.75-second scenes. This layer never catches a pointer. */
.bgn-celebration,.bgn-celebration *{box-sizing:border-box!important;pointer-events:none!important;user-select:none!important;-webkit-user-select:none!important}
.bgn-celebration{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:hidden!important;z-index:2147483647!important;contain:layout style paint;isolation:isolate;color-scheme:normal;filter:none!important;box-shadow:none!important;outline:0!important}
.bgn-celebration::backdrop{background:transparent!important;pointer-events:none!important;backdrop-filter:none!important}
.bgn-celebration svg,.bgn-celebration i,.bgn-celebration div{position:absolute;display:block}
.bgn-celebration-spark{left:var(--x);top:var(--y);width:var(--size);height:var(--size);opacity:0;transform-origin:center;animation:bgn-sparkle 1.7s var(--delay) both}
@keyframes bgn-sparkle{0%{opacity:0;transform:scale(.2) rotate(0)}22%{opacity:.85;transform:scale(1.25) rotate(var(--rotation))}58%{opacity:.8;transform:scale(.8) rotate(var(--rotation))}100%{opacity:0;transform:scale(.3) rotate(100deg)}}
.bgn-celebration-comet{width:68vw;height:18px;left:-75vw;top:16vh;background:linear-gradient(90deg,transparent,#e5e9ff70,#fff0ab);border-radius:100%;transform:rotate(-17deg);animation:bgn-comet 2.3s ease-in-out both;box-shadow:0 0 26px #f9d67d50}
.bgn-celebration-comet-star{height:74px;width:74px;right:-28px;top:-28px;filter:drop-shadow(0 0 12px #fff1b990)}
@keyframes bgn-comet{0%{opacity:0;translate:-20vw 32vh}15%{opacity:1}70%{opacity:1}100%{opacity:0;translate:185vw -24vh}}
.bgn-celebration-rocket{width:clamp(85px,15vw,170px);height:auto;left:-25vw;top:66vh;opacity:0;animation:bgn-rocket 2.5s .05s ease-in-out both;filter:drop-shadow(0 0 12px #c9b9f260)}
@keyframes bgn-rocket{0%{opacity:0;translate:0 0;rotate:-14deg}12%{opacity:1}65%{opacity:1}100%{opacity:0;translate:150vw -50vh;rotate:-25deg}}
.bgn-celebration-orbit{width:45vw;height:45vw;max-width:600px;max-height:600px;border:2px solid #c9b9f255;border-radius:50%;left:60%;top:7%;opacity:0;animation:bgn-orbit 2.5s both}
@keyframes bgn-orbit{0%{opacity:0;scale:.4}30%{opacity:.5}100%{opacity:0;scale:1.3}}
.bgn-celebration-wave{width:220vw;height:clamp(150px,29vh,330px);left:calc(-30vw - var(--layer)*15vw);bottom:calc(-40vh - var(--layer)*2vh);opacity:0;animation:bgn-wave 2.65s calc(var(--layer)*.04s) ease-in-out both}
@keyframes bgn-wave{0%{opacity:0;translate:-5vw 0}28%{opacity:.2;translate:6vw -46vh}60%{opacity:.18;translate:-8vw -44vh}100%{opacity:0;translate:13vw 0}}
.bgn-celebration-ray{width:clamp(85px,17vw,210px);height:auto;left:-25vw;bottom:26vh;opacity:0;animation:bgn-ray 2.6s both;filter:drop-shadow(0 0 9px #b9f1ee70)}
@keyframes bgn-ray{0%{opacity:0;translate:0 0;rotate:-8deg}18%{opacity:.8}50%{translate:75vw -14vh;rotate:6deg}75%{opacity:.7}100%{opacity:0;translate:150vw -4vh;rotate:-7deg}}
.bgn-celebration-bubble{left:var(--x);top:var(--y);width:var(--size);height:var(--size);border:1.5px solid #b3f1eeaa;border-radius:50%;opacity:0;animation:bgn-bubble 2.15s var(--delay) ease-out both}
@keyframes bgn-bubble{0%{opacity:0;translate:0 10vh}20%{opacity:.65}100%{opacity:0;translate:var(--drift) -50vh}}
.bgn-celebration-confetti{left:var(--x);top:-14vh;width:var(--size);height:calc(var(--size)*2.2);background:var(--color);border-radius:2px;opacity:0;animation:bgn-confetti var(--duration) var(--delay) cubic-bezier(.15,.7,.7,1) both}
.bgn-celebration-confetti-round{border-radius:50%;height:var(--size)}
@keyframes bgn-confetti{0%{opacity:0;translate:0 0;rotate:0}12%{opacity:.9}72%{opacity:.85}100%{opacity:0;translate:var(--drift) 130vh;rotate:var(--rotation)}}
.bgn-celebration-garland{left:-5%;top:-20vh;width:110%;height:clamp(80px,18vh,170px);opacity:0;animation:bgn-garland 2.65s both}
@keyframes bgn-garland{0%{opacity:0;translate:0 -5vh}25%{opacity:.8;translate:0 22vh}67%{opacity:.8;translate:0 22vh}100%{opacity:0;translate:0 -5vh}}
.bgn-celebration-marcher{width:clamp(55px,8vw,110px);height:auto;left:calc(-55vw + var(--marcher)*12vw);bottom:2vh;opacity:0;animation:bgn-march 2.7s calc(var(--marcher)*.008s) linear both}
@keyframes bgn-march{0%{opacity:0;translate:0 0}13%{opacity:.75;translate:19vw -1vh}28%{translate:42vw 0}43%{translate:64vw -1vh}57%{translate:85vw 0}72%{translate:107vw -1vh}85%{opacity:.75;translate:127vw 0}100%{opacity:0;translate:150vw -1vh}}
.bgn-celebration-leaf{left:var(--x);top:calc(var(--y) - 30vh);width:var(--size);height:auto;opacity:0;animation:bgn-leaf var(--duration) var(--delay) ease-in-out both}
@keyframes bgn-leaf{0%{opacity:0;translate:0 0;rotate:0}18%{opacity:.6}70%{opacity:.6}100%{opacity:0;translate:var(--drift) 135vh;rotate:var(--rotation)}}
.bgn-celebration-butterfly{width:clamp(48px,7vw,92px);height:auto;left:calc(-15vw - var(--butterfly)*12vw);top:calc(18vh + var(--butterfly)*14vh);opacity:0;animation:bgn-butterfly 2.6s calc(var(--butterfly)*.02s) both}
@keyframes bgn-butterfly{0%{opacity:0;translate:0 5vh;rotate:-12deg}20%{opacity:.75}46%{translate:65vw -8vh;rotate:14deg;scale:.85 1}70%{opacity:.75;translate:100vw 6vh;rotate:-10deg;scale:1}100%{opacity:0;translate:175vw -10vh;rotate:16deg}}
.bgn-celebration-ribbon{inset:0;width:100%;height:100%;opacity:0;animation:bgn-ribbon-appear 2.65s both}
.bgn-celebration-ribbon path{stroke-dasharray:1;stroke-dashoffset:1;animation:bgn-ribbon-draw 2.55s calc(var(--ribbon)*.05s) ease-in-out both}
@keyframes bgn-ribbon-appear{0%{opacity:0}15%{opacity:.4}65%{opacity:.4}100%{opacity:0}}
@keyframes bgn-ribbon-draw{0%{stroke-dashoffset:1}45%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
.bgn-celebration-treasure{width:clamp(160px,24vw,280px);height:auto;left:6vw;bottom:4vh;overflow:visible;opacity:0;animation:bgn-treasure 2.65s ease-in-out both}
@keyframes bgn-treasure{0%{opacity:0;transform:translateY(30px) scale(.82)}17%{opacity:.95;transform:translateY(-3px) scale(1.025)}29%{transform:translateY(0) scale(1)}76%{opacity:.95;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(12px) scale(.94)}}
.bgn-celebration-chest-lid{transform-box:fill-box;transform-origin:12% 85%;animation:bgn-chest-lid 2.35s .12s ease-in-out both}
@keyframes bgn-chest-lid{0%,12%{transform:translateY(0) rotate(0)}36%{transform:translateY(-23px) rotate(-14deg)}55%{transform:translateY(-20px) rotate(-12deg)}85%{transform:translateY(-20px) rotate(-12deg)}100%{transform:translateY(-14px) rotate(-7deg)}}
.bgn-celebration-treasure-glow{opacity:0;animation:bgn-treasure-glow 2.4s .15s ease-in-out both}
@keyframes bgn-treasure-glow{0%,12%{opacity:0}34%{opacity:.8}75%{opacity:.65}100%{opacity:0}}
.bgn-celebration-treasure-coin{transform-box:fill-box;transform-origin:center;opacity:0;animation:bgn-treasure-coin 2.05s calc(.25s + var(--coin)*.05s) cubic-bezier(.18,.7,.45,1) both}
@keyframes bgn-treasure-coin{0%{opacity:0;transform:translate(0,0) rotate(-8deg) scale(.7)}13%{opacity:.95}40%{transform:translate(var(--coin-drift),var(--coin-lift)) rotate(24deg) scale(1)}67%{opacity:.95;transform:translate(var(--coin-drift),calc(var(--coin-lift) + 12px)) rotate(64deg) scale(.95)}100%{opacity:0;transform:translate(var(--coin-drift),12px) rotate(90deg) scale(.7)}}
.bgn-celebration-storybook{width:clamp(160px,27vw,300px);height:auto;left:6vw;top:9vh;overflow:visible;opacity:0;animation:bgn-storybook 2.65s ease-in-out both}
@keyframes bgn-storybook{0%{opacity:0;transform:translateY(13px) rotate(-7deg) scale(.86)}19%{opacity:.92;transform:translateY(0) rotate(1deg) scale(1)}63%{opacity:.92;transform:translateY(-3px) rotate(0) scale(1)}100%{opacity:0;transform:translateY(3px) rotate(-3deg) scale(.96)}}
.bgn-celebration-book-page{transform-box:fill-box;transform-origin:5% 90%;animation:bgn-book-page 2.3s .1s ease-in-out both}
@keyframes bgn-book-page{0%{transform:rotate(0)}27%{transform:translate(-8px,-5px) rotate(-19deg)}50%{transform:translate(2px,-3px) rotate(7deg)}78%{transform:rotate(0)}100%{transform:rotate(-3deg)}}
.bgn-celebration-page-flight{transform-box:fill-box;transform-origin:center;opacity:0;animation:bgn-page-flight 2s calc(.18s + var(--page)*.1s) ease-out both}
@keyframes bgn-page-flight{0%{opacity:0;transform:translate(0,0) rotate(-8deg) scale(.7)}13%{opacity:.95}54%{opacity:.95;transform:translate(calc(var(--page-drift)*.6),calc(var(--page-lift)*.7)) rotate(10deg) scale(1)}100%{opacity:0;transform:translate(var(--page-drift),var(--page-lift)) rotate(28deg) scale(.65)}}
.bgn-celebration-page-paper{animation:bgn-page-paper 2s calc(.18s + var(--page)*.1s) ease-out both}
.bgn-celebration-page-star{opacity:0;animation:bgn-page-star 2s calc(.18s + var(--page)*.1s) ease-out both}
@keyframes bgn-page-paper{0%,22%{opacity:1}48%,100%{opacity:0}}
@keyframes bgn-page-star{0%,22%{opacity:0}48%,76%{opacity:1}100%{opacity:0}}
.bgn-celebration-firepup{width:clamp(135px,21vw,230px);height:auto;right:6vw;bottom:3vh;overflow:visible;opacity:0;animation:bgn-firepup 2.65s ease-in-out both}
@keyframes bgn-firepup{0%{opacity:0;transform:translateY(27px) rotate(4deg) scale(.82)}17%{opacity:.94;transform:translateY(0) rotate(-2deg) scale(1)}37%{transform:translateY(-5px) rotate(1deg) scale(1)}57%{transform:translateY(0) rotate(-1deg) scale(1)}76%{opacity:.94;transform:translateY(-3px) rotate(0) scale(1)}100%{opacity:0;transform:translateY(9px) rotate(2deg) scale(.96)}}
.bgn-celebration-pup-paw{transform-box:fill-box;transform-origin:90% 83%;animation:bgn-pup-paw 2.45s .08s ease-in-out both}
@keyframes bgn-pup-paw{0%{transform:rotate(0)}22%{transform:rotate(17deg)}38%{transform:rotate(-10deg)}53%{transform:rotate(15deg)}71%{transform:rotate(-5deg)}100%{transform:rotate(0)}}
.bgn-celebration-water-arcs{width:clamp(250px,47vw,620px);height:auto;right:7vw;bottom:8vh;opacity:0;animation:bgn-water-appear 2.6s ease-in-out both}
.bgn-celebration-water-arcs path{stroke-dasharray:1;stroke-dashoffset:1;animation:bgn-water-flow 2.4s calc(var(--arc)*.08s) ease-in-out both}
@keyframes bgn-water-appear{0%{opacity:0}20%{opacity:.7}72%{opacity:.7}100%{opacity:0}}
@keyframes bgn-water-flow{0%{stroke-dashoffset:1}46%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
.bgn-celebration-victory-letters{width:clamp(104px,18vw,200px);height:auto;right:7vw;bottom:calc(4vh + clamp(125px,19vw,220px));overflow:visible}
.bgn-celebration-victory-letter{transform-box:fill-box;transform-origin:center;opacity:0;animation:bgn-victory-letter 2.3s calc(.2s + var(--letter)*.06s) ease-in-out both}
@keyframes bgn-victory-letter{0%{opacity:0;transform:translateY(10px) rotate(-9deg) scale(.65)}23%{opacity:.9;transform:translateY(-4px) rotate(5deg) scale(1.04)}52%{opacity:.9;transform:translateY(0) rotate(-2deg) scale(1)}78%{opacity:.9;transform:translateY(-2px) rotate(0) scale(1)}100%{opacity:0;transform:translateY(3px) rotate(4deg) scale(.9)}}
.bgn-celebration-constellation{width:clamp(245px,41vw,490px);height:auto;right:5vw;top:9vh;overflow:visible;opacity:0;animation:bgn-constellation 2.65s ease-in-out both}
@keyframes bgn-constellation{0%{opacity:0;transform:translateY(8px) scale(.88)}21%{opacity:.9;transform:translateY(0) scale(1)}76%{opacity:.9;transform:translateY(-3px) scale(1.015)}100%{opacity:0;transform:translateY(-8px) scale(1.025)}}
.bgn-celebration-constellation-line{stroke-dasharray:1;stroke-dashoffset:1;animation:bgn-constellation-line 2.55s ease-in-out both}
@keyframes bgn-constellation-line{0%{stroke-dashoffset:1}48%,100%{stroke-dashoffset:0}}
.bgn-celebration-sky-star{transform-box:fill-box;transform-origin:center;opacity:0;animation:bgn-sky-star 2.1s calc(var(--sky-star)*.06s) ease-in-out both}
@keyframes bgn-sky-star{0%{opacity:0;transform:scale(.5)}25%{opacity:.92;transform:scale(1.08)}66%{opacity:.92;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}
.bgn-celebration-crown{transform-box:fill-box;transform-origin:center;opacity:0;animation:bgn-crown 2.45s .12s ease-in-out both}
@keyframes bgn-crown{0%{opacity:0;transform:translateY(18px) rotate(-5deg) scale(.7)}29%{opacity:.95;transform:translateY(-4px) rotate(2deg) scale(1.04)}46%{opacity:.95;transform:translateY(0) rotate(0) scale(1)}76%{opacity:.95;transform:translateY(0) rotate(0) scale(1)}100%{opacity:0;transform:translateY(-8px) rotate(3deg) scale(.94)}}
.bgn-celebration-reduced *{animation:none!important;transition:none!important}
.bgn-celebration-static-star{width:27px;height:27px;opacity:.65;top:18px;left:18px}
.bgn-celebration-static-star:nth-child(2){left:auto;right:18px}.bgn-celebration-static-star:nth-child(3){top:auto;bottom:18px}.bgn-celebration-static-star:nth-child(4){left:auto;right:18px;top:auto;bottom:18px}
@media(prefers-reduced-motion:reduce){.bgn-celebration *,.bgn-celebration *::before,.bgn-celebration *::after{animation:none!important;transition:none!important}}
