.entrance-host{aspect-ratio:2/3;z-index:2;width:36%;position:absolute;bottom:8%;left:7%}.entrance-host img{width:100%;height:auto;display:block}.entrance-host__fallback{color:#ab8751;place-items:center;height:100%;font-size:2rem;display:grid}.entrance-celebration__decor{aspect-ratio:1;z-index:1;width:72%;position:absolute;bottom:2%;right:-2%}.entrance-celebration__decor img{width:100%;height:auto;display:block}.entrance-celebration__fallback{place-items:center;height:100%;font-size:clamp(70px,18vw,130px);display:grid}.cake-scene.candle-polish{aspect-ratio:1.1}.candle-polish .entrance-host{width:28%;bottom:8%;left:0}.candle-polish__setup{aspect-ratio:1;width:86%;position:absolute;bottom:2%;right:0}.candle-polish__setup>img{width:100%;height:auto;display:block}.candle-polish__lights,.candle-polish__celebration{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.candle-polish__lights .candle-smoke{stroke-width:3px;animation-duration:1.8s}.candle-polish__glow{pointer-events:none;opacity:.45;background:radial-gradient(#ffd17f65,#ffdca71a 55%,#0000 72%);border-radius:50%;animation:2s both candle-polish-glow;position:absolute;inset:36% 9% 8% 15%}.candle-polish__burst{opacity:0;stroke:#cda061;stroke-width:3px;stroke-linecap:round;animation:candle-polish-burst 1.4s ease-out var(--burst-delay) both}.candle-polish__star{fill:#cba060;opacity:0;animation:candle-polish-star 1.2s ease-out var(--burst-delay) both;font-size:28px}.candle-polish__fallback{background:linear-gradient(#fff0d9 0 27%,#e9adbd 28%);border-bottom:7px solid #cba566;border-radius:20% 20% 8% 8%;width:38%;height:22%;position:absolute;top:54%;left:29%}@keyframes candle-polish-glow{0%,to{opacity:0}30%,65%{opacity:.65}}@keyframes candle-polish-burst{0%{opacity:0;transform:scale(.55)}25%{opacity:.7}to{opacity:0;transform:scale(1.1)}}@keyframes candle-polish-star{0%{opacity:0;translate:0 4px}25%{opacity:.65}to{opacity:0;translate:0 -13px}}@media (prefers-reduced-motion:reduce){.candle-polish__celebration,.candle-polish .candle-smoke{display:none}.candle-polish__glow{opacity:.35}.candle-polish .candle-flame{animation:none}}.birthday-intro:before{content:"";z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(#f8ead4,#0000 65%),#f1e9e3;transition:opacity .9s;position:absolute;inset:0}.birthday-intro--candle:before{opacity:1}.birthday-intro--candle .music-popover{margin-top:8px;position:static}.birthday-intro--candle .world-header{align-items:flex-start}.birthday-intro--candle .ambient-stars span{opacity:.35;animation-duration:9s}.candle-copy{align-content:center;min-height:180px;display:grid}.candle-heading{align-content:center;max-width:600px;min-height:115px;font-size:clamp(2rem,6vw,3rem);line-height:1.2;display:grid}.candle-text-reveal{animation:.7s both copy-reveal}.birthday-intro--candle .cake-scene{margin-top:-5px}.cake-scene--candle .birthday-cake{width:69%;transition:width .9s,right .9s,transform .9s;right:3%;transform:translateY(-2%)}.cake-scene--candle .mascot{opacity:.82;width:31%;transition:width .9s,left .9s,opacity .9s;left:-2%}.cake-scene--candle .scene-balloon{opacity:.12;transition:opacity .9s;animation:none}.cake-scene--candle .scene-halo{background:radial-gradient(#ffedb999,#eacdbf44 60%,#0000 72%)}.cake-scene--out .scene-halo{opacity:.35;transition:opacity 1s}.cake-scene--out .mascot{animation:.65s mascot-celebrate}.candle-flame--extinguishing{animation:.18s forwards flame-out}.candle-flame--out{opacity:0;animation:none}.candle-smoke{fill:none;stroke:#a797ac;stroke-width:2px;stroke-linecap:round;opacity:0;animation:2.1s ease-out both candle-smoke}.candle-sparkle{fill:#bd975b;opacity:0;animation:2.2s ease-out both candle-sparkle}.countdown-space{place-items:center;height:80px;margin-top:-20px;display:grid}.countdown-number{color:#755346;text-shadow:0 0 22px #e0ba76aa;font-family:Georgia,serif;font-size:3rem;line-height:1;animation:1s both number-breathe}.wish-star{color:#a88751;font-size:2.5rem}.candle-actions{align-content:start;justify-items:center;gap:10px;min-height:125px;display:grid}.candle-actions .replay-button{border:none;padding:5px 16px;font-size:.75rem}.candle-continue{animation:.7s both copy-reveal}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.letter-boundary{text-align:center;align-content:center;justify-items:center;gap:28px;max-width:600px;min-height:70svh;margin:auto;animation:.8s both copy-reveal;display:grid}.letter-boundary h1{font-size:clamp(2rem,6vw,3rem)}.letter-boundary p{color:var(--muted);line-height:1.6}.boundary-icon{font-size:3rem}@keyframes number-breathe{0%{opacity:0;transform:scale(.92)}25%,75%{opacity:1;transform:scale(1)}to{opacity:.3}}@keyframes flame-out{to{opacity:0;transform:scale(.2,.7)rotate(15deg)}}@keyframes candle-smoke{15%{opacity:.45}to{opacity:0;translate:2px -30px}}@keyframes candle-sparkle{20%{opacity:.8}to{opacity:0;translate:0 -28px}}@keyframes mascot-celebrate{50%{translate:0 -4px}}@media (width<=430px){.candle-copy{min-height:170px}}@media (prefers-reduced-motion:reduce){.candle-text-reveal,.countdown-number{opacity:1}.candle-flame--extinguishing,.candle-flame--out{opacity:0}.candle-smoke,.candle-sparkle{display:none}}.birthday-intro--letter:before{opacity:1;background:radial-gradient(at 50% 35%,#fff3de,#0000 70%),#f6eee5;transition:opacity 1.5s}.birthday-intro--letter .ambient-stars span{opacity:.15;animation-duration:12s}.birthday-intro--letter .scene-balloon{display:none}.birthday-intro--letter .world-header{align-items:flex-start}.birthday-intro--letter .music-popover{margin-top:8px;position:static}.letter-chapter{max-width:760px;margin:40px auto 0;position:relative}.envelope-stage{animation:1.5s both letter-arrive}.letter-departing-scene{pointer-events:none;animation:1.3s both candle-depart;position:absolute;top:90px;left:0;right:0}.letter-chapter--opening .letter-departing-scene,.letter-chapter--reading .letter-departing-scene{display:none}.envelope-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:65svh;display:flex}.envelope-stage .eyebrow{margin-bottom:0}.envelope{aspect-ratio:1.55;perspective:900px;isolation:isolate;width:min(100%,430px);color:var(--plum);background:0 0;border:0;padding:0;position:relative;transform:rotate(-1deg)}.envelope-back{background:#e6c9bd;border-radius:8px;position:absolute;inset:0;box-shadow:0 14px 35px #85625122}.envelope-front{clip-path:polygon(0 0,50% 53%,100% 0,100% 100%,0 100%);z-index:3;background:linear-gradient(155deg,#fdf2df,#f1ddc3);border-radius:7px;position:absolute;inset:0}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 54%);transform-origin:top;z-index:5;backface-visibility:hidden;background:linear-gradient(#fff6e9,#ead6b9);position:absolute;inset:0}.envelope-paper{color:#9c7e6a;z-index:2;background:#fffaf1;border:1px solid #dfc9a8;place-items:center;font:italic 1.1rem Georgia,serif;display:grid;position:absolute;inset:8% 7%}.envelope-label{z-index:6;font:italic clamp(1.3rem,5vw,1.9rem) Georgia,serif;position:absolute;top:57%;left:0;right:0}.envelope-detail{z-index:6;color:#806958;font:italic .75rem Georgia,serif;position:absolute;top:77%;left:0;right:0}.envelope-invitation{color:var(--muted);margin:0;font:italic 1rem Georgia,serif}.letter-chapter--opening .envelope-flap{animation:.55s forwards envelope-open}.letter-chapter--opening .envelope-paper{animation:1.15s .15s both paper-rise}.letter-chapter--opening .envelope-label,.letter-chapter--opening .envelope-detail{opacity:.45;transition:opacity .5s}.letter-paper{width:100%;max-width:650px;scroll-margin-top:max(24px, env(safe-area-inset-top));background:repeating-linear-gradient(0deg,#ac885503 0 1px,#0000 1px 5px),#fffaf1;border:1px solid #e6d5bd;border-radius:4px 9px 6px 5px;margin:40px auto;padding:42px 22px 32px;animation:.7s both paper-unfold;position:relative;box-shadow:0 16px 50px #85625112}.letter-tape{background:#e4d2b399;width:80px;height:25px;position:absolute;top:-12px;left:calc(50% - 40px);rotate:-4deg}.letter-flower{color:#b4a79a;font-size:1.5rem;position:absolute;top:14px;right:14px}.letter-header{text-align:center;margin-bottom:36px}.letter-header h1{font-size:clamp(1.8rem,6vw,2.5rem);font-style:italic}.letter-body{color:#51443e;max-width:540px;margin:auto;font-family:Georgia,Times New Roman,serif;font-size:1.08rem;line-height:1.9}.letter-body p{margin:0 0 1.55em}.letter-section{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(10px)}.letter-section.is-visible,.letter-section:focus-within{opacity:1;transform:none}.letter-completion{flex-direction:column;align-items:center;gap:22px;padding-top:36px;display:flex}.letter-completion .replay-button{border:none;font-size:.75rem}@media (width>=700px){.letter-paper{padding:56px 52px 40px}.letter-body{font-size:1.15rem}}@media (prefers-reduced-motion:reduce){.letter-section{opacity:1;transform:none}.letter-departing-scene{display:none}}@keyframes candle-depart{0%{opacity:.4}to{opacity:0;visibility:hidden}}@keyframes letter-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes envelope-open{to{transform:rotateX(175deg)}}@keyframes paper-rise{50%{transform:translateY(-25%)}to{transform:translateY(-55%)scale(1.035)}}@keyframes paper-unfold{0%{opacity:0;transform:scaleY(.95)}to{opacity:1;transform:none}}.birthday-intro.birthday-intro--wish{background:radial-gradient(at 20% 15%,#79658b55,#0000 60%),radial-gradient(at 80% 65%,#5c558355,#0000 55%),#202b49}.birthday-intro--wish .world-label,.birthday-intro--wish .world-footer,.birthday-intro--wish .sound-button{color:#e5dced}.birthday-intro--wish .sound-button{border-color:#bda9ce77}.birthday-intro--wish .ambient-stars span{color:#eedbb466;animation:none}.wish-entry-veil{z-index:20;pointer-events:none;background:radial-gradient(at 30% 20%,#65517788,#0000 60%),#202b49;animation:1.4s both wish-nightfall;position:fixed;inset:0}.wish-entry-veil span{color:#f1deb4;font-size:4rem;position:absolute;top:45%;left:50%}.birthday-wish{color:#f6eddf;text-align:center;max-width:680px;min-height:90svh;margin:0 auto;padding:44px 0 24px;font-family:Georgia,serif;position:relative}.birthday-wish .eyebrow{color:#d9cbe6}.birthday-wish h1{color:#f6eddf;font-size:clamp(2.2rem,7vw,3.5rem)}.wish-moon{color:#f5deb0;text-shadow:0 0 25px #e4c68455;margin:0 auto 22px;font-size:4rem;line-height:1;display:block}.wish-sky{z-index:-1;pointer-events:none;position:absolute;inset:0}.wish-sky span{color:#e9d3a888;font-size:.65rem;position:absolute}.wish-opening{max-width:510px;min-height:415px;margin:36px auto}.wish-opening p{text-wrap:balance;margin:14px 0;font-size:clamp(1.05rem,3.7vw,1.22rem);line-height:1.6;animation:.9s both wish-soft-reveal}.wish-opening .wish-opening-accent{color:#f3dba8;margin-bottom:26px;font-size:1.6rem}.wish-card{color:#382d4b;background:linear-gradient(140deg,#fff6dfef,#eee6f3f5);border:1px solid #edcf9377;border-radius:26px;padding:26px 20px 16px;scroll-margin:24px;animation:1s both wish-soft-reveal;position:relative;box-shadow:0 0 35px #edd6a018,0 20px 60px #11192e44}.wish-card label{margin-bottom:20px;font-size:1.3rem;line-height:1.5;display:block}.wish-card textarea{resize:vertical;color:#382d4b;overflow-wrap:anywhere;background:#fffaf566;border:1px solid #8b789455;border-radius:14px;width:100%;min-height:150px;max-height:55svh;padding:18px 14px;font:1.05rem/1.7 Georgia,serif;display:block}.wish-card textarea::placeholder{color:#695b73;opacity:1}.birthday-wish :focus-visible,.wish-confirmation p:focus{outline-offset:5px;outline:3px solid #e5bf78}.wish-card textarea:focus{outline-offset:3px;outline:2px solid #695581}.wish-count{text-align:right;color:#695b73;margin:7px 2px 18px;font:.7rem system-ui,sans-serif}.wish-privacy{color:#5c5069;margin:16px 0 22px;font:.82rem/1.65 system-ui,sans-serif}.wish-error{white-space:pre-line;color:#71334c;font-size:.95rem;line-height:1.65}.wish-submit{color:#fff8e9;background:#564369;border:1px solid #5b456b;border-radius:30px;width:100%;min-height:52px;padding:13px 16px;font:.9rem/1.45 system-ui,sans-serif;box-shadow:0 5px 18px #68557922}.wish-submit:disabled{background:#685579}.wish-status{min-height:1.4em;margin:12px 0 0;font:.75rem/1.5 system-ui,sans-serif}.wish-card--pending{box-shadow:0 0 40px #edd6a044,0 20px 60px #11192e44}.wish-flight{place-items:center;height:200px;display:grid;position:relative;overflow:hidden}.wish-glowing-text{overflow-wrap:anywhere;text-shadow:0 0 14px #b08f42;width:100%;font-size:1.15rem;line-height:1.6;animation:2.8s both wish-text-to-light}.wish-particles{pointer-events:none;position:absolute;inset:0}.wish-particles span{left:calc(8% + var(--particle) * 6%);color:#996519;opacity:0;animation:2.3s both wish-particle-rise;animation-delay:calc(.2s + var(--particle) * 25ms);font-size:2rem;position:absolute;top:60%}.wish-gathered-star{color:#8f601b;opacity:0;font-size:24px;animation:2.8s both wish-star-away;position:absolute;top:4%;left:calc(50% - 12px)}.wish-confirmation{margin:34px auto 0}.wish-confirmation>p{text-wrap:balance;font-size:1.25rem;line-height:1.7;animation:.8s both wish-soft-reveal}.wish-confirmation>p:first-child{color:#f3dba8}.wish-boundary{color:#e5c790;letter-spacing:.2em;justify-content:center;align-items:center;gap:18px;margin:50px auto 24px;font:.75rem system-ui,sans-serif;display:flex}.wish-replay{color:#e7dded;background:0 0;border-color:#b9a3ce77;margin-top:32px}@keyframes wish-nightfall{0%{opacity:0}to{opacity:1}}@keyframes wish-soft-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes wish-text-to-light{0%,20%{opacity:1}65%,to{opacity:0}}@keyframes wish-particle-rise{0%{opacity:0;transform:translate(0)}30%{opacity:.8}80%{opacity:.7;transform:translate(calc((7 - var(--particle)) * 15px), -110px)}to{opacity:0;transform:translate(calc((7 - var(--particle)) * 15px), -145px)}}@keyframes wish-star-away{0%,45%{opacity:0}65%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-45px)scale(.4)}}.birthday-wish--reduced .wish-particles,.birthday-wish--reduced .wish-gathered-star{display:none}.birthday-wish--reduced .wish-glowing-text{opacity:.6;animation:none}.birthday-wish--reduced .wish-opening p,.birthday-wish--reduced .wish-card,.birthday-wish--reduced .wish-confirmation>p{animation:none}@media (width>=700px){.birthday-wish{padding-top:65px}.wish-card{padding:34px 40px 20px}}@media (prefers-reduced-motion:reduce){.wish-entry-veil{animation:none}.wish-particles,.wish-gathered-star{display:none}.wish-glowing-text{opacity:.6}}.birthday-intro.birthday-intro--ending{color:#fff7e9;background:radial-gradient(at 50% 75%,#79648533,#0000 55%),radial-gradient(at 50% 15%,#d6ac6230,#0000 40%),linear-gradient(170deg,#151e3b,#282b50 62%,#39334d)}.birthday-intro--ending .world-label,.birthday-intro--ending .world-footer,.birthday-intro--ending .audio-label{color:#ded5e7}.birthday-intro--ending>.ambient-stars{display:none}.birthday-ending{overflow-anchor:none;text-align:center;width:min(100%,640px);margin:0 auto;padding:40px 4px 48px;position:relative}.ending-heading{margin-bottom:28px;animation:1.4s both ending-appear;position:relative}.ending-heading .eyebrow{color:#e8cd9e}.ending-moon{color:#edd3a5;text-shadow:0 0 35px #f4cd7970;margin:16px auto 22px;font-size:42px;display:block}.ending-heading h1{color:#fff7e9;margin:0;font:500 clamp(28px,7vw,40px)/1.4 Georgia,serif}.ending-copy{z-index:1;position:relative}.ending-copy p{color:#eee5f1;max-width:34ch;margin:0 auto 26px;font-size:clamp(17px,4.5vw,21px);line-height:1.8;animation:1.4s both ending-appear}.ending-copy .ending-birthday{color:#ffe1ae;text-shadow:0 0 22px #edc17a30;margin-block:34px;font:500 clamp(25px,6.2vw,33px)/1.5 Georgia,serif}.ending-copy .ending-closing{color:#ffe5bb;margin-top:38px}.ending-stars{pointer-events:none;position:absolute;inset:0}.ending-stars span{color:#e2c590;opacity:.3;animation:ending-glimmer 8s ease var(--delay) both;font-size:11px;position:absolute}.ending-motes{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ending-motes span{color:#f8d698;opacity:0;animation:ending-mote 12s ease var(--delay) both;position:absolute;top:30%}@keyframes ending-mote{0%,to{opacity:0;transform:translateY(0)}40%{opacity:.35}to{transform:translateY(-24px)}}.ending-replay{margin-top:34px;animation:1.4s both ending-appear;position:relative}.ending-replay button{color:#fff0d4;min-height:52px;font:inherit;cursor:pointer;background:#f5deab12;border:1px solid #e4c28a80;border-radius:30px;padding:14px 24px;font-size:16px}.ending-replay button:focus-visible,.ending-heading h1:focus-visible{outline-offset:6px;outline:2px solid #ffe1ae}.ending-replay button:active{background:#f5deab25}.ending-entry-veil{z-index:20;pointer-events:none;background:#202541;animation:1.6s both ending-veil;position:fixed;inset:0}@keyframes ending-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes ending-glimmer{0%,to{opacity:.3}50%{opacity:.65}}@keyframes ending-veil{0%{opacity:0}to{opacity:1}}.birthday-ending--reduced *,.birthday-ending--reduced .ending-stars span{animation:none}@media (prefers-reduced-motion:reduce){.birthday-ending *,.ending-entry-veil{animation:none}.ending-entry-veil{opacity:1}}.birthday-intro--ending .sound-button{color:#ded5e7;border-color:#e4c28a70}:root{color:#463742;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--cream:#fcf7ee;--plum:#6b435d;--muted:#74616d;background:#fcf7ee;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@keyframes balloon-float{0%,to{translate:0}50%{translate:0 -7px}}@keyframes star-glimmer{0%,to{opacity:.35}50%{opacity:.9}}@keyframes candle-flicker{0%,to{transform:scale(1)rotate(-2deg)}50%{transform:scale(.92,1.06)rotate(2deg)}}@keyframes copy-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.candle-flame{animation:2s ease-in-out infinite candle-flicker}*{box-sizing:border-box}body{min-width:240px;margin:0}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible{outline:3px solid var(--plum);outline-offset:5px}h1:focus{outline:none}.birthday-intro{isolation:isolate;min-height:100svh;padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:radial-gradient(ellipse at 15% 22%, #f3e3ec88, transparent 50%), radial-gradient(ellipse at 85% 65%, #e9e4f888, transparent 50%), var(--cream);position:relative;overflow:hidden}.world-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1120px;margin:auto;display:flex}.world-label{color:var(--muted);font-family:Georgia,serif;font-size:.85rem;font-style:italic}.sound-button{min-height:44px;color:var(--muted);background:0 0;border:1px solid #b8a4ad66;border-radius:30px;align-items:center;gap:7px;padding:6px 10px;font-size:.7rem;display:flex}.sound-button:disabled{opacity:.8}.audio-control{z-index:10;position:relative}.music-popover{background:#fffaf5;border:1px solid #b8a4ad66;border-radius:16px;width:min(240px,80vw);padding:16px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 25px #7252681a}.music-title{color:var(--plum);margin:0;font-family:Georgia,serif;font-size:1rem}.music-artist{color:var(--muted);margin:5px 0 12px;font-size:.75rem}.music-actions{flex-wrap:wrap;gap:8px;display:flex}.music-actions button{min-height:44px;color:var(--plum);background:0 0;border:1px solid #b8a4ad66;border-radius:22px;padding:8px 15px;font-size:.8rem}.entrance{text-align:center;max-width:880px;margin:28px auto 0}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.24em;margin-bottom:16px;font-size:.63rem;display:block}h1{letter-spacing:-.045em;color:var(--plum);overflow-wrap:anywhere;text-wrap:balance;max-width:720px;margin:0 auto;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,7.5vw,4.4rem);font-weight:400;line-height:1.1}.title-icons{letter-spacing:.1em;margin-top:12px;font-size:1.2rem;display:block}.entrance__message{color:var(--muted);margin:16px 0 0;font-size:.98rem;line-height:1.6}.cake-scene{aspect-ratio:1.28;width:100%;max-width:560px;margin:-3px auto -7px;transition:transform 1.2s;position:relative}.scene-halo{background:radial-gradient(#fff9dfb3,#f5dfdb55 60%,#0000 72%);border-radius:50%;position:absolute;inset:6% 6% 7%}.scene-ground{background:radial-gradient(#c8a6a233,#0000 70%);border-radius:50%;width:90%;height:12%;position:absolute;bottom:8%;left:5%}.mascot{aspect-ratio:2/3;z-index:2;width:47%;position:absolute;bottom:8%;left:1%}.mascot img{width:100%;height:auto;display:block}.mascot__fallback{height:100%;color:var(--plum);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-family:Georgia,serif;display:flex}.mascot__fallback>span:first-child{font-size:6rem}.birthday-cake{z-index:3;width:57%;position:absolute;bottom:7%;right:0}.scene-flower{color:#bd9faa;z-index:4;font-size:1.75rem;position:absolute}.scene-flower--one{bottom:8%;left:5%;transform:rotate(-20deg)}.scene-flower--two{color:#b6a4c9;font-size:1.25rem;bottom:7%;right:6%}.scene-balloon{border-radius:50% 50% 46% 46%;width:9%;height:14%;animation:6s ease-in-out infinite balloon-float;position:absolute;box-shadow:inset -6px -6px 12px #b6a4c922}.scene-balloon:after{content:"";transform-origin:top;background:#baa7b077;width:1px;height:85px;position:absolute;top:100%;left:50%;transform:rotate(-8deg)}.scene-balloon--pink{background:#ecd1d8;top:16%;left:3%;transform:rotate(-15deg)}.scene-balloon--lavender{background:#ded8ed;animation-delay:-3s;top:8%;right:12%}.invitation{color:var(--plum);margin:0 0 15px;font-family:Georgia,serif;font-size:1.15rem;font-style:italic}.begin-button{background:var(--plum);border:1px solid var(--plum);color:#fffaf0;border-radius:40px;min-height:54px;padding:15px 33px;font-size:.95rem;transition:transform .2s,background .2s;box-shadow:0 8px 24px #7252681a}.begin-button:active{transform:scale(.97)}.begin-button span{color:#ecd8b5;margin-left:15px}.replay-button{min-height:48px;color:var(--plum);background:#fffaf044;border:1px solid #bca7b455;border-radius:30px;padding:12px 24px;font-size:.85rem}.audio-status{min-height:1.3rem;color:var(--muted);margin:10px 0 0;font-size:.75rem}.world-footer{text-align:center;letter-spacing:.06em;color:var(--muted);margin:16px auto 0;font-size:.65rem}.world-footer span{color:#ab8751;margin:0 12px}.ambient-stars{pointer-events:none;z-index:-1;position:absolute;inset:0}.ambient-stars span{left:calc(5% + var(--i) * 9%);color:#bda06888;animation:5s ease-in-out infinite star-glimmer;animation-delay:calc(var(--i) * -.7s);font-size:.75rem;position:absolute}.ambient-stars span:nth-child(3n){top:66%}.ambient-stars span:nth-child(3n+1){top:30%}.ambient-stars span:nth-child(3n+2){top:81%}.birthday-intro--started .entrance__copy{animation:.8s both copy-reveal}.cake-scene--focused{transform:scale(1.025)}@media (width>=700px){.birthday-intro{padding:max(28px, env(safe-area-inset-top)) max(48px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(48px, env(safe-area-inset-left))}.entrance{margin-top:30px}.cake-scene{max-width:510px;margin-top:-18px;margin-bottom:-18px}.title-icons{vertical-align:middle;display:inline}.world-label{font-size:1rem}.sound-button{padding-inline:14px;font-size:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.cake-scene--focused{transform:none}}
