@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Quicksand:wght@400;500;600;700&display=swap";:root{color:#795066;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--berry:#b65380;--berry-dark:#934369;--pink:#f5bfd4;--paper:#fffaf6;--cream:#fff1d2;background:#f8d5e2;font-family:Quicksand,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button{font:inherit}button:focus-visible{outline-offset:5px;outline:3px solid #875174}[hidden]{display:none!important}.experience{min-height:100vh;position:relative;overflow:hidden}.page-screen{opacity:0;visibility:hidden;pointer-events:none;width:100%;min-height:100vh;transition:opacity .55s,transform .55s,visibility .55s;position:absolute;inset:0;overflow:hidden auto;transform:translateY(12px)}.page-screen.is-active{opacity:1;visibility:visible;pointer-events:auto;position:relative;transform:translateY(0)}.garden-screen{background:linear-gradient(#f8b9d2 0%,#fbd0df 48%,#e9b8d0 75%,#b8d6a0 75%,#8fbd83 100%);place-items:center;display:grid;overflow:hidden}.sky{background:linear-gradient(#f8b9d2,#fce0e8);position:absolute;inset:0 0 25%}.sun{background:#fff0b5;width:95px;height:95px;animation:4s ease-in-out infinite alternate sun-glow;position:absolute;top:10%;right:14%;box-shadow:0 0 0 12px #ffe4bd55,0 0 50px #fff0b5}.pixel-cloud{opacity:.8;background:#fff0f4;width:100px;height:25px;animation:18s linear infinite alternate cloud-drift;position:absolute;box-shadow:20px -15px #fff0f4,40px -15px #fff0f4,60px 0 #fff0f4,20px 15px #fff0f4}.cloud-one{top:22%;left:8%}.cloud-two{animation-duration:24s;top:38%;right:10%;transform:scale(.65)}.welcome{z-index:5;text-align:center;width:min(90%,650px);padding:35px 25px;animation:1.2s both soft-appear;position:relative}.eyebrow{color:#a94f78;letter-spacing:2px;margin:0 0 25px;font-size:12px;font-weight:700}.welcome h1{color:#fff;text-shadow:4px 4px #d76e9b,7px 7px #a84d78;margin:0 0 18px;font-family:"Press Start 2P",cursive;font-size:clamp(25px,5vw,48px);line-height:1.6}.welcome h2{color:#a64e76;margin:0 0 18px;font-size:clamp(19px,3vw,25px)}.intro{color:#87516c;max-width:420px;margin:0 auto 28px;font-size:15px;font-weight:600;line-height:1.8}.pixel-button{z-index:1;border:3px solid var(--berry);color:var(--berry);cursor:pointer;box-shadow:5px 5px 0 var(--berry);background:#fff1f6;padding:16px 25px;font-family:"Press Start 2P",cursive;font-size:10px;line-height:1.7;transition:transform .18s,box-shadow .18s,background .18s;position:relative}.pixel-button:hover{box-shadow:2px 2px 0 var(--berry);background:#fff;transform:translate(3px,3px)}.pixel-button:active{box-shadow:none;transform:translate(5px,5px)}.tiny-note{color:#a65e7e;margin-top:24px;font-size:11px;font-weight:700}.ground{background:#91bf83;border-top:8px solid #b5d79a;width:100%;height:25%;position:absolute;bottom:0}.grass{background:repeating-linear-gradient(90deg,#b5d79a 0 12px,#a5cd8c 12px 24px);width:100%;height:8px;position:absolute;top:-8px}.pixel-flower{color:#fff0f5;text-shadow:2px 2px #d879a1;font-size:30px;position:absolute}.flower-a{top:30%;left:12%}.flower-b{color:#ffe3a5;top:60%;left:32%}.flower-c{top:25%;right:24%}.flower-d{color:#ffe3a5;top:60%;right:8%}.little-house{color:#fff0f4;text-shadow:4px 4px #b66b8b;font-size:65px;position:absolute;bottom:20px;right:43%}.flowers{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.petal{color:#fff3f7;text-shadow:1px 2px #dc83a7;animation:linear infinite petal-fall;position:absolute;top:-30px}.letters-screen{background:radial-gradient(at 8% 8%,#fff9f5 0 1px,#0000 2px),radial-gradient(at 92% 16%,#f5aeca55 0 2px,#0000 3px),linear-gradient(145deg,#fff7f4 0%,#fbe2e9 48%,#f5d1df 100%);padding:46px clamp(18px,5vw,72px) 64px}.letter-sparkles{text-align:center;color:#d78cab;opacity:.55;letter-spacing:18px;pointer-events:none;width:100%;font-size:18px;position:absolute;top:18px;left:0}.letters-header{text-align:center;max-width:850px;margin:0 auto 34px;position:relative}.back-button{width:43px;height:43px;color:var(--berry);cursor:pointer;background:#fff9f7;border:2px solid #e7a8c2;border-radius:50%;place-items:center;font-size:25px;transition:all .2s;display:grid;position:absolute;top:0;left:0;box-shadow:3px 3px #e7a8c2}.back-button:hover{transform:translate(-2px,-2px);box-shadow:5px 5px #e7a8c2}.letters-header .eyebrow{letter-spacing:2.4px;margin:8px 0 14px;font-size:10px}.letters-header h2{color:#a54d78;text-shadow:3px 3px #f1bfd2;margin:0;font-family:"Press Start 2P",cursive;font-size:clamp(24px,4vw,39px);line-height:1.6}.letters-header h2 span{color:#df83aa;font-family:Quicksand,sans-serif}.letters-intro{color:#96627a;margin:12px auto 25px;font-size:15px;line-height:1.7}.reading-progress{background:#fff9f6c9;border:1px solid #edc3d3;border-radius:13px;max-width:510px;margin:0 auto;padding:13px 17px 15px;box-shadow:0 5px 20px #b5658312}.progress-copy{color:#a45b7d;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:11px;font-weight:700;display:flex}.progress-copy span:last-child{color:#b78a9e;font-weight:600}.progress-track{background:#f4dce5;border-radius:20px;height:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#ed9fbd,#bc5c88);width:0;height:100%;transition:width .5s;display:block}.envelope-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1050px;margin:0 auto;display:grid}.envelope-card{color:#80516a;text-align:center;cursor:pointer;min-width:0;min-height:258px;animation:.6s both card-rise;animation-delay:var(--card-delay,0s);background:linear-gradient(155deg,#fffdfb,#fff4f6);border:1px solid #efd1dc;border-radius:18px;flex-direction:column;align-items:center;padding:20px 18px 17px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 22px #9b597416}.envelope-card:before{content:"";pointer-events:none;border:1px dashed #f1c7d7;border-radius:12px;position:absolute;inset:7px}.envelope-card:hover{border-color:#df9db9;transform:translateY(-7px)rotate(-.5deg);box-shadow:0 15px 28px #9b597426}.envelope-card.is-opened{background:linear-gradient(155deg,#fffdf8,#fff0f4)}.envelope-number{color:#d29ab0;font-family:"Press Start 2P",cursive;font-size:8px;position:absolute;top:15px;left:17px}.envelope-art{filter:drop-shadow(0 5px 5px #9c55701c);width:104px;height:75px;margin:11px auto 14px;transition:transform .25s;display:block;position:relative}.envelope-card:hover .envelope-art{transform:translateY(-3px)rotate(3deg)}.envelope-back{background:#e8a8c0;border-radius:5px;position:absolute;inset:5px 3px 3px}.envelope-flap{transform-origin:top;z-index:2;border-top:42px solid #d987a8;border-left:48px solid #0000;border-right:48px solid #0000;width:0;height:0;transition:transform .35s;position:absolute;top:4px;left:4px}.envelope-front{clip-path:polygon(0 0,50% 65%,100% 0,100% 100%,0 100%);z-index:3;background:#f2c0d1;border-radius:0 0 5px 5px;position:absolute;inset:28px 3px 3px}.envelope-heart{z-index:4;color:#fff8f4;text-shadow:1px 2px #c66e91;width:100%;font-size:22px;position:absolute;top:33px;left:0}.opened-seal{z-index:5;color:#fff;opacity:0;background:#9dbd91;border:2px solid #fff;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:700;transition:all .2s;display:grid;position:absolute;top:25px;right:-2px;transform:scale(.5)}.envelope-card.is-opened .opened-seal{opacity:1;transform:scale(1)}.envelope-card.is-opened .envelope-flap{transform:rotateX(155deg)}.envelope-tag{color:#bd7896;letter-spacing:1.3px;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:700}.envelope-title{color:#8e4f6d;max-width:280px;font-size:15px;font-weight:700;line-height:1.45}.envelope-short{color:#a98293;margin-top:6px;font-size:12px;line-height:1.5}.envelope-open-label{color:#c16e92;letter-spacing:.1px;margin-top:auto;padding-top:13px;font-family:"Press Start 2P",cursive;font-size:8px}.envelope-card.is-opened .envelope-open-label{color:#8da783}.letters-footer{text-align:center;max-width:850px;margin:32px auto 0}.letters-footer p{color:#9e7185;margin:0 0 20px;font-size:13px;font-weight:600}.continue-button{padding:15px 20px;font-size:9px}.modal-open{overflow:hidden}.letter-modal{z-index:20;opacity:0;visibility:hidden;place-items:center;padding:22px;transition:opacity .3s,visibility .3s;display:grid;position:fixed;inset:0}.letter-modal.is-open{opacity:1;visibility:visible}.modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#593247aa;position:absolute;inset:0}.letter-paper{z-index:1;background:repeating-linear-gradient(#0000 0 31px,#e9d9d34c 32px),#fffaf2;border:1px solid #f0d4bf;border-radius:5px 5px 17px 17px;width:min(100%,590px);max-height:min(88vh,790px);padding:53px clamp(24px,6vw,56px) 35px;transition:transform .4s cubic-bezier(.2,.8,.2,1);position:relative;overflow-y:auto;transform:translateY(25px)scale(.97);box-shadow:0 24px 75px #35182d66}.letter-modal.is-open .letter-paper{transform:translateY(0)scale(1)}.letter-paper:before{content:"";background:#e8a6b866;width:2px;height:100%;position:absolute;top:0;left:28px}.modal-close{color:#a8587a;cursor:pointer;background:#fff4f3;border:1px solid #e7c4ca;border-radius:50%;width:35px;height:35px;font-size:24px;position:absolute;top:12px;right:16px}.paper-stamp{color:#c17a98;white-space:nowrap;opacity:.8;border:1px solid #d894ae;padding:6px 10px;font-family:"Press Start 2P",cursive;font-size:7px;position:absolute;top:22px;left:50%;transform:translate(-50%)rotate(-4deg)}.modal-kicker{color:#b66c8d;letter-spacing:1.7px;text-align:center;text-transform:uppercase;margin:12px 0 10px;font-size:11px;font-weight:700}.letter-paper h2{color:#96516e;text-align:center;margin:0;font-family:"Press Start 2P",cursive;font-size:clamp(14px,2.5vw,19px);line-height:1.8}.paper-divider{color:#d28aa7;text-align:center;margin:17px 0 19px;font-size:14px}.modal-copy p{color:#765467;margin:0 0 15px;font-size:15px;font-weight:500;line-height:1.9}.modal-signoff{color:#a14f76;text-align:right;margin:20px 0 22px;font-size:14px;font-weight:700;line-height:1.7}.modal-done{margin:0 auto;padding:12px 16px;font-size:8px;display:block}.question-screen{background:radial-gradient(circle at 15% 20%,#fff8f5 0 2px,#0000 3px),radial-gradient(circle at 80% 75%,#fff8f5 0 2px,#0000 3px),linear-gradient(145deg,#f7c6d9,#fce8ed 55%,#f7d3e1);place-items:center;min-height:100vh;padding:70px 20px;display:grid}.question-stars{color:#c87fa0;letter-spacing:13px;text-align:center;opacity:.65;width:100%;font-size:18px;position:absolute;top:9%}.question-back{top:28px;left:28px}.question-card{text-align:center;background:#fffaf8e8;border:1px solid #efc4d4;border-radius:25px;width:min(100%,650px);padding:clamp(28px,6vw,58px) clamp(22px,6vw,55px);animation:.8s both soft-appear;box-shadow:0 22px 60px #9d55701f,inset 0 0 0 7px #fff3f4}.question-flower{margin-bottom:12px;font-size:45px;animation:2.5s ease-in-out infinite flower-bob}.question-card .eyebrow{margin-bottom:17px;font-size:10px}.question-card h2{color:#a54d78;text-shadow:3px 3px #f2c4d6;margin:0;font-family:"Press Start 2P",cursive;font-size:clamp(22px,4.3vw,37px);line-height:1.7}.question-subtitle{color:#9b7085;margin:12px 0 26px;font-size:14px;line-height:1.6}.question-actions{justify-content:center;align-items:center;gap:20px;min-height:85px;display:flex;position:relative}.question-actions .pixel-button{min-width:145px;padding:14px 17px;font-size:9px}.yes-button{background:#f9dce7}.no-button{background:#fff}.no-button.is-running{z-index:4;transition:left .18s,top .18s,transform .18s;position:absolute}.yes-reveal{padding-top:5px;animation:.6s both soft-appear}.reveal-hearts{color:#d56f9a;margin:15px 0;font-size:27px;animation:1s ease-in-out infinite alternate heart-pop}.yes-reveal h3{color:#a54d78;margin:12px 0;font-family:"Press Start 2P",cursive;font-size:19px;line-height:1.7}.yes-reveal p{color:#8e6177;font-size:15px;line-height:1.7}.yes-reveal .reveal-small{color:#b17b94;margin:10px 0 22px;font-size:12px}.yes-reveal .pixel-button{padding:13px 17px;font-size:8px}@keyframes petal-fall{to{transform:translateY(110vh)rotate(360deg)}}@keyframes cloud-drift{to{translate:70px}}@keyframes soft-appear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes card-rise{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes sun-glow{to{box-shadow:0 0 0 19px #ffe4bd55,0 0 70px #fff0b5}}@keyframes flower-bob{50%{transform:translateY(-7px)rotate(5deg)}}@keyframes heart-pop{to{transform:scale(1.08)}}@media (width<=850px){.envelope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.envelope-card{min-height:245px}}@media (width<=560px){.garden-screen .sun{width:65px;height:65px}.welcome{padding:20px 12px}.welcome .eyebrow{font-size:9px}.intro{font-size:13px}.welcome .pixel-button{padding:14px 17px;font-size:8px}.tiny-note{font-size:10px}.letters-screen{padding:35px 15px 45px}.letters-header{padding-top:20px}.letters-header .eyebrow{letter-spacing:1.3px;font-size:8px}.letters-intro{padding:0 26px;font-size:13px}.reading-progress{padding:12px}.progress-copy{font-size:9px}.envelope-grid{grid-template-columns:1fr;gap:13px;max-width:390px}.envelope-card{min-height:220px;padding:14px 16px}.envelope-art{margin-top:5px;margin-bottom:9px}.envelope-title{font-size:14px}.envelope-short{font-size:11px}.letters-footer p{font-size:11px;line-height:1.6}.continue-button{max-width:100%;padding:13px 11px;font-size:7px}.letter-modal{padding:12px}.letter-paper{max-height:92vh;padding:52px 24px 25px 31px}.modal-copy p{font-size:13px;line-height:1.8}.paper-stamp{font-size:6px}.question-back{top:17px;left:17px}.question-card{padding:35px 18px}.question-card .eyebrow{letter-spacing:1.2px;font-size:8px}.question-subtitle{font-size:12px}.question-actions{gap:12px}.question-actions .pixel-button{min-width:118px;padding:12px 9px;font-size:7px}.yes-reveal h3{font-size:15px}.yes-reveal .pixel-button{font-size:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.after-yes-screen{background:radial-gradient(circle at 12% 15%,#fff8f5 0 2px,#0000 3px),radial-gradient(circle at 88% 80%,#fff8f5 0 2px,#0000 3px),linear-gradient(145deg,#f7c6d9,#fff0f2 53%,#f6d3e1);place-items:center;min-height:100vh;padding:76px 20px 50px;display:grid}.after-yes-card{text-align:center;background:#fffaf8ed;border:1px solid #e9bed0;border-radius:24px;width:min(100%,690px);padding:clamp(28px,6vw,55px);animation:.7s both soft-appear;box-shadow:0 22px 60px #9d55701f,inset 0 0 0 7px #fff2f4}.after-yes-icon{margin-bottom:12px;font-size:44px}.after-yes-kicker{color:#b66c8d;letter-spacing:2px;margin:0 0 16px;font-size:10px;font-weight:700}.after-yes-card h2{color:#a54d78;text-shadow:3px 3px #f2c4d6;margin:0 0 18px;font-family:"Press Start 2P",cursive;font-size:clamp(17px,3.5vw,27px);line-height:1.8}.after-yes-lead{color:#94647b;margin:0 auto 23px;font-size:15px;line-height:1.8}.birthday-certificate{background:linear-gradient(135deg,#fff4f6,#fff9ec);border:2px dashed #dfa0bb;border-radius:13px;margin:22px auto 25px;padding:23px 18px;position:relative}.certificate-label{color:#c07c99;margin:0 0 10px;font-family:"Press Start 2P",cursive;font-size:8px;line-height:1.8}.certificate-name{color:#995273;margin:0 0 12px;font-size:24px;font-weight:700}.certificate-details{color:#916b7e;margin:0;font-size:13px;line-height:1.9}.certificate-seal{color:#b76189;border:2px solid #d58ba9;border-radius:50%;place-items:center;width:62px;height:62px;margin-top:15px;font-family:"Press Start 2P",cursive;font-size:8px;display:inline-grid;transform:rotate(-10deg)}.after-yes-note{color:#a36b84;margin:0 auto 25px;font-size:13px;line-height:1.8}.after-yes-actions{flex-wrap:wrap;justify-content:center;gap:13px;display:flex}.after-yes-actions .pixel-button{padding:13px 15px;font-size:8px}.after-yes-back{position:absolute;top:24px;left:24px}@media (width<=560px){.after-yes-screen{padding:75px 14px 35px}.after-yes-back{top:16px;left:16px}.after-yes-card{padding:35px 19px}.after-yes-lead{font-size:13px}.certificate-details,.after-yes-note{font-size:12px}.after-yes-actions{gap:10px}.after-yes-actions .pixel-button{font-size:7px}}.celebration-navigation{z-index:8;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;width:min(100%,1050px);margin:0 auto;padding:12px 18px 0;display:flex;position:sticky;top:0}.celebration-nav-button{pointer-events:auto;color:#754363;cursor:pointer;background:#fff0f4ef;border:1px solid #f4c4db;border-radius:22px;padding:10px 13px;font-family:"Press Start 2P",cursive;font-size:7px;line-height:1.7;transition:transform .2s,background .2s;box-shadow:0 5px 18px #0003}.celebration-nav-button:hover{background:#fff;transform:translateY(-2px)}#midnight-overlay{z-index:9997;opacity:0;visibility:hidden;pointer-events:none;color:#fff6fb;background:#30132b7a;place-items:center;font-family:Quicksand,sans-serif;transition:opacity 1.1s,visibility 1.1s,background 1s;display:grid;position:fixed;inset:0;overflow:hidden}#midnight-overlay.is-visible{opacity:1;visibility:visible}#midnight-overlay.is-frozen{pointer-events:auto;background:radial-gradient(circle at 50% 46%,#32133c 0%,#150a22 43%,#05040a 100%)}.midnight-stars{position:absolute;inset:0;overflow:hidden}.midnight-star{background:#fff;border-radius:50%;width:3px;height:3px;animation:3s ease-in-out infinite alternate midnight-twinkle;position:absolute;box-shadow:0 0 9px 2px #efb7e9}.midnight-content{z-index:2;text-align:center;width:min(90%,700px);padding:25px;position:relative}.midnight-kicker{color:#f5c4e0;letter-spacing:3px;margin:0 0 23px;font-size:10px;font-weight:700}.midnight-message{color:#fff4fa;margin:0 0 18px;font-family:"Press Start 2P",cursive;font-size:clamp(11px,2vw,17px);line-height:2.2}.midnight-clock{color:#f8d5ed;letter-spacing:4px;text-shadow:0 0 20px #f5a9df;font-family:"Press Start 2P",cursive;font-size:clamp(13px,2.5vw,20px)}.midnight-number{color:#fff8ff;text-shadow:0 0 15px #ffb5e8,0 0 50px #c77bff,0 0 100px #9e62eb;font-family:"Press Start 2P",cursive;font-size:clamp(90px,23vw,190px);line-height:1.3;display:none}.midnight-caption{color:#eac7e6;letter-spacing:1px;margin:22px 0 0;font-size:13px;font-weight:600}.midnight-flash{z-index:5;opacity:0;pointer-events:none;background:#fff9ff;position:absolute;inset:0}#tarun-celebration{z-index:9996;color:#fff8f7;isolation:isolate;background:radial-gradient(at 50% 5%,#543467 0%,#0000 45%),linear-gradient(#21112e 0%,#321b43 52%,#160f25 100%);font-family:Quicksand,sans-serif;display:block;position:fixed;inset:0;overflow:hidden auto}#tarun-celebration:before{content:"";z-index:-1;opacity:.14;pointer-events:none;background-image:radial-gradient(#fff .65px,#0000 .65px);background-size:5px 5px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.celebration-sky{pointer-events:none;position:absolute;inset:0}.celebration-moon{background:#fff2cd;border-radius:50%;width:65px;height:65px;position:absolute;top:8%;right:12%;box-shadow:0 0 28px 10px #f9dcb866,0 0 95px 18px #f2b8d533}.celebration-stars{position:absolute;inset:0;overflow:hidden}.celebration-star{background:#fff;border-radius:50%;width:3px;height:3px;animation:3s ease-in-out infinite alternate celebration-twinkle;position:absolute;box-shadow:0 0 9px 2px #e7c9ff}.celebration-glow{filter:blur(75px);opacity:.2;border-radius:50%;width:340px;height:340px;position:absolute}.glow-left{background:#f58db9;top:30%;left:-200px}.glow-right{background:#9f84ff;top:45%;right:-190px}.celebration-content{z-index:1;text-align:center;width:min(100%,900px);min-height:100vh;margin:0 auto;padding:58px 20px 70px;position:relative}.birthday-intro{margin:8px auto 40px}.celebration-kicker{color:#e9b6dc;letter-spacing:4px;margin:0 0 22px;font-size:10px;font-weight:700}.birthday-intro h1{color:#fff8f7;text-shadow:4px 5px #a45d9a,0 0 28px #dba6ef55;flex-direction:column;gap:9px;margin:0;font-family:"Press Start 2P",cursive;font-size:clamp(26px,6vw,58px);line-height:1.42;display:flex}.birthday-intro h1 span,.birthday-intro h1 em{font-style:normal;display:block}.birthday-intro h1 em{color:#ffcfdf;letter-spacing:3px;text-shadow:3px 4px #9e5b87,0 0 30px #ffb0d5aa;margin-top:6px;font-size:.68em}.birthday-subtitle{color:#eac9df;letter-spacing:.4px;margin:22px 0 11px;font-size:15px;font-weight:600}.title-sparkle{color:#f2c4e3;letter-spacing:5px;font-size:17px}.cake-scene{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(145deg,#ffffff12,#ffffff06);border:1px solid #ffffff26;border-radius:27px;width:min(100%,600px);margin:0 auto;padding:24px 18px 28px;position:relative;box-shadow:0 20px 65px #09051155,inset 0 1px #ffffff1a}.wish-heading{z-index:2;color:#fff0f7;font-family:"Press Start 2P",cursive;font-size:clamp(10px,2vw,13px);line-height:1.8;position:relative}.wish-countdown{z-index:2;color:#ffe3aa;text-shadow:0 0 20px #ffe2a0aa;min-height:43px;margin:6px 0 -2px;font-family:"Press Start 2P",cursive;font-size:27px;position:relative}.cake-aura{filter:blur(35px);pointer-events:none;background:#ffc6e333;border-radius:50%;width:280px;height:160px;position:absolute;top:95px;left:50%;transform:translate(-50%)}.birthday-cake{filter:drop-shadow(0 13px 17px #08061155);width:320px;max-width:100%;height:210px;margin:1px auto 4px;position:relative}.cake-candles{z-index:5;align-items:flex-end;gap:39px;height:73px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.cake-candle{background:repeating-linear-gradient(135deg,#fff3e1 0 6px,#e894b7 6px 12px);border-radius:4px 4px 2px 2px;width:13px;height:48px;position:relative;box-shadow:inset -3px 0 #a95a7966,0 0 7px #fff0df44}.candle-two{background:repeating-linear-gradient(135deg,#fff0d6 0 6px,#9f9ada 6px 12px);height:58px}.candle-three{background:repeating-linear-gradient(135deg,#fff1db 0 6px,#e894b7 6px 12px);height:48px}.cake-candle .wick{background:#3b2538;width:3px;height:8px;position:absolute;top:-5px;left:5px}.cake-candle .flame{transform-origin:50% 100%;background:linear-gradient(#fff9b9 0%,#ffd15e 48%,#ff8c4e 100%);border-radius:80% 15% 65% 50%;width:12px;height:21px;position:absolute;top:-25px;left:1px;transform:rotate(45deg);box-shadow:0 0 10px 4px #ffbf5f88,0 0 25px 7px #ffbd5c55}.cake-candle .smoke{filter:blur(2px);opacity:0;background:#d9d0e0aa;border-radius:50%;width:5px;height:15px;position:absolute;top:-32px;left:5px}.cake-top{z-index:4;background:linear-gradient(#fff2dd,#edb6c9);border:2px solid #ffe0d8;border-radius:50%;width:230px;height:34px;position:absolute;top:65px;left:50%;transform:translate(-50%)}.cake-layer{border:2px solid #ffe0e5;justify-content:space-around;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:inset 0 -8px #bf6f9266,0 6px #67385955}.cake-layer-top{z-index:3;color:#fff0f5;background:linear-gradient(90deg,#db8cab,#f3bbcf 48%,#d98baa);border-radius:8px 8px 13px 13px;width:234px;height:55px;font-size:19px;top:79px}.cake-layer-bottom{z-index:2;color:#fff1d0;background:linear-gradient(90deg,#9d83c2,#c9addd 48%,#9d83c2);border-radius:9px 9px 15px 15px;width:280px;height:62px;font-size:17px;top:125px}.cake-plate{background:linear-gradient(#fff5fb,#bd9ac6);border:2px solid #f9e9f4;border-radius:50%;width:315px;height:18px;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.wish-instruction{color:#e7cce1;max-width:430px;margin:1px auto 17px;font-size:13px;line-height:1.7}.candle-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.birthday-action{color:#71395f;cursor:pointer;background:linear-gradient(135deg,#fbd9e8,#f4b8d2);border:2px solid #f5c5df;border-radius:5px;min-height:43px;padding:13px 17px;font-family:"Press Start 2P",cursive;font-size:8px;line-height:1.6;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:4px 4px #8a4e7d}.birthday-action:hover:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px #8a4e7d}.birthday-action:disabled{opacity:.45;cursor:not-allowed}.birthday-action.is-ready{animation:1.2s ease-in-out infinite alternate ready-pulse}.mic-button{background:linear-gradient(135deg,#e8d8f7,#c9b4e8);border-color:#d1b7ed}.mic-status{color:#d8bfda;min-height:17px;margin:14px 0 0;font-size:11px}.wish-complete{max-width:560px;margin:32px auto 10px;padding:24px 18px 10px}.wish-glow{color:#ffe3a7;text-shadow:0 0 25px #ffdc9e;font-size:38px}.wish-complete h2{color:#fff0f5;margin:8px 0 10px;font-family:"Press Start 2P",cursive;font-size:clamp(12px,2.5vw,18px);line-height:1.8}.wish-complete p{color:#e6c8df;margin:0 0 21px;font-size:14px;line-height:1.7}.final-letter-button{background:linear-gradient(135deg,#ffe7b6,#efb9cf);border-color:#f2d6a7}.music-hint{z-index:4;color:#7c4368;cursor:pointer;background:#fff0f4;border:1px solid #f4c3dd;border-radius:25px;padding:12px 15px;font-family:"Press Start 2P",cursive;font-size:7px;position:fixed;bottom:18px;right:18px;box-shadow:0 6px 25px #0003}.birthday-letter-open{overflow:hidden}.final-letter-overlay{z-index:10;opacity:0;visibility:hidden;place-items:center;padding:20px;transition:opacity .35s,visibility .35s;display:grid;position:fixed;inset:0}.final-letter-overlay.is-open{opacity:1;visibility:visible}.final-letter-backdrop{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#090510d9;position:absolute;inset:0}.final-letter-paper{z-index:1;color:#75536a;background:repeating-linear-gradient(#0000 0 31px,#e7d6d34c 32px),#fffaf3;border:1px solid #f1d4c6;border-radius:4px 4px 18px 18px;width:min(100%,660px);max-height:90vh;padding:55px clamp(25px,6vw,58px) 34px;transition:transform .4s cubic-bezier(.2,.8,.2,1);position:relative;overflow-y:auto;transform:translateY(25px)scale(.97);box-shadow:0 28px 90px #0008}.final-letter-overlay.is-open .final-letter-paper{transform:translateY(0)scale(1)}.final-letter-paper:before{content:"";background:#e7a3b966;width:2px;position:absolute;top:0;bottom:0;left:27px}.final-letter-close{color:#985778;cursor:pointer;background:#fff2f1;border:1px solid #e7c3d0;border-radius:50%;width:35px;height:35px;font-size:25px;position:absolute;top:12px;right:15px}.final-letter-stamp{color:#bb7795;white-space:nowrap;border:1px solid #cb91aa;padding:6px 10px;font-family:"Press Start 2P",cursive;font-size:7px;position:absolute;top:19px;left:50%;transform:translate(-50%)rotate(-4deg)}.final-letter-eyebrow{color:#bd7795;letter-spacing:2px;text-align:center;margin:12px 0 9px;font-size:10px;font-weight:700}.final-letter-paper h2{color:#9a5578;text-align:center;margin:0 0 18px;font-family:"Press Start 2P",cursive;font-size:clamp(15px,3vw,21px);line-height:1.8}.final-letter-copy p{color:#765a6d;margin:0 0 15px;font-size:14px;font-weight:500;line-height:1.9}.final-letter-signoff{color:#9d5778;text-align:right;margin:20px 0;font-size:13px;line-height:1.8}.final-letter-bottom{color:#c28ba2;text-align:center;margin-top:25px;font-size:11px}@keyframes midnight-twinkle{0%{opacity:.2;transform:scale(.7)}to{opacity:1;transform:scale(1.4)}}@keyframes celebration-twinkle{0%{opacity:.15;transform:scale(.7)}to{opacity:1;transform:scale(1.45)}}@keyframes ready-pulse{0%{box-shadow:4px 4px #8a4e7d}to{box-shadow:4px 4px #8a4e7d,0 0 24px #fac2dd88}}@media (width<=600px){.celebration-navigation{gap:7px;padding:9px 9px 0}.celebration-nav-button{max-width:48%;padding:9px 8px;font-size:6px}.midnight-kicker{letter-spacing:2px;font-size:8px}.midnight-message{font-size:10px}.celebration-content{padding:52px 13px 45px}.celebration-moon{width:45px;height:45px;top:4%;right:8%}.birthday-intro{margin:10px auto 30px}.birthday-intro h1{font-size:clamp(22px,8vw,38px)}.birthday-subtitle{font-size:12px}.cake-scene{border-radius:19px;padding:20px 11px 22px}.birthday-cake{transform-origin:top;margin-bottom:-20px;transform:scale(.88)}.wish-instruction{font-size:11px}.birthday-action{padding:11px 12px;font-size:7px}.mic-status{font-size:10px}.final-letter-overlay{padding:10px}.final-letter-paper{max-height:94vh;padding:52px 22px 25px 31px}.final-letter-copy p{font-size:12px;line-height:1.8}.final-letter-stamp{font-size:6px}}@media (prefers-reduced-motion:reduce){#midnight-overlay *,#tarun-celebration *,#tarun-celebration :before,#tarun-celebration :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
