@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Space Grotesk,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#fff;background-color:#0a0015;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{min-height:100vh}::selection{background:#ff006e66;color:#fff}.birthday-app{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(145deg,#0c0118,#150828 40%,#0e0620,#100a22);opacity:0;transform:scale(.95);transition:opacity 1.2s ease,transform 1.2s ease;cursor:crosshair}.birthday-app.visible{opacity:1;transform:scale(1)}.birthday-app.party-mode{animation:partyBg 4s ease-in-out infinite alternate}@keyframes partyBg{0%{background:linear-gradient(145deg,#0c0118,#1a0a35,#0e0620)}50%{background:linear-gradient(145deg,#0e0825,#12082e,#0a0618)}to{background:linear-gradient(145deg,#100a20,#180c30,#0c0818)}}.content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;gap:.5rem}.crown-container{animation:crownFloat 3s ease-in-out infinite}.crown-icon{filter:drop-shadow(0 0 12px rgba(255,209,102,.6))}@keyframes crownFloat{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(3deg)}}.title{font-size:clamp(2.5rem,8vw,5.5rem);font-weight:900;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.04em;filter:drop-shadow(0 0 20px rgba(255,0,110,.3))}.rainbow-wave{display:inline-flex}.rainbow-char{display:inline-block;animation:rainbowWave 2.5s ease-in-out infinite,colorCycle 5s linear infinite;background:linear-gradient(90deg,#ff006e,#fb5607,#ffbe0b,#8338ec,#3a86ff,#06d6a0,#ff006e);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes rainbowWave{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes colorCycle{0%{background-position:0% center}to{background-position:200% center}}.name-container{position:relative;margin:.5rem 0}.name{font-size:clamp(4rem,14vw,9rem);font-weight:900;margin:0;background:linear-gradient(to right,#ff006e,#fb5607,#ffbe0b,#8338ec,#3a86ff,#06d6a0);background-size:300% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:nameShine 4s linear infinite,namePulse 3s ease-in-out infinite;letter-spacing:.15em;text-transform:uppercase}.name-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:120%;background:radial-gradient(ellipse,rgba(131,56,236,.2),transparent 70%);animation:glowPulse 3s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes nameShine{0%{background-position:0% center}to{background-position:300% center}}@keyframes namePulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 15px rgba(131,56,236,.5))}50%{transform:scale(1.03);filter:drop-shadow(0 0 30px rgba(131,56,236,.7)) drop-shadow(0 0 60px rgba(58,134,255,.3))}}@keyframes glowPulse{0%,to{opacity:.4;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.15)}}.bouncing-cake{display:flex;flex-direction:column;align-items:center;margin:1rem 0}.cake-icon{animation:cakeBounce 2s ease-in-out infinite;filter:drop-shadow(0 0 15px rgba(255,190,11,.4))}.cake-shadow{width:60px;height:8px;background:radial-gradient(ellipse,rgba(0,0,0,.3),transparent);border-radius:50%;animation:shadowBounce 2s ease-in-out infinite}@keyframes cakeBounce{0%,to{transform:translateY(0)}40%{transform:translateY(-25px)}60%{transform:translateY(-30px)}}@keyframes shadowBounce{0%,to{transform:scaleX(1);opacity:.3}50%{transform:scaleX(.6);opacity:.15}}.compliment-carousel{min-height:3rem;display:flex;align-items:center;justify-content:center}.compliment{font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:600;color:#ffd166;text-shadow:0 0 15px rgba(255,209,102,.4);animation:complimentIn .8s ease-out;margin:0;text-align:center}@keyframes complimentIn{0%{opacity:0;transform:translateY(15px) scale(.9);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.message-box{background:#ffffff0a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:1.5rem 2.5rem;margin:1rem 0;max-width:600px;animation:messageFloat 4s ease-in-out infinite;box-shadow:0 0 25px #8338ec1f}.message{font-size:clamp(1rem,2.5vw,1.3rem);color:#fff;margin:0 0 .5rem;text-align:center;line-height:1.6}.message-sub{font-size:clamp(.9rem,2vw,1.1rem);color:#fff9;margin:0;text-align:center;font-style:italic}@keyframes messageFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.party-button{padding:1rem 2.5rem;font-size:1.2rem;font-weight:800;font-family:inherit;border:none;border-radius:50px;background:linear-gradient(135deg,#ff006e,#8338ec,#3a86ff);background-size:200% auto;color:#fff;cursor:pointer;animation:buttonShine 4s linear infinite;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 0 15px #ff006e4d,0 0 30px #8338ec33;text-transform:uppercase;letter-spacing:.08em;position:relative;overflow:hidden}.party-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.08),transparent);animation:buttonGleam 3s linear infinite}.party-button:hover{transform:scale(1.08);box-shadow:0 0 30px #ff006e80,0 0 60px #8338ec4d}.party-button:active{transform:scale(.96)}@keyframes buttonShine{0%{background-position:0% center}to{background-position:200% center}}@keyframes buttonGleam{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.icon-parade{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:1.5rem;align-items:center}.parade-item{display:inline-flex;animation:paradeJump 2s ease-in-out infinite;cursor:default;transition:transform .3s ease}.parade-item:hover{transform:scale(1.5) rotate(10deg)!important}@keyframes paradeJump{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50;overflow:hidden}.confetti-piece{position:absolute;top:-20px;animation:confettiFall linear infinite;opacity:.8}.confetti-rect{border-radius:1px}.confetti-circle{border-radius:50%}@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0);opacity:.8}to{transform:translateY(100vh) rotate(540deg);opacity:0}}.floating-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:hidden}.floating-icon{position:absolute;bottom:-60px;animation:floatUp ease-in-out infinite;opacity:.6}@keyframes floatUp{0%{transform:translateY(0) rotate(0) scale(.6);opacity:0}10%{opacity:.6;transform:translateY(-10vh) rotate(15deg) scale(1)}90%{opacity:.4}to{transform:translateY(-110vh) rotate(180deg) scale(.4);opacity:0}}.sparkles-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:4}.sparkle{position:absolute;background:#fff;border-radius:50%;animation:sparkleGlow 3s ease-in-out infinite;box-shadow:0 0 4px #fff,0 0 8px #ffd16666}@keyframes sparkleGlow{0%,to{opacity:0;transform:scale(0)}50%{opacity:.8;transform:scale(1)}}.firework{position:absolute;z-index:60;pointer-events:none}.firework-particle{position:absolute;width:4px;height:4px;border-radius:50%;animation:fireworkBurst 1s ease-out forwards}@keyframes fireworkBurst{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}.ambient-glow{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.glow-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.08;animation:orbDrift 20s ease-in-out infinite}.glow-orb-1{width:500px;height:500px;background:#8338ec;top:-150px;left:-150px;animation-delay:0s}.glow-orb-2{width:400px;height:400px;background:#3a86ff;bottom:-100px;right:-100px;animation-delay:7s}.glow-orb-3{width:350px;height:350px;background:#ff006e;top:40%;left:50%;animation-delay:14s}@keyframes orbDrift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(15vw,10vh) scale(1.2)}66%{transform:translate(-10vw,15vh) scale(.9)}}.stars-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.star{position:absolute;background:#fff;border-radius:50%;animation:starTwinkle ease-in-out infinite}@keyframes starTwinkle{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.7;transform:scale(1.3);box-shadow:0 0 6px #ffffff80}}.party-mode .title{animation:partyTitle 2s ease-in-out infinite alternate}@keyframes partyTitle{0%{transform:rotate(-1.5deg) scale(1)}to{transform:rotate(1.5deg) scale(1.02)}}.party-mode .cake-icon{animation:partyCake 1.5s ease-in-out infinite alternate}@keyframes partyCake{0%{transform:rotate(-8deg) scale(1.05)}to{transform:rotate(8deg) scale(1.1)}}.party-mode .parade-item{animation:partyIcon 1.5s ease-in-out infinite alternate}@keyframes partyIcon{0%{transform:translateY(-5px) rotate(-8deg) scale(1.1)}to{transform:translateY(5px) rotate(8deg) scale(1.2)}}.party-mode .party-button{animation:partyButton 1s ease-in-out infinite alternate,buttonShine 4s linear infinite;box-shadow:0 0 40px #ff006e80,0 0 80px #8338ec4d}@keyframes partyButton{0%{transform:rotate(-2deg) scale(1.05)}to{transform:rotate(2deg) scale(1.08)}}.party-mode .glow-orb{opacity:.14;animation-duration:12s}
