.v2026{--heart-fill:#87479d;--heart-stroke:#d797a585;--text-ivory:#fff9fc;--yes-ink:#82435a;--yes-bg-a:#fff4f8;--yes-bg-b:#ffdce7;--no-ink:#7e5460;--no-bg-a:#fff7f8;--no-bg-b:#f0e3e8}@font-face{font-family:Weddingday;src:local(Weddingday),url(../media/WeddingdayPersonalUseRegular-1Gvo0.cc1d2c66.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}.v2026 *{box-sizing:border-box}.v2026.App{overscroll-behavior:none;touch-action:manipulation;isolation:isolate;background:#fff;width:100%;height:100dvh;min-height:100dvh;position:relative;overflow:hidden}.v2026.App--backgroundFade,.v2026.App--textFade,.v2026.App--choices{background:var(--heart-fill)}.v2026 .StateLayer{pointer-events:none;position:absolute;inset:0}.v2026 .StateLayer--active{opacity:1}.v2026 .StateLayer--backgroundFade{z-index:0}.v2026 .StateLayer--stamping{z-index:1;contain:layout paint style;opacity:1;transition:opacity .42s ease-out 90ms}.v2026.App--backgroundFade .StateLayer--stamping,.v2026.App--textFade .StateLayer--stamping,.v2026.App--choices .StateLayer--stamping{opacity:0}.v2026 .StateLayer--textFade{z-index:3}.v2026 .StateLayer--choices{z-index:4}.v2026 .StateLayer--loveReset{z-index:9;opacity:0;transition:opacity .26s}.v2026 .StateLayer--loveReset.StateLayer--active{opacity:1}.v2026 .StateLayer--letter{z-index:7;opacity:0;place-items:center;padding:clamp(1rem,4vw,2rem);transition:opacity .24s ease-in-out;display:grid}.v2026 .StateLayer--letter.StateLayer--active{opacity:1;pointer-events:auto}.v2026 .BackgroundFill{opacity:0;background:var(--heart-fill);position:absolute;inset:0}.v2026 .BackgroundFill--fading{animation:.8s forwards backgroundFadeIn}.v2026 .BackgroundFill--shown{opacity:1}.v2026 .BackgroundFill--loveReset{z-index:0}.v2026 .PopHeart{z-index:1;left:var(--popX);top:var(--popY);width:var(--popSize);height:var(--popSize);transform:translate(-50%,-50%)rotate(var(--popRotation))scale(.12);opacity:0;animation:popHeartStamp .68s cubic-bezier(.2,1.18,.3,1)var(--popDelay)forwards;will-change:transform,opacity;position:absolute}.v2026 .PopHeartSvg{width:100%;height:100%;display:block}.v2026 .PopHeartPath{fill:var(--heart-fill);stroke:var(--heart-stroke);stroke-width:2px;stroke-opacity:1;vector-effect:non-scaling-stroke}.v2026 .PopHeartPath--reset{stroke-opacity:1}.v2026 .StateLayer--loveReset-resetBackground .PopHeart--reset,.v2026 .StateLayer--loveReset-letter .PopHeart--reset{opacity:0;transition:opacity .32s ease-out}.v2026 .TextLayer{z-index:3;pointer-events:none;opacity:0;place-items:center;display:grid;position:absolute;inset:0}.v2026 .FadeText{text-align:center;color:var(--text-ivory);text-shadow:0 8px 26px #77415347,0 1px #ffffff40;margin:0 0 20%;font-family:Weddingday,Zapfino,Snell Roundhand,Lucida Handwriting,cursive;font-size:clamp(3.1rem,9vw,7.25rem);line-height:.95;transform:translateY(10px)}.v2026 .FadeTextHeart{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:.88em}.v2026 .TextLayer--animating{animation:.9s forwards textFadeIn}.v2026 .TextLayer--shown{opacity:1}.v2026 .TextLayer--shown .FadeText{transform:translateY(0)}.v2026 .ChoiceLayer{z-index:2;opacity:0;pointer-events:none;will-change:opacity,transform;width:min(92vw,700px);transition:opacity .42s,transform .42s;position:absolute;bottom:42vh;left:50%;transform:translate(-50%,20px)}.v2026 .ChoiceLayer--visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.v2026 .ChoiceButtons{justify-content:center;align-items:center;gap:clamp(.7rem,2.2vw,1.5rem);min-height:clamp(72px,8.8vw,96px);display:flex;position:relative}.v2026 .ChoiceButton{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;justify-content:center;align-items:center;width:clamp(132px,18vw,188px);min-width:0;height:clamp(72px,8.8vw,96px);padding:0 1.35rem;font-family:Weddingday,Snell Roundhand,cursive;font-size:clamp(1.8rem,4.4vw,2.8rem);line-height:.86;transition:transform .18s,box-shadow .18s,opacity .2s ease-in;display:inline-flex;box-shadow:0 12px 24px #6d35483d,inset 0 0 0 1px #ffffff8a}.v2026 .ChoiceButton:focus-visible{outline-offset:2px;outline:2px solid #fffc}.v2026 .ChoiceButton--yes{color:var(--yes-ink);background:linear-gradient(180deg,var(--yes-bg-a)0%,var(--yes-bg-b)100%);will-change:transform}.v2026 .ChoiceLayer--visible .ChoiceButton--yes{animation:1.12s ease-in-out .52s infinite alternate both yesHoverSequence}.v2026 .ChoiceButton--no{color:var(--no-ink);background:linear-gradient(180deg,var(--no-bg-a)0%,var(--no-bg-b)100%);will-change:transform;transform:translate(var(--noOffsetX,0px),var(--noOffsetY,0px));transition:transform .19s,box-shadow .2s}.v2026 .ChoiceButton--noSwatted{transition:transform .62s cubic-bezier(.16,.88,.22,1),box-shadow .42s;box-shadow:0 18px 30px #6d354833,inset 0 0 0 1px #ffffff7a}.v2026 .CatPeek{opacity:0;pointer-events:none;z-index:1;filter:drop-shadow(0 10px 20px #642c3e3d);width:60vw;transition:opacity .52s,transform 2s ease-in-out;position:absolute;bottom:calc(-20px - 8vw);left:50%;transform:translate(-50%,76%)}.v2026 .CatPeek--visible{opacity:1;transform:translate(-50%)}.v2026 .CatPeekImage{will-change:transform;width:100%;height:auto;display:block;transform:translateY(0)}.v2026 .CatPeek--visible .CatPeekImage{animation:2.6s ease-in-out .82s infinite catPeekBob}.v2026 .CatPaw{opacity:0;pointer-events:none;z-index:5;width:clamp(165px,20vw,320px);transform:translate(calc(var(--pawAnchorX,0px) - 50%),calc(var(--pawAnchorY,0px) - 50%))rotate(var(--pawStartRotate,0deg));transform-origin:50% 90%;position:absolute;top:0;left:0}.v2026 .CatPaw--pop{animation:.52s cubic-bezier(.24,.88,.3,1) forwards pawPop}.v2026 .CatPawImage{object-fit:contain;filter:drop-shadow(0 4px 12px #7a394e3d);width:100%;height:100%;display:block}.v2026 .LoveLetterCard{opacity:0;background:linear-gradient(#fffbfdf5 0%,#fff1f6f0 100%);border-radius:26px;justify-items:center;gap:clamp(.75rem,2.4vw,1.2rem);width:min(90vw,600px);max-height:min(82vh,820px);padding:clamp(1rem,3.6vw,1.7rem);transition:opacity .26s ease-in-out,transform .28s ease-in-out;display:grid;transform:translateY(8px)scale(.992);box-shadow:0 24px 44px #59273a38,inset 0 0 0 1px #fff9}.v2026 .StateLayer--letter.StateLayer--active .LoveLetterCard{opacity:1;transform:translateY(0)scale(1)}.v2026 .LoveLetterTitle{color:#8a425e;text-align:center;margin:0;font-family:Weddingday,Snell Roundhand,cursive;font-size:clamp(2rem,5.5vw,3.1rem);line-height:.9}.v2026 .LoveLetterMessage{color:#6b3047;white-space:pre-wrap;text-align:left;background:#ffe5efbf;border-radius:16px;width:100%;max-height:min(34vh,260px);padding:clamp(.8rem,2.4vw,1.1rem);font-family:Georgia,Times New Roman,serif;font-size:clamp(.98rem,2.5vw,1.12rem);line-height:1.55;overflow-y:auto}.v2026 .LoveLetterPhotoBox{aspect-ratio:4/3;background:#ffffffb8;border-radius:16px;width:min(90%,600px);position:relative;overflow:hidden;box-shadow:0 12px 26px #702f4629}.v2026 .LoveLetterPhoto{object-fit:cover;opacity:0;will-change:opacity,transform;width:100%;height:100%;transition:opacity .42s ease-in-out,transform .56s ease-out;display:block;position:absolute;inset:0;transform:scale(1.012)}.v2026 .LoveLetterPhoto--active{opacity:1;transform:scale(1)}@media (hover:hover) and (pointer:fine){.v2026 .ChoiceButton--no:hover{transform:translate(var(--noOffsetX,0px),calc(var(--noOffsetY,0px) - 1px))}}@keyframes popHeartStamp{0%{opacity:0;transform:translate(-50%,-50%)rotate(var(--popRotation))scale(.12)}54%{opacity:1;transform:translate(-50%,-50%)rotate(var(--popRotation))scale(1.16)}76%{transform:translate(-50%,-50%)rotate(var(--popRotation))scale(.93)}to{opacity:1;transform:translate(-50%,-50%)rotate(var(--popRotation))scale(1)}}@keyframes backgroundFadeIn{0%{opacity:0}to{opacity:1}}@keyframes textFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes yesHoverSequence{0%{transform:translateY(0)scale(1)rotate(0)}22%{transform:translateY(-3px)scale(1.035)rotate(0)}42%{transform:translateY(-3px)scale(1.035)rotate(0)}56%{transform:translateY(-3px)scale(1.035)rotate(-1.6deg)}70%{transform:translateY(-3px)scale(1.035)rotate(1.4deg)}84%{transform:translateY(-3px)scale(1.035)rotate(-1deg)}to{transform:translateY(-3px)scale(1.035)rotate(0)}}@keyframes pawPop{0%{opacity:0;transform:translate(calc(var(--pawAnchorX,0px) - 50%),calc(var(--pawAnchorY,0px) - 50%))rotate(var(--pawStartRotate,0deg))}22%{opacity:1}54%{opacity:1;transform:translate(calc(var(--pawAnchorX,0px) - 50% + var(--pawSwipeX,0px)),calc(var(--pawAnchorY,0px) - 50% + var(--pawSwipeY,0px)))rotate(var(--pawSwipeRotate,-8deg))}to{opacity:0;transform:translate(calc(var(--pawAnchorX,0px) - 50% + var(--pawOutX,0px)),calc(var(--pawAnchorY,0px) - 50% + var(--pawOutY,0px)))rotate(var(--pawEndRotate,2deg))}}@keyframes catPeekBob{0%{transform:translateY(20px)}50%{transform:translateY(-20px)}to{transform:translateY(20px)}}@media (max-width:800px){.v2026 .FadeText{width:72vw;margin-bottom:34vh;font-size:4rem}.v2026 .CatPeek{width:min(600px,50vh)}.v2026 .LoveLetterCard{border-radius:20px;max-height:min(86vh,780px)}}
