.background-effects[data-v-4a571c3a]{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.effect-burst[data-v-4a571c3a]{width:0;height:0;color:var(--color-accent);position:absolute}.effect-ring[data-v-4a571c3a]{background:radial-gradient(circle,#fff8df99,#0000 70%);border:2px solid #b36f7b99;border-radius:50%;animation:1.1s ease-out forwards ripple-4a571c3a;position:absolute;inset:-32px}.effect-ring-inner[data-v-4a571c3a]{border-color:#ad853e80;animation-duration:.85s;inset:-20px}.effect-flash[data-v-4a571c3a]{text-align:center;color:#b58b48;width:44px;font-size:44px;line-height:44px;animation:.5s ease-out forwards flash-4a571c3a;position:absolute;top:-22px;left:-22px}.effect-particle[data-v-4a571c3a]{text-align:center;text-shadow:0 1px 6px #fffaeae6;width:18px;font-size:16px;line-height:18px;animation:1s ease-out forwards sparkle-4a571c3a;position:absolute;top:-9px;left:-9px}@keyframes ripple-4a571c3a{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(3.4)}}@keyframes sparkle-4a571c3a{0%{opacity:0;transform:scale(.4)}15%{opacity:1}to{transform:translate(var(--dx), var(--dy)) scale(.7) rotate(20deg);opacity:0}}@keyframes flash-4a571c3a{0%{opacity:0;transform:scale(.3)rotate(-20deg)}25%{opacity:1}to{opacity:0;transform:scale(1.3)rotate(25deg)}}@media (prefers-reduced-motion:reduce){.background-effects[data-v-4a571c3a]{display:none}}.desk-backdrop[data-v-8ec213bc]{pointer-events:none;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 120px #77523114}.desk-note[data-v-8ec213bc]{aspect-ratio:.8;background:#fff9ed;border:1px solid #e8d8c2;width:clamp(120px,18vw,220px);padding:2.5rem 1.5rem 1rem;position:absolute;top:9%;left:-2rem;transform:rotate(-17deg);box-shadow:5px 10px 24px #64482c1f}.paperclip[data-v-8ec213bc]{border:2px solid #b99b66;border-radius:10px;width:16px;height:45px;position:absolute;top:-12px;right:25%;transform:rotate(12deg)}.paperclip[data-v-8ec213bc]:after{content:"";border:1px solid #b99b66;border-top:0;border-radius:0 0 5px 5px;position:absolute;inset:5px 3px 7px}.note-line[data-v-8ec213bc]{background:#e6d9ca;height:1px;margin:1rem 0;display:block}.note-line[data-v-8ec213bc]:nth-of-type(3){width:65%}.note-heart[data-v-8ec213bc]{color:#bc8d8a;font-size:1.75rem}.desk-sprig[data-v-8ec213bc]{filter:drop-shadow(5px 8px 3px #4b53371f);width:clamp(125px,20vw,250px);position:absolute;top:-2rem;right:-1rem;transform:rotate(-24deg)}.desk-ribbon[data-v-8ec213bc]{width:clamp(150px,25vw,310px);position:absolute;bottom:-1rem;right:-2rem;transform:rotate(-12deg)}.petal[data-v-8ec213bc]{background:linear-gradient(135deg,#ebc7c1,#c58c8c);border-radius:75% 25% 65% 35%;width:18px;height:27px;position:absolute;box-shadow:2px 4px 5px #794d3f21}.petal-one[data-v-8ec213bc]{bottom:19%;left:9%;transform:rotate(35deg)}.petal-two[data-v-8ec213bc]{bottom:13%;left:13%;transform:rotate(-48deg)scale(.75)}.petal-three[data-v-8ec213bc]{top:42%;right:12%;transform:rotate(110deg)scale(.8)}@media (width<=600px){.desk-note[data-v-8ec213bc]{opacity:.7;top:5%;left:-4rem}.desk-sprig[data-v-8ec213bc]{opacity:.8;top:-3rem;right:-3.5rem}.desk-ribbon[data-v-8ec213bc]{opacity:.8;bottom:0;right:-4rem}.petal-three[data-v-8ec213bc]{top:22%;right:4%}}.heart-splash[data-v-1b3bb3ea]{z-index:7;pointer-events:none;width:0;height:0;position:absolute;top:53%;left:50%}.heart-splash svg[data-v-1b3bb3ea]{opacity:0;width:18px;height:18px;position:absolute;top:-9px;left:-9px}.envelope-scene[data-v-7734b399]{isolation:isolate;text-align:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(at 25% 15%,#fffcefd9,#0000 65%),repeating-linear-gradient(2deg,#0000 0 7px,#8b663d09 8px,#0000 9px 17px),repeating-linear-gradient(90deg,#0000 0 240px,#88633d14 241px,#fffaeb40 243px,#0000 245px 480px),#eddfca;width:100%;height:100svh;position:relative;overflow:hidden}.envelope-content[data-v-7734b399]{z-index:2;pointer-events:none;grid-template-rows:minmax(min-content,1fr) auto minmax(min-content,1fr);place-items:center;gap:1.5rem;width:100%;height:100%;padding:clamp(1rem,4svh,3rem) 1.25rem;display:grid;position:relative}.envelope-header[data-v-7734b399],.envelope-stage[data-v-7734b399],.envelope-footer[data-v-7734b399]{pointer-events:auto}.envelope-scene[data-v-7734b399]:before{content:"";z-index:-1;pointer-events:none;border:1px solid #fffdf659;border-radius:8px;position:absolute;inset:.75rem}.envelope-header[data-v-7734b399]{z-index:2;overflow-wrap:anywhere;align-self:end;width:100%;max-width:30rem;position:relative}.envelope-eyebrow[data-v-7734b399]{color:var(--color-text-soft);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .6rem;font-size:.75rem}.envelope-recipient[data-v-7734b399]{color:var(--color-text);font-family:var(--font-letter);margin:0;font-size:clamp(2rem,8vw,3rem);font-weight:400}.header-ornament[data-v-7734b399]{color:var(--color-accent);margin-top:.75rem;font-size:1.25rem;display:block}.envelope-stage[data-v-7734b399]{z-index:2;width:min(100%,540px);position:relative}.envelope-recovery[data-v-7734b399]{z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:absolute;inset:0}.envelope-recovery p[data-v-7734b399]{color:var(--color-text);font-family:var(--font-letter);margin:0;font-size:clamp(1.1rem,4vw,1.5rem);font-style:italic}.envelope-recovery button[data-v-7734b399]{background:var(--color-accent);min-height:48px;color:var(--color-paper);cursor:pointer;border:1px solid #fffdf980;border-radius:999px;padding:.75rem 1.75rem;box-shadow:0 5px 18px #57423326}.envelope-recovery button[data-v-7734b399]:hover{background:#956c69}.pickup-enter-active[data-v-7734b399],.pickup-leave-active[data-v-7734b399]{transition:opacity .2s}.pickup-enter-from[data-v-7734b399],.pickup-leave-to[data-v-7734b399]{opacity:0}.recovery-status[data-v-7734b399]{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.envelope-opening-space[data-v-7734b399]{pointer-events:none;height:0}.envelope[data-v-7734b399]{aspect-ratio:1.45;perspective:1000px;isolation:isolate;filter:drop-shadow(0 20px 25px #57423326);width:100%;position:relative}.envelope-highlight[data-v-7734b399]{z-index:6;pointer-events:none;border-radius:5px;position:absolute;inset:0;overflow:hidden}.envelope-sheen[data-v-7734b399]{opacity:0;background:linear-gradient(110deg,#0000 30%,#fffae880 50%,#0000 70%);position:absolute;inset:0}.envelope-back[data-v-7734b399],.envelope-letter[data-v-7734b399],.envelope-front[data-v-7734b399],.envelope-flap[data-v-7734b399],.envelope-stitching[data-v-7734b399],.envelope-mark[data-v-7734b399]{pointer-events:none}.envelope-back[data-v-7734b399]{z-index:1;background:linear-gradient(150deg,#dec3aa,#c5a58b);border:1px solid #7d594024;border-radius:5px;position:absolute;inset:0}.envelope-letter[data-v-7734b399]{z-index:2;background:var(--color-paper);transform-origin:bottom;border:1px solid #eee5dc;border-radius:3px;flex-direction:column;align-items:center;gap:1rem;width:84%;height:88%;padding:clamp(1rem,4vw,2rem) 1rem;display:flex;position:absolute;bottom:5%;left:8%;transform:scale(.98);box-shadow:0 3px 12px #46322314}.envelope-letter[data-v-7734b399]:before{content:"";border:1px solid var(--color-border);pointer-events:none;position:absolute;inset:.45rem}.letter-rule[data-v-7734b399]{background:var(--color-border);width:38%;height:1px}.letter-date[data-v-7734b399]{color:var(--color-text-soft);letter-spacing:.12em;font-size:.65rem}.letter-teaser[data-v-7734b399]{color:var(--color-text);font-family:var(--font-letter);margin:0;font-size:clamp(.9rem,2.5vw,1.2rem);font-style:italic;line-height:1.5}.envelope-front[data-v-7734b399]{z-index:3;background:linear-gradient(32deg, transparent 49.7%, #7c573e21 50%, transparent 50.4%), linear-gradient(-32deg, transparent 49.7%, #fffaf066 50%, transparent 50.4%), linear-gradient(145deg, #e6cfb9, var(--color-envelope-dark));clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);border-radius:0 0 5px 5px;position:absolute;inset:0}.envelope-stitching[data-v-7734b399]{z-index:3;border:1px dashed #fffaf080;border-top:0;border-radius:0 0 3px 3px;height:25%;position:absolute;inset:auto .75rem .75rem}.envelope-mark[data-v-7734b399]{z-index:3;color:#715744;letter-spacing:.14em;font-size:.6rem;position:absolute;bottom:1.4rem;right:1.5rem}.envelope-flap[data-v-7734b399]{z-index:4;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;background:linear-gradient(160deg,#ebdac9,#d4b69d);width:100%;height:58%;position:absolute;top:0;left:0;box-shadow:inset 0 2px #fffdf980}.envelope-seal[data-v-7734b399]{z-index:5;aspect-ratio:100/92;color:#fffaf5;width:clamp(88px,20vw,112px);font-family:var(--font-letter);cursor:pointer;filter:drop-shadow(0 5px 5px #50322d38);background:0 0;border:0;border-radius:1rem;place-items:center;padding:0;font-size:1rem;display:grid;position:absolute;top:53%;left:50%;transform:translate(-50%,-50%)}.seal-heart[data-v-7734b399]{grid-area:1/1;width:100%;height:100%;overflow:visible}.seal-heart-fill[data-v-7734b399]{fill:var(--color-accent);stroke:#946966;stroke-width:1px;transition:fill var(--transition-smooth)}.seal-heart-border[data-v-7734b399]{fill:none;stroke:#fffaf559;stroke-width:.8px}.seal-label[data-v-7734b399]{z-index:1;grid-area:1/1;padding-bottom:.4rem}.envelope-seal:hover:not(:disabled) .seal-heart-fill[data-v-7734b399]{fill:#956c69}.envelope-seal[data-v-7734b399]:disabled{cursor:default}.envelope-footer[data-v-7734b399]{z-index:2;overflow-wrap:anywhere;max-width:100%;color:var(--color-text-soft);flex-direction:column;align-self:start;gap:.4rem;font-size:.85rem;display:flex;position:relative}.envelope-footer strong[data-v-7734b399]{color:var(--color-text);font-family:var(--font-letter);font-size:1.2rem;font-weight:400}@media (width<=480px){.envelope-content[data-v-7734b399]{padding-inline:.875rem}.envelope-letter[data-v-7734b399]{padding:.8rem}.envelope-scene[data-v-7734b399]:before{inset:.4rem}}@media (height<=700px){.envelope-stage[data-v-7734b399]{max-width:min(380px,max(180px,78svh - 10rem))}.envelope-content[data-v-7734b399]{gap:1rem}}@media (height<=480px){.envelope-stage[data-v-7734b399]{max-width:min(320px,max(120px,72svh - 6rem))}.envelope-content[data-v-7734b399]{gap:.5rem;padding-block:.75rem}.envelope-recipient[data-v-7734b399]{font-size:1.6rem}.header-ornament[data-v-7734b399]{display:none}.envelope-footer[data-v-7734b399]{gap:.15rem;font-size:.7rem}.envelope-footer strong[data-v-7734b399]{font-size:1rem}}@media (width>=600px) and (height>=701px) and (height<=850px){.envelope-stage[data-v-7734b399]{max-width:440px}}.memory-frame[data-v-4c0c2f18]{z-index:1;padding:clamp(.4rem,1.5vw,.75rem);background:var(--color-paper);border:1px solid var(--color-border);width:100%;max-width:20rem;margin:0 auto;padding-bottom:clamp(1.5rem,4vw,2.25rem);position:relative;transform:rotate(-5deg);box-shadow:2px 8px 18px #57423326}.memory-frame[data-v-4c0c2f18]:nth-child(2n){z-index:2;margin-top:1.5rem;transform:rotate(4deg)}.memory-frame[data-v-4c0c2f18]:before{content:"";z-index:1;pointer-events:none;background:repeating-linear-gradient(90deg,#d6bba399 0 3px,#e5d0b8a6 3px 6px);border-inline:1px dashed #fffdf9b3;width:40%;height:1.6rem;position:absolute;top:-.75rem;left:30%;transform:rotate(-5deg)}.memory-frame.photo-is-lifted[data-v-4c0c2f18]:before{visibility:visible;opacity:.65}.memory-drawing[data-v-4c0c2f18]{cursor:zoom-in;background:#f0e6d8;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.memory-image[data-v-4c0c2f18]{width:100%;height:auto;display:block}@media (width<=560px){.memory-frame[data-v-4c0c2f18]{width:94%;transform:rotate(-3deg)}.memory-frame[data-v-4c0c2f18]:nth-child(2n){margin-top:0;transform:rotate(3deg)}}.pencil-message[data-v-bc4df944]{border-top:1px solid var(--color-border);text-align:center;max-width:29rem;margin:clamp(3.5rem,9vw,5rem) auto 0;padding:2rem 0 .5rem}.pencil-copy[data-v-bc4df944]{color:#746154;text-shadow:.4px .4px #7461542e;margin:0;font-family:Segoe Print,Bradley Hand,cursive;font-size:clamp(1.25rem,4.5vw,1.75rem);line-height:1.9;position:relative}.pencil-word[data-v-bc4df944]{white-space:nowrap;display:inline-block}.pencil-character[data-v-bc4df944]{display:inline-block}.writing-pencil[data-v-bc4df944]{opacity:0;transform-origin:3px 36px;pointer-events:none;width:24px;height:40px;position:absolute;top:0;left:0;transform:rotate(18deg)}.pencil-underline[data-v-bc4df944]{stroke:#b9978b;stroke-width:1.2px;stroke-linecap:round;stroke-dasharray:1;width:min(70%,220px);height:20px;margin:.5rem auto 0;display:block}.accessible-message[data-v-bc4df944]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.letter-body[data-v-efe580ec]{max-width:36rem;font-family:var(--font-letter);margin-inline:auto;font-size:clamp(1rem,2.5vw,1.125rem);line-height:1.9}p[data-v-efe580ec]{margin:0}p+p[data-v-efe580ec]{margin-top:1.5em}@media print{.reading-word[data-v-efe580ec]{opacity:1!important}}.paper-details[data-v-007c9e04]{z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(2rem 12rem at 0 38%,#ac896211,#0000),radial-gradient(2rem 10rem at 100% 72%,#ac89620e,#0000),radial-gradient(circle at 3px 7px,#896d4d0e .5px,#0000 .9px) 0 0/43px 61px;position:absolute;inset:0}.paper-clip[data-v-007c9e04]{stroke-linecap:round;width:clamp(23px,4vw,30px);height:auto;position:absolute;top:-1.1rem;left:clamp(1.4rem,7vw,3.5rem);overflow:visible;transform:rotate(-12deg)}.clip-shadow[data-v-007c9e04]{stroke:#614a2e2e;stroke-width:4px;transform:translate(2px,3px)}.clip-metal[data-v-007c9e04]{stroke:#baa071;stroke-width:2.5px}.clip-highlight[data-v-007c9e04]{stroke:#f1e2bd;stroke-width:.8px}.paper-fold[data-v-007c9e04]{background:linear-gradient(#0000,#82644305 35%,#82644311 48%,#ffffffbf 53%,#82644304 66%,#0000);height:18px;position:absolute;left:0;right:0}.fold-first[data-v-007c9e04]{top:30%;transform:skewY(-.3deg)}.fold-second[data-v-007c9e04]{opacity:.7;top:57%;transform:skewY(.25deg)}.fold-third[data-v-007c9e04]{opacity:.55;top:79%;transform:skewY(-.2deg)}.edge-crease[data-v-007c9e04]{width:min(1.8rem, calc(var(--paper-gutter) * .7));background:linear-gradient(120deg,#0000 35%,#94704c17 48%,#fffc 51%,#0000 64%);height:3rem;position:absolute}.crease-left[data-v-007c9e04]{top:calc(30% - .8rem);left:0}.crease-right[data-v-007c9e04]{top:calc(57% - .7rem);right:0;transform:scaleX(-1)}.margin-doodle[data-v-007c9e04]{top:66%;right:calc(var(--paper-gutter) * .22);width:min(20px, calc(var(--paper-gutter) * .4));stroke:#b18b85;stroke-width:1px;stroke-linecap:round;opacity:.5;position:absolute}.paper-curl[data-v-007c9e04]{background:linear-gradient(45deg,#b0906d21,#fffdf9b3 44%,#0000 65%);border-bottom-left-radius:3px;width:1.5rem;height:1.5rem;position:absolute;bottom:0;left:0}@media (width<=480px){.paper-fold[data-v-007c9e04]{opacity:.55}.margin-doodle[data-v-007c9e04]{opacity:.35}}.photo-viewer[data-v-15eafe43]{background:0 0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:64px 20px;position:fixed;inset:0;overflow:hidden}.photo-viewer[open][data-v-15eafe43]{place-items:center;display:grid}.photo-viewer[data-v-15eafe43]::backdrop{background:0 0}.viewer-backdrop[data-v-15eafe43]{background:#302621bd;position:absolute;inset:0}.viewer-photo[data-v-15eafe43]{border:1px solid var(--color-border);background:var(--color-paper);pointer-events:none;margin:0;position:relative;box-shadow:0 30px 65px #281d164d}.viewer-photo img[data-v-15eafe43]{width:100%;height:auto;display:block}.viewer-close[data-v-15eafe43]{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));background:var(--color-paper);min-height:44px;color:var(--color-text);cursor:pointer;border:1px solid #fffdf959;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex;position:absolute}.viewer-close svg[data-v-15eafe43]{stroke:currentColor;stroke-width:1.5px;width:20px;height:20px}.letter-scene[data-v-0022f6b4]{min-height:100svh;padding:clamp(1.5rem,5vw,4rem) 1rem;padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px));background:radial-gradient(80% 35rem at 0 0,#c2969538,#0000 75%),radial-gradient(75% 40rem at 100% 70%,#cfb8912e,#0000 75%),repeating-linear-gradient(0deg,#0000 0 3px,#826d5e06 3px 4px),repeating-linear-gradient(90deg,#0000 0 3px,#826d5e06 3px 4px),#efe7e2;position:relative}.letter-end-marker[data-v-0022f6b4]{pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;left:50%}.letter-paper[data-v-0022f6b4]{--paper-gutter:clamp(1.4rem, 6vw, 4.5rem);isolation:isolate;width:100%;max-width:46rem;padding:clamp(2.5rem, 7vw, 5rem) var(--paper-gutter);background:radial-gradient(ellipse at 0 0, #e4cfb021, transparent 65%), repeating-linear-gradient(0deg, transparent 0 5px, #a0815d05 5px 6px), var(--color-paper);overflow-wrap:anywhere;border:1px solid #e4d7c9;border-radius:3px 0 3px 3px;margin-inline:auto;position:relative;box-shadow:0 6px 0 -3px #f7f0e7,0 7px 0 -3px #ddcfc2,0 12px 0 -6px #f7f0e7,0 13px 0 -6px #ddcfc2,0 24px 60px #644b3e21}.letter-paper[data-v-0022f6b4]:before{content:"";z-index:-1;pointer-events:none;border:1px solid #c2a6894d;position:absolute;inset:clamp(.6rem,2vw,1.1rem)}.letter-paper[data-v-0022f6b4]:after{content:"";pointer-events:none;background:linear-gradient(225deg,#efe7e2 48%,#d9c8b8 49%,#fff7e9 53%);border-bottom-left-radius:4px;width:2.2rem;height:2.2rem;position:absolute;top:-1px;right:-1px;box-shadow:-3px 3px 5px #644b3e0f}.paper-sprig[data-v-0022f6b4]{stroke:#b2a18a;stroke-width:1px;opacity:.5;pointer-events:none;width:clamp(42px,8vw,65px);position:absolute;top:2.5rem;right:1.25rem}.letter-header[data-v-0022f6b4]{text-align:center;margin-bottom:clamp(2rem,6vw,3.5rem);position:relative}.letter-eyebrow[data-v-0022f6b4]{color:#8b7468;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.7rem;line-height:1.7}h1[data-v-0022f6b4]{font-family:var(--font-letter);margin:1.25rem 0;font-size:clamp(2rem,7vw,3rem);font-style:italic;font-weight:400;line-height:1.2}.letter-decoration[data-v-0022f6b4]{color:var(--color-accent);justify-content:center;align-items:center;gap:1rem;font-size:1.5rem;display:flex}.letter-decoration[data-v-0022f6b4]:before,.letter-decoration[data-v-0022f6b4]:after{content:"";background:linear-gradient(90deg,#0000,#d8c0b5);width:3.5rem;height:1px}.letter-decoration[data-v-0022f6b4]:after{transform:rotate(180deg)}.letter-ending[data-v-0022f6b4]{text-align:center;color:var(--color-accent);margin-top:2.5rem;font-size:1.25rem}.letter-memories[data-v-0022f6b4]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0;margin:2.5rem auto 1rem;padding-inline:.5rem;display:grid}@media (width<=560px){.letter-memories[data-v-0022f6b4]{grid-template-columns:minmax(0,1fr);gap:3rem;max-width:20rem}}@media (width<=480px){.paper-sprig[data-v-0022f6b4]{opacity:.3;top:1.5rem;right:.8rem}.letter-eyebrow[data-v-0022f6b4]{max-width:13rem;margin-inline:auto;font-size:.65rem}}.love-screen[data-v-86cec506]{z-index:100;touch-action:none;background:radial-gradient(at 25% 30%,#deacae66,#0000 65%),radial-gradient(at 80% 80%,#e1caa759,#0000 65%),#f5ede7;outline:none;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0;overflow:hidden}.love-screen[data-v-86cec506]:before{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #fffdf980;border-radius:50%;width:min(85vw,700px);position:absolute}.love-message[data-v-86cec506]{text-align:center;color:var(--color-accent);position:relative}.love-message p[data-v-86cec506]{font-family:var(--font-letter);letter-spacing:.08em;white-space:nowrap;margin:0;font-size:clamp(3.5rem,15vw,11rem);font-weight:400;line-height:1.15}.love-message span[data-v-86cec506]{margin-top:1.5rem;font-size:2rem;display:block}.loading-screen[data-v-f62d0171]{background:radial-gradient(ellipse at 25% 20%, #deb7b138, transparent 65%), var(--color-background);place-items:center;width:100%;height:100svh;display:grid;overflow:hidden}.loading-content[data-v-f62d0171]{text-align:center;padding:2rem}.loading-emblem[data-v-f62d0171]{width:120px;height:100px;margin:0 auto 1.5rem;display:block}.loading-content p[data-v-f62d0171]{color:var(--color-text);font-family:var(--font-letter);margin:0;font-size:1.25rem;font-style:italic}.loading-dots[data-v-f62d0171]{justify-content:center;gap:.45rem;margin-top:1.25rem;display:flex}.loading-dots span[data-v-f62d0171]{background:var(--color-accent);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite loading-pulse-f62d0171}.loading-dots span[data-v-f62d0171]:nth-child(2){animation-delay:.15s}.loading-dots span[data-v-f62d0171]:nth-child(3){animation-delay:.3s}@keyframes loading-pulse-f62d0171{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-dots span[data-v-f62d0171]{animation:none}}.app-shell[data-v-934be9e7]{position:relative}.store-letter-button[data-v-934be9e7]{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:10;border:1px solid var(--color-border);background:var(--color-paper);width:max-content;max-width:calc(100% - 2rem);min-height:48px;color:var(--color-text);cursor:pointer;transition:background var(--transition-smooth);border-radius:999px;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.85rem;display:inline-flex;position:fixed;box-shadow:0 4px 18px #5742331f}.store-letter-button.is-docked[data-v-934be9e7]{left:50%;right:auto;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));background:var(--color-accent);color:var(--color-paper);border-color:#0000;position:absolute;transform:translate(-50%)}.store-letter-button.is-docked[data-v-934be9e7]:hover:not(:disabled){background:#956c69}.store-letter-button[data-v-934be9e7]:hover:not(:disabled){background:var(--color-background)}.store-letter-button[data-v-934be9e7]:disabled{opacity:.6;cursor:default}.store-letter-button svg[data-v-934be9e7]{stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;width:20px;height:20px}:root{--color-background:#f8f5f0;--color-paper:#fffdf9;--color-envelope:#d9c1ac;--color-envelope-dark:#c6a58c;--color-text:#51483f;--color-text-soft:#96877b;--color-accent:#a77c79;--color-border:#e8ded3;--shadow-soft:0 20px 50px #5742331f;--font-ui:"Segoe UI", sans-serif;--font-letter:Georgia, "Times New Roman", serif;--transition-smooth:.35s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html.letter-view{scrollbar-width:none}html.letter-view::-webkit-scrollbar{display:none}body{background:var(--color-background);min-width:320px;min-height:100vh;color:var(--color-text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button{font:inherit}html.envelope-view,html.envelope-view body,html.photo-view-open,html.photo-view-open body,html.love-transition-view,html.love-transition-view body,html.initial-loading-view,html.initial-loading-view body{overscroll-behavior:none;overflow:hidden}button:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}#app{min-height:100svh}.app-shell{width:100%;min-height:100svh}::selection{color:var(--color-text);background:#e7d4cf}.scene-enter-active,.scene-leave-active{transition:opacity .45s}.scene-enter-from,.scene-leave-to{opacity:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
