.birthday-envelope.svelte-evpk54{--birthday-bow-face-top: #ffb0c7;--birthday-bow-face-mid: #ff4f86;--birthday-bow-face-bottom: #b8134b;--birthday-bow-fold-top: #c01752;--birthday-bow-fold-bottom: #72102f;--birthday-bow-stroke: rgba(104, 13, 48, .38);--birthday-bow-inner-stroke: rgba(96, 10, 42, .24);--birthday-bow-highlight: rgba(255, 255, 255, .66);--birthday-bow-lowlight: rgba(65, 0, 30, .28);--birthday-bow-shadow: 0 14px 24px rgba(136, 16, 64, .36);min-height:100svh;display:grid;place-items:center;overflow:hidden;background:hsl(var(--background));perspective:1500px}html.dark .birthday-envelope.svelte-evpk54{--birthday-bow-face-top: #ff7aa0;--birthday-bow-face-mid: #ff3c71;--birthday-bow-face-bottom: #d42160;--birthday-bow-fold-top: #e0316b;--birthday-bow-fold-bottom: #961644;--birthday-bow-stroke: rgba(255, 210, 224, .24);--birthday-bow-inner-stroke: rgba(103, 17, 46, .34);--birthday-bow-highlight: rgba(255, 255, 255, .45);--birthday-bow-lowlight: rgba(0, 0, 0, .26);--birthday-bow-shadow: 0 14px 24px rgba(0, 0, 0, .46)}.birthday-envelope__stage.svelte-evpk54{position:relative;padding:40px 20px;perspective:1200px}.birthday-envelope__button.svelte-evpk54{--birthday-present-tilt-rotate-x: 0deg;--birthday-present-tilt-rotate-y: 0deg;--birthday-present-tilt-shift-x: 0px;--birthday-present-tilt-shift-y: 0px;--birthday-present-tilt-shadow-x: 0px;--birthday-present-tilt-shadow-y: 0px;--birthday-present-tilt-shadow-scale: 1;position:relative;display:block;width:min(86vw,520px);aspect-ratio:5 / 4;border:0;border-radius:12px;padding:0;background:transparent;cursor:pointer;touch-action:manipulation;perspective:1200px;transform-style:preserve-3d}.birthday-envelope__button.svelte-evpk54:focus-visible{outline:2px solid hsl(var(--primary) / .6);outline-offset:6px}.birthday-envelope__tilt.svelte-evpk54{position:absolute;inset:0;display:block;pointer-events:none;transform:translateZ(0);transform-origin:center;transform-style:preserve-3d;transition:transform .32s cubic-bezier(.23,1,.32,1);will-change:transform,opacity}.birthday-envelope__shadow.svelte-evpk54{position:absolute;left:12%;right:12%;bottom:-24px;z-index:0;height:18px;border-radius:999px;background:#00000029;filter:blur(14px);opacity:.28;transform:translateZ(-44px);transition:opacity .26s ease,transform .26s ease;will-change:transform,opacity}.birthday-envelope__present.svelte-evpk54,.birthday-envelope__paper.svelte-evpk54,.birthday-envelope__half.svelte-evpk54,.birthday-envelope__ribbon.svelte-evpk54{position:absolute;inset:0;display:block}.birthday-envelope__present.svelte-evpk54{z-index:1;pointer-events:none;border-radius:12px;transform:translateZ(0);transform-style:preserve-3d;transition:transform .32s cubic-bezier(.23,1,.32,1),filter .26s ease;will-change:transform,opacity}.birthday-envelope__paper.svelte-evpk54,.birthday-envelope__half.svelte-evpk54,.birthday-envelope__ribbon.svelte-evpk54,.birthday-envelope__bow.svelte-evpk54{transition:box-shadow .26s ease,filter .26s ease}.birthday-envelope__paper.svelte-evpk54{border-radius:12px;background:var(--envelope-paper-bg);box-shadow:var(--envelope-paper-shadow)}.birthday-envelope__half--left.svelte-evpk54{right:50%;border-radius:12px 0 0 12px;background:var(--envelope-paper-bg);box-shadow:inset -8px 0 18px var(--envelope-paper-inset),inset 0 0 0 1px var(--envelope-paper-edge)}.birthday-envelope__half--right.svelte-evpk54{left:50%;border-radius:0 12px 12px 0;background:var(--envelope-paper-bg);box-shadow:inset 8px 0 18px var(--envelope-paper-inset),inset 0 0 0 1px var(--envelope-paper-edge)}.birthday-envelope__ribbon--h.svelte-evpk54{top:42%;bottom:42%;background:var(--envelope-ribbon-horizontal);box-shadow:0 6px 18px var(--envelope-ribbon-shadow),inset 0 1px #ffffff59}.birthday-envelope__ribbon--v.svelte-evpk54{left:42%;right:42%;background:var(--envelope-ribbon-vertical);box-shadow:6px 0 18px var(--envelope-ribbon-shadow),inset 1px 0 #ffffff59}.birthday-envelope__bow.svelte-evpk54{position:absolute;z-index:2;left:50%;top:50%;width:min(42vw,200px);transform:translate(-50%,-50%);filter:drop-shadow(var(--birthday-bow-shadow))}@media(hover:hover)and (pointer:fine)and (min-width:768px){.birthday-envelope__tilt.svelte-evpk54,.birthday-envelope__present.svelte-evpk54,.birthday-envelope__shadow.svelte-evpk54{transition:transform .18s cubic-bezier(.23,1,.32,1),opacity .26s ease,filter .26s ease;will-change:transform}.birthday-envelope.is-hovered .birthday-envelope__tilt.svelte-evpk54{transform:translate3d(var(--birthday-present-tilt-shift-x),var(--birthday-present-tilt-shift-y),0) rotateX(var(--birthday-present-tilt-rotate-x)) rotateY(var(--birthday-present-tilt-rotate-y)) translateY(-8px) scale(1.045)}.birthday-envelope.is-hovered .birthday-envelope__shadow.svelte-evpk54{opacity:.58;transform:translate3d(var(--birthday-present-tilt-shadow-x),var(--birthday-present-tilt-shadow-y),-48px) scaleX(var(--birthday-present-tilt-shadow-scale))}.birthday-envelope.is-hovered .birthday-envelope__present.svelte-evpk54{filter:drop-shadow(0 24px 46px hsl(var(--primary) / .2));transform:translateZ(34px)}}.birthday-envelope__bow.svelte-evpk54 svg:where(.svelte-evpk54){width:100%;height:auto;display:block}.birthday-envelope__bow-stop--face-top.svelte-evpk54{stop-color:var(--birthday-bow-face-top)}.birthday-envelope__bow-stop--face-mid.svelte-evpk54{stop-color:var(--birthday-bow-face-mid)}.birthday-envelope__bow-stop--face-bottom.svelte-evpk54{stop-color:var(--birthday-bow-face-bottom)}.birthday-envelope__bow-stop--fold-top.svelte-evpk54{stop-color:var(--birthday-bow-fold-top)}.birthday-envelope__bow-stop--fold-bottom.svelte-evpk54{stop-color:var(--birthday-bow-fold-bottom)}.birthday-envelope__tap.svelte-evpk54{position:absolute;left:50%;top:50%;width:80px;height:80px;border-radius:999px;background:#ffffff59;opacity:0;transform:translate3d(-50%,-50%,0) scale(.72)}.birthday-envelope__names.svelte-evpk54{position:absolute;left:50%;top:calc(100% + 28px);width:min(86vw,520px);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transform:translate(-50%);font-family:var(--font-serif)}.birthday-envelope__eyebrow.svelte-evpk54,.birthday-envelope__sender.svelte-evpk54,.birthday-envelope__hint.svelte-evpk54{color:hsl(var(--foreground) / .55);font-family:var(--font-sans);font-size:.68rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.birthday-envelope__recipient.svelte-evpk54{color:var(--letter-italic-ink, hsl(var(--foreground) / .68));font-size:clamp(1.35rem,5vw,1.75rem);font-style:italic;font-weight:500}.birthday-envelope__sender.svelte-evpk54 bdi:where(.svelte-evpk54){color:var(--letter-italic-ink-muted, hsl(var(--foreground) / .48));font-family:var(--font-serif);font-size:.92rem;font-style:italic;letter-spacing:0;text-transform:none}.birthday-envelope__hint.svelte-evpk54{display:inline-flex;align-items:center;gap:6px;margin-top:8px;animation:svelte-evpk54-letter-present-hint 2.4s ease-in-out infinite}@keyframes svelte-evpk54-letter-present-hint{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:.9;transform:translateY(-4px)}}.letter-envelope-shell.svelte-3xrxr2{--letter-envelope-bg-hsl: var(--background);--letter-envelope-card-hsl: var(--card);--letter-envelope-fg-hsl: var(--foreground);--letter-envelope-muted-hsl: var(--muted);--letter-envelope-muted-fg-hsl: var(--muted-foreground);--letter-envelope-primary-hsl: var(--primary);position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:hsl(var(--letter-envelope-bg-hsl));perspective:1200px}html:not(.dark) .letter-envelope-shell.svelte-3xrxr2{--letter-envelope-bg-hsl: 0 0% 98%;--letter-envelope-card-hsl: 0 0% 100%;--letter-envelope-fg-hsl: 20 15% 25%;--letter-envelope-muted-hsl: 30 30% 96%;--letter-envelope-muted-fg-hsl: 30 10% 50%;--letter-envelope-primary-hsl: 345 60% 65%}html.dark .letter-envelope-shell.svelte-3xrxr2{--letter-envelope-bg-hsl: 230 15% 12%;--letter-envelope-card-hsl: 230 15% 16%;--letter-envelope-fg-hsl: 230 15% 88%;--letter-envelope-muted-hsl: 230 15% 20%;--letter-envelope-muted-fg-hsl: 230 10% 65%;--letter-envelope-primary-hsl: 345 70% 75%}.letter-envelope-shell__aura.svelte-3xrxr2{position:absolute;inset:-28% -18% -34%;z-index:0;pointer-events:none;opacity:0;border-radius:38%;background:radial-gradient(ellipse at center,hsl(var(--letter-envelope-primary-hsl) / .24) 0%,hsl(var(--letter-envelope-primary-hsl) / .12) 34%,transparent 72%);filter:blur(24px);transform:scale(.9);transition:transform 1.5s ease,opacity 1.5s ease}.letter-envelope-shell.is-hovered .letter-envelope-shell__aura.svelte-3xrxr2{transform:scale(1);opacity:.9}.letter-envelope-wrap.svelte-3xrxr2{position:relative;isolation:isolate;width:min(100% - 32px,480px);perspective:1200px}.letter-envelope.svelte-3xrxr2{--letter-tilt-rotate-x: 0deg;--letter-tilt-rotate-y: 0deg;--letter-tilt-shift-x: 0px;--letter-tilt-shift-y: 0px;--letter-tilt-far-x: 0px;--letter-tilt-far-y: 0px;--letter-tilt-mid-x: 0px;--letter-tilt-mid-y: 0px;--letter-tilt-near-x: 0px;--letter-tilt-near-y: 0px;--letter-tilt-shadow-x: 0px;--letter-tilt-shadow-y: 0px;--letter-tilt-shadow-scale: 1;position:relative;z-index:1;width:100%;aspect-ratio:4 / 3;cursor:pointer;touch-action:manipulation;transform-style:preserve-3d;animation:svelte-3xrxr2-letter-envelope-in .6s cubic-bezier(.34,1.56,.64,1) both}.letter-envelope__tilt.svelte-3xrxr2{position:absolute;inset:0;transform:translateZ(0);transform-style:preserve-3d;transition:transform .32s cubic-bezier(.23,1,.32,1);will-change:transform}.letter-envelope.svelte-3xrxr2:focus-visible{outline:2px solid hsl(var(--letter-envelope-primary-hsl) / .55);outline-offset:8px;border-radius:22px}.letter-envelope__shadow.svelte-3xrxr2{position:absolute;left:10%;right:10%;bottom:-32px;height:16px;border-radius:999px;background:#0000001a;filter:blur(12px);opacity:.3;transition:opacity .26s ease,transform .26s ease}.letter-envelope-shell.is-hovered .letter-envelope__shadow.svelte-3xrxr2{opacity:.5;transform:scaleX(1.06)}.letter-envelope__body.svelte-3xrxr2{position:absolute;inset:0;overflow:hidden;border:2px solid hsl(var(--letter-envelope-primary-hsl) / .2);border-radius:22px;background:linear-gradient(135deg,hsl(var(--letter-envelope-card-hsl)),hsl(var(--letter-envelope-muted-hsl)));box-shadow:0 10px 30px -10px #00000026;transform:translateZ(0);transform-style:preserve-3d;transition:border-color .26s ease,transform .26s cubic-bezier(.34,1.56,.64,1),box-shadow .26s ease;will-change:transform,box-shadow}.letter-envelope-shell.is-hovered .letter-envelope__body.svelte-3xrxr2{border-color:hsl(var(--letter-envelope-primary-hsl) / .4);transform:translateY(-4px) scale(1.02);box-shadow:0 20px 40px -12px hsl(var(--letter-envelope-primary-hsl) / .4)}.letter-envelope__pattern.svelte-3xrxr2{position:absolute;inset:0;color:hsl(var(--letter-envelope-primary-hsl) / .3);opacity:.3;pointer-events:none}.letter-envelope__corner.svelte-3xrxr2{position:absolute;width:64px;height:64px;color:hsl(var(--letter-envelope-primary-hsl) / .2);transform:rotate(var(--corner-rotation))}.letter-envelope__corner--top-left.svelte-3xrxr2{top:8px;left:8px}.letter-envelope__corner--top-right.svelte-3xrxr2{top:8px;right:8px}.letter-envelope__corner--bottom-left.svelte-3xrxr2{bottom:8px;left:8px}.letter-envelope__corner--bottom-right.svelte-3xrxr2{right:8px;bottom:8px}.letter-envelope__corner.svelte-3xrxr2 svg:where(.svelte-3xrxr2){width:100%;height:100%}.letter-envelope__flap.svelte-3xrxr2{position:absolute;pointer-events:none}.letter-envelope__flap--top.svelte-3xrxr2{top:0;left:0;right:0;height:50%;clip-path:polygon(0 0,100% 0,50% 100%);background:hsl(var(--letter-envelope-card-hsl));box-shadow:inset 0 -1px hsl(var(--letter-envelope-primary-hsl) / .1);transform-origin:bottom center;transition:transform .3s cubic-bezier(.34,1.56,.64,1);z-index:8}.letter-envelope__flap-face.svelte-3xrxr2{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,hsl(var(--letter-envelope-card-hsl)),hsl(var(--letter-envelope-card-hsl) / .95))}.letter-envelope__flap-outline.svelte-3xrxr2{position:absolute;inset:0;color:hsl(var(--letter-envelope-primary-hsl) / .25)}.letter-envelope-shell.is-hovered .letter-envelope__flap--top.svelte-3xrxr2{transform:translateY(-3px) scaleY(1.03)}.letter-envelope__seal.svelte-3xrxr2{position:absolute;left:50%;top:50%;z-index:15;width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:#fff;background:transparent;transform:translate(-50%,-50%);transition:transform .26s cubic-bezier(.23,1,.32,1);animation:svelte-3xrxr2-letter-seal-in .52s cubic-bezier(.34,1.56,.64,1) .26s backwards}.letter-envelope__seal.svelte-3xrxr2:before,.letter-envelope__seal.svelte-3xrxr2:after{content:"";position:absolute;border-radius:999px}.letter-envelope__seal.svelte-3xrxr2:before{inset:0;background:hsl(var(--letter-envelope-primary-hsl) / .2);filter:blur(4px)}.letter-envelope__seal.svelte-3xrxr2:after{inset:8px;background:linear-gradient(135deg,hsl(var(--letter-envelope-primary-hsl) / .9),hsl(var(--letter-envelope-primary-hsl) / .7));box-shadow:inset 0 1px #ffffff59}.letter-envelope__seal.svelte-3xrxr2 svg{position:relative;z-index:1}.letter-envelope-shell.is-hovered .letter-envelope__seal.svelte-3xrxr2{transform:translate(-50%,calc(-50% - 3px))}.letter-envelope__recipient.svelte-3xrxr2,.letter-envelope__sender.svelte-3xrxr2{position:absolute;z-index:12;color:hsl(var(--letter-envelope-fg-hsl) / .88);pointer-events:none}.letter-envelope__recipient.svelte-3xrxr2{left:50%;top:61%;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:2px 4px;width:min(84%,22rem);transform:translate(-50%);text-align:center;opacity:.9}.letter-envelope__recipient.svelte-3xrxr2 span:where(.svelte-3xrxr2),.letter-envelope__sender.svelte-3xrxr2 span:where(.svelte-3xrxr2){color:hsl(var(--letter-envelope-muted-fg-hsl));font-family:var(--font-sans);font-size:1rem}.letter-envelope__recipient.svelte-3xrxr2 bdi:where(.svelte-3xrxr2),.letter-envelope__sender.svelte-3xrxr2 bdi:where(.svelte-3xrxr2){display:inline-block;padding:.34em .46em .48em;margin:-.34em -.46em -.48em;color:hsl(var(--letter-envelope-primary-hsl));font-family:var(--font-handwriting),"Segoe Script","Brush Script MT",var(--font-serif);font-size:1.25rem;line-height:1.7}.letter-envelope__recipient.svelte-3xrxr2 bdi:where(.svelte-3xrxr2){font-size:1rem}.letter-envelope__recipient.svelte-3xrxr2 svg:where(.svelte-3xrxr2){flex:0 0 100%;width:80px;height:10px;margin-top:4px;margin-inline:auto;color:hsl(var(--letter-envelope-primary-hsl) / .46)}.letter-envelope__sender.svelte-3xrxr2{left:50%;right:auto;bottom:12.5%;display:grid;width:min(88%,27rem);max-width:none;grid-template-columns:auto minmax(0,max-content);align-items:center;justify-content:center;column-gap:4px;transform:translate(-50%);opacity:.8;text-align:center;overflow:visible}[dir=rtl].svelte-3xrxr2 .letter-envelope__sender:where(.svelte-3xrxr2){left:50%;right:auto;transform:translate(-50%)}.letter-envelope__sender.svelte-3xrxr2 span:where(.svelte-3xrxr2){flex:0 0 auto}.letter-envelope__sender.svelte-3xrxr2 bdi:where(.svelte-3xrxr2){min-width:0;max-width:min(100%,23rem);overflow:visible;font-size:clamp(.9rem,2vw,1.24rem);line-height:1.7;text-overflow:clip;white-space:nowrap;overflow-wrap:normal}@media(hover:hover)and (pointer:fine)and (min-width:768px){.letter-envelope__tilt.svelte-3xrxr2,.letter-envelope__body.svelte-3xrxr2,.letter-envelope__shadow.svelte-3xrxr2,.letter-envelope__pattern.svelte-3xrxr2,.letter-envelope__flap--top.svelte-3xrxr2,.letter-envelope__seal.svelte-3xrxr2,.letter-envelope__recipient.svelte-3xrxr2,.letter-envelope__sender.svelte-3xrxr2{transition:transform .18s cubic-bezier(.23,1,.32,1);will-change:transform}.letter-envelope-shell.is-hovered .letter-envelope__tilt.svelte-3xrxr2{transform:translate3d(var(--letter-tilt-shift-x),var(--letter-tilt-shift-y),0) rotateX(var(--letter-tilt-rotate-x)) rotateY(var(--letter-tilt-rotate-y)) translateY(-8px) scale(1.045)}.letter-envelope-shell.is-hovered .letter-envelope__shadow.svelte-3xrxr2{opacity:.58;transform:translate3d(var(--letter-tilt-shadow-x),var(--letter-tilt-shadow-y),-48px) scaleX(var(--letter-tilt-shadow-scale))}.letter-envelope-shell.is-hovered .letter-envelope__body.svelte-3xrxr2{transform:translateZ(34px)}.letter-envelope-shell.is-hovered .letter-envelope__pattern.svelte-3xrxr2{transform:translate3d(var(--letter-tilt-far-x),var(--letter-tilt-far-y),18px)}.letter-envelope-shell.is-hovered .letter-envelope__flap--top.svelte-3xrxr2{transform:translate3d(var(--letter-tilt-mid-x),var(--letter-tilt-mid-y),48px) translateY(-4px) scaleY(1.04)}.letter-envelope-shell.is-hovered .letter-envelope__seal.svelte-3xrxr2{transform:translate(-50%,-50%) translate3d(var(--letter-tilt-mid-x),var(--letter-tilt-mid-y),48px)}.letter-envelope-shell.is-hovered .letter-envelope__recipient.svelte-3xrxr2{transform:translate(-50%) translate3d(var(--letter-tilt-near-x),var(--letter-tilt-near-y),76px)}.letter-envelope-shell.is-hovered .letter-envelope__sender.svelte-3xrxr2{transform:translate(-50%) translate3d(var(--letter-tilt-near-x),var(--letter-tilt-near-y),68px)}}.letter-envelope__tap.svelte-3xrxr2{position:absolute;left:50%;top:50%;width:80px;height:80px;border-radius:999px;background:#ffffff4d;opacity:0;transform:translate3d(-50%,-50%,0) scale(.72)}.letter-envelope-cue.svelte-3xrxr2{position:absolute;inset-inline:0;top:calc(100% + 24px);display:flex;flex-direction:column;align-items:center;gap:8px;color:hsl(var(--letter-envelope-muted-fg-hsl));font-size:.78rem;pointer-events:none;animation:svelte-3xrxr2-letter-cue-in .3s ease 2.4s both}.letter-envelope-cue__arrow.svelte-3xrxr2{width:48px;height:40px;color:hsl(var(--letter-envelope-primary-hsl) / .38);animation:svelte-3xrxr2-letter-cue-float 1.5s ease-in-out infinite}@keyframes svelte-3xrxr2-letter-envelope-in{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes svelte-3xrxr2-letter-seal-in{0%{opacity:0;transform:translate(-50%,-50%) rotate(-180deg) scale(0)}to{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}}@keyframes svelte-3xrxr2-letter-cue-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes svelte-3xrxr2-letter-cue-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){.letter-envelope.svelte-3xrxr2,.letter-envelope__seal.svelte-3xrxr2,.letter-envelope-cue.svelte-3xrxr2,.letter-envelope-cue__arrow.svelte-3xrxr2,.letter-envelope-shell.is-hovered .letter-envelope__seal.svelte-3xrxr2{animation:none}.letter-envelope__tilt.svelte-3xrxr2,.letter-envelope__body.svelte-3xrxr2,.letter-envelope__flap.svelte-3xrxr2,.letter-envelope__shadow.svelte-3xrxr2{transition:none;animation:none}.letter-envelope-shell.is-hovered .letter-envelope__tilt.svelte-3xrxr2,.letter-envelope-shell.is-hovered .letter-envelope__body.svelte-3xrxr2{transform:translateZ(0)}.letter-envelope-shell.is-hovered .letter-envelope__pattern.svelte-3xrxr2,.letter-envelope-shell.is-hovered .letter-envelope__flap--top.svelte-3xrxr2,.letter-envelope-shell.is-hovered .letter-envelope__seal.svelte-3xrxr2,.letter-envelope-shell.is-hovered .letter-envelope__recipient.svelte-3xrxr2,.letter-envelope-shell.is-hovered .letter-envelope__sender.svelte-3xrxr2,.letter-envelope-shell.is-hovered .letter-envelope__shadow.svelte-3xrxr2{transform:none}}.letter-viewer.svelte-eqn102{position:fixed;inset:0;overflow:hidden;background:hsl(var(--background))}.letter-viewer--embedded.svelte-eqn102{position:relative;inset:auto;width:100%;height:100%;min-height:100%;overflow:hidden;border-radius:inherit;container-type:size;contain:layout paint}.letter-viewer--embedded.svelte-eqn102 .letter-envelope-shell,.letter-viewer--embedded.svelte-eqn102 .birthday-envelope{min-height:100%}.letter-viewer--embedded.svelte-eqn102 .letter-envelope-wrap{width:min(calc(100% - 32px),480px)}.letter-viewer--preview-mobile.svelte-eqn102 .letter-envelope-wrap{width:min(86cqw,340px)}.letter-viewer--embedded.svelte-eqn102 .birthday-envelope__button,.letter-viewer--embedded.svelte-eqn102 .birthday-envelope__names{width:min(86cqw,520px)}.letter-viewer--preview-mobile.svelte-eqn102 .birthday-envelope__button,.letter-viewer--preview-mobile.svelte-eqn102 .birthday-envelope__names{width:min(86cqw,340px)}.letter-viewer--preview-desktop.svelte-eqn102 .birthday-envelope__stage{display:grid;width:100%;justify-items:center;gap:clamp(10px,2cqh,18px);padding:clamp(14px,3cqh,24px) 20px}.letter-viewer--preview-desktop.svelte-eqn102 .birthday-envelope__button,.letter-viewer--preview-desktop.svelte-eqn102 .birthday-envelope__names{width:min(70cqw,calc(125cqh - 160px),520px)}.letter-viewer--preview-desktop.svelte-eqn102 .birthday-envelope__names{position:static;gap:clamp(4px,1cqh,8px);transform:none}.letter-viewer--embedded.svelte-eqn102 .birthday-envelope__bow{width:min(42cqw,200px)}.letter-viewer--preview-desktop.svelte-eqn102 .birthday-envelope__bow{width:min(27cqw,calc(48.1cqh - 61.6px),200px)}.letter-viewer--preview-desktop.svelte-eqn102 .birthday-envelope__recipient{font-size:clamp(1.25rem,2.7cqw,1.65rem)}.letter-viewer--preview-desktop.svelte-eqn102 .birthday-envelope__hint{margin-top:2px}.letter-viewer--preview-mobile.svelte-eqn102 .birthday-envelope__recipient{font-size:clamp(1.35rem,5cqw,1.75rem)}.letter-viewer--embedded.svelte-eqn102 .letter-birthday-countdown:where(.svelte-eqn102),.letter-viewer--embedded.svelte-eqn102 .letter-birthday-intro:where(.svelte-eqn102),.letter-viewer--embedded.svelte-eqn102 .letter-content-loader:where(.svelte-eqn102){min-height:100%}.letter-viewer--embedded.svelte-eqn102 .letter-birthday-countdown:where(.svelte-eqn102) h1:where(.svelte-eqn102),.letter-viewer--embedded.svelte-eqn102 .letter-birthday-intro:where(.svelte-eqn102) h1:where(.svelte-eqn102){font-size:clamp(3rem,14cqw,7rem)}.letter-viewer--preview-mobile.svelte-eqn102 .letter-birthday-countdown:where(.svelte-eqn102) h1:where(.svelte-eqn102),.letter-viewer--preview-mobile.svelte-eqn102 .letter-birthday-intro:where(.svelte-eqn102) h1:where(.svelte-eqn102){font-size:clamp(2.2rem,13cqw,4rem)}.letter-viewer--preview-mobile.svelte-eqn102 .letter-birthday-stage__content:where(.svelte-eqn102){width:100%;gap:clamp(14px,2.5cqh,22px);padding-inline:clamp(24px,9cqw,42px)}.letter-viewer--preview-mobile.svelte-eqn102 .letter-birthday-intro:where(.svelte-eqn102) h1:where(.svelte-eqn102){max-width:min(100%,9.5ch);padding-inline:.44em}.letter-viewer--embedded.svelte-eqn102 .letter-birthday-countdown__grid:where(.svelte-eqn102) strong:where(.svelte-eqn102){font-size:clamp(1.55rem,5cqw,2.3rem)}.letter-viewer--embedded.svelte-eqn102 .letter-birthday-intro:where(.svelte-eqn102) strong:where(.svelte-eqn102){font-size:clamp(2rem,8cqw,3.8rem)}.letter-chrome.svelte-eqn102{position:fixed;inset-inline:0;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:max(env(safe-area-inset-top),.75rem) max(env(safe-area-inset-right),.875rem) .5rem max(env(safe-area-inset-left),.875rem);opacity:0;pointer-events:none;transition:opacity .5s ease-out}.letter-viewer--embedded.svelte-eqn102 .letter-chrome:where(.svelte-eqn102){position:absolute}.letter-chrome.visible.svelte-eqn102{opacity:1}.letter-chrome.svelte-eqn102 a:where(.svelte-eqn102):not(.letter-chrome__brand){height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid hsl(var(--border) / .5);border-radius:999px;padding:0 16px;color:hsl(var(--foreground) / .8);background:hsl(var(--background) / .6);text-decoration:none;font-size:.9rem;font-weight:500;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .15s ease,color .15s ease,border-color .15s ease}.letter-chrome.visible.svelte-eqn102 a:where(.svelte-eqn102){pointer-events:auto}.letter-chrome.svelte-eqn102 a:where(.svelte-eqn102):not(.letter-chrome__brand):hover{color:hsl(var(--foreground));background:hsl(var(--background) / .8)}.letter-chrome__brand.svelte-eqn102{width:56px;height:56px;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease}.letter-chrome__brand.svelte-eqn102:hover{transform:scale(1.05)}.letter-chrome__brand.svelte-eqn102 img:where(.svelte-eqn102){width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 2px 10px rgba(0,0,0,.3));-webkit-user-select:none;user-select:none}.letter-content-loader.svelte-eqn102{min-height:100svh;display:grid;place-content:center;justify-items:center;gap:22px;padding:24px;text-align:center;background:radial-gradient(circle at 50% 10%,rgba(255,60,113,.24),transparent 30rem),hsl(var(--background))}.letter-birthday-countdown.svelte-eqn102,.letter-birthday-intro.svelte-eqn102{--fireworks-bg: 280 35% 8%;position:relative;min-height:100svh;display:grid;place-content:center;justify-items:center;overflow:hidden;padding:24px;color:#fff;background:hsl(var(--fireworks-bg));text-align:center;isolation:isolate}.letter-birthday-fireworks{position:absolute;inset:0;z-index:0;width:100%;height:100%}.letter-birthday-stage__glow.svelte-eqn102{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 34%,hsl(var(--primary) / .2) 0%,transparent 55%),radial-gradient(ellipse at 50% 100%,hsl(var(--accent) / .13) 0%,transparent 62%),linear-gradient(to bottom,transparent,rgba(0,0,0,.42))}.letter-birthday-stage__content.svelte-eqn102{position:relative;z-index:2;display:grid;justify-items:center;gap:clamp(18px,3vw,28px);box-sizing:border-box;width:min(100%,860px);overflow:visible;padding-inline:clamp(18px,4vw,56px);animation:svelte-eqn102-letter-birthday-stage-content-in .62s cubic-bezier(.22,.68,.31,1) both}@keyframes svelte-eqn102-letter-birthday-stage-content-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.letter-content-loader.svelte-eqn102 span:where(.svelte-eqn102){width:42px;height:42px;border:3px solid hsl(var(--primary) / .22);border-top-color:hsl(var(--primary));border-radius:999px;animation:svelte-eqn102-letter-content-loader-spin .85s linear infinite}@keyframes svelte-eqn102-letter-content-loader-spin{to{transform:rotate(360deg)}}.letter-birthday-countdown.svelte-eqn102 p:where(.svelte-eqn102),.letter-birthday-intro.svelte-eqn102 p:where(.svelte-eqn102){margin:0;color:#fcd34d;font-size:clamp(.72rem,1.2vw,.92rem);font-weight:900;letter-spacing:.28em;text-shadow:0 2px 16px rgba(252,211,77,.45);text-transform:uppercase}.letter-birthday-countdown.svelte-eqn102 h1:where(.svelte-eqn102),.letter-birthday-intro.svelte-eqn102 h1:where(.svelte-eqn102){display:inline-block;max-width:min(100%,12ch);margin:0;padding:.1em .34em .24em;overflow:visible;font-family:var(--font-serif);font-size:clamp(3rem,14vw,7rem);line-height:1.04;letter-spacing:0;overflow-wrap:anywhere;background:linear-gradient(90deg,#f472b6,#fcd34d 48%,#e879f9);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 34px rgba(236,72,153,.36))}.letter-birthday-intro.svelte-eqn102 h1:where(.svelte-eqn102){max-width:min(100%,10.5ch)}.letter-birthday-countdown__grid.svelte-eqn102{display:grid;grid-template-columns:repeat(5,minmax(64px,1fr));gap:10px;width:min(100%,620px)}.letter-birthday-countdown__grid.svelte-eqn102 span:where(.svelte-eqn102){display:grid;gap:4px;border:1px solid hsl(var(--border));border-radius:18px;padding:14px 10px;background:#ffffff14;box-shadow:inset 0 1px #ffffff1c,0 18px 40px #00000029;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.letter-birthday-countdown__grid.svelte-eqn102 span:where(.svelte-eqn102){border-color:#ffffff21;color:#ffffff7a;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.letter-birthday-countdown__grid.svelte-eqn102 strong:where(.svelte-eqn102){display:block;justify-self:center;min-width:3ch;color:#fffffff5;font-size:clamp(1.55rem,5vw,2.3rem);font-weight:350;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.04em;text-align:center}.letter-birthday-countdown.svelte-eqn102 button:where(.svelte-eqn102),.letter-birthday-intro.svelte-eqn102 button:where(.svelte-eqn102){min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:0 22px;color:#fff;background:linear-gradient(120deg,#ec4899,#fbbf24,#d946ef);box-shadow:0 14px 34px #ec48994d;font:inherit;font-weight:850;cursor:pointer;transition:opacity .16s ease,transform .16s ease}.letter-birthday-countdown.svelte-eqn102 button:where(.svelte-eqn102):hover,.letter-birthday-intro.svelte-eqn102 button:where(.svelte-eqn102):hover{opacity:.94;transform:translateY(-1px)}.letter-birthday-intro.svelte-eqn102 strong:where(.svelte-eqn102){color:#fffffff2;font-family:var(--font-handwriting),var(--font-serif);font-size:clamp(2rem,8vw,3.8rem);font-weight:500;text-shadow:0 3px 24px rgba(255,255,255,.24)}.letter-birthday-age-number.svelte-eqn102{display:inline-block;font-family:var(--font-serif),var(--font-sans),serif;font-style:normal;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;font-weight:800;letter-spacing:-.04em}@media(prefers-reduced-motion:reduce){.letter-birthday-stage__content.svelte-eqn102,.letter-birthday-countdown.svelte-eqn102 button:where(.svelte-eqn102),.letter-birthday-intro.svelte-eqn102 button:where(.svelte-eqn102){animation:none;transition:none}}@media(max-width:680px){.letter-chrome.svelte-eqn102{padding-inline:max(env(safe-area-inset-left),.75rem) max(env(safe-area-inset-right),.75rem)}.letter-chrome.svelte-eqn102 a:where(.svelte-eqn102):not(.letter-chrome__brand){height:42px;padding-inline:14px;font-size:.84rem}.letter-chrome__brand.svelte-eqn102,.letter-chrome__brand.svelte-eqn102 img:where(.svelte-eqn102){width:48px;height:48px}.letter-birthday-countdown__grid.svelte-eqn102{grid-template-columns:repeat(2,minmax(0,1fr))}.letter-birthday-countdown__grid.svelte-eqn102 span:where(.svelte-eqn102):first-child{grid-column:span 2}.letter-chrome.svelte-eqn102 a:where(.svelte-eqn102):not(.letter-chrome__brand),.letter-birthday-countdown__grid.svelte-eqn102 span:where(.svelte-eqn102){-webkit-backdrop-filter:none;backdrop-filter:none}}
