.forest-letter_letterBackground__vmKYN{width:100%;height:100%;min-height:0;overflow:hidden}.forest-letter_letter__Ge_La{width:100%;height:100%;min-height:0;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:calc(208px + env(safe-area-inset-bottom, 0px));scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--letter-accent) 35%,transparent) transparent;color:var(--letter-ink);-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 194px - env(safe-area-inset-bottom)),transparent calc(100% - 146px - env(safe-area-inset-bottom)));mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 194px - env(safe-area-inset-bottom)),transparent calc(100% - 146px - env(safe-area-inset-bottom)));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.forest-letter_top__nC18M{padding:clamp(80px,14vh,160px) 32px 80px}.forest-letter_measure__KVBEb{max-width:620px;margin:0 auto}.forest-letter_meta__p_OCG{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:56px;color:var(--letter-muted);font-family:var(--font-geist),sans-serif;font-size:11px;letter-spacing:.32em;text-align:center;text-transform:uppercase}.forest-letter_metaRule__ghV9O{width:28px;height:1px;margin:12px 0 6px;background:var(--letter-accent);opacity:.5}.forest-letter_greeting__S7GFb{margin:0 0 56px;color:var(--letter-ink);font-family:var(--font-cormorant),Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(52px,7vw,92px);line-height:1;letter-spacing:-.015em;text-align:center;overflow-wrap:anywhere;word-break:break-word}.forest-letter_accent__CfhKh{color:var(--letter-accent)}.forest-letter_body__pIOQf{margin:0 0 1.4em;color:var(--letter-ink);font-family:var(--font-cormorant),Georgia,serif;font-weight:400;font-size:clamp(20px,1.7vw,24px);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.forest-letter_numberedBody__kAZg2{margin:0;font-size:clamp(18px,1.55vw,22px);line-height:1.2}.forest-letter_closing__Fx0CD{padding:20px 32px calc(208px + env(safe-area-inset-bottom, 0px))}.forest-letter_divider__2Ys2B{display:flex;align-items:center;justify-content:center;margin:0 0 16px}.forest-letter_iconRule__MaSEQ{width:48px;height:1px;background:var(--letter-accent);opacity:.35}.forest-letter_signatureIcon__dEbqi{display:flex;align-items:center;justify-content:center;margin:0 10px;color:var(--letter-accent)}.forest-letter_plainRule__sAyPp{width:80px;height:1px;background:var(--letter-accent);opacity:.35}.forest-letter_signoffBlock__hrUIF{text-align:center}.forest-letter_signoff__liXPM{margin-bottom:14px;font:italic 400 18px var(--font-cormorant),Georgia,serif}.forest-letter_signatureName__48vDM,.forest-letter_signoff__liXPM{color:var(--letter-ink);overflow-wrap:anywhere;word-break:break-word}.forest-letter_signatureName__48vDM{max-width:100%;box-sizing:border-box;font-family:var(--font-priestacy),cursive;font-size:clamp(34px,4vw,48px);line-height:1.1}.forest-letter_drawnSignature__IUFeV,.forest-letter_signatureName__48vDM{display:inline-block;padding:4px 8px;transform:rotate(-3deg)}.forest-letter_drawnSignature__IUFeV svg{display:block;width:min(72vw,300px);height:auto;overflow:visible}.forest-letter_drawnSignature__IUFeV path{fill:none;stroke:var(--letter-ink);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.forest-letter_voice__98xy_{display:flex;align-items:center;gap:9px;margin-top:24px;color:var(--letter-muted);font:11px var(--font-geist),sans-serif;letter-spacing:.035em}.forest-letter_voice__98xy_ audio{display:none}.forest-letter_voiceButton__XPopd{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;padding:0;color:var(--letter-ink);background:transparent;border:1px solid var(--letter-accent);border-radius:50%;cursor:pointer}.forest-letter_voiceButton__XPopd:focus-visible{outline:2px solid var(--letter-accent);outline-offset:3px}.forest-letter_voiceButton__XPopd svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.forest-letter_voiceButton__XPopd .forest-letter_playIcon__8NXxA{fill:currentColor;stroke:none}.forest-letter_voiceError__uPehU{color:var(--letter-accent)}.delight_washiScroller__i3n0F{position:absolute;inset:0;z-index:3;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:max(138px,calc(env(safe-area-inset-top) + 118px),calc(min(560px, 100vw - 28px) * .3 + 30px)) 0 calc(170px + env(safe-area-inset-bottom));touch-action:pan-y}.delight_washiScroller__i3n0F::-webkit-scrollbar{display:none}.delight_washiScroller__i3n0F[data-active=false]{pointer-events:none;visibility:hidden}.delight_washiSheet__w03oa{position:relative;width:min(560px,calc(100% - 28px));margin:0 auto;padding:44px clamp(24px,7vw,46px) 48px;box-sizing:border-box;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.delight_washiSheet__w03oa *{color:transparent}.delight_washiMeta__3W7eJ{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 0 30px;font:500 10.5px/1.4 var(--font-geist),sans-serif;letter-spacing:.3em;text-transform:uppercase;text-align:center}.delight_washiRule__20R8x{display:block;width:28px;height:1px;margin:10px 0 4px}.delight_washiGreeting__mo3OC{margin:0 0 30px;font:italic 400 clamp(40px,11vw,62px)/1.04 var(--font-instrument),Georgia,serif;letter-spacing:-.01em;text-align:center;overflow-wrap:anywhere}.delight_washiBody__jFmGl{margin:0 0 1.3em;font:400 clamp(19px,5vw,22px)/1.56 var(--font-cormorant),Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.delight_washiVoice__33but{display:flex;align-items:center;gap:10px;margin:6px 0 22px;font:11px/1.3 var(--font-geist),sans-serif;letter-spacing:.04em}.delight_washiVoice__33but audio{display:none}.delight_washiVoiceButton__7Tnhq{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid var(--washi-accent);background:transparent;color:var(--washi-ink)!important;cursor:pointer}.delight_washiVoiceButton__7Tnhq svg{width:18px;height:18px;fill:none;stroke:var(--washi-ink);stroke-width:1.7;stroke-linecap:round}.delight_washiVoiceButton__7Tnhq .delight_washiPlay__DGWQ_{fill:var(--washi-ink);stroke:none}.delight_washiVoiceButton__7Tnhq:focus-visible{outline:2px solid var(--washi-accent);outline-offset:3px}.delight_washiDivider__x_35h{display:flex;align-items:center;justify-content:center;margin:22px 0 16px}.delight_washiIcon__KlGGD{display:flex;margin:0 10px}.delight_washiSignoff__btv30{margin:0 0 12px;font:italic 400 19px/1.3 var(--font-cormorant),Georgia,serif;text-align:center;overflow-wrap:anywhere}.delight_washiSignature__oK9v9{margin:0;font:400 clamp(34px,9vw,46px)/1.15 var(--font-priestacy),cursive;text-align:center;overflow-wrap:anywhere}.delight_washiDrawn__EkWBQ{display:block;width:min(64vw,260px);height:auto;margin:0 auto;overflow:visible}.delight_washiDrawn__EkWBQ path{fill:none;stroke:transparent}@keyframes delight_washiHint___Zhik{0%{opacity:0;transform:translate(-50%,6px)}10%,82%{opacity:1;transform:translate(-50%)}to{opacity:0}}.delight_touchSurface__YdKAD{position:absolute;inset:0;z-index:1;touch-action:none;-webkit-tap-highlight-color:transparent}.delight_touchHint__KhYzk{position:absolute;z-index:6;left:50%;top:calc(24px + env(safe-area-inset-top));transform:translateX(-50%);margin:0;padding:7px 14px;border-radius:999px;background:var(--sakura-glass,rgba(48,29,43,.56));color:var(--sakura-accent-bright,#ffe1ce);font:500 11px/1.2 var(--font-geist),sans-serif;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:delight_washiHint___Zhik 5s ease 2.2s both}@media (prefers-reduced-motion:reduce){.delight_touchHint__KhYzk{animation:none}}.ending-preview_preview__t9WhW{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;isolation:isolate;background:#b9889a;color:#553444;font-family:var(--font-geist),sans-serif}.ending-preview_preview__t9WhW[data-theme=night]{background:#2c2745;color:#eeeaff}.ending-preview_still__Yetbt,.ending-preview_world__9GK11{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ending-preview_ending__eVXVX{position:absolute;z-index:2;top:max(98px,calc(max(var(--sakura-preview-bleed-top, 0px), env(safe-area-inset-top, 0px)) + 79px));bottom:calc(max(var(--sakura-preview-bleed-bottom, 0px), env(safe-area-inset-bottom, 0px)) + 132px);left:max(24px,env(safe-area-inset-left));width:min(480px,calc(100% - 64px));overflow-y:auto;overflow-x:hidden;padding:0 .2em .5em 0;overscroll-behavior:contain;animation:ending-preview_appear__ZRQ_e 1.4s ease both}.ending-preview_ending__eVXVX h2{margin:0;font:400 clamp(36px,8vw,54px)/1.12 var(--font-instrument),Georgia,serif;letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere}.ending-preview_ending__eVXVX p{--script-signature-bottom-padding:1em;margin:32px 0 0;padding-block-end:var(--script-signature-bottom-padding);font:400 clamp(31px,3.6vw,43px)/1.1 var(--font-priestacy),cursive;overflow-wrap:anywhere;clip-path:inset(-1em 100% -1em 0);animation:ending-preview_nameWrite__dK7me 1.9s cubic-bezier(.45,.05,.3,1) .9s forwards}.ending-preview_signature__lYi2g{display:block;width:min(170px,55%);height:58px;margin-top:24px;overflow:visible}.ending-preview_signature__lYi2g path{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:ending-preview_signatureWrite__2Hxax 1.1s cubic-bezier(.55,.1,.35,1) forwards}.ending-preview_preview__t9WhW[data-theme=night] .ending-preview_ending__eVXVX{text-shadow:0 2px 20px rgba(4,7,20,.7)}.ending-preview_preview__t9WhW[data-reduced=true] .ending-preview_ending__eVXVX,.ending-preview_preview__t9WhW[data-reduced=true] .ending-preview_ending__eVXVX p,.ending-preview_preview__t9WhW[data-reduced=true] .ending-preview_signature__lYi2g path{animation:none;clip-path:none;stroke-dashoffset:0}@media (min-width:760px){.ending-preview_ending__eVXVX{left:8vw;top:max(130px,calc(max(var(--sakura-preview-bleed-top, 0px), env(safe-area-inset-top, 0px)) + 79px));width:min(480px,38vw)}}@media (prefers-reduced-motion:reduce){.ending-preview_ending__eVXVX,.ending-preview_ending__eVXVX p,.ending-preview_signature__lYi2g path{animation:none;clip-path:none;stroke-dashoffset:0}}@keyframes ending-preview_appear__ZRQ_e{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes ending-preview_signatureWrite__2Hxax{to{stroke-dashoffset:0}}@keyframes ending-preview_nameWrite__dK7me{to{clip-path:inset(-1em 0 -1em 0)}}.opening-invitation_overlay__ThHrX{z-index:30;isolation:isolate;pointer-events:auto;overflow:hidden;color:#fff4f1;--fs-hero:clamp(40px,11vw,76px);--fs-body:clamp(17px,4.4vw,19px);--fs-button:15px;--sakura-seal:rgba(244,193,209,.82);--sakura-glow:rgba(239,158,187,.35)}.opening-invitation_overlay__ThHrX[data-theme=day]{--sakura-seal:rgba(255,220,221,.86);--sakura-glow:rgba(255,211,219,.32)}.opening-invitation_veil___ahZN{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 60% 38% at 50% 42%,rgba(12,15,35,.49),rgba(12,15,35,.14) 76%,transparent),linear-gradient(180deg,rgba(7,9,26,.1),rgba(7,9,26,.21));transition:opacity 1.5s ease}.opening-invitation_overlay__ThHrX[data-theme=day] .opening-invitation_veil___ahZN{background:radial-gradient(ellipse 62% 40% at 50% 42%,rgba(64,35,58,.47),rgba(64,35,58,.15) 76%,transparent),linear-gradient(180deg,rgba(48,26,46,.1),rgba(48,26,46,.21))}.opening-invitation_overlay__ThHrX[data-departing=true] .opening-invitation_veil___ahZN{opacity:0}.opening-invitation_petals__VOh6g{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}.opening-invitation_overlay__ThHrX .c3d-intro-greeting{z-index:3}.opening-invitation_overlay__ThHrX .c3d-greeting-text{color:#fff5f2;text-shadow:0 1px 4px rgba(21,10,27,.52),0 2px 20px rgba(21,10,27,.65),0 0 26px rgba(248,184,204,.34)}.opening-invitation_overlay__ThHrX .c3d-greeting-sub{color:#fff4f0;text-shadow:0 1px 12px rgba(8,8,20,.72),0 0 28px rgba(8,8,20,.5)}.opening-invitation_overlay__ThHrX .c3d-begin-btn{z-index:3;color:#fff6f2;background:rgba(28,17,37,.48);border-color:var(--sakura-seal);box-shadow:0 0 18px var(--sakura-glow),inset 0 0 14px rgba(255,222,229,.08)}.opening-invitation_overlay__ThHrX .c3d-begin-btn:after{animation-name:opening-invitation_sakuraSeal__uI0Gr}.opening-invitation_overlay__ThHrX .c3d-begin-btn:hover:not(:disabled){border-color:#ffdde7;box-shadow:0 0 30px rgba(244,181,205,.5),inset 0 0 16px rgba(255,222,229,.12)}.opening-invitation_overlay__ThHrX .c3d-begin-btn:focus-visible{outline-color:#fbd3df}@keyframes opening-invitation_sakuraSeal__uI0Gr{0%,to{box-shadow:0 0 14px rgba(238,169,193,.22),inset 0 0 14px rgba(255,220,228,.06)}50%{box-shadow:0 0 26px rgba(239,168,196,.45),inset 0 0 16px rgba(255,220,228,.12)}}.opening-invitation_overlay__ThHrX[data-fallback-fade=true][data-departing=true] .c3d-greeting-text,.opening-invitation_overlay__ThHrX[data-reduced-motion=true][data-departing=true] .c3d-greeting-text{visibility:visible;opacity:0;transition:opacity .4s ease}.opening-invitation_overlay__ThHrX[data-reduced-motion=true] .c3d-begin-btn:after{animation:none}main[data-sharp] .opening-invitation_veil___ahZN{display:none}main[data-sharp] .opening-invitation_overlay__ThHrX .c3d-greeting-sub{text-shadow:0 1px 3px rgba(20,8,22,.75),0 1px 14px rgba(20,8,22,.8),0 0 30px rgba(20,8,22,.55);font-weight:400}main[data-sharp] .opening-invitation_overlay__ThHrX .c3d-begin-btn{white-space:nowrap}.sakura-loader_root__h_tiM{position:absolute;top:0;left:0;width:100%;z-index:40;box-sizing:border-box;height:calc(100dvh + var(--bleed-top, 0px) + var(--bleed-bottom, 0px));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--bleed-top, 0px) + max(24px, env(safe-area-inset-top))) max(24px,env(safe-area-inset-right)) calc(var(--bleed-bottom, 0px) + max(24px, env(safe-area-inset-bottom)) + 9dvh) max(24px,env(safe-area-inset-left));overflow:hidden;isolation:isolate;pointer-events:auto;color:#5b3a45;text-align:center;--ink:#4a2d36;--deep:#e59aae;--pale:#fdeef0;--gold:#d9a95a;--heart:#b8566f;--accent:#9d5b6b;--track:rgba(74,45,54,.14);--halo:transparent;--shade:transparent;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .33 0 0 0 0 .22 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(ellipse 75% 55% at 50% 42%,rgba(255,251,243,.9),rgba(255,251,243,0) 72%),radial-gradient(ellipse 120% 90% at 50% 50%,transparent 55%,rgba(150,110,80,.16)),linear-gradient(#f5eadb,#efe1cd);transition:opacity .6s cubic-bezier(.4,0,.2,1)}.sakura-loader_root__h_tiM[data-theme=night]{color:#eeeaff;--ink:#7c75aa;--deep:#d99cc4;--pale:#fdeef7;--gold:#efd9a8;--heart:#c77aa8;--accent:#f8e4f4;--track:rgba(238,234,255,.2);--halo:rgba(186,170,240,.34);--shade:rgba(4,7,20,.7);background:radial-gradient(ellipse 70% 45% at 50% 38%,rgba(88,84,150,.42),transparent 72%),linear-gradient(#0b1029,#151b40 48%,#1f1c3d 74%,#080d22)}.sakura-loader_clock__w0bpa,.sakura-loader_root__h_tiM[data-state=exiting]{opacity:0;pointer-events:none}.sakura-loader_clock__w0bpa{position:absolute;width:1px;height:1px;animation:sakura-loader_clock__w0bpa 600s linear forwards}.sakura-loader_mark__2TyG9{position:relative;isolation:isolate;width:min(clamp(260px,90vw,400px),60dvh)}.sakura-loader_mark__2TyG9:before{content:"";position:absolute;z-index:-1;left:56%;top:48%;width:60%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,var(--halo),transparent);animation:sakura-loader_haloIn__U7n9x 1.2s ease 1s backwards,sakura-loader_breathe___rfhA 1.8s ease-in-out 2.3s infinite}.sakura-loader_root__h_tiM:not([data-theme=night]) .sakura-loader_mark__2TyG9:before{content:none}.sakura-loader_mark__2TyG9{transform-origin:56% 48%;transition:transform .6s cubic-bezier(.4,0,.2,1),filter .6s ease}.sakura-loader_root__h_tiM[data-state=exiting] .sakura-loader_mark__2TyG9{transform:scale(1.06);filter:blur(1.5px)}.sakura-loader_defs__QEsU1{position:absolute}.sakura-loader_emblem__SLHMf{display:block;width:100%;height:auto;overflow:visible}.sakura-loader_slice__WQEQo{position:absolute;inset:0;width:100%;height:auto;overflow:visible;animation:sakura-loader_ink__P8qe6 .28s ease-out calc(.1s + var(--i) * .08s) backwards}.sakura-loader_branch__cuAPu path{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round}.sakura-loader_branch__cuAPu path:first-child{stroke-width:3.4}.sakura-loader_branch__cuAPu path:nth-child(2){stroke-width:2.2}.sakura-loader_bud__rieJw{position:absolute;width:3%;aspect-ratio:6/9.2;translate:-50% -50%;rotate:var(--r);border-radius:50%;background:var(--deep);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 70%,transparent);animation:sakura-loader_budPop__wAY3g .45s cubic-bezier(.3,1.4,.5,1) calc(1s + var(--i) * .2s) backwards}.sakura-loader_bloom__Bexxj{position:absolute;left:56%;top:48.333%;width:33.6%;aspect-ratio:1;translate:-50% -50%}.sakura-loader_bloom__Bexxj svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.sakura-loader_heart__muhZy{animation:sakura-loader_pop__ghnLW .45s ease 1.05s backwards}.sakura-loader_heart__muhZy path{fill:none;stroke:var(--heart);stroke-width:.5;stroke-linecap:round}.sakura-loader_heart__muhZy path+path{stroke:var(--gold);stroke-width:1.8}.sakura-loader_heart__muhZy circle{fill:var(--heart)}.sakura-loader_petal__Sfh8y{stroke:var(--ink);stroke-width:.4;stroke-opacity:.5;animation:sakura-loader_open__aukb8 .5s cubic-bezier(.3,1.3,.5,1) calc(1s + var(--i) * .16s) backwards,sakura-loader_sway__DZaPY 1.8s ease-in-out calc(2.3s + var(--i) * .07s) infinite}.sakura-loader_deep__m4bkE{stop-color:var(--deep)}.sakura-loader_pale__J1LH3{stop-color:var(--pale)}.sakura-loader_label__zGaPp{margin:12px 0 0;padding-left:.24em;letter-spacing:.24em;text-transform:uppercase;text-shadow:0 1px 10px var(--shade);font:500 clamp(11px,2.9vw,12px)/1.4 var(--font-geist),system-ui,sans-serif}.sakura-loader_track__mGjFH{position:relative;display:block;width:clamp(140px,40vw,180px);height:2px;margin-top:16px;border-radius:2px;background:var(--track);overflow:hidden}.sakura-loader_fill__4JQeC{position:absolute;inset:0;border-radius:inherit;background:var(--accent);transform-origin:0 50%;transform:scaleX(.84);animation:sakura-loader_fillIn__FncHG 2.3s cubic-bezier(.3,.6,.3,1) backwards;transition:transform .5s cubic-bezier(.3,.7,.3,1)}.sakura-loader_fill__4JQeC:after{content:"";position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,246,236,.8),transparent);transform:translateX(-100%);opacity:0;animation:sakura-loader_glint__3pnYs 1.8s ease-in-out 2.3s infinite}.sakura-loader_root__h_tiM[data-state=exiting] .sakura-loader_fill__4JQeC{transform:scaleX(1)}.sakura-loader_drift__9Xbtn{position:absolute;inset:0;z-index:-1;overflow:hidden}.sakura-loader_drift__9Xbtn i{position:absolute;top:-20px;width:calc(11px * var(--s));height:calc(8px * var(--s));opacity:0;border-radius:100% 0/100% 0;background:linear-gradient(135deg,var(--pale),var(--deep));animation:sakura-loader_fall__Z3WDS 12s linear infinite}@keyframes sakura-loader_clock__w0bpa{to{opacity:0}}@keyframes sakura-loader_ink__P8qe6{0%{opacity:0}}@keyframes sakura-loader_pop__ghnLW{0%{opacity:0;transform:scale(0)}}@keyframes sakura-loader_budPop__wAY3g{0%{opacity:0;scale:0}}@keyframes sakura-loader_open__aukb8{0%{opacity:0;transform:rotate(-20deg) scale(.15)}}@keyframes sakura-loader_haloIn__U7n9x{0%{opacity:0}}@keyframes sakura-loader_breathe___rfhA{50%{opacity:.6;scale:.94}}@keyframes sakura-loader_sway__DZaPY{50%{transform:rotate(4deg) scale(.95)}}@keyframes sakura-loader_fillIn__FncHG{0%{transform:scaleX(0)}}@keyframes sakura-loader_glint__3pnYs{15%{opacity:1}85%{opacity:1}to{transform:translateX(260%);opacity:0}}@keyframes sakura-loader_fall__Z3WDS{8%{opacity:.85}33%{transform:translate(24px,34dvh) rotate(120deg) rotateX(160deg)}66%{transform:translate(-10px,68dvh) rotate(250deg) rotateX(320deg)}92%{opacity:.7}to{opacity:0;transform:translate(16px,calc(100dvh + 40px)) rotate(380deg) rotateX(480deg)}}.sakura-loader_root__h_tiM[data-reduced] *,.sakura-loader_root__h_tiM[data-reduced] :after,.sakura-loader_root__h_tiM[data-reduced] :before{animation:none!important}.sakura-loader_root__h_tiM[data-reduced] :is(.sakura-loader_petal__Sfh8y,.sakura-loader_mark__2TyG9){transform:none!important;filter:none!important}@media (prefers-reduced-motion:reduce){.sakura-loader_root__h_tiM *,.sakura-loader_root__h_tiM :after,.sakura-loader_root__h_tiM :before{animation:none!important}.sakura-loader_root__h_tiM :is(.sakura-loader_petal__Sfh8y,.sakura-loader_mark__2TyG9){transform:none!important;filter:none!important}}.c3d-root{position:relative;width:100%;height:100svh;overflow:hidden;background:linear-gradient(180deg,var(--c3d-sky-top,#04060f) 0,var(--c3d-sky-mid,#070b1d) 55%,var(--c3d-sky-bottom,#0a0f26) 100%);color:#fdf9ee;font-family:var(--font-geist),sans-serif;--fs-hero:clamp(40px,11vw,76px);--fs-title:clamp(26px,6vw,30px);--fs-overview:clamp(36px,8vw,54px);--fs-body:clamp(17px,4.4vw,19px);--fs-caption:clamp(20px,5vw,24px);--fs-signature:clamp(26px,7vw,28px);--fs-label:clamp(11px,2.8vw,12px);--fs-button:15px;--fs-icon:24px;--fs-icon-sm:17px;--fs-kicker:11px;--c3d-text-shadow:0 1px 12px rgba(3,5,15,0.9),0 0 28px rgba(3,5,15,0.7)}.c3d-root[data-phase=intro]{background:linear-gradient(180deg,#04060f,#070b1e 28%,#0c1130 48%,#151538 57%,#2c2140 61%,#141733 62%,#0b0f26 69%,#060919 82%,#03040c)}.c3d-veil{position:fixed;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;background:#04060f;transition:opacity .85s ease}.c3d-veil--lifted{opacity:0;pointer-events:none}.c3d-veil-mark{width:min(184px,46vw);height:auto;filter:drop-shadow(0 0 22px rgba(232,192,106,.3));animation:c3d-veil-breathe 1.7s ease-in-out infinite}@keyframes c3d-veil-breathe{0%,to{opacity:.35}50%{opacity:.95}}@media (prefers-reduced-motion:reduce){.c3d-veil-mark{animation:none;opacity:.8}}.c3d-root[data-phase=letter]{height:auto;min-height:100svh;overflow:visible}.c3d-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}.c3d-intro{position:fixed;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:0 32px;text-align:center}.c3d-intro-greeting{position:absolute;left:50%;top:44svh;transform:translate(-50%,-50%);width:-moz-max-content;width:max-content;max-width:min(92vw,940px);animation:c3d-greeting-in .7s cubic-bezier(.22,1,.36,1) both}.c3d-intro--begun .c3d-greeting-text{visibility:hidden}.c3d-intro--begun .c3d-begin-btn,.c3d-intro--begun .c3d-greeting-sub{opacity:0;pointer-events:none;animation:none;transition:opacity .6s ease}@keyframes c3d-greeting-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 14px))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes c3d-fade-in{0%{opacity:0}to{opacity:1}}@keyframes c3d-appear{0%{opacity:0}}.c3d-greeting-text{font-family:var(--font-instrument),serif;font-style:italic;font-size:var(--fs-hero);line-height:1.12;text-wrap:balance;overflow-wrap:anywhere;word-break:break-word;color:#fdf9ee;text-shadow:0 1px 4px rgba(12,8,26,.5),0 2px 20px rgba(12,8,26,.6),0 0 26px rgba(245,212,143,.4);margin:0}@keyframes c3d-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.c3d-greeting-sub{font-family:var(--font-cormorant),serif;font-style:italic;font-weight:300;font-size:var(--fs-body);line-height:1.6;color:#fdf9ee;text-shadow:var(--c3d-text-shadow);margin:18px 0 0}.c3d-audio-btn:focus-visible,.c3d-begin-btn:focus-visible,.c3d-chev-btn:focus-visible,.c3d-rail-track:focus-visible{outline:2px solid rgba(245,212,143,.8);outline-offset:3px}.c3d-begin-btn{left:50%;top:71svh;transform:translateX(-50%);font-family:var(--font-geist),sans-serif;font-size:var(--fs-button);font-weight:500;letter-spacing:.07em;color:#fdf9ee;background:rgba(9,13,32,.45);border:1px solid rgba(245,212,143,.7);padding:16px 44px;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 18px rgba(232,192,106,.26),inset 0 0 14px rgba(245,212,143,.07);animation:c3d-btn-in .7s cubic-bezier(.22,1,.36,1) both;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,opacity .6s ease}.c3d-begin-btn,.c3d-begin-btn:after{position:absolute;border-radius:999px}.c3d-begin-btn:after{content:"";inset:0;pointer-events:none;animation:c3d-seal-breathe 2.8s ease-in-out .7s infinite;transition:opacity .3s ease}@keyframes c3d-btn-in{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes c3d-seal-breathe{0%,to{box-shadow:0 0 14px rgba(232,192,106,.2),inset 0 0 14px rgba(245,212,143,.06)}50%{box-shadow:0 0 26px rgba(232,192,106,.42),inset 0 0 16px rgba(245,212,143,.1)}}.c3d-begin-btn:hover:not(:disabled){transform:translateX(-50%) translateY(-1px);border-color:rgba(245,212,143,.95);box-shadow:0 0 30px rgba(232,192,106,.5),inset 0 0 16px rgba(245,212,143,.12)}.c3d-begin-btn:hover:not(:disabled):after{opacity:0}.c3d-begin-btn:active:not(:disabled){transform:translateX(-50%) scale(.97)}.c3d-audio-btn{position:fixed;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));z-index:5;width:40px;height:40px;border-radius:50%;background:rgba(12,18,40,.6);border:1px solid rgba(232,192,106,.45);color:#f5d48f;font-size:var(--fs-icon-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .3s ease,color .3s ease}.c3d-audio-btn:active{transform:scale(.94)}.c3d-audio-btn--muted{color:rgba(253,249,238,.4)}.c3d-audio-btn--muted:after{content:"";position:absolute;width:22px;height:1.5px;background:rgba(253,249,238,.55);transform:rotate(-45deg)}.c3d-kicker{position:fixed;left:50%;top:40svh;transform:translate(-50%,-100%);z-index:3;margin:0;font-family:var(--font-geist),sans-serif;font-size:var(--fs-kicker);font-weight:500;text-transform:uppercase;letter-spacing:.24em;color:#e8c06a;opacity:.85;text-shadow:var(--c3d-text-shadow);pointer-events:none;white-space:nowrap;animation:c3d-kicker-in .5s cubic-bezier(.22,1,.36,1) both}@keyframes c3d-kicker-in{0%{opacity:0;transform:translate(-50%,calc(-100% + 8px))}to{opacity:.85;transform:translate(-50%,-100%)}}.c3d-cap-block{position:fixed;left:50%;top:62svh;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 24px;pointer-events:none;animation:c3d-cap-block-in .55s cubic-bezier(.22,1,.36,1) both}@keyframes c3d-cap-block-in{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.c3d-cap-text{max-width:34ch;overflow-wrap:anywhere;word-break:break-word;text-align:center;font-family:var(--font-caveat),cursive;font-size:var(--fs-caption);line-height:1.35;color:#fdf9ee;margin:0;text-shadow:var(--c3d-text-shadow)}.c3d-cap-word{display:inline-block;opacity:0;transform:translateY(4px);animation:c3d-word-in .52s cubic-bezier(.22,1,.36,1) both}@keyframes c3d-word-in{to{opacity:1;transform:translateY(0)}}.c3d-more-label{position:fixed;right:max(calc(12px + env(safe-area-inset-right)),calc(50vw - min(280px, 50vw) + 49px - 78px));bottom:calc(120px + env(safe-area-inset-bottom));z-index:3;margin:0;font-family:var(--font-geist),sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:#e8c06a;opacity:.9;text-shadow:var(--c3d-text-shadow);pointer-events:none;white-space:nowrap;animation:c3d-more-in .6s cubic-bezier(.22,1,.36,1) .35s both}@keyframes c3d-more-in{0%{opacity:0;transform:translateY(10px)}to{opacity:.9;transform:translateY(0)}}.c3d-overview-outer{position:fixed;left:0;right:0;top:10svh;z-index:3;display:flex;justify-content:center;padding:0 32px;pointer-events:none}.c3d-overview-heading{max-width:22ch;overflow-wrap:anywhere;word-break:break-word;text-align:center;text-wrap:balance;font-family:var(--font-instrument),serif;font-style:italic;font-size:var(--fs-overview);line-height:1.12;color:#fdf9ee;text-shadow:var(--c3d-text-shadow);margin:0;animation:c3d-fade-up .7s cubic-bezier(.22,1,.36,1) both}.c3d-overview-heading--long{font-size:clamp(22px,5vw,38px);max-width:30ch}@media (min-width:719px){.c3d-overview-heading--long{max-width:50ch}}.c3d-navbar{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:4;width:min(560px,100%);padding:0 12px calc(40px + env(safe-area-inset-bottom));flex-direction:column;transition:opacity .7s ease,transform .7s ease}.c3d-navbar,.c3d-navbar-row{display:flex;align-items:center;gap:9px}.c3d-navbar-row{width:100%;padding:5px 9px;border-radius:999px;background:rgba(5,7,15,.42);border:1px solid rgba(232,192,106,.16);backdrop-filter:blur(14px)}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.c3d-navbar-row{background:rgba(5,7,15,.72)}}.c3d-chev-btn{position:relative;width:54px;height:54px;min-width:54px;border:none;background:transparent;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(232,192,106,.7);transition:color .2s ease,transform .15s ease,opacity .3s ease}.c3d-chev-glyph{font-size:36px;line-height:1;transform:translateY(-3px);position:relative;z-index:1;filter:drop-shadow(0 1px 6px rgba(5,7,15,.8))}.c3d-chev-btn--next{color:rgba(232,192,106,.95)}.c3d-chev-btn:hover:not(:disabled){color:#f5d48f}.c3d-chev-btn:active:not(:disabled){transform:scale(.94)}.c3d-chev-btn:disabled{opacity:.25;cursor:default}.c3d-chev-btn--pulse{animation:c3d-chev-pulse 2.6s ease-in-out infinite}@keyframes c3d-chev-pulse{0%,to{opacity:.95;transform:scale(1)}50%{opacity:.55;transform:scale(1.12)}}.c3d-chev-btn--beckon{color:#f5d48f}.c3d-chev-btn--beckon:before{content:"";position:absolute;inset:-12px;border-radius:50%;background:radial-gradient(circle,rgba(232,192,106,.34) 0,rgba(232,192,106,.14) 45%,rgba(232,192,106,0) 72%);pointer-events:none;animation:c3d-beckon-breathe 3s ease-in-out infinite}@keyframes c3d-beckon-breathe{0%,to{opacity:.45;transform:scale(.86)}50%{opacity:1;transform:scale(1.02)}}.c3d-rail{flex:1;min-width:0;position:relative;padding:0 9px}.c3d-rail-track{position:relative;display:block;width:100%;height:44px;border:none;background:transparent;padding:0;cursor:pointer}.c3d-rail-track:disabled{cursor:default}.c3d-rail-line{right:0;background:rgba(253,249,238,.18)}.c3d-rail-fill,.c3d-rail-line{position:absolute;left:0;top:50%;height:1px;transform:translateY(-50%)}.c3d-rail-fill{background:#e8c06a;transition:width .4s ease}.c3d-rail-node{position:absolute;top:50%;left:0;display:flex;pointer-events:none;color:rgba(253,249,238,.35);transform:translate(-50%,-50%);transition:color .3s ease,transform .3s ease}.c3d-rail-node svg{width:7px;height:7px;fill:currentColor;filter:drop-shadow(0 1px 6px rgba(5,7,15,.8));transition:filter .3s ease}.c3d-rail-node--visited{color:#e8c06a}.c3d-rail-node--current{color:#f5d48f;transform:translate(-50%,-50%) scale(1.5)}.c3d-rail-node--current svg{filter:drop-shadow(0 0 4px rgba(245,212,143,.85)) drop-shadow(0 1px 6px rgba(5,7,15,.8))}.c3d-rail-node--letter svg{width:11px;height:11px}.c3d-rail-node--letter:after{content:"";position:absolute;inset:-4px;border:1px solid;border-radius:50%;opacity:.55}.c3d-rail-tick{position:absolute;top:50%;left:0;width:1.5px;height:10px;border-radius:1px;background:currentColor;color:rgba(253,249,238,.35);pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 6px rgba(5,7,15,.8));transition:color .3s ease,transform .3s ease,filter .3s ease}.c3d-rail-tick--visited{color:#e8c06a}.c3d-rail-tick--current{color:#f5d48f;transform:translate(-50%,-50%) scaleY(1.4);filter:drop-shadow(0 0 4px rgba(245,212,143,.85)) drop-shadow(0 1px 6px rgba(5,7,15,.8))}.c3d-letter-screen{position:fixed;inset:0;z-index:2;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 194px - env(safe-area-inset-bottom)),transparent calc(100% - 146px - env(safe-area-inset-bottom)));mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 194px - env(safe-area-inset-bottom)),transparent calc(100% - 146px - env(safe-area-inset-bottom)));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.c3d-letter-outer{position:relative;z-index:2;max-width:720px;margin:0 auto;padding:clamp(80px,14svh,160px) 24px calc(208px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center}.c3d-letter{animation:c3d-fade-up 1s cubic-bezier(.22,1,.36,1) .35s both;width:100%;color:#fdf9ee}.c3d-letter-greeting{font-style:italic;font-size:clamp(41px,5.5vw,72px);line-height:1;letter-spacing:-.015em;text-align:center;margin:0 0 44px}.c3d-letter-greeting,.c3d-letter-para{font-family:var(--font-cormorant),Georgia,serif;font-weight:400;text-shadow:var(--c3d-text-shadow);overflow-wrap:anywhere;word-break:break-word;animation:c3d-fade-up .7s cubic-bezier(.22,1,.36,1) both}.c3d-letter-para{font-size:clamp(18px,1.53vw,22px);line-height:1.55;white-space:pre-wrap;margin:0 0 1.4em;animation-delay:calc(var(--stagger) * .15s)}.c3d-letter--compact-list .c3d-letter-para{margin-bottom:.35em}.c3d-letter-divider{display:block;width:80px;height:1px;background:#e8c06a;opacity:.35;margin:40px auto}.c3d-letter-divider-row{display:flex;align-items:center;justify-content:center;gap:10px;margin:40px auto;color:#e8c06a;opacity:.8}.c3d-letter-divider-line{width:32px;height:1px;background:#e8c06a;opacity:.45}.c3d-letter-signoff{font-family:var(--font-cormorant),Georgia,serif;font-style:italic;font-size:16px;margin:0 0 14px}.c3d-letter-signature,.c3d-letter-signoff{text-align:center;text-shadow:var(--c3d-text-shadow);overflow-wrap:anywhere;word-break:break-word}.c3d-letter-signature{font-family:var(--font-priestacy),cursive;font-size:clamp(31px,3.6vw,43px);line-height:1.1;transform:rotate(-3deg);margin:0}.c3d-footer{font-family:var(--font-geist),sans-serif;font-size:var(--fs-label);letter-spacing:.14em;text-transform:lowercase;color:#e8c06a;text-shadow:var(--c3d-text-shadow);margin:26px 0 18px}@media (max-width:360px) and (max-height:700px){.c3d-root--long-recipient{--fs-hero:clamp(30px,9vw,36px)}}@media (max-width:600px) and (max-height:800px){.c3d-overview-outer--long{top:4svh}}@media (prefers-reduced-motion:reduce){.c3d-root[data-phase=intro]{background:#05070f}.c3d-intro-greeting{top:50svh;animation:c3d-fade-in .3s ease both}.c3d-begin-btn,.c3d-begin-btn:after{animation:none}.c3d-intro--begun .c3d-greeting-text{visibility:visible;opacity:0;transition:opacity .4s ease}.c3d-cap-word{opacity:1;transform:none}.c3d-cap-word,.c3d-chev-btn--pulse{animation:none}.c3d-chev-btn--beckon:before{animation:none;opacity:.7}.c3d-cap-block,.c3d-kicker,.c3d-more-label{animation:c3d-appear .3s ease both}.c3d-overview-heading{animation:c3d-fade-in .3s ease both}.c3d-letter,.c3d-letter-greeting,.c3d-letter-para{animation-name:c3d-fade-in}.c3d-rail-fill{transition:none}.c3d-rail-node,.c3d-rail-tick{transition:color .3s ease}}