#font-startup{z-index:1000;box-sizing:border-box;color:#526452;text-align:center;background:#fdf8f0;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:32px;font:400 14px/1.8 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;display:flex;position:fixed;inset:0}#font-startup [hidden]{display:none!important}.font-startup-mark{align-items:center;gap:8px;height:14px;display:flex}.font-startup-mark i{opacity:.35;background:#82937b;border-radius:50%;width:5px;height:5px;animation:1.8s ease-in-out infinite font-startup-breathe}.font-startup-mark i:nth-child(2){animation-delay:.2s}.font-startup-mark i:nth-child(3){animation-delay:.4s}#font-startup p{max-width:260px;margin:0}#font-startup button{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#fffaf3;border:1px solid #82937b88;border-radius:24px;padding:9px 24px}#font-startup button:focus-visible{outline-offset:4px;outline:2px solid #82937b}#font-startup a{color:inherit;text-underline-offset:4px;padding:8px}#font-startup a:focus-visible{outline-offset:4px;outline:2px solid #82937b}.font-startup-noscript{color:#526452;text-align:center;max-width:300px;margin:38vh auto 0;padding:24px;font:14px/1.8 system-ui,sans-serif}@keyframes font-startup-breathe{0%,to{opacity:.25}50%{opacity:.7}}@media (prefers-reduced-motion:reduce){.font-startup-mark i{opacity:.5;animation:none}}@font-face{font-family:Wedding Shoujin;src:url(/fonts/wedding-shoujin-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+3000-303F,U+3400-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-323AF}@font-face{font-family:Wedding Pinyon;src:url(/fonts/wedding-pinyon-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;font-feature-settings:"swsh" 0, "cswh" 0}@font-face{font-family:Wedding Garamond;src:url(/fonts/wedding-garamond-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Wedding Garamond;src:url(/fonts/wedding-garamond-italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Wedding WenKai;src:url(/fonts/wedding-wenkai-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--font-hand:"Wedding Shoujin", "Wedding Garamond", "Wedding WenKai", "Kaiti SC", "STKaiti", "KaiTi", "Songti SC", serif;--font-display:"Wedding Pinyon", "Wedding Garamond", "Wedding Shoujin", "Wedding WenKai", Georgia, "Songti SC", serif;--font-body:var(--font-hand);--font-label:"Wedding Garamond", "Wedding Shoujin", "Wedding WenKai", Georgia, "Songti SC", serif;--font-numerals:var(--font-label);--font-serif:var(--font-label);font-optical-sizing:auto;font-family:var(--font-body,"Kaiti SC", "STKaiti", serif);color:#3f493c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--page-unit:1svh;--paper:#fdf8f0;--paper-texture:url(/art/v10/cover-paper.webp);--ink:#3f493c;--muted:#5b6252;--sage:#a4b493;--rose:#a4646a;--color-paper:var(--paper);--color-ink:var(--ink);--color-muted:var(--muted);--color-rose:var(--rose);background:#e8e7df}*{box-sizing:border-box}html{overscroll-behavior:none;scrollbar-width:none;overflow:hidden}html::-webkit-scrollbar{display:none}html.invitation-paged .invitation-paper{scroll-snap-type:y mandatory}html.gift-is-open .invitation-paper{scroll-snap-type:none;overflow-y:hidden}body{overscroll-behavior:none;min-width:0;margin:0;position:fixed;inset:0;overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--rose);outline-offset:5px}img,svg{max-width:100%;display:block}img:not(.gift-qr),svg,.gift-entry-art,.gift-hero-slot{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}img:not(.gift-qr),svg{pointer-events:none}::selection{color:#394631;background:#e7ceca}p,h1,h2,h3{margin-top:0}.invitation-paper{width:min(100%,680px);height:var(--invitation-height,100dvh);overscroll-behavior-y:none;overflow-anchor:none;scrollbar-width:none;margin:0 auto;position:fixed;top:0;left:0;right:0;overflow:hidden auto;box-shadow:0 0 60px #48543c0a}.invitation-paper::-webkit-scrollbar{display:none}.invitation-paper{background:var(--paper)}.invitation-page{background:var(--paper) var(--paper-texture) repeat 0 0 / 627px 627px;height:calc(100 * var(--page-unit));isolation:isolate;scroll-snap-align:start;scroll-snap-stop:always;min-height:540px;position:relative;overflow:clip}.eyebrow{font:400 11px/1.6 var(--font-label,Georgia, serif);color:var(--muted);letter-spacing:.12em;margin-bottom:0}.page-end{inset:auto 20px max(16px, env(safe-area-inset-bottom));text-align:center;color:var(--muted);letter-spacing:.035em;margin:0;font-size:12px;line-height:1.6;position:absolute}.botanical-sprig,.moment-art{height:auto;display:block;overflow:hidden}.botanical-sprig{aspect-ratio:3/2;width:78px}.cover-type{z-index:2;padding:clamp(25px, calc(6 * var(--page-unit)), 64px) 16px 0;text-align:center;position:relative}.cover-type .eyebrow{letter-spacing:.1em;max-width:95%;margin:0 auto;font-size:clamp(9px,2.6vw,11px)}.cover-intro{margin:clamp(13px, calc(2.3 * var(--page-unit)), 24px) 0 12px;letter-spacing:.08em;color:var(--muted);font-size:16px}.cover-type h1{letter-spacing:.04em;justify-content:center;align-items:center;gap:12px;margin-bottom:17px;font-size:clamp(32px,7vw,46px);font-weight:400;line-height:1.4;display:flex}.name-botanical{flex:none;width:clamp(42px,12vw,65px)}.wedding-date{font:400 21px/1.4 var(--font-numerals,Georgia, serif);font-variant-numeric:lining-nums;letter-spacing:.06em}.wedding-date span{color:var(--rose);margin:0 11px}.wedding-place{font:400 24px/1.3 var(--font-serif,Georgia, serif);margin:7px 0 4px}.wedding-location{font:400 12px/1.5 var(--font-label,Georgia, serif);letter-spacing:.015em;color:var(--muted)}.cover-landscape{width:96%;height:calc(59 * var(--page-unit));z-index:0;position:absolute;bottom:48px;left:2%}.cover-landscape img{object-fit:contain;object-position:center bottom;width:100%;height:100%}.scroll-cue{bottom:max(14px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:10px;font-size:12px;display:flex}.scroll-chevron{border-bottom:1px solid #7d8b72;border-right:1px solid #7d8b72;width:10px;height:10px;animation:2.6s ease-in-out infinite scroll-cue-drift;transform:rotate(45deg)}.invitation-page:not([data-current]) .scroll-chevron,html.invitation-turning .scroll-chevron{animation-play-state:paused}@keyframes scroll-cue-drift{0%,to{opacity:.4;transform:translateY(-2px)rotate(45deg)}50%{opacity:.9;transform:translateY(4px)rotate(45deg)}}.page-heading{text-align:center;padding:clamp(27px, calc(5.8 * var(--page-unit)), 62px) 16px 0}.script-heading{font:400 clamp(44px, calc(6.3 * var(--page-unit)), 56px)/1.15 var(--font-display,Georgia, serif);letter-spacing:0;margin:10px 0}.heading-note{color:var(--muted);letter-spacing:.035em;margin:0;font-size:15px;line-height:1.7}.timeline-page{flex-direction:column;padding-bottom:68px;display:flex}.timeline{gap:clamp(8px, calc(1.8 * var(--page-unit)), 18px);flex-direction:column;margin:auto clamp(24px,7vw,50px);padding:0;list-style:none;display:flex}.timeline-moment{min-height:clamp(104px, calc(16 * var(--page-unit)), 150px);grid-template-columns:1fr 1fr;align-items:center;gap:10px;display:grid}.moment-art{aspect-ratio:3/2;justify-self:center;width:100%;max-width:170px}.ceremony-art{grid-area:1/2}.ceremony-moment .moment-copy{text-align:right;grid-area:1/1}.moment-copy time{font:400 clamp(15px, 4.1vw, 18px)/1.4 var(--font-numerals,Georgia, serif);font-variant-numeric:lining-nums;color:var(--rose);letter-spacing:0;white-space:nowrap}.moment-copy h3{white-space:nowrap;margin:6px 0 1px;font-size:clamp(15px,4.2vw,18px);font-weight:400;line-height:1.65}.moment-copy p{color:var(--muted);margin:0 0 6px;font-size:14px;line-height:1.65}.moment-english{font:400 11px/1.5 var(--font-label,Georgia, serif);color:var(--muted);letter-spacing:.07em}.venue-name{white-space:nowrap;display:inline-block}.timeline-tail{text-align:center;margin:0 0 7px}.timeline-tail .botanical-sprig{width:clamp(42px, calc(6.7 * var(--page-unit)), 62px);margin:0 auto}.local-time{font-size:11px}.dress-page,.gift-page{flex-direction:column;padding:0 24px 76px;display:flex}.dress-content{flex-direction:column;flex:1;min-height:0;display:flex}.dress-heading{padding:clamp(25px, calc(5 * var(--page-unit)), 52px) 0 0}.dress-page{padding-bottom:48px}.dress-pair{gap:clamp(32px, calc(4.4 * var(--page-unit)), 46px);margin:clamp(24px, calc(4 * var(--page-unit)), 40px) 0 12px;text-align:center;flex-direction:column;display:flex}.dress-option h3{margin-bottom:12px;font-size:18px;font-weight:400}.dress-option h3 span{font:400 11px/1.4 var(--font-label,Georgia, serif);letter-spacing:.08em;color:var(--muted);margin-top:5px;display:block}.colour-palette{justify-content:center;gap:10px;display:flex}.colour-palette span{background:var(--swatch);border-radius:48% 52% 47% 53%;flex:0 25px;height:26px;display:block;transform:rotate(-10deg);box-shadow:inset 1px -2px 4px #fff5}.colour-palette span:nth-child(2n){transform:rotate(27deg)}.colour-palette span:nth-child(3n){transform:rotate(-25deg)}.dress-option p{color:var(--muted);white-space:nowrap;margin:10px 0 0;font-size:14px;line-height:1.7}.dress-cats{flex:1;justify-content:center;align-items:center;min-height:0;margin:0;display:flex}.dress-cats img{object-fit:contain;width:min(100%,310px);height:100%;max-height:245px}.dress-small-note{text-align:center;color:var(--muted);margin:10px 0 0;font-size:13px}.gift-heading{padding-left:0;padding-right:0}.gift-heading .heading-note{font-size:clamp(14px,3.8vw,17px)}.gift-divider{justify-content:center;align-items:center;gap:12px;margin:auto 0 8px;padding-top:10px;display:flex}.gift-divider>span:not(.botanical-sprig){background:#a4b49355;width:34px;height:1px}.gift-divider .botanical-sprig{width:clamp(42px, calc(7 * var(--page-unit)), 62px)}.gift-intro{text-align:center}.gift-intro h2{letter-spacing:.015em;margin-bottom:14px;font-size:clamp(16px,4.2vw,19px);font-weight:400;line-height:1.8}.gift-intro p{color:var(--muted);margin-bottom:5px;font-size:13px;line-height:1.65}.last-line{bottom:max(18px, env(safe-area-inset-bottom));font-size:13px}.last-line span{letter-spacing:.06em;margin-top:5px;font-size:11px;display:block}.general-invitation .dress-page{padding-bottom:max(96px, calc(env(safe-area-inset-bottom) + 76px))}.general-last-line{--reveal-delay:1.8s}.invitation-paged [data-reveal]{opacity:0;transition:opacity 1.4s,translate 1.6s cubic-bezier(.22,.68,.2,1);translate:0 10px}.invitation-paged [data-reveal-active] [data-reveal]{opacity:1;transition-delay:var(--reveal-delay,0s);translate:0}.cover-landscape{--reveal-delay:.64s}.timeline-moment:first-child{--reveal-delay:.36s}.timeline-moment:nth-child(2){--reveal-delay:.72s}.timeline-moment:nth-child(3){--reveal-delay:1.08s}.timeline-tail{--reveal-delay:1.44s}[data-turn-visible] [data-reveal]{will-change:opacity, translate}.invitation-paged [data-reveal-pending] [data-reveal]{opacity:0;transition:none;translate:0 10px}.gift-is-open .gift-page [data-reveal]{opacity:1;transition:none;translate:none}html.invitation-turning .gift-entry .entry-envelope,.gift-page:not([data-current]) .gift-entry .entry-envelope{animation-play-state:paused}@media (width>=701px){.cover-type{padding-top:clamp(25px, calc(5.5 * var(--page-unit)), 60px)}.timeline{margin-left:70px;margin-right:70px}.timeline-moment{gap:30px}.moment-art{max-width:190px}.moment-copy h3{font-size:21px}.moment-copy p{font-size:15px}.dress-page,.gift-page{padding-left:75px;padding-right:75px}}@media (width<=700px){:root{background:var(--paper)}}@media (width<=370px){.cover-type h1{gap:9px;font-size:31px}.timeline{margin-left:20px;margin-right:20px}.timeline-moment{gap:7px}.moment-copy h3{font-size:15px}.moment-copy p{font-size:12px}.moment-english{font-size:10px}.dress-page,.gift-page{padding-left:16px;padding-right:16px}.dress-option p{font-size:13px}.colour-palette{gap:9px}}@media (height<=700px){.cover-type{padding-top:22px}.cover-intro{margin:12px 0 8px;font-size:15px}.name-botanical{width:43px}.cover-type h1{margin-bottom:12px;font-size:32px}.wedding-date{font-size:18px}.wedding-place{margin-top:4px;font-size:21px}.wedding-location{font-size:11px}.cover-landscape{height:calc(53 * var(--page-unit));bottom:48px}.page-heading{padding-top:24px}.script-heading{margin:7px 0;font-size:44px}.heading-note{font-size:14px}.timeline-moment{min-height:104px}.timeline{gap:5px}.timeline-tail .botanical-sprig{width:38px}.dress-page,.gift-page{padding-bottom:64px}.dress-page{padding-bottom:40px}.dress-heading{padding-top:23px}.dress-pair{gap:28px;margin:18px 0 5px}.dress-option h3{margin-bottom:8px;font-size:17px}.dress-option h3 span{margin-top:3px}.dress-option p{margin-top:7px;font-size:13px}.colour-palette span{flex-basis:22px;height:22px}.dress-small-note{margin-top:9px;font-size:12px}.dress-cats img{width:min(100%,270px);max-height:190px}.gift-divider{margin-bottom:5px;padding-top:7px}.gift-divider .botanical-sprig{width:40px}.gift-intro h2{margin-bottom:9px;font-size:16px}.gift-intro p{margin-bottom:2px;font-size:12px}.last-line{bottom:max(12px, env(safe-area-inset-bottom));font-size:12px}.last-line span{margin-top:3px;font-size:10px}.general-invitation .dress-page{padding-bottom:max(80px, calc(env(safe-area-inset-bottom) + 64px))}.general-invitation .dress-pair{gap:20px;margin-top:14px}}.cover-intro,.cover-type h1>span,.heading-note,.moment-copy h3,.moment-copy p,.local-time,.dress-option h3,.dress-option p,.dress-small-note,.gift-intro h2,.gift-entry-title,.last-line,.scroll-cue,.gift-scene-copy h3,.gift-status{-webkit-text-stroke:.16px currentColor}.dress-option h3 span,.last-line span,.venue-name{-webkit-text-stroke:0}html.invitation-slow-paging .invitation-paper{scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-x pinch-zoom}@media (height<=539px){html.invitation-paged:not(.gift-is-open) .invitation-paper{scroll-snap-type:y proximity}.invitation-page{height:auto;min-height:620px}.cover-page{height:620px}.cover-landscape{height:330px}.timeline{margin-top:25px;margin-bottom:20px}.dress-pair{margin:25px 0 16px}.dress-cats{flex:none;height:150px}.invitation-paged [data-reveal]{opacity:1;transition:none;translate:none}.scroll-chevron{animation:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important}.invitation-paged [data-reveal]{opacity:1;transition:none;translate:none}.scroll-chevron{animation:none}}.gift-experience[data-v-b0c8557f],.gift-overlay[data-v-b0c8557f]{--gift-ink:var(--ink,#526452);--gift-pink:#c9959b;--gift-muted:var(--muted,#7e8c79);--gift-paper:var(--paper,#fdf8f0);font-family:var(--font-hand,"Songti SC",serif);color:var(--gift-ink)}.gift-experience[data-v-b0c8557f]{flex:1;width:100%;min-height:0;display:flex}.gift-entries[data-v-b0c8557f]{flex-direction:column;flex:1;justify-content:space-evenly;gap:18px;width:min(100%,420px);min-height:0;margin:auto;display:flex}.gift-entry[data-v-b0c8557f]{min-width:0;color:var(--gift-ink);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex-direction:column;align-items:center;padding:8px 4px 12px;display:flex}.gift-entry[data-reveal][data-v-b0c8557f]{translate:none!important}.gift-entry[data-v-b0c8557f]:disabled{cursor:default}.gift-entry-art[data-v-b0c8557f]{aspect-ratio:1.5;width:clamp(160px,26svh,220px);max-width:88%;display:block;position:relative}.entry-airplane[data-v-b0c8557f],.gift-plane-frame[data-v-b0c8557f]{background:url(/art/v3/flight-frames.webp) 0 0/200% 200% no-repeat;position:absolute;inset:0}.entry-hotel[data-v-b0c8557f],.shared-hotel[data-v-b0c8557f]{object-fit:fill;width:100%;height:100%;display:block}.entry-envelope[data-v-b0c8557f]{object-fit:contain;filter:drop-shadow(0 4px 4px #947c7c12);width:40%;height:auto;position:absolute;bottom:-6%;right:-1%}.source-is-hidden[data-v-b0c8557f]{visibility:hidden}.gift-entry-title[data-v-b0c8557f]{letter-spacing:.04em;white-space:nowrap;margin:15px 0 0;font-size:clamp(14px,3.8vw,17px);line-height:1.6}.gift-entry .entry-envelope[data-v-b0c8557f]{animation:2.8s ease-in-out infinite paused gift-invitation-breathe-b0c8557f}.gift-entry .entry-airplane[data-v-b0c8557f],.gift-entry .entry-hotel[data-v-b0c8557f]{animation:4.8s ease-in-out infinite paused gift-art-float-b0c8557f}.gift-entry:nth-child(2) .entry-envelope[data-v-b0c8557f]{animation-delay:.65s}.is-ambient .gift-entry .entry-envelope[data-v-b0c8557f],.is-ambient .gift-entry .entry-airplane[data-v-b0c8557f],.is-ambient .gift-entry .entry-hotel[data-v-b0c8557f]{animation-play-state:running}.gift-entry[data-v-b0c8557f]:focus-visible{outline:2px solid var(--gift-pink);outline-offset:4px}.gift-overlay[data-v-b0c8557f]{z-index:150;isolation:isolate;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:max(72px,calc(env(safe-area-inset-top) + 58px)) 20px max(18px,env(safe-area-inset-bottom));outline:none;position:fixed;inset:0;overflow-y:auto}.gift-overlay-inner[data-v-b0c8557f]{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:min(100%,510px);min-height:calc(100svh - 100px);margin:0 auto;display:flex}.gift-veil[data-v-b0c8557f]{z-index:-3;background:var(--gift-paper);background-image:var(--paper-texture);opacity:0;background-size:512px 512px;position:fixed;inset:0}.gift-cloud[data-v-b0c8557f]{z-index:-1;pointer-events:none;opacity:0;background:url(/art/v2/clouds.webp) 50%/contain no-repeat;width:125vw;height:85svh;position:fixed}.gift-cloud-left[data-v-b0c8557f]{top:-17%;left:-53%;transform:rotate(-13deg)}.gift-cloud-right[data-v-b0c8557f]{bottom:-20%;right:-54%;transform:rotate(172deg)}.gift-overlay-close[data-v-b0c8557f]{right:max(14px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));min-width:86px;min-height:48px;color:var(--gift-ink);font:14px/1.2 var(--font-hand,"Songti SC",serif);cursor:pointer;z-index:5;background:#fffdf7f2;border:1px solid #83928070;border-radius:28px;justify-content:center;align-items:center;gap:7px;padding:8px 16px;display:flex;position:fixed}.gift-close-icon[data-v-b0c8557f]{flex:none;width:18px;height:20px;display:block;position:relative}.gift-close-icon[data-v-b0c8557f]:before,.gift-close-icon[data-v-b0c8557f]:after{content:"";background:currentColor;border-radius:1px;width:15px;height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.gift-close-icon[data-v-b0c8557f]:after{transform:translate(-50%,-50%)rotate(-45deg)}.gift-close-label[data-v-b0c8557f]{-webkit-text-stroke:.28px currentColor;line-height:20px;display:block}.gift-scene-copy[data-v-b0c8557f]{opacity:0}.gift-scene-eyebrow[data-v-b0c8557f]{font:10px/1.5 var(--font-label,Georgia,serif);letter-spacing:.14em;color:var(--gift-muted);margin:0 0 9px}.gift-scene-copy h3[data-v-b0c8557f]{font-family:var(--font-hand,"Songti SC",serif);letter-spacing:.02em;margin:0;font-size:clamp(21px,5.5vw,30px);font-weight:400;line-height:1.5}.gift-hero-slot[data-v-b0c8557f]{aspect-ratio:1.5;flex:none;width:min(100%,clamp(150px,140svh - 714px,360px));position:relative}.gift-shared-art[data-v-b0c8557f]{transform-origin:0 0;visibility:hidden;pointer-events:none;z-index:2;will-change:transform;width:100%;height:100%;position:absolute;inset:0}.gift-shared-art.shared-is-visible[data-v-b0c8557f]{visibility:visible}.art-is-settled .gift-plane-frame[data-v-b0c8557f]{animation:.72s step-end infinite gift-flight-frames-b0c8557f}.shared-envelope[data-v-b0c8557f]{opacity:1}.night-wash[data-v-b0c8557f]{opacity:0;mix-blend-mode:multiply;filter:blur(20px);pointer-events:none;background:#617968;border-radius:45%;position:absolute;inset:6% 3%}.stay-light[data-v-b0c8557f]{mix-blend-mode:screen;opacity:0;pointer-events:none;background:radial-gradient(#ffe8a7b8,#0000 72%);border-radius:45%;width:5%;height:12%;position:absolute}.stay-light-1[data-v-b0c8557f]{top:22%;left:23%}.stay-light-2[data-v-b0c8557f]{top:25%;left:47.5%}.stay-light-3[data-v-b0c8557f]{top:49.5%;left:20%}.stay-light-4[data-v-b0c8557f]{width:9%;height:23%;top:51%;left:33%}.stay-light-5[data-v-b0c8557f]{height:8%;top:59%;left:66%}.stay-light-6[data-v-b0c8557f]{height:8%;top:58%;left:70.5%}.gift-overlay-actions[data-v-b0c8557f]{opacity:0;width:100%}.is-error .gift-veil[data-v-b0c8557f]{opacity:.95}.is-error .gift-scene-copy[data-v-b0c8557f],.is-error .gift-overlay-actions[data-v-b0c8557f]{opacity:1}.gift-status[data-v-b0c8557f]{color:var(--gift-muted);margin:0;font-size:13px;line-height:1.8}.gift-qr-space[data-v-b0c8557f]{--qr-size:clamp(176px, 27svh, 224px);min-height:calc(var(--qr-size) + 118px);padding-top:10px}.gift-qr-reveal[data-v-b0c8557f]{animation:.5s ease-out both gift-qr-appear-b0c8557f}.gift-qr-retry[data-v-b0c8557f]{color:inherit;font:inherit;cursor:pointer;background:#fffdf7;border:1px solid #83928070;border-radius:24px;margin-top:24px;padding:10px 18px}.gift-qr-glass[data-v-b0c8557f]{width:var(--qr-size);-webkit-backdrop-filter:blur(14px)saturate(105%);backdrop-filter:blur(14px)saturate(105%);background:linear-gradient(135deg,#ffffffa3,#f8f3ea73);border:0;border-radius:20px;margin:0 auto;padding:0;box-shadow:0 6px 24px #6c756410,inset 0 0 0 1px #ffffffa6,inset 0 1px #ffffffb3}.gift-qr[data-v-b0c8557f]{width:var(--qr-size);height:var(--qr-size);object-fit:contain;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;background:0 0;margin:0 auto;display:block}.gift-qr-caption[data-v-b0c8557f]{margin:10px auto 6px}.gift-qr-note[data-v-b0c8557f]{margin:0 auto}.gift-alipay[data-v-b0c8557f]{white-space:nowrap;display:inline}.gift-alipay img[data-v-b0c8557f]{vertical-align:-.15em;object-fit:contain;width:1em;height:1em;margin-inline:.15em .2em;display:inline-block}.gift-alipay strong[data-v-b0c8557f]{-webkit-text-stroke:.65px currentColor;font-weight:800}.gift-qr-caption[data-v-b0c8557f],.gift-qr-note[data-v-b0c8557f]{max-width:36em;color:var(--gift-ink);overflow-wrap:anywhere;text-wrap:pretty;-webkit-text-stroke:.24px currentColor;font-size:13px;line-height:1.75}.gift-overlay-close[data-v-b0c8557f]:focus-visible{outline:2px solid var(--gift-pink);outline-offset:4px}.is-hidden .gift-plane-frame[data-v-b0c8557f],.is-hidden .gift-qr-reveal[data-v-b0c8557f]{animation-play-state:paused}.reduced-motion .gift-plane-frame[data-v-b0c8557f],.reduced-motion .gift-qr-reveal[data-v-b0c8557f]{animation:none}.reduced-motion .night-wash[data-v-b0c8557f]{filter:none}@keyframes gift-invitation-breathe-b0c8557f{0%,to{opacity:.78;transform:translateY(0)rotate(-4deg)}50%{opacity:1;transform:translateY(-4px)rotate(0)}}@keyframes gift-art-float-b0c8557f{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes gift-flight-frames-b0c8557f{0%{background-position:0 0}25%{background-position:100% 0}50%{background-position:0 100%}75%{background-position:100% 100%}to{background-position:0 0}}@keyframes gift-qr-appear-b0c8557f{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (height<=650px){.gift-entry-art[data-v-b0c8557f]{width:160px}.gift-entries[data-v-b0c8557f]{gap:6px}.gift-entry[data-v-b0c8557f]{padding:4px}.gift-entry-title[data-v-b0c8557f]{margin-top:10px;font-size:14px}.gift-overlay[data-v-b0c8557f]{padding:64px 14px 14px}.gift-overlay-inner[data-v-b0c8557f]{gap:8px;min-height:calc(100svh - 78px)}.gift-scene-eyebrow[data-v-b0c8557f]{margin-bottom:5px;font-size:9px}.gift-scene-copy h3[data-v-b0c8557f]{font-size:21px}.gift-status[data-v-b0c8557f]{font-size:12px;line-height:1.6}.gift-qr-space[data-v-b0c8557f]{min-height:calc(var(--qr-size) + 108px);padding-top:8px}.gift-qr-caption[data-v-b0c8557f]{margin-top:7px}.gift-qr-caption[data-v-b0c8557f],.gift-qr-note[data-v-b0c8557f]{font-size:12px}}@media (prefers-reduced-motion:reduce){.gift-entry .entry-envelope[data-v-b0c8557f],.gift-entry .entry-airplane[data-v-b0c8557f],.gift-entry .entry-hotel[data-v-b0c8557f],.gift-plane-frame[data-v-b0c8557f],.gift-qr-reveal[data-v-b0c8557f]{animation:none!important}.night-wash[data-v-b0c8557f]{filter:none}}
