*{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;overflow-x:hidden}@keyframes floatUp{0%{opacity:0;transform:translateY(0)scale(1)}10%{opacity:1}90%{opacity:.3}to{opacity:0;transform:translateY(-100vh)scale(.5)}}@keyframes petalFall{0%{opacity:0;transform:translateY(-30px)rotate(0)translate(0)}10%{opacity:.5}to{opacity:0;transform:translateY(105vh)rotate(720deg)translate(80px)}}@keyframes twinkle{0%,to{opacity:.2;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}60%{transform:scale(1)}}@keyframes heartBurst{0%{opacity:1;transform:rotate(inherit) translateY(-10px) scale(.5)}to{opacity:0;transform:rotate(inherit) translateY(-80px) scale(1.2)}}@keyframes pulseGlow{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes pulseGlow2{0%,to{opacity:.5}50%{opacity:1}}@keyframes letterSlideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(-30px)}}@keyframes fireworkBurst{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--fw-x), var(--fw-y)) scale(0);opacity:0}}@keyframes heartRain{0%{opacity:0;transform:translateY(-40px)rotate(0)}10%{opacity:.7}90%{opacity:.3}to{opacity:0;transform:translateY(110vh)rotate(360deg)}}@keyframes celebrationPop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes cakeBuildBase{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes cakeBuildLayer{0%{opacity:0;transform:translateY(20px)scaleY(0)}60%{opacity:1;transform:translateY(-4px)scaleY(1.05)}to{opacity:1;transform:translateY(0)scaleY(1)}}@keyframes candleGrow{0%{opacity:0;transform:scaleY(0)}80%{transform:scaleY(1.1)}to{opacity:1;transform:scaleY(1)}}@keyframes flameFlicker{0%,to{opacity:.9;transform:scaleY(1)rotate(-2deg)}25%{opacity:1;transform:scaleY(1.2)rotate(2deg)}50%{opacity:.85;transform:scaleY(.9)rotate(-1deg)}75%{opacity:1;transform:scaleY(1.1)rotate(3deg)}}@keyframes confettiFall{0%{opacity:0;transform:translateY(-20px)rotate(0)}10%{opacity:1}90%{opacity:.6}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}@keyframes balloonFloat{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-15px)rotate(3deg)}}@keyframes bannerWave{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(180deg)}}@keyframes cakeGlow{0%,to{box-shadow:0 0 30px #ffb6c133,0 0 60px #ffb6c11a}50%{box-shadow:0 0 50px #ffb6c166,0 0 100px #ffb6c133}}@keyframes constellationPulse{0%,to{transform:scale(1)}50%{transform:scale(1.35)}}button:hover{transform:translateY(-2px);box-shadow:0 8px 30px #ffb6c140}button:active{box-shadow:none!important;transform:translateY(0)!important}
