@import"https://fonts.googleapis.com/css2?family=Pacifico&family=Poppins:wght@300;400;600;700;800&display=swap";:root{--pink: #ff6b9d;--purple: #c44dff;--gold: #ffd700;--cyan: #00e5ff;--orange: #ff9a3c;--green: #4dff91}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;overflow-x:hidden}body{font-family:Poppins,sans-serif;background:linear-gradient(135deg,#1a0033,#0d001a 40%,#1a002e,#0a0015);color:#fff}.sparkle-canvas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.balloon-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.balloon{position:absolute;bottom:-150px;width:60px;height:80px;border-radius:50%/60% 60% 40% 40%;opacity:.85;animation:floatUp linear infinite;pointer-events:auto;cursor:pointer;transition:transform .2s;filter:drop-shadow(0 0 12px rgba(255,255,255,.2))}.balloon:after{content:"";position:absolute;bottom:-80px;left:50%;width:2px;height:80px;background:#ffffff4d;transform:translate(-50%)}.balloon:hover{transform:scale(1.15)}.balloon.popped{animation:pop .3s ease-out forwards}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.85}90%{opacity:.85}to{transform:translateY(-110vh) rotate(15deg);opacity:0}}@keyframes pop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.8);opacity:.5}to{transform:scale(0);opacity:0}}.confetti-piece{position:fixed;width:10px;height:10px;top:-10px;z-index:10;pointer-events:none;animation:confettiFall linear forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}to{transform:translateY(110vh) rotate(720deg) scale(.5);opacity:0}}.birthday-app{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1rem}.hero{text-align:center;margin-top:3rem;animation:fadeInDown 1s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}.hero h1{font-family:Pacifico,cursive;font-size:clamp(2.5rem,8vw,5rem);background:linear-gradient(135deg,var(--pink),var(--purple),var(--gold),var(--cyan));background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease infinite;filter:drop-shadow(0 0 30px rgba(196,77,255,.4));margin-bottom:.5rem}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero .subtitle{font-size:clamp(1rem,3vw,1.4rem);font-weight:300;color:#ffffffb3;letter-spacing:.05em}.age-badge{display:inline-block;margin-top:1.5rem;padding:.6rem 2rem;border:2px solid var(--gold);border-radius:50px;font-size:1.1rem;font-weight:600;color:var(--gold);animation:pulse 2s ease-in-out infinite;text-shadow:0 0 10px rgba(255,215,0,.5)}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 15px #ffd70033}50%{transform:scale(1.05);box-shadow:0 0 30px #ffd70080}}.cake-section{margin:3rem 0;text-align:center;animation:fadeIn 1.5s ease-out .5s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cake-container{position:relative;display:inline-block;cursor:pointer}.cake{position:relative;display:flex;flex-direction:column;align-items:center}.candle-row{display:flex;justify-content:center;gap:14px;margin-bottom:2px;position:relative;z-index:2}.candle{width:8px;height:40px;background:linear-gradient(180deg,#fff,#ffe0f0);border-radius:2px 2px 0 0;position:relative}.candle.lit .flame{display:block}.flame{display:none;position:absolute;top:-18px;left:50%;transform:translate(-50%);width:12px;height:20px;background:radial-gradient(ellipse at bottom,#ffd700 0%,#ff9a3c 40%,#ff4500 70%,transparent 100%);border-radius:50%/60% 60% 40% 40%;animation:flicker .3s ease-in-out infinite alternate;filter:blur(.5px)}.flame:after{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:6px;height:10px;background:radial-gradient(ellipse at bottom,#fff,gold);border-radius:50%;opacity:.8}@keyframes flicker{0%{transform:translate(-50%) scaleY(1) rotate(-2deg)}to{transform:translate(-50%) scaleY(1.1) rotate(2deg)}}.cake-layer{border-radius:12px;position:relative}.cake-top{width:180px;height:50px;background:linear-gradient(180deg,#ff6b9d,#e05585);border-radius:12px 12px 4px 4px;position:relative;overflow:hidden}.cake-top:before{content:"";position:absolute;top:0;left:0;right:0;height:14px;background:linear-gradient(180deg,#fff,#ffe0f0);border-radius:12px 12px 0 0}.frosting-drip{position:absolute;top:12px;width:12px;height:18px;background:#fff;border-radius:0 0 6px 6px}.cake-middle{width:200px;height:55px;background:linear-gradient(180deg,#c44dff,#a030e0);border-radius:4px;position:relative}.cake-middle:before{content:"";position:absolute;top:50%;left:0;right:0;height:4px;background:#fff3}.cake-bottom{width:220px;height:60px;background:linear-gradient(180deg,#00e5ff,#00b8d4);border-radius:4px 4px 12px 12px;position:relative}.cake-bottom:after{content:"";position:absolute;bottom:0;left:0;right:0;height:12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.15));border-radius:0 0 12px 12px}.plate{width:260px;height:16px;background:linear-gradient(180deg,#e0e0e0,#bbb);border-radius:50%;margin-top:-4px;box-shadow:0 4px 15px #0000004d}.blow-hint{margin-top:1rem;font-size:.9rem;color:#ffffff80;animation:pulse 2s ease-in-out infinite}.wish-section{text-align:center;margin:2rem 0;animation:fadeIn 1.5s ease-out 1s both}.wish-input-row{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.wish-input{padding:.8rem 1.2rem;border:2px solid rgba(196,77,255,.4);border-radius:50px;background:#ffffff0d;color:#fff;font-family:Poppins,sans-serif;font-size:1rem;width:280px;outline:none;transition:border-color .3s,box-shadow .3s}.wish-input::placeholder{color:#ffffff59}.wish-input:focus{border-color:var(--purple);box-shadow:0 0 20px #c44dff4d}.btn{padding:.8rem 2rem;border:none;border-radius:50px;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;box-shadow:0 4px 20px #c44dff66}.btn-primary:hover{box-shadow:0 6px 30px #c44dff99}.wishes-list{margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;max-width:500px;margin-left:auto;margin-right:auto}.wish-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.8rem 1.5rem;width:100%;text-align:left;display:flex;align-items:center;gap:.75rem;animation:slideIn .4s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.wish-card .wish-emoji{font-size:1.4rem;flex-shrink:0}.wish-card .wish-text{color:#ffffffd9;font-size:.95rem}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.music-btn{position:fixed;top:1.5rem;right:1.5rem;z-index:100;width:50px;height:50px;border-radius:50%;border:2px solid rgba(255,255,255,.2);background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.music-btn:hover{border-color:var(--purple);background:#c44dff33}.music-btn.playing{border-color:var(--gold);box-shadow:0 0 20px #ffd7004d;animation:pulse 1.5s ease-in-out infinite}.gift-section{margin:3rem 0;text-align:center;animation:fadeIn 1.5s ease-out 1.5s both}.gift-box{width:120px;height:100px;margin:0 auto;cursor:pointer;position:relative;transition:transform .3s;display:inline-block}.gift-box:hover{transform:scale(1.08)}.gift-box.opened .gift-lid{animation:openLid .6s ease-out forwards}@keyframes openLid{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(-15deg)}to{transform:translateY(-50px) rotate(-25deg)}}.gift-box-body{width:120px;height:90px;background:linear-gradient(135deg,var(--purple),var(--pink));border-radius:6px;position:absolute;bottom:0}.gift-box-body:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:16px;height:100%;background:var(--gold)}.gift-box-body:after{content:"";position:absolute;top:50%;left:0;transform:translateY(-50%);width:100%;height:16px;background:var(--gold)}.gift-lid{width:132px;height:24px;background:linear-gradient(135deg,var(--pink),var(--purple));border-radius:6px;position:absolute;top:0;left:-6px;z-index:2;transform-origin:left bottom}.gift-lid:before{content:"";position:absolute;top:-16px;left:50%;transform:translate(-50%);width:40px;height:22px;border:8px solid var(--gold);border-radius:50% 50% 0 0;border-bottom:none}.gift-message{margin-top:1.5rem;padding:1.5rem 2rem;background:#ffd70014;border:1px solid rgba(255,215,0,.3);border-radius:16px;max-width:400px;margin-left:auto;margin-right:auto;animation:fadeIn .5s ease-out}.gift-message h3{font-family:Pacifico,cursive;color:var(--gold);font-size:1.3rem;margin-bottom:.5rem}.gift-message p{color:#fffc;font-size:.95rem;line-height:1.6}.firework{position:fixed;pointer-events:none;z-index:5}.firework-particle{position:absolute;width:4px;height:4px;border-radius:50%;animation:fireworkExplode 1s ease-out forwards}@keyframes fireworkExplode{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}@media(max-width:600px){.hero{margin-top:2rem}.wish-input{width:100%}.wish-input-row{padding:0 1rem}.cake-top{width:140px;height:40px}.cake-middle{width:160px;height:45px}.cake-bottom{width:180px;height:50px}.plate{width:210px}.candle{height:32px;width:6px}.candle-row{gap:10px}}
