@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-cyrillic-ext-400-normal-DSMdNVE8.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-ext-400-normal-VkYjgaS0.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-cyrillic-400-normal-CUyuoOIN.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-400-normal-CDK5Gr3o.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-vietnamese-400-normal-jSNF4ReH.woff2) format("woff2"),url(./cormorant-garamond-vietnamese-400-normal-DHTeb68E.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-ext-400-normal-BP5VYi0K.woff2) format("woff2"),url(./cormorant-garamond-latin-ext-400-normal-6tP91n7k.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-normal-CUJuyepZ.woff2) format("woff2"),url(./cormorant-garamond-latin-400-normal-GnKTm10X.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-cyrillic-ext-500-italic-D1EMqwje.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-ext-500-italic-BI2feWw2.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-cyrillic-500-italic-vGcrhY4I.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-500-italic-VUMlMmGU.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-vietnamese-500-italic-CX-QgJu2.woff2) format("woff2"),url(./cormorant-garamond-vietnamese-500-italic-DqiZaY0v.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-ext-500-italic-CiQjon8C.woff2) format("woff2"),url(./cormorant-garamond-latin-ext-500-italic-BIjqfXIc.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-500-italic-BSrQRlJ1.woff2) format("woff2"),url(./cormorant-garamond-latin-500-italic-BaUAIr90.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:300;src:url(./jost-cyrillic-300-normal-B6YEgJBM.woff2) format("woff2"),url(./jost-cyrillic-300-normal-B7tvMNik.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:300;src:url(./jost-latin-ext-300-normal-D9NR8WQF.woff2) format("woff2"),url(./jost-latin-ext-300-normal-BluBvw_e.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Jost;font-style:normal;font-display:swap;font-weight:300;src:url(./jost-latin-300-normal-BluLHonz.woff2) format("woff2"),url(./jost-latin-300-normal-CgBexs6D.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(./jost-cyrillic-400-normal-BtgWfBfi.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(./jost-latin-ext-400-normal-zqd3NV1I.woff2) format("woff2"),url(./jost-latin-ext-400-normal-CRvCkUyT.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(./jost-latin-400-normal-CXmcBJW6.woff2) format("woff2"),url(./jost-latin-400-normal-B7BnFUKw.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cream: #fbf6f0;--beige: #f4ebe1;--beige-deep: #e9dccb;--rose: #e8c4c4;--rose-soft: #f3dede;--rose-deep: #b98585;--gold: #c9a27e;--ink: #6b5050;--ink-soft: #9a8080;--serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--sans: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);font-weight:300;color:var(--ink);background:radial-gradient(120% 70% at 50% 0%,var(--rose-soft) 0%,transparent 60%),radial-gradient(90% 60% at 50% 100%,var(--beige-deep) 0%,transparent 70%),var(--beige);background-attachment:fixed;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}button{font:inherit;color:inherit}.page{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:max(28px,env(safe-area-inset-top)) 18px max(28px,env(safe-area-inset-bottom))}.brand{color:var(--rose-deep);margin-bottom:clamp(16px,4vh,36px);animation:fade-down 1.2s ease both}.logo{display:block}.stage{flex:1;width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}.footer{margin-top:clamp(24px,5vh,40px);font-family:var(--serif);font-style:italic;font-size:1rem;letter-spacing:.06em;color:var(--ink-soft);animation:fade 1.2s .6s ease both}body:has(.daynav) .page{padding-bottom:96px}body:has(.devnav) .page{padding-bottom:96px}body:has(.devnav):has(.daynav) .page{padding-bottom:150px}.slide{width:100%;min-height:min(62vh,520px);border-radius:28px;background:color-mix(in srgb,var(--cream) 82%,transparent);border:1px solid color-mix(in srgb,var(--rose) 55%,transparent);box-shadow:0 24px 60px -30px #96646459;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);position:relative;overflow:hidden}.slide-intro{display:block;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.slide-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(32px,8vw,56px) clamp(22px,7vw,52px);animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.slide-date{margin:0;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}.slide-countdown{color:var(--rose-deep)}.slide-title{margin:10px 0 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(2rem,8vw,2.8rem);line-height:1.1;color:var(--rose-deep)}.divider{display:block;margin:18px 0;color:var(--gold);font-size:.8rem}.slide-text{margin:0;font-family:var(--serif);font-size:clamp(1.25rem,4.6vw,1.5rem);line-height:1.55;white-space:pre-line}.slide-text-after{font-size:clamp(1.1rem,4.2vw,1.3rem);animation:rise .9s 2.2s ease both}.symbol{width:clamp(120px,38vw,160px);height:auto;margin:22px 0;overflow:visible;fill:none;stroke:var(--rose-deep);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.symbol path:not(.other-half){stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.4s .6s ease forwards}.symbol .fine{stroke-width:1.1;animation-delay:1.4s;animation-duration:.7s}.symbol .other-half{stroke-dasharray:1.5 3;opacity:0;transform-box:fill-box;transform-origin:0% 100%;animation:other-half 1s 1.9s ease forwards,half-beat 2.4s 3s ease-in-out infinite}@keyframes other-half{to{opacity:.55}}@keyframes half-beat{0%,to{transform:scale(1)}20%{transform:scale(1.05)}40%{transform:scale(1)}}.symbol-logo{margin:22px 0;color:var(--rose-deep)}.slide-link{margin-top:26px;color:var(--rose-deep);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;letter-spacing:.04em}.is-birthday .slide-title{font-size:clamp(2.1rem,9vw,3.1rem)}.btn{margin-top:32px;border:0;border-radius:999px;padding:14px 30px;background:var(--rose-deep);color:var(--cream);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;cursor:pointer;transition:transform .2s ease,background .2s ease;animation:rise .8s .5s ease both}.btn:hover{background:#a87272;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--rose-deep);border:1px solid var(--rose)}.btn-ghost:hover{background:var(--rose-soft)}.dots{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.dot{width:9px;height:9px;padding:0;border-radius:50%;border:1px solid var(--rose-deep);background:transparent;cursor:pointer;transition:transform .2s,background .2s}.dot.is-active{background:var(--rose-deep);transform:scale(1.25)}.daynav{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:10;display:flex;gap:8px;padding:6px;border-radius:999px;background:color-mix(in srgb,var(--cream) 88%,transparent);border:1px solid color-mix(in srgb,var(--rose) 70%,transparent);box-shadow:0 10px 30px -14px #96646473;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .8s ease both}.daynav button{width:40px;height:40px;border:0;border-radius:50%;background:var(--rose-soft);color:var(--rose-deep);font-size:1.25rem;line-height:1;cursor:pointer;transition:background .2s,opacity .2s}.daynav button:hover:not(:disabled){background:var(--rose)}.daynav button:disabled{opacity:.35;cursor:default}body:has(.devnav) .daynav{bottom:calc(68px + env(safe-area-inset-bottom))}.waiting{text-align:center;animation:rise 1s ease both}.waiting-count{margin:0;font-family:var(--serif);font-size:clamp(5rem,26vw,8rem);line-height:1;color:var(--rose-deep)}.waiting-text{max-width:26em;margin:8px auto 0;padding:0 8px;font-size:1.05rem;line-height:1.7;color:var(--ink-soft)}.waiting-return{margin-top:18px;font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--rose-deep)}.intro{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.intro-day{position:absolute;bottom:28px;margin:0;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);animation:fade 1s .4s ease both}.art{position:relative;width:180px;height:180px}.art-invite{width:100%;height:auto;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 24px}.invite-logo{color:var(--rose-deep);margin-bottom:26px;animation:logo-breathe 3.2s 2.4s ease-in-out infinite}.logo-animated{overflow:visible}.logo-animated .logo-sun{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .9s ease forwards,sun-glow 1s .8s ease forwards}.logo-animated .logo-ray{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .35s calc(.6s + var(--i) * .1s) ease forwards}.logo-animated .logo-crown{transform-box:fill-box;transform-origin:50% 100%;animation:crown-land .9s 1.3s cubic-bezier(.3,1.5,.5,1) both}.logo-animated .logo-gems>*{transform-box:fill-box;transform-origin:center;animation:pop .35s 2s ease both,twinkle-gem .6s 2.3s ease}.logo-animated .logo-gems>:nth-child(2),.logo-animated .logo-gems>:nth-child(3){animation-delay:2.08s,2.38s}.logo-animated .logo-gems>:nth-child(5){animation-delay:2.16s,2.46s}@keyframes sun-glow{to{fill:var(--rose-soft)}}@keyframes crown-land{0%{opacity:0;transform:translateY(-16px) rotate(-8deg)}60%{opacity:1}}@keyframes twinkle-gem{50%{transform:scale(1.8)}}@keyframes logo-breathe{50%{transform:scale(1.04)}}.invite-line{margin:0;font-family:var(--serif);font-size:clamp(1.3rem,5vw,1.6rem);text-align:center;animation:rise .9s var(--d) ease both}.invite-line:last-child{font-style:italic;color:var(--rose-deep)}.art-heart{width:150px;height:135px;overflow:visible}.art-heart path{fill:transparent;stroke:var(--rose-deep);stroke-width:2;stroke-dasharray:320;stroke-dashoffset:320;animation:draw 1.6s ease forwards,heart-fill .8s 1.5s ease forwards,beat 1s 1.8s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.art-petals{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto}.art-petals span{position:absolute;top:-20px;left:var(--x);width:14px;height:18px;border-radius:80% 0;background:var(--rose);opacity:.85;animation:fall 2.6s var(--delay) ease-in both;transform:rotate(var(--rot))}.art-bloom span{position:absolute;left:50%;top:50%;width:44px;height:70px;margin:-70px 0 0 -22px;border-radius:50%/60% 60% 40% 40%;background:var(--rose);opacity:.75;transform-origin:50% 100%;transform:rotate(var(--a)) scale(0);animation:petal-open .9s var(--delay) cubic-bezier(.3,1.4,.5,1) forwards}.art-bloom i{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:var(--gold);animation:pop .6s 1.1s ease both}.art-stars{position:absolute;top:12%;right:12%;bottom:12%;left:12%;width:auto;height:auto}.art-stars span{position:absolute;left:var(--x);top:var(--y);color:var(--gold);font-size:calc(var(--s) * 1.3rem);animation:twinkle 1.8s var(--delay) ease-in-out infinite both}.art-ripple span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid var(--rose-deep);animation:ripple 2.4s var(--delay) ease-out infinite both}.art-moon .moon{position:absolute;top:45px;right:45px;bottom:45px;left:45px;border-radius:50%;box-shadow:inset -18px 6px 0 0 var(--rose-deep);animation:fade 1.2s ease both,sway 3s ease-in-out infinite}.art-moon .orbit{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px dashed color-mix(in srgb,var(--rose) 70%,transparent);animation:spin 4s linear infinite}.art-moon .orbit span{position:absolute;top:-5px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--gold)}.art-sparkle span{position:absolute;left:50%;top:50%;width:2px;height:26px;margin-left:-1px;background:linear-gradient(var(--gold),transparent);transform-origin:50% 0;transform:rotate(var(--a)) translateY(10px) scaleY(0);animation:burst 1.2s var(--delay) ease-out forwards}.art-sparkle i{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-style:normal;font-size:3rem;color:var(--rose-deep);animation:pop .8s ease both,spin 6s linear infinite}.art-letter{width:170px;height:120px;margin-top:40px;perspective:600px}.art-letter .envelope{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--rose);border-radius:6px;clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);z-index:2}.art-letter .flap{position:absolute;left:0;right:0;top:0;height:66px;background:var(--rose-deep);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:3;animation:flap .8s .6s ease forwards}.art-letter .paper{position:absolute;left:12px;right:12px;top:8px;height:100px;background:var(--cream);border-radius:4px;box-shadow:0 2px 8px #0000000f;z-index:1;animation:paper .9s 1.3s ease forwards}.art-gift{width:150px;height:150px;margin-top:30px;animation:pop .7s cubic-bezier(.3,1.5,.5,1) both}.gift-box{position:absolute;left:15px;right:15px;bottom:0;height:88px;background:var(--rose);border-radius:3px 3px 8px 8px}.gift-box:before,.gift-lid:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:16px;margin-left:-8px;background:var(--gold)}.gift-lid{position:absolute;left:6px;right:6px;bottom:86px;height:26px;background:var(--rose-deep);border-radius:4px;transform-origin:0 100%;z-index:2;animation:lid-open .8s 1.1s cubic-bezier(.3,1.4,.5,1) forwards}.gift-bow{position:absolute;left:50%;bottom:100%}.gift-bow:before,.gift-bow:after{content:"";position:absolute;bottom:-3px;width:22px;height:15px;border:4px solid var(--gold);border-radius:50%}.gift-bow:before{right:0;transform-origin:right bottom;transform:rotate(-28deg)}.gift-bow:after{left:0;transform-origin:left bottom;transform:rotate(28deg)}.gift-spark{position:absolute;left:50%;bottom:88px;width:2px;height:26px;margin-left:-1px;background:linear-gradient(var(--gold),transparent);transform-origin:50% 0;transform:rotate(var(--a)) translateY(10px) scaleY(0);animation:burst 1.2s var(--delay) ease-out forwards}.gift-heart{position:absolute;left:0;right:0;bottom:60px;text-align:center;font-style:normal;font-size:2.4rem;color:var(--rose-deep);opacity:0;z-index:3;animation:heart-out 1s 1.4s cubic-bezier(.3,1.5,.5,1) forwards}@keyframes lid-open{to{transform:translate(-46px,-8px) rotate(-14deg)}}@keyframes heart-out{40%{opacity:1}to{opacity:1;transform:translateY(-88px)}}.art-eve{width:auto;height:auto;text-align:center}.eve-number{display:block;font-family:var(--serif);font-size:8rem;line-height:1;color:var(--rose-deep);animation:pop 1s cubic-bezier(.3,1.5,.5,1) both}.art-eve p{margin:4px 0 0;font-family:var(--serif);font-style:italic;font-size:1.4rem;animation:rise .8s .7s ease both}.celebration{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,var(--rose-soft) 0%,transparent 65%)}.cel-rays{position:absolute;left:50%;top:38%;width:0;height:0;animation:spin 22s linear infinite}.cel-rays span{position:absolute;width:2px;height:140vmax;margin-left:-1px;background:linear-gradient(color-mix(in srgb,var(--rose) 60%,transparent),transparent 40%);transform-origin:50% 0;transform:rotate(var(--a)) scaleY(0);animation:ray 1.4s .3s cubic-bezier(.2,.7,.2,1) forwards}.cel-logo{position:relative;color:var(--rose-deep);animation:crown-drop 1.3s cubic-bezier(.3,1.4,.5,1) both}.cel-phrase{position:relative;margin:24px 0 0;padding:0 20px;display:flex;flex-wrap:wrap;justify-content:center;column-gap:.32em;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(2.2rem,10vw,3.4rem);line-height:1.15;color:var(--rose-deep)}.cel-line{flex-basis:100%;display:flex;justify-content:center;column-gap:.32em}.cel-word{display:inline-flex;white-space:nowrap}.cel-letter{display:inline-block;animation:letter .7s calc(1.2s + var(--i) * .07s) cubic-bezier(.3,1.6,.5,1) both}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti span{position:absolute;top:-16px;left:var(--x);width:var(--w);height:calc(var(--w) * 1.6);background:var(--c);border-radius:2px;opacity:0;animation:confetti var(--dur) var(--delay) ease-in infinite}.mosaic{width:100%;text-align:center;animation:rise .9s ease both}.stage:has(.mosaic){max-width:920px}.mosaic-title{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(2rem,8vw,2.8rem);color:var(--rose-deep)}.mosaic-sub{margin:6px 0 28px;color:var(--ink-soft)}.mosaic-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.mosaic-grid li{animation:rise .6s calc(var(--i) * .07s) ease both}.mosaic-grid li:nth-child(4n+1) .tile{background:var(--rose-soft)}.mosaic-grid li:nth-child(4n+3) .tile{background:var(--beige-deep)}.tile{width:100%;aspect-ratio:1;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:16px;border-radius:20px;border:1px solid color-mix(in srgb,var(--rose) 55%,transparent);background:var(--cream);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px #96646480}.tile-num{font-family:var(--serif);font-size:2rem;line-height:1;color:var(--rose-deep)}.tile-date{margin-top:4px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.tile-text{margin-top:auto;font-family:var(--serif);font-size:1.05rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--beige) 70%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fade .3s ease both}.overlay-card{max-width:520px;min-height:0}@media (max-width: 420px){.mosaic-grid{grid-template-columns:repeat(2,1fr);gap:10px}.tile{padding:12px;border-radius:16px}.tile-num{font-size:1.6rem}}.devnav{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:#463232d1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 10px 30px -12px #0006}.devnav button,.devnav select{height:36px;border:0;border-radius:999px;background:#ffffff1f;color:#fff;cursor:pointer}.devnav button{width:36px;font-size:1.15rem;line-height:1}.devnav button:disabled{opacity:.3;cursor:default}.devnav select{padding:0 12px;font-size:.85rem}.devnav option{color:var(--ink)}@keyframes fade{0%{opacity:0}}@keyframes fade-down{0%{opacity:0;transform:translateY(-12px)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@keyframes pop{0%{opacity:0;transform:scale(.3)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sway{50%{transform:rotate(-12deg)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes heart-fill{to{fill:var(--rose)}}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.1)}30%{transform:scale(1)}45%{transform:scale(1.06)}}@keyframes fall{0%{opacity:0;transform:translate(0) rotate(var(--rot))}15%{opacity:.9}to{opacity:0;transform:translate(30px,560px) rotate(calc(var(--rot) + 240deg))}}@keyframes petal-open{to{transform:rotate(var(--a)) scale(1)}}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}}@keyframes ripple{0%{opacity:.9;transform:scale(.1)}to{opacity:0;transform:scale(1.2)}}@keyframes burst{to{transform:rotate(var(--a)) translateY(38px) scaleY(1);opacity:.2}}@keyframes flap{to{transform:rotateX(180deg);z-index:0}}@keyframes paper{to{transform:translateY(-58px)}}@keyframes ray{to{transform:rotate(var(--a)) scaleY(1)}}@keyframes crown-drop{0%{opacity:0;transform:translateY(-90px) scale(.5) rotate(-20deg)}}@keyframes letter{0%{opacity:0;transform:translateY(40px) scale(.4) rotate(-12deg)}}@keyframes confetti{0%{opacity:0;transform:translate(0) rotate(0)}10%{opacity:1}to{opacity:0;transform:translate(var(--drift),110vh) rotate(var(--spin))}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important}}.hl{font-style:inherit;color:var(--rose-deep)}
