*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{color:#e2e8f0;-webkit-font-smoothing:antialiased;background:#0a0a12;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeScale{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes letterReveal{0%{opacity:0;transform:translateY(20px)rotateX(-40deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 20px 40px -10px #ec489940}50%{transform:scale(1.03);box-shadow:0 25px 50px -10px #ec489959}}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}75%{transform:scale(1.15)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes floatUp{0%{opacity:.7;transform:translateY(0)rotate(0)scale(1)}50%{opacity:1}to{opacity:0;transform:translateY(-120vh)rotate(25deg)scale(.5)}}@keyframes floatEmoji{0%,to{transform:translateY(0)rotate(0)scale(1)}50%{transform:translateY(-15px)rotate(12deg)scale(1.1)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes flicker{0%,to{transform:translate(-50%)scaleY(1)scaleX(1)}25%{transform:translate(-50%)scaleY(1.15)scaleX(.85)}50%{transform:translate(-50%)scaleY(.9)scaleX(1.1)}75%{transform:translate(-50%)scaleY(1.1)scaleX(.9)}}@keyframes smokeRise{0%{opacity:.6;transform:translate(-50%)translateY(0)scale(.8)}to{opacity:0;transform:translate(-50%)translateY(-50px)scale(2)}}@keyframes gradientDrift{0%{transform:translate(0)scale(1)}33%{transform:translate(30px,-20px)scale(1.05)}66%{transform:translate(-20px,15px)scale(.95)}to{transform:translate(0)scale(1)}}@keyframes ripple{to{opacity:0;transform:scale(4)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{opacity:1;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink{0%,to{border-color:#0000}50%{border-color:#ec4899}}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}25%{transform:translate(50px,-30px)scale(1.1)}50%{transform:translate(-20px,-50px)scale(.9)}75%{transform:translate(-40px,20px)scale(1.05)}}@keyframes barGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.step-enter{opacity:0;animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeUp;transform:translateZ(0)}.floating-hearts{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.floating-hearts .heart{will-change:transform;filter:drop-shadow(0 0 8px #ec489999);position:absolute;bottom:0}.hanging-decorations{pointer-events:none;z-index:5;height:0;position:fixed;top:0;left:0;right:0;overflow:visible}.garland-container{width:100%;position:relative}.garland-strand{transform-origin:top;flex-direction:column;align-items:center;animation:6s ease-in-out infinite alternate swayGentle;display:flex;position:absolute;top:0}.strand-wire{background:linear-gradient(#ffffff40,#ffffff14);flex:1;width:1px;min-height:40px}.ornament-ball{border-radius:50%;flex-shrink:0;position:relative}.ornament-shine{background:radial-gradient(circle,#ffffffb3,#0000);border-radius:50%;width:30%;height:25%;position:absolute;top:18%;left:22%}.ornament-cap{background:linear-gradient(#d4af37,#b8960c);border-radius:2px 2px 0 0;width:40%;height:5px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.ornament-star{filter:drop-shadow(0 0 6px);line-height:1;animation:2s ease-in-out infinite alternate twinkle}.ornament-diamond{border-radius:2px;flex-shrink:0;transform:rotate(45deg)}.ornament-tassel{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.tassel-head{border-radius:50% 50% 30% 30%;width:10px;height:8px}.tassel-threads{gap:2px;margin-top:-1px;display:flex}.tassel-thread{opacity:.7;transform-origin:top;border-radius:0 0 1px 1px;width:2px;height:14px;animation:2s ease-in-out infinite alternate tasselSwing}.lights-row{width:100%;margin-top:0;position:relative}.lights-wire{background:linear-gradient(90deg,#0000 0%,#ec489933 10%,#a855f74d 50%,#ec489933 90%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.light-drop{flex-direction:column;align-items:center;display:flex;position:absolute;top:0}.light-wire{background:linear-gradient(#ffffff26,#ffffff0d);width:1px;height:20px}.light-bulb-sm{width:5px;height:6px;box-shadow:0 0 6px var(--glow), 0 0 15px color-mix(in srgb, var(--glow) 40%, transparent);border-radius:50%/60% 60% 40% 40%;animation:2.5s ease-in-out infinite alternate glowPulse}.sparkle-dots{height:50px;position:absolute;top:0;left:0;right:0}.sparkle-dot{background:#fff9;border-radius:50%;width:2px;height:2px;animation:3s ease-in-out infinite sparkleTwinkle;position:absolute}@keyframes swayGentle{0%{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}@keyframes glowPulse{0%{opacity:.6}to{opacity:1}}@keyframes twinkle{0%{opacity:.5;transform:scale(.9)rotate(0)}to{opacity:1;transform:scale(1.1)rotate(15deg)}}@keyframes tasselSwing{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes sparkleTwinkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}}.orb{filter:blur(40px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.landing-container{z-index:1;background:#0a0a12;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.landing-container .orb-1{background:#a855f726;width:400px;height:400px;animation:12s ease-in-out infinite orbFloat;top:-100px;left:-100px}.landing-container .orb-2{background:#ec48991f;width:350px;height:350px;animation:10s ease-in-out infinite reverse orbFloat;bottom:-80px;right:-80px}.landing-container .orb-3{background:#fbbf2414;width:200px;height:200px;animation:14s ease-in-out 2s infinite orbFloat;top:40%;right:15%}.landing-gif-card{z-index:2;border:3px solid #ec489966;border-radius:50%;width:260px;height:260px;transition:all .5s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;box-shadow:0 0 60px #ec489933,0 0 120px #a855f714,inset 0 0 30px #0000004d}.landing-gif-card:hover{border-color:#ec4899b3;box-shadow:0 0 80px #ec489959,0 0 150px #a855f71f,inset 0 0 30px #0000004d}.landing-gif-card img{object-fit:cover;width:100%;height:100%;display:block}.landing-title-wrapper{z-index:2;text-align:center;perspective:500px;margin-top:2.5rem;position:relative}.landing-title{color:#f8fafc;letter-spacing:-.02em;font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.2}.landing-title .word{opacity:0;animation:.6s cubic-bezier(.16,1,.3,1) forwards letterReveal;display:inline-block}.landing-title .word:first-child{animation-delay:.4s}.landing-title .word:nth-child(2){animation-delay:.55s}.landing-title .word:nth-child(3){animation-delay:.7s}.landing-title .word:nth-child(4){animation-delay:.85s}.landing-subtitle{color:#f8fafc66;opacity:0;margin-top:.75rem;font-family:Caveat,cursive;font-size:1.15rem;animation:.8s ease-out 1.1s forwards fadeIn}.landing-buttons{z-index:2;gap:1rem;margin-top:2.5rem;display:flex;position:relative}.landing-buttons .btn-wrapper{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeUp}.landing-buttons .btn-wrapper:first-child{animation-delay:1.3s}.landing-buttons .btn-wrapper:nth-child(2){animation-delay:1.45s}.btn-yes,.btn-no{cursor:pointer;letter-spacing:.01em;-webkit-tap-highlight-color:transparent;border:none;border-radius:9999px;padding:.9rem 2.5rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.btn-yes{color:#fff;background:linear-gradient(135deg,#ec4899,#a855f7);box-shadow:0 8px 30px -5px #ec489973}.btn-yes:after{content:"";background:radial-gradient(circle at var(--x,50%) var(--y,50%), #ffffff4d, transparent 60%);opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.btn-yes:hover{transform:translateY(-3px)scale(1.05);box-shadow:0 15px 40px -5px #ec48998c}.btn-yes:hover:after{opacity:1}.btn-yes:active{transform:translateY(-1px)scale(1.02)}.btn-no{color:#f8fafccc;background:#ffffff0f;border:1px solid #ffffff1f}.btn-no:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-3px)scale(1.05);box-shadow:0 10px 30px -5px #0000004d}.btn-no:active{transform:translateY(-1px)scale(1.02)}.page-container{z-index:1;background:#0a0a12;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex;position:relative}.page-content{z-index:10;text-align:center;max-width:500px;position:relative}.anim-letter{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) forwards letterReveal;display:inline-block;transform:translateZ(0)}.anim-fade-up{opacity:0;animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeUp;transform:translateZ(0)}.anim-fade-in{opacity:0;animation:.6s ease-out forwards fadeIn;transform:translateZ(0)}.anim-scale{opacity:0;animation:.7s cubic-bezier(.34,1.56,.64,1) forwards fadeScale;transform:translateZ(0)}.anim-slide-left{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards slideInLeft;transform:translateZ(0)}.anim-slide-right{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards slideInRight;transform:translateZ(0)}.anim-bounce{opacity:0;animation:.7s cubic-bezier(.34,1.56,.64,1) forwards bounceIn;transform:translateZ(0)}.page-title{color:#f8fafc;letter-spacing:-.02em;margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:2.8rem;font-weight:700;line-height:1.15}.page-subtitle{color:#f8fafc8c;margin-bottom:2rem;font-size:1.05rem;font-weight:400;line-height:1.6}.page-gif{object-fit:cover;border:2px solid #ec48994d;border-radius:50%;width:200px;height:200px;margin-bottom:2rem;box-shadow:0 20px 60px -10px #ec489926,0 0 0 8px #ec48990d}.no-bg .orb-glow{background:#ec48991a;width:300px;height:300px}.surprise-bg .orb-glow{background:#a855f71f;width:350px;height:350px}.ouch-bg .orb-glow{background:#fbbf2414;width:300px;height:300px}.thankyou-bg .orb-glow{background:#10b98114;width:300px;height:300px}.smile-bg .orb-glow{background:#3b82f61a;width:350px;height:350px}.surprise-gif{object-fit:cover;border:2px solid #a855f766;border-radius:50%;width:240px;height:240px;box-shadow:0 25px 60px -10px #a855f733,0 0 0 8px #a855f70d}.smile-gif{object-fit:cover;border:2px solid #3b82f64d;border-radius:1.5rem;width:220px;height:220px;box-shadow:0 20px 50px -10px #3b82f626,0 0 0 8px #3b82f60a}.birthday-bg{background:#0a0a12}.birthday-bg .orb-glow{background:#ec48991f;width:400px;height:400px}.birthday-cake-area{flex-direction:column;align-items:center;gap:2.5rem;transition:all 1s cubic-bezier(.16,1,.3,1);display:flex}.birthday-cake-area.revealed{flex-direction:row;justify-content:center;align-items:center;gap:4rem;width:100%;max-width:80rem;padding:0 3rem;transition:all 4s cubic-bezier(.16,1,.3,1)}.birthday-left{flex-direction:column;align-items:center;gap:1.5rem;transition:all 4s cubic-bezier(.16,1,.3,1);display:flex}.birthday-cake-area.revealed .birthday-left{flex-shrink:0;align-items:center}.birthday-cake-area.revealed .birthday-left .cake-wrapper{transition:transform 1.4s cubic-bezier(.23,1,.32,1);transform:scale(.85)}.birthday-right{opacity:0;max-height:0;transition:opacity 2.5s,transform 2.5s,max-height;overflow:hidden;transform:translate(60px)}.birthday-cake-area.revealed .birthday-right{opacity:1;max-height:600px;transform:translate(0)}.birthday-letter{opacity:0;width:100%;transition:all 4s cubic-bezier(.16,1,.3,1) .5s;transform:translateY(60px)}.birthday-letter.visible{opacity:1;transform:translateY(0)}.birthday-letter .love-letter-card{margin-top:3rem}.birthday-title{color:#f8fafc;text-align:center;letter-spacing:-.03em;font-family:Playfair Display,serif;font-size:clamp(2.5rem,8vw,5rem);font-weight:700;line-height:1.05}.birthday-name{color:#f472b6;margin-top:.2em;font-family:Dancing Script,cursive;font-size:.6em;display:block}.wish-container{background:#0a0a12;min-height:100vh;position:relative;overflow-x:hidden}.wish-hero{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:4rem 2rem 2rem;display:flex;position:relative}.wish-hero-inner{flex-direction:column;align-items:center;gap:3rem;width:100%;max-width:76rem;display:flex}.wish-left{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.wish-happy-birthday{color:#f8fafc;text-align:center;letter-spacing:-.03em;font-family:Playfair Display,serif;font-size:clamp(3rem,10vw,5.5rem);font-weight:700;line-height:1.05}.wish-happy-birthday .name{color:#f472b6;margin-top:.3em;font-family:Dancing Script,cursive;font-size:.5em;display:block}.wish-right{justify-content:center;align-items:center;display:flex}.scroll-indicator{flex-direction:column;align-items:center;gap:.75rem;padding-bottom:3rem;display:flex}.scroll-indicator p{color:#f8fafc4d;letter-spacing:.15em;text-transform:lowercase;font-family:Caveat,cursive;font-size:1.1rem;animation:2.5s ease-in-out infinite float}.scroll-indicator .line{transform-origin:top;background:linear-gradient(#ec489980,#0000);width:1px;height:50px;animation:1s ease-out .5s both barGrow}.love-letter-section{justify-content:center;align-items:center;width:100%;padding:0 2rem 8rem;display:flex}.love-letter-card{background:#0f0a19d9;border:1px solid #ffffff0f;border-radius:2rem;width:100%;max-width:42rem;transition:transform .5s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;box-shadow:0 40px 80px -20px #00000080,inset 0 0 0 1px #ffffff0a}.love-letter-card:hover{transform:translateY(-6px);box-shadow:0 50px 100px -20px #0009,inset 0 0 0 1px #ffffff0f,0 0 60px #ec489914}.love-letter-card .top-bar,.love-letter-card .bottom-bar{background:linear-gradient(90deg,#0000,#ec4899,#a855f7,#ec4899,#0000);height:3px}.love-letter-card .content{padding:3rem}.love-letter-card .envelope-icon{text-align:center;margin-bottom:1.5rem;font-size:3.5rem;animation:3.5s ease-in-out infinite float;position:relative}.love-letter-card .divider{justify-content:center;align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.love-letter-card .divider .line{background:linear-gradient(90deg,#0000,#ec48994d);width:3rem;height:1px}.love-letter-card .divider .line:last-child{background:linear-gradient(270deg,#0000,#ec48994d)}.love-letter-card .divider .dots{gap:.35rem;display:flex}.love-letter-card .divider .dot{background:#ec48994d;border-radius:50%;width:4px;height:4px}.love-letter-card .divider .dot:nth-child(2){background:#ec4899;transform:scale(1.4)}.love-letter-card .letter-text{color:#f8fafccc;text-align:center;white-space:pre-line;scrollbar-width:thin;scrollbar-color:#a855f7 #ffffff0d;max-height:min(45vh,350px);padding-right:.25rem;font-family:Dancing Script,cursive;font-size:1.4rem;line-height:2;overflow-y:auto}.love-letter-card .letter-text::-webkit-scrollbar{width:4px}.love-letter-card .letter-text::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.love-letter-card .letter-text::-webkit-scrollbar-thumb{background:#a855f7;border-radius:4px;box-shadow:0 0 6px #a855f7,0 0 12px #a855f7}.love-letter-card .signature-divider{justify-content:center;align-items:center;gap:.75rem;margin-top:2rem;margin-bottom:1rem;display:flex}.love-letter-card .signature-divider .line{background:linear-gradient(90deg,#0000,#ec48994d);width:3rem;height:1px}.love-letter-card .signature-divider .line:last-child{background:linear-gradient(270deg,#0000,#ec48994d)}.love-letter-card .signature{text-align:center;color:#f472b6;letter-spacing:.05em;font-family:Caveat,cursive;font-size:1.15rem}.love-letter-card .heart-icon{text-align:center;margin-top:.5rem;font-size:1.5rem}.scroll-to-bottom{display:none}.floating-emoji{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 8px #0000004d);font-size:2rem;position:absolute}.floating-emoji.top-left{top:-2.5rem;left:-2.5rem}.floating-emoji.top-right{top:-2rem;right:-2rem}.floating-emoji.bottom-left{bottom:-2rem;left:-2rem}.floating-emoji.bottom-right{bottom:-2.5rem;right:-2.5rem}.cake-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;width:220px;height:180px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);position:relative}.cake-wrapper:hover{transform:scale(1.06)}.cake-bottom{background:linear-gradient(#f472b6,#ec4899);border-radius:0 0 1rem 1rem;width:220px;height:75px;position:absolute;bottom:16px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 30px #0006,inset 0 2px 4px #ffffff26}.cake-top{background:linear-gradient(#f9a8d4,#f472b6);border-radius:.75rem .75rem .5rem .5rem;width:160px;height:60px;position:absolute;bottom:77px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:inset 0 2px 4px #fff3}.cake-plate{background:linear-gradient(#ffffff1f,#ffffff0a);border:1px solid #ffffff0f;border-radius:0 0 50% 50%;width:260px;height:16px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.candle{border-radius:3px;width:8px;position:absolute}.candle .flame{filter:blur(.5px);background:radial-gradient(at bottom,#fff7a1 0%,#ffc107 35%,#ff6b00 65%,#0000 100%);border-radius:50%/60% 60% 40% 40%;width:12px;height:18px;position:absolute;left:50%;transform:translate(-50%)}.candle .flame:after{content:"";background:radial-gradient(circle,#ffc10766 0%,#0000 70%);border-radius:50%;width:20px;height:20px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.candle .smoke{filter:blur(2px);opacity:0;background:radial-gradient(circle,#b4b4b4b3 0%,#c8c8c84d 50%,#0000 70%);border-radius:50%;width:10px;height:10px;position:absolute;left:50%;transform:translate(-50%)}.cake-text{color:#f8fafcb3;text-align:center;margin-top:1rem;font-family:Caveat,cursive;font-size:1.3rem;font-weight:600}.polaroid-container{justify-content:center;align-items:center;gap:1rem;display:flex;position:relative}.polaroid-stack{perspective:1000px;width:300px;height:380px;position:relative}.polaroid-card{background:#fffffff2;border-radius:8px;padding:10px 10px 55px;transition:all .5s cubic-bezier(.34,1.56,.64,1);position:absolute;inset:0;box-shadow:0 25px 60px #00000059,0 5px 15px #0003}.polaroid-card:after{content:"";pointer-events:none;border-radius:8px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000000f}.polaroid-card img{object-fit:cover;border-radius:4px;width:100%;height:100%}.polaroid-nav{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0f0a19b3;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 8px 25px #0000004d}.polaroid-nav:hover{background:#ec489933;border-color:#ec489966;transform:scale(1.15)}.polaroid-nav:active{transform:scale(.95)}.confetti-piece{z-index:100;width:10px;height:10px;position:fixed;top:-10px}.not-found{background:#0a0a12;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.not-found h1{color:#f8fafc;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:6rem;font-weight:700}.not-found p{color:#f8fafc66;font-size:1.2rem}.loading-screen{background:#0a0a12;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100vh;display:flex}.spinner{border:3px solid #ec48991a;border-top-color:#ec4899;border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}.loading-screen p{color:#f8fafc59;font-family:Caveat,cursive;font-size:1.2rem}@media (width>=768px){.wish-hero-inner{flex-direction:row;justify-content:center;gap:5rem}.wish-left{align-items:flex-start;gap:2rem}.wish-happy-birthday{text-align:left}.polaroid-stack{width:340px;height:430px}}@media (width<=767px){.landing-title{font-size:1.8rem}.landing-gif-card{width:200px;height:200px}.landing-buttons{flex-direction:column;width:100%;max-width:280px}.landing-buttons .btn-wrapper{width:100%}.btn-yes,.btn-no{width:100%;padding:1rem 2rem}.page-container{padding:1rem}.page-gif{width:150px;height:150px}.page-title{font-size:2rem}.page-subtitle{font-size:.95rem}.surprise-gif{width:180px;height:180px}.smile-gif{width:170px;height:170px}.wish-hero{min-height:auto;padding-top:2rem;padding-bottom:1.5rem}.wish-happy-birthday{font-size:clamp(2rem,9vw,3rem)}.page-container.birthday-bg{flex-direction:column;justify-content:center;gap:0;padding-top:4rem;padding-bottom:2rem}.page-container.birthday-bg:has(.birthday-cake-area.revealed){justify-content:flex-start;padding-top:4rem}.page-container.birthday-bg .birthday-letter{order:-1;width:100%;max-width:100%;transform:none}.page-container.birthday-bg .birthday-letter .love-letter-card{border-radius:1rem;max-width:100%;margin:0}.page-container.birthday-bg .birthday-letter .love-letter-card .content{padding:1.25rem}.page-container.birthday-bg .birthday-letter .love-letter-card .letter-text{max-height:min(55vh,300px);font-size:1rem;line-height:1.7}.page-container.birthday-bg .birthday-letter .floating-emoji{display:none}.page-container.birthday-bg .birthday-letter .love-letter-card .envelope-icon{margin-bottom:1rem;font-size:2.5rem}.page-container.birthday-bg .birthday-letter .love-letter-card .divider{margin-bottom:1rem}.page-container.birthday-bg .birthday-letter .love-letter-card .signature-divider{margin-top:1rem}.page-container.birthday-bg .birthday-letter .love-letter-card .signature{font-size:1rem}.page-container.birthday-bg .birthday-letter .love-letter-card .heart-icon{font-size:1.2rem}.birthday-cake-area{gap:3rem;width:100%}.birthday-cake-area.revealed{flex-direction:column;gap:1.5rem;margin-top:2.5rem;padding:0}.birthday-cake-area.revealed .birthday-left{align-items:center;gap:3rem;transform:none}.birthday-cake-area.revealed .birthday-left .cake-wrapper{margin-bottom:1.5rem;transform:scale(.65)}.birthday-cake-area.revealed .birthday-right{justify-content:center;width:100%;display:flex;transform:none}.birthday-title{margin-top:2.5rem;font-size:clamp(2.8rem,10vw,4rem)}.polaroid-container{justify-content:center}.polaroid-stack{width:240px;height:300px}.polaroid-nav{width:40px;height:40px;font-size:1.2rem}.love-letter-card .top-bar,.love-letter-card .bottom-bar{height:2px}.scroll-to-bottom{color:#a855f7;cursor:pointer;z-index:100;-webkit-tap-highlight-color:transparent;background:#0f0a19d9;border:1px solid #a855f766;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .3s,box-shadow .3s;animation:.4s ease-out fadeIn;display:flex;position:fixed;bottom:2rem;right:1.5rem;box-shadow:0 0 20px #a855f74d,0 0 40px #a855f71a}.scroll-to-bottom:active{transform:scale(.92);box-shadow:0 0 30px #a855f780,0 0 60px #a855f733}}@media (width<=400px){.landing-title{font-size:1.5rem}.landing-gif-card{width:160px;height:160px}.page-gif{width:120px;height:120px}.page-title{font-size:1.75rem}.surprise-gif{width:150px;height:150px}.smile-gif{width:140px;height:140px}.wish-happy-birthday{font-size:1.8rem}.polaroid-stack{width:200px;height:260px}.love-letter-card .content{padding:1rem}.love-letter-card .letter-text{font-size:.95rem}.birthday-title{font-size:1.6rem}.cake-wrapper{width:150px;height:130px}.cake-bottom{width:150px}.cake-plate{width:190px}}
