.fireworks-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;pointer-events:none;overflow:hidden}.firework-smooth{position:absolute;bottom:60vh;transform:translate(-50%)}.spark-smooth{position:absolute;width:5px;height:5px;border-radius:50%;animation:spark-smooth 4s var(--delay, 0s) infinite ease-out;animation-fill-mode:forwards;will-change:transform,opacity;transform:translateZ(0) rotate(var(--angle, 0deg));backface-visibility:hidden;opacity:0}.red-smooth{background:#f44;box-shadow:0 0 8px #f44}.green-smooth{background:#4f4;box-shadow:0 0 8px #4f4}.gold-smooth{background:gold;box-shadow:0 0 8px gold}.blue-smooth{background:#44f;box-shadow:0 0 6px #44f}.purple-smooth{background:#d4d;box-shadow:0 0 6px #d4d}.orange-smooth{background:#f84;box-shadow:0 0 8px #f84}.cyan-smooth{background:#4dd;box-shadow:0 0 6px #4dd}.rose-smooth{background:#f8d;box-shadow:0 0 7px #f8d}.white-smooth{background:#fff;box-shadow:0 0 10px #fff,0 0 20px #fff}.yellow-smooth{background:#fd4;box-shadow:0 0 8px #fd4}.turquoise-smooth{background:#4da;box-shadow:0 0 7px #4da}@keyframes spark-smooth{0%{opacity:0;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(0) scale(.4)}10%{opacity:1;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(0) scale(1.3)}30%{opacity:1;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(100px) scale(1.1)}60%{opacity:.8;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(180px) translateY(35px) scale(.9)}85%{opacity:.3;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(240px) translateY(80px) scale(.5)}to{opacity:0;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(280px) translateY(110px) scale(.2)}}.spark-pivoine{position:absolute;width:5px;height:5px;border-radius:50%;animation:spark-pivoine 5s var(--delay, 0s) infinite ease-out;animation-fill-mode:forwards;will-change:transform,opacity;transform:translateZ(0) rotate(var(--angle, 0deg));backface-visibility:hidden;opacity:0}@keyframes spark-pivoine{0%{opacity:0;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(0) scale(.5)}12%{opacity:1;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(0) scale(1.4)}25%{opacity:1;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(80px) translateY(-20px) scale(1.2)}45%{opacity:1;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(150px) translateY(-10px) scale(1)}65%{opacity:.9;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(200px) translateY(40px) scale(.8)}80%{opacity:.6;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(240px) translateY(120px) scale(.6)}95%{opacity:.2;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(260px) translateY(200px) scale(.3)}to{opacity:0;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(270px) translateY(240px) scale(.1)}}.spark-fontaine{position:absolute;width:5px;height:5px;border-radius:50%;animation:spark-fontaine 4.5s var(--delay, 0s) infinite ease-in-out;animation-fill-mode:forwards;will-change:transform,opacity;transform:translateZ(0) rotate(var(--angle, 0deg));backface-visibility:hidden;opacity:0}@keyframes spark-fontaine{0%{opacity:0;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(0) scale(.4)}8%{opacity:1;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(0) scale(1.5)}20%{opacity:1;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(60px) translateY(-50px) scale(1.3)}35%{opacity:1;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(120px) translateY(-80px) scale(1.1)}50%{opacity:1;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(160px) translateY(-60px) scale(1)}70%{opacity:.8;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(200px) translateY(20px) scale(.8)}85%{opacity:.4;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(230px) translateY(100px) scale(.5)}to{opacity:0;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(250px) translateY(160px) scale(.2)}}.spark-burst{position:absolute;width:5px;height:5px;border-radius:50%;animation:spark-burst 3.5s var(--delay, 0s) infinite ease-out;animation-fill-mode:forwards;will-change:transform,opacity;transform:translateZ(0) rotate(var(--angle, 0deg));backface-visibility:hidden;opacity:0}@keyframes spark-burst{0%{opacity:0;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(0) scale(.8)}5%{opacity:1;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(0) scale(2)}25%{opacity:1;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(120px) scale(1.3)}50%{opacity:.9;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(200px) translateY(25px) scale(1)}75%{opacity:.5;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(260px) translateY(60px) scale(.7)}to{opacity:0;transform:translateZ(0) rotate(var(--angle, 0deg)) translate(300px) translateY(90px) scale(.3)}}
