@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600;700&family=Dancing+Script:wght@700&display=swap";*{margin:0;padding:0;box-sizing:border-box}.birthday-container{min-height:100vh;overflow:hidden;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:Fredoka,cursive}.gradient-bg{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,#ff1493,#ff69b4,#ffb6c1,pink,#ff91a4);background-size:400% 400%;animation:gradientShift 8s ease infinite;z-index:-2}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.balloons{position:fixed;width:100%;height:100%;top:0;left:0;pointer-events:none;z-index:1}.balloon{position:absolute;font-size:3rem;animation:floatUp 6s ease-in-out infinite}.balloon-1{left:10%;animation-delay:0s}.balloon-2{left:25%;animation-delay:1s}.balloon-3{left:60%;animation-delay:2s}.balloon-4{left:80%;animation-delay:.5s}.balloon-5{left:45%;animation-delay:1.5s}@keyframes floatUp{0%{bottom:-10%;transform:translate(0) rotate(0)}50%{transform:translate(20px) rotate(5deg)}to{bottom:110%;transform:translate(-10px) rotate(-5deg)}}.confetti-piece{position:fixed;width:10px;height:10px;top:-10px;animation:confettiFall 3s linear infinite;z-index:2}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.sparkle{position:fixed;animation:sparkleGlow 2s ease-in-out infinite;pointer-events:none;z-index:3}@keyframes sparkleGlow{0%,to{opacity:.3;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}}.birthday-content{text-align:center;z-index:4;position:relative;padding:2rem}.birthday-header{margin-bottom:2rem}.birthday-title{font-size:clamp(2.5rem,8vw,6rem);font-weight:700;font-family:Fredoka,cursive;text-shadow:4px 4px 8px rgba(0,0,0,.3);margin-bottom:1rem;line-height:1.1}.word{display:inline-block;margin:0 .5rem;animation:bounceIn 1s ease-out;background:linear-gradient(45deg,#ff1493,#ff69b4,#ffb6c1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.word-1{animation-delay:.2s}.word-2{animation-delay:.4s}.word-3{animation-delay:.6s}.word sup{font-size:.6em;vertical-align:super}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(-50px)}50%{opacity:1;transform:scale(1.1) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.name-title{font-size:clamp(3rem,10vw,8rem);font-weight:700;font-family:Dancing Script,cursive;background:linear-gradient(45deg,#ff1493,#ff69b4,#ffb6c1,pink);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:2px 2px 4px rgba(0,0,0,.2);animation:nameGlow 2s ease-in-out infinite alternate;letter-spacing:.1em}@keyframes nameGlow{0%{filter:drop-shadow(0 0 10px rgba(255,20,147,.8));transform:scale(1)}to{filter:drop-shadow(0 0 20px rgba(255,105,180,.8));transform:scale(1.02)}}.celebration-message{margin:2rem 0;animation:fadeInUp 1s ease-out .8s both}.birthday-wish{font-size:clamp(1.1rem,3vw,1.5rem);color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);font-weight:600;max-width:600px;margin:0 auto;line-height:1.6}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.party-elements{display:flex;justify-content:center;gap:2rem;margin:2rem 0;animation:fadeInUp 1s ease-out 1s both}.cake,.party-hat,.gifts{font-size:3rem;animation:bounce 2s ease-in-out infinite;cursor:pointer;transition:transform .3s ease}.cake:hover,.party-hat:hover,.gifts:hover{transform:scale(1.2)}.cake{animation-delay:0s}.party-hat{animation-delay:.3s}.gifts{animation-delay:.6s}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.click-message{animation:fadeInUp 1s ease-out 1.2s both;margin-top:2rem}.click-message p{color:#fff;font-size:1.2rem;font-weight:600;text-shadow:1px 1px 3px rgba(0,0,0,.5);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.unlock-gifts-section{animation:fadeInUp 1s ease-out 1.4s both;margin-top:3rem}.unlock-gifts-btn{background:linear-gradient(45deg,#ff1493,#ff69b4,#ffb6c1);border:none;padding:1.5rem 3rem;border-radius:50px;color:#fff;font-size:1.5rem;font-weight:700;font-family:Fredoka,cursive;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;box-shadow:0 10px 30px #ff149366;transition:all .3s ease;position:relative;overflow:hidden;animation:buttonGlow 2s ease-in-out infinite alternate}.unlock-gifts-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.unlock-gifts-btn:hover:before{left:100%}.unlock-gifts-btn:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 15px 40px #ff149399}.unlock-gifts-btn:active{transform:translateY(-2px) scale(1.02)}@keyframes buttonGlow{0%{box-shadow:0 10px 30px #ff149366}to{box-shadow:0 15px 40px #ff69b499}}.floating-hearts{position:fixed;width:100%;height:100%;top:0;left:0;pointer-events:none;z-index:1}.heart{position:absolute;font-size:2rem;color:#ff69b4;animation:floatHearts 8s ease-in-out infinite;opacity:.7}@keyframes floatHearts{0%{bottom:-10%;transform:translate(0) rotate(0) scale(.5);opacity:0}10%{opacity:.7}90%{opacity:.7}to{bottom:110%;transform:translate(30px) rotate(15deg) scale(1.2);opacity:0}}.heart-1{left:15%;animation-delay:0s}.heart-2{left:35%;animation-delay:2s}.heart-3{left:55%;animation-delay:4s}.heart-4{left:75%;animation-delay:6s}.pulse-rings{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0}.pulse-ring{position:absolute;border:2px solid rgba(255,105,180,.3);border-radius:50%;animation:pulseRing 4s ease-out infinite}.pulse-ring:nth-child(1){animation-delay:0s}.pulse-ring:nth-child(2){animation-delay:1s}.pulse-ring:nth-child(3){animation-delay:2s}@keyframes pulseRing{0%{width:0;height:0;opacity:1}to{width:600px;height:600px;margin:-300px 0 0 -300px;opacity:0}}.rotating-stars{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:1;animation:rotateStars 20s linear infinite}.star{position:absolute;font-size:1.5rem;color:#ffb6c1;animation:starTwinkle 2s ease-in-out infinite alternate}.star-1{top:-100px;left:0;animation-delay:0s}.star-2{top:-70px;left:70px;animation-delay:.3s}.star-3{top:0;left:100px;animation-delay:.6s}.star-4{top:70px;left:70px;animation-delay:.9s}.star-5{top:100px;left:0;animation-delay:1.2s}.star-6{top:70px;left:-70px;animation-delay:1.5s}.star-7{top:0;left:-100px;animation-delay:1.8s}.star-8{top:-70px;left:-70px;animation-delay:2.1s}@keyframes rotateStars{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes starTwinkle{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.cake,.party-hat,.gifts{font-size:3rem;animation:enhancedBounce 2s ease-in-out infinite;cursor:pointer;transition:all .3s ease;position:relative}.cake:hover,.party-hat:hover,.gifts:hover{transform:scale(1.3) rotate(10deg);filter:drop-shadow(0 0 20px rgba(255,105,180,.8))}@keyframes enhancedBounce{0%,20%,50%,80%,to{transform:translateY(0) rotate(0)}10%{transform:translateY(-15px) rotate(-5deg)}30%{transform:translateY(-10px) rotate(5deg)}40%{transform:translateY(-15px) rotate(-3deg)}60%{transform:translateY(-8px) rotate(3deg)}}@media (max-width: 768px){.birthday-content{padding:1rem}.birthday-title{line-height:1.2}.word{margin:0 .2rem .5rem;display:block}.party-elements{gap:1rem}.cake,.party-hat,.gifts{font-size:2.5rem}.balloon{font-size:2rem}.unlock-gifts-btn{padding:1rem 2rem;font-size:1.2rem}.pulse-ring{max-width:300px;max-height:300px}.star{font-size:1rem}}@media (max-width: 480px){.birthday-wish{font-size:1rem;padding:0 1rem}.click-message p{font-size:1rem}.party-elements{flex-wrap:wrap}.unlock-gifts-btn{padding:.8rem 1.5rem;font-size:1rem}}.birthday-container:hover .sparkle{animation-duration:1s}.birthday-container:hover .balloon{animation-duration:4s}.box{background:transparent;border:0;margin:0;padding:0;position:absolute;left:50%;transform:translate(-50%);bottom:0;cursor:pointer;outline:none}.box img{margin:-5px}.kuku{position:absolute;left:50%;transform:translate(-50%);bottom:0;z-index:-1}.lid{position:absolute;left:50%;transform:translate(-50%);bottom:5.8em}.jump{animation:1s jump infinite alternate}.move{animation:1s wiggle infinite linear}.rotating{animation:1s rotating}.rotated{transform:rotate(145deg) translate(-70%,-170px)}@keyframes wiggle{10%,90%{transform:translate(-50%) translate3d(-1px,0,0)}20%,80%{transform:translate(-50%) translate3d(2px,0,0)}30%,50%,70%{transform:translate(-50%) translate3d(-4px,0,0)}40%,60%{transform:translate(-50%) translate3d(4px,0,0)}}@keyframes rotating{0%{transform:rotate(0) translate(-50%)}to{transform:rotate(145deg) translate(-70%,-170px)}}@keyframes jump{0%{bottom:0}to{bottom:20em}}.point{height:5px;width:8px}.confetti{width:440px;margin:500px auto 0;text-align:center;padding:10px 0;cursor:pointer;position:absolute;bottom:4em;left:50%;transform:translate(-50%)}.confetti p{position:absolute;display:block;left:50%;bottom:0;width:5px;height:8px;opacity:.8}.confetti.animated{@for $p from 1 through 200{p:nth-of-type(#{$p}) {transform: skewY(random(50)+deg) rotate(random(360)+deg) translate(random(100) + px,random(500) * -5 + px) scale(random(5)/10); background: hsla(random(360),100%,50%,1); animation:2s bang infinite; animation-delay: random(5)/20+s; bottom:random(10)+px; opacity: .3;}}}@keyframes bang{0%{transform:translateZ(0);opacity:1}}:root{font-family:Fredoka,cursive,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}#root{width:100%;min-height:100vh}*{box-sizing:border-box}
