@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.2xm1k7t3a0pcd.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(../media/b887d91685b8c137-s.330vchwb4izzb.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.16u3vygyjnhr0.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.2xm1k7t3a0pcd.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/b887d91685b8c137-s.330vchwb4izzb.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.16u3vygyjnhr0.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.2xm1k7t3a0pcd.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/b887d91685b8c137-s.330vchwb4izzb.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.16u3vygyjnhr0.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_b1772114-module__2QZkja__className{font-family:Fraunces,Fraunces Fallback}.fraunces_b1772114-module__2QZkja__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2?dpl=dpl_2scAvPHDpEEmzVhaqejMzc5oJ3ma)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_bbab2997-module__FMTFTa__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_bbab2997-module__FMTFTa__variable{--font-jakarta:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
:root{--blush:#f6eaf1;--lav:#ece6fb;--peach:#fceee3;--ink:#2b2440;--muted:#8c85a0;--coral:#e8927c;--coral-deep:#d9715a;--violet:#8e7dd6;--card:#fffdfa;--line:#eadfee;--shadow:0 24px 60px -28px #402a5a73}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-jakarta), system-ui, sans-serif;color:var(--ink);background:radial-gradient(120% 90% at 15% 0%, var(--blush) 0%, transparent 55%), radial-gradient(120% 90% at 100% 10%, var(--peach) 0%, transparent 50%), linear-gradient(180deg, var(--lav) 0%, #f7f2fb 60%, #fdf7f2 100%);-webkit-font-smoothing:antialiased;background-attachment:fixed;justify-content:center;min-height:100%;display:flex}.serif{font-family:var(--font-fraunces), serif}.app{width:100%;max-width:460px;padding:0 20px 48px;position:relative;overflow-x:clip}.topbar{justify-content:space-between;align-items:center;padding:22px 2px 8px;display:flex}.brand{font-family:var(--font-fraunces), serif;letter-spacing:-.01em;font-size:22px;font-weight:600}.brand .dot{color:var(--coral)}.credits{color:var(--muted);border:1px solid var(--line);background:#fff9;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;display:flex}.credits b{color:var(--ink)}.screen{animation:.55s cubic-bezier(.2,.8,.2,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero{text-align:center;padding:18px 4px 0}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--violet);font-size:12px;font-weight:600}.hero h1{font-family:var(--font-fraunces), serif;letter-spacing:-.02em;margin:14px 0 0;font-size:38px;font-weight:600;line-height:1.12}.hero h1 em{color:var(--coral-deep);font-style:italic}.hero p{color:var(--muted);max-width:300px;margin:16px auto 0;font-size:15px;line-height:1.7}.stage{max-width:340px;height:230px;margin:14px auto 4px;position:relative}.locket{background:var(--card);border:1px solid var(--line);width:108px;height:132px;box-shadow:var(--shadow);border-radius:60px;justify-content:center;align-items:center;display:flex;position:absolute;top:48px;overflow:hidden}.locket.l{left:6px;transform:rotate(-7deg)}.locket.r{right:6px;transform:rotate(7deg)}.locket .ph{opacity:.5;font-size:30px}.locket img{object-fit:cover;width:100%;height:100%}.spark{background:radial-gradient(circle at 50% 40%, #fff 0%, var(--peach) 45%, var(--coral) 100%);border-radius:50%;justify-content:center;align-items:center;width:74px;height:74px;font-size:30px;animation:3.2s ease-in-out infinite pulse;display:flex;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 10px #e8927c1f,0 0 40px #e8927c80}@keyframes pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.07)}}.btn{appearance:none;cursor:pointer;border:0;border-radius:16px;width:100%;padding:16px 22px;font-family:inherit;font-size:16px;font-weight:600;transition:transform .15s,box-shadow .15s,opacity .15s}.btn-primary{background:linear-gradient(180deg, var(--coral) 0%, var(--coral-deep) 100%);color:#fff;box-shadow:0 14px 28px -12px #d9715acc}.btn-primary:hover{transform:translateY(-2px)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:#ffffffb3}.btn-ghost:hover{transform:translateY(-2px)}.btn-row{gap:10px;display:flex}.btn-row .btn{padding:14px;font-size:15px}.cta-wrap{margin-top:28px}.fineprint{color:var(--muted);text-align:center;margin-top:14px;font-size:11.5px;line-height:1.6}.step-title{font-family:var(--font-fraunces), serif;letter-spacing:-.01em;margin:10px 4px 4px;font-size:25px;font-weight:600}.step-sub{color:var(--muted);margin:0 4px 22px;font-size:14px;line-height:1.6}.uploads{gap:14px;display:flex}.slot{aspect-ratio:3/3.4;background:var(--card);border:1.5px dashed var(--line);cursor:pointer;border-radius:26px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;transition:border-color .2s,transform .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px -22px #402a5a80}.slot:hover{transform:translateY(-2px)}.slot.filled{border-style:solid;border-color:var(--coral)}.slot img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.slot .icon{opacity:.55;font-size:30px}.slot .lbl{color:var(--muted);font-size:13px;font-weight:600}.slot .tag{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2b2440c7;border-radius:999px;padding:4px 10px;font-size:11px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.slot.checking{border-style:solid;border-color:var(--coral)}.slot .checking-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;z-index:1;background:#2b244075;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.slot .checking-overlay .spinner{border:3px solid #ffffff52;border-top-color:#fff;border-radius:50%;width:30px;height:30px;animation:.8s linear infinite slotspin}.slot .checking-overlay .checking-text{letter-spacing:.02em;text-shadow:0 1px 4px #0000004d;font-size:12px;font-weight:600}@keyframes slotspin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.slot .checking-overlay .spinner{animation-duration:2.2s}}.opt{margin-top:22px}.opt .ol{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;font-size:12px;font-weight:600}.chips{gap:8px;display:flex}.chip{text-align:center;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffffa6;border-radius:13px;flex:1;padding:11px 8px;font-size:14px;font-weight:600;transition:all .15s}.chip.sel{background:var(--ink);color:#fff;border-color:var(--ink)}.consent{border:1px solid var(--line);background:#ffffff8c;border-radius:16px;align-items:flex-start;gap:11px;margin-top:24px;padding:14px;display:flex}.consent input{width:18px;height:18px;accent-color:var(--coral);flex:none;margin-top:2px}.consent label{color:var(--ink);font-size:13px;line-height:1.6}.consent .sm{color:var(--muted);margin-top:4px;font-size:11.5px;display:block}.gen{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:#f7f2fbdb;flex-direction:column;justify-content:center;align-items:center;padding:30px;animation:.4s both fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.orb{background:radial-gradient(circle at 50% 38%, #fff 0%, var(--peach) 40%, var(--coral) 100%);width:120px;height:120px;animation:breathe var(--beat,1.8s) ease-in-out infinite;border-radius:50%;position:relative;box-shadow:0 0 60px #e8927c99}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.mp{width:54px;height:64px;box-shadow:var(--shadow);border:2px solid #fff;border-radius:30px;position:absolute;top:28px;left:33px;overflow:hidden}.mp img{object-fit:cover;width:100%;height:100%}.mp.a{animation:1.6s ease-in-out infinite alternate meetL}.mp.b{animation:1.6s ease-in-out infinite alternate meetR}@keyframes meetL{0%{transform:translate(-120px,-6px)rotate(-8deg)}to{transform:translate(-30px)rotate(-3deg)}}@keyframes meetR{0%{transform:translate(120px,-6px)rotate(8deg)}to{transform:translate(30px)rotate(3deg)}}.gen .msg{font-family:var(--font-fraunces), serif;text-align:center;margin-top:30px;font-size:19px}.gen .msg small{font-family:var(--font-jakarta), sans-serif;color:var(--muted);margin-top:8px;font-size:13px;font-weight:500;display:block}.keepsake{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;border-radius:28px;margin-top:8px;padding:20px 20px 24px}.baby{aspect-ratio:1;background:radial-gradient(130% 110% at 50% 0,#fff4ec 0%,#f3e9fb 70%,#ece0f6 100%);border-radius:22px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.baby img{object-fit:cover;width:100%;height:100%}.baby img.reveal{animation:.9s cubic-bezier(.2,.8,.2,1) both resolve}@keyframes resolve{0%{opacity:0;filter:blur(18px);transform:scale(1.06)}to{opacity:1;filter:blur();transform:scale(1)}}.resname{font-family:var(--font-fraunces), serif;margin-top:18px;font-size:24px;font-weight:600}.resname span{color:var(--muted);font-size:13px;font-weight:500;font-family:var(--font-jakarta), sans-serif;margin-top:3px;display:block}.attr{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:16px;display:flex}.attr .a{color:#5d4f9c;background:#8e7dd61f;border-radius:999px;padding:7px 12px;font-size:12.5px;font-weight:600;animation:.5s both rise}.parents{justify-content:center;align-items:center;gap:14px;margin-top:18px;display:flex}.parents .pp{width:46px;height:46px;box-shadow:var(--shadow);border:2px solid #fff;border-radius:50%;overflow:hidden}.parents .pp img{object-fit:cover;width:100%;height:100%}.parents .plus{color:var(--coral);font-size:20px}.paywall{text-align:center;border:1px solid var(--line);background:linear-gradient(#e8927c1a,#8e7dd61a);border-radius:22px;margin-top:22px;padding:20px}.paywall .free{color:var(--coral-deep);font-size:13px;font-weight:700}.paywall h3{font-family:var(--font-fraunces), serif;margin:6px 0 4px;font-size:18px;font-weight:600}.paywall p{color:var(--muted);margin-bottom:14px;font-size:13px;line-height:1.6}.packs{gap:8px;margin-bottom:12px;display:flex}.pack{border:1px solid var(--line);cursor:pointer;background:#ffffffb3;border-radius:14px;flex:1;padding:12px 8px;transition:all .15s}.pack:hover{transform:translateY(-2px)}.pack.featured{border-color:var(--coral)}.pack .n{font-size:15px;font-weight:700}.pack .p{color:var(--muted);margin:2px 0 0;font-size:12px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:55;background:#2b244066;justify-content:center;align-items:center;padding:24px;animation:.3s both fade;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;width:100%;max-width:380px;padding:24px 22px}.modal h3{font-family:var(--font-fraunces), serif;margin-bottom:6px;font-size:20px;font-weight:600}.modal p{color:var(--muted);margin-bottom:16px;font-size:13px;line-height:1.6}.field{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:14px;margin-bottom:12px;padding:14px;font-family:inherit;font-size:15px}.field:focus{outline:2px solid var(--coral);border-color:var(--coral)}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:0;width:100%;margin-top:12px;font-size:13px}.link-btn{color:var(--violet);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:600;text-decoration:underline}.toast{background:var(--ink);color:#fff;opacity:0;z-index:60;pointer-events:none;text-align:center;border-radius:999px;max-width:90vw;padding:12px 20px;font-size:13px;transition:all .3s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.soundToggle{border:1px solid var(--line);cursor:pointer;background:#fff9;border-radius:999px;padding:6px 10px;font-size:13px}.lang-toggle{border:1px solid var(--line);cursor:pointer;background:#fff9;border-radius:999px;align-items:center;gap:4px;padding:5px 10px;display:inline-flex}.lang-globe{font-size:12px;line-height:1}.lang-select{appearance:none;color:var(--ink);cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-family:inherit;font-size:12px;font-weight:600;line-height:1}.lang-select:focus{outline:none}.site-footer{border-top:1px solid var(--line);text-align:center;margin-top:40px;padding:24px 4px 8px}.site-footer .links{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:10px;display:flex}.site-footer a{color:var(--muted);font-size:12px;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer .disc{color:var(--muted);font-size:11px;line-height:1.6}.legal{padding:8px 4px 0}.legal h1{font-family:var(--font-fraunces), serif;margin:8px 0 16px;font-size:26px;font-weight:600}.legal h2{margin:24px 0 6px;font-size:15px}.legal p,.legal li,.legal dd,.legal dt{color:var(--ink);font-size:13.5px;line-height:1.85}.legal dt{margin-top:14px;font-weight:600}.legal dd{margin:0}.legal ul{padding-left:1.2em}.legal a{color:var(--violet)}.legal .muted{color:var(--muted);font-size:12px}.legal .todo{color:var(--coral-deep);background:#e8927c24;border-radius:4px;padding:0 4px;font-weight:600}.back-link{color:var(--violet);margin:8px 0 4px;font-size:13px;text-decoration:none;display:inline-block}.portrait{width:100%;height:100%;display:block}.locket .ph{display:none}.spark-svg{filter:drop-shadow(0 3px 8px #d9715a73);width:42px;height:42px}.spk-main{transform-origin:30px 30px;animation:3.2s ease-in-out infinite spkPulse}.spk-sm{transform-origin:46px 20px;animation:2.4s ease-in-out infinite spkTwinkle}@keyframes spkPulse{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.12)rotate(15deg)}}@keyframes spkTwinkle{0%,to{opacity:.35;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}.twinkles{pointer-events:none;position:absolute;inset:0}.tw{opacity:0;animation:4.6s ease-in-out infinite twFloat;position:absolute}.tw svg{fill:currentColor;width:100%;height:auto;display:block}@keyframes twFloat{0%{opacity:0;transform:translateY(8px)scale(.55)rotate(0)}30%{opacity:.95}65%{opacity:.5}to{opacity:0;transform:translateY(-16px)scale(1)rotate(45deg)}}.orb-wrap{justify-content:center;align-items:center;width:210px;height:210px;display:flex;position:relative}.aura{background:conic-gradient(from 0deg, transparent 0 55%, #e8927c8c 78%, #8e7dd680 92%, transparent 100%);border-radius:50%;width:196px;height:196px;animation:3.4s linear infinite spin;position:absolute;-webkit-mask:radial-gradient(closest-side,#0000 61%,#000 63%);mask:radial-gradient(closest-side,#0000 61%,#000 63%)}@keyframes spin{to{transform:rotate(360deg)}}.orbit{width:170px;height:170px;animation:6s linear infinite spin;position:absolute}.os{filter:drop-shadow(0 0 6px #ffd2b4f2);width:16px;position:absolute}.os svg{fill:#ffe6d6;width:100%;height:auto;animation:1.8s ease-in-out infinite spkTwinkle}.os1{top:-3px;left:77px}.os2{top:117px;left:146px}.os3{top:117px;left:8px}.orb-core{z-index:0;opacity:.9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.orb-core .spark-svg{width:30px;height:30px}.mp{z-index:2}.dust{pointer-events:none;position:absolute;inset:0}.dust span{background:radial-gradient(circle, #fff 0%, var(--coral) 85%);opacity:0;border-radius:50%;width:6px;height:6px;animation:2.6s ease-in infinite riseDust;position:absolute;bottom:56px}@keyframes riseDust{0%{opacity:0;transform:translateY(0)scale(.4)}20%{opacity:.9}to{opacity:0;transform:translateY(-130px)scale(1)}}.gen-bar{background:#8e7dd62e;border-radius:999px;width:168px;height:4px;margin-top:22px;overflow:hidden}.gen-bar span{background:linear-gradient(90deg, var(--coral), var(--violet));border-radius:999px;width:38%;height:100%;animation:1.6s ease-in-out infinite barSlide;display:block}@keyframes barSlide{0%{transform:translate(-115%)}to{transform:translate(330%)}}.reveal-fx{pointer-events:none;z-index:3;border-radius:22px;position:absolute;inset:0;overflow:hidden}.bloom{opacity:0;background:radial-gradient(circle at 50% 45%,#fffffff2 0%,#ffe4d280 32%,#0000 66%);animation:1s ease-out both bloom;position:absolute;inset:0}@keyframes bloom{0%{opacity:0;transform:scale(.6)}25%{opacity:1}to{opacity:0;transform:scale(1.3)}}.sweep{opacity:0;background:linear-gradient(100deg,#0000,#ffffff8c,#0000);width:50%;height:100%;animation:1.1s ease-out .25s both sweep;position:absolute;top:0;left:-60%;transform:skew(-12deg)}@keyframes sweep{0%{opacity:0;left:-60%}20%{opacity:1}to{opacity:0;left:120%}}.burst{position:absolute;inset:0}.bp{opacity:0;filter:drop-shadow(0 0 5px #ffc8a0e6);width:18px;animation:burst .95s ease-out var(--bd,0s) both;margin:-9px;position:absolute;top:50%;left:50%}.bp svg{fill:#ffe6d6;width:100%;height:auto}@keyframes burst{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(.2)}35%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(calc(-1 * var(--dist))) scale(1)}}@media (prefers-reduced-motion:reduce){*,.orb,.mp,.baby img.reveal,.spark{transition:opacity .3s!important;animation:none!important}.bloom,.sweep,.bp,.tw,.dust span{opacity:0!important}}
