.xi[data-v-ce29fb36]{height:auto;display:block}.tuan[data-v-8377d780]{width:var(--face);height:calc(var(--face) * 1.56);display:block;position:relative}.tuan-face[data-v-8377d780]{width:var(--face);aspect-ratio:1;background:#f5eddb url(./round-silk-C0LWhZsH.webp) 50%/cover no-repeat;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0;box-shadow:0 0 0 2px #d9b778,0 0 0 5px #831f24,0 0 0 6px #dec08a66,0 16px 34px #2a0508a6}.tuan-face[data-v-8377d780]:after{content:"";pointer-events:none;border:1px solid #c9a46340;border-radius:50%;position:absolute;inset:7px}.tuan-handle[data-v-8377d780]{left:50%;top:calc(var(--face) - 4px);width:calc(var(--face) * .19);position:absolute;overflow:visible;transform:translate(-50%)}.tuan-tassel[data-v-8377d780]{transform-origin:30px 91px;transform-box:view-box;animation:2.8s ease-in-out infinite tassel-8377d780}@keyframes tassel-8377d780{0%,to{transform:rotate(5deg)}50%{transform:rotate(-4deg)}}@media (prefers-reduced-motion:reduce){.tuan-tassel[data-v-8377d780]{animation:none}}.nm[data-v-4e24885a]{letter-spacing:0;white-space:nowrap;justify-content:space-between;display:inline-flex}.cover[data-v-167616d8]{--face:min(52vw, 230px, 25svh);z-index:50;width:var(--col);cursor:pointer;position:fixed;top:0;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.cover[data-state=opening][data-v-167616d8]{pointer-events:none}.cover-bg[data-v-167616d8]{background-color:var(--red);background-image:radial-gradient(at 50% 32%,#a735354d,#0000 65%),repeating-linear-gradient(20deg,#ffffff03 0 1px,#0000 1px 5px);transition:opacity .9s .6s;position:absolute;inset:0}.cover-bg[data-v-167616d8]:before{content:"";border:1px solid #dec08a55;position:absolute;inset:25px}.cover[data-state=opening] .cover-bg[data-v-167616d8]{opacity:0}.cover-body[data-v-167616d8]{color:#f1dfbf;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px 28px;display:flex;position:relative}.cover-text[data-v-167616d8]{transition:opacity .4s}.cover[data-state=opening] .cover-text[data-v-167616d8]{opacity:0}.fan[data-v-167616d8]{width:var(--face);height:calc(var(--face) * 1.82);background:0 0;border:0;flex:none;padding:0;transition:transform 1.35s cubic-bezier(.55,.05,.3,1),opacity .8s .5s;position:relative}.fan[data-v-167616d8]:focus-visible{outline:2px solid var(--gold-light);outline-offset:6px;border-radius:50% 50% 0 0}.fan-sway[data-v-167616d8]{transform-origin:50% 78%;animation:5.5s ease-in-out infinite sway-167616d8;position:absolute;inset:0}@keyframes sway-167616d8{0%,to{transform:rotate(-7deg)}50%{transform:rotate(-3deg)}}.cover[data-state=opening] .fan[data-v-167616d8]{opacity:0;transform:translate(-48vw,-16svh)rotate(-32deg)scale(.82)}.cover[data-state=opening] .fan-sway[data-v-167616d8]{animation-play-state:paused}.cover-names[data-v-167616d8]{width:100%;font:400 clamp(25px, 7.6vw, 38px)/1.6 var(--song);letter-spacing:.08em;justify-content:center;align-items:center;gap:16px;margin-top:4px;display:flex}.cover-seal[data-v-167616d8]{color:#e4c79e;border:1px solid #d9b78d;flex:none;place-items:center;width:25px;height:29px;padding:5px;display:grid;transform:rotate(-3deg)}.cover-seal .xi[data-v-167616d8]{width:100%}.cover-seal b[data-v-167616d8]{font:400 11px/1.2 var(--song)}.cover-date[data-v-167616d8]{font:400 12px/1.9 var(--song);letter-spacing:.2em;opacity:.85;margin-top:12px}.cover-hint[data-v-167616d8]{letter-spacing:.24em;border-bottom:1px solid #dec08a60;margin-top:30px;padding:10px 6px;font-size:12px;animation:2.6s ease-in-out infinite hint-167616d8}@keyframes hint-167616d8{0%,to{opacity:.95}50%{opacity:.5}}@media (width<=360px){.cover-names[data-v-167616d8]{gap:10px;font-size:24px}}@media (height<=620px){.cover[data-v-167616d8]{--face:min(46vw, 22svh)}.cover-hint[data-v-167616d8]{margin-top:16px}}@media (prefers-reduced-motion:reduce){.fan-sway[data-v-167616d8],.cover-hint[data-v-167616d8]{animation:none}}.pf[data-v-ffbd2352]{background:var(--paper-deep);position:relative;overflow:hidden}.pf img[data-v-ffbd2352]{object-fit:cover;width:100%;height:100%}.pf-empty[data-v-ffbd2352]{color:#b48e63;letter-spacing:.1em;background:repeating-linear-gradient(135deg,#eadbc1 0 10px,#e5d3b6 10px 20px);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;inset:0}.pf-empty svg[data-v-ffbd2352]{opacity:.8;width:34px;height:34px}.pf-hit[data-v-ffbd2352]{cursor:zoom-in;background:0 0;border:0;position:absolute;inset:0}.pf-tag[data-v-ffbd2352]{color:#fbf1dc;max-width:calc(100% - 16px);font:12px/1.7 var(--song);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#2b1d18b3;border-radius:20px;padding:2px 10px;position:absolute;top:10px;left:50%;overflow:hidden;transform:translate(-50%)}.hero[data-v-75294048]{text-align:center;flex-direction:column;align-items:center;min-height:100svh;padding:40px 24px 28px;display:flex;position:relative}.hero-houses[data-v-75294048]{font:22px/1.4 var(--brush);letter-spacing:.3em;color:var(--gold-light)}.moon[data-v-75294048]{width:min(62vw,270px);margin-top:26px;position:relative}.moon-photo[data-v-75294048]{box-shadow:0 0 0 5px var(--red), 0 0 0 7px var(--gold), 0 0 0 15px var(--red), 0 0 0 16px #c39a5288, 0 18px 50px #2a0508aa;border-radius:50%}.moon-photo[data-v-75294048] .pf-empty{color:#e9cf96aa;background:radial-gradient(circle,#b8282c,#8a171d)}.moon-xi[data-v-75294048]{width:52px;color:var(--gold-light);box-sizing:content-box;background:var(--red);box-shadow:0 0 0 1px var(--gold);border-radius:50%;padding:8px;position:absolute;bottom:-26px;left:50%;transform:translate(-50%)}.hero-lead[data-v-75294048]{color:var(--gold-light);letter-spacing:.4em;margin-top:40px;font-size:14px}.hero-names[data-v-75294048]{font:400 44px/1.3 var(--brush);letter-spacing:.06em;color:var(--cream);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 14px;margin-top:6px;display:flex}.hero-names i[data-v-75294048]{color:var(--gold);font:italic 26px Georgia,serif}.hero-quote[data-v-75294048]{font:20px/1.6 var(--brush);color:var(--gold-light);letter-spacing:.2em;margin-top:10px}.hero-date[data-v-75294048]{letter-spacing:.18em;margin-top:14px;font-size:18px;line-height:1.9}.hero-date small[data-v-75294048]{color:var(--gold-light);letter-spacing:.14em;font-size:14px}.countdown[data-v-75294048]{font-variant-numeric:tabular-nums;border-top:1px solid #c39a5266;border-bottom:1px solid #c39a5266;justify-content:center;align-items:baseline;gap:4px;margin-top:14px;padding:8px 18px;display:flex}.countdown b[data-v-75294048]{color:var(--cream);font-size:24px;font-weight:400}.countdown small[data-v-75294048]{color:var(--gold-light);margin-right:6px;font-size:12px}.cd-label[data-v-75294048]{color:var(--gold-light);letter-spacing:.2em;margin-right:10px;font-size:13px}.scroll-cue[data-v-75294048]{color:var(--gold-light);margin-top:auto;padding-top:22px}.scroll-cue svg[data-v-75294048]{fill:none;stroke:currentColor;stroke-width:1.5px;width:26px;height:26px;animation:2s ease-in-out infinite cue-75294048}@keyframes cue-75294048{50%{opacity:.5;transform:translateY(5px)}}.letter[data-v-79b141fe]{background:#fbf4e6;padding:34px 22px 26px;position:relative;box-shadow:0 0 0 1px #c39a5266,0 14px 30px #6f12181a}.letter[data-v-79b141fe]:before{content:"";border:2px solid var(--red);outline:1px solid var(--red);outline-offset:3px;pointer-events:none;opacity:.85;position:absolute;inset:8px}.letter-title[data-v-79b141fe]{color:var(--red);font:400 40px/1 var(--brush);letter-spacing:.5em;text-indent:.5em}.letter-body[data-v-79b141fe]{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.06em;text-align:start;max-width:100%;height:14.84em;color:var(--ink);background-image:linear-gradient(270deg,#9e1c2259 1px,#0000 1px);background-position:100% 0;background-size:2.1em 100%;border-left:1px solid #9e1c2259;width:fit-content;margin:26px auto 0;padding-right:1px;font-size:17px;line-height:2.1;overflow-x:auto}.letter-sign[data-v-79b141fe]{border-top:1px dashed #c39a52aa;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:26px;margin-top:26px;padding-top:18px;display:grid;position:relative}.letter-sign dl[data-v-79b141fe]{text-align:left;gap:0;display:grid}.letter-sign dl div[data-v-79b141fe]{align-items:baseline;gap:8px;display:flex}.letter-sign dt[data-v-79b141fe]{color:var(--ink-soft);letter-spacing:.2em;font-size:13px}.letter-sign dd[data-v-79b141fe]{font:26px/1.4 var(--brush);color:var(--ink)}.letter-date[data-v-79b141fe]{color:var(--ink-soft);letter-spacing:.24em;grid-column:1;margin-top:6px;font-size:14px}.seal[data-v-79b141fe]{background:var(--red-bright);color:#fbeee0;width:68px;height:68px;font:22px/1 var(--brush);box-shadow:inset 0 0 0 2px #fbeee0, inset 0 0 0 3px var(--red-bright);opacity:.92;mix-blend-mode:multiply;direction:rtl;border-radius:3px;grid-area:1/2/3;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);grid-auto-flow:column;padding:6px;display:grid;transform:rotate(-6deg)}.seal b[data-v-79b141fe]{place-items:center;font-weight:400;display:grid}.seal[data-count="1"][data-v-79b141fe],.seal[data-count="2"][data-v-79b141fe]{direction:ltr;grid-template-rows:none;grid-template-columns:1fr;grid-auto-flow:row;font-size:24px}.seal[data-count="3"][data-v-79b141fe]{grid-template-rows:repeat(2,1fr)}.letter-pic[data-v-79b141fe]{margin-top:30px;box-shadow:0 0 0 6px #fff,0 0 0 7px #c39a5244,0 14px 28px #6f121822}.story[data-v-826f33d1]{padding-bottom:0;padding-left:0;padding-right:0}.story .sec-title[data-v-826f33d1],.story .sec-sub[data-v-826f33d1]{padding:0 26px}.scroll[data-v-826f33d1]{aspect-ratio:941/1672;margin-top:18px;position:relative;container-type:inline-size}.scroll[data-v-826f33d1]:before{content:"";pointer-events:none;background:url(./ribbon-scroll-Dc-RuUGW.webp) 50%/100% 100% no-repeat;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 3% 93%,#0000);mask-image:linear-gradient(#0000,#000 3% 93%,#0000)}.rites[data-v-826f33d1]{flex-direction:column;gap:3.6cqw;display:flex;position:absolute}.rites-top[data-v-826f33d1]{top:4.5%;left:47%;right:4%}.rites-top .rite[data-v-826f33d1]:nth-child(3){margin-left:18%}.rites-bottom[data-v-826f33d1]{width:50%;bottom:3%;left:5%}.rite[data-v-826f33d1]{text-align:left;opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.3,1);transform:translateY(14px)}.rite[data-on][data-v-826f33d1]{opacity:1;transform:none}.rite-head[data-v-826f33d1]{align-items:baseline;gap:.55em;font-weight:400;display:flex}.rite-no[data-v-826f33d1]{color:#a07a45;font:400 clamp(10.5px, 2.8cqw, 14px)/1 var(--song);letter-spacing:.12em;flex:none}.rite-name[data-v-826f33d1]{color:var(--red);font:400 clamp(17px, 4.9cqw, 26px)/1.4 var(--song);letter-spacing:.12em}.rite-text[data-v-826f33d1]{color:#5e4636;font:400 clamp(11.5px, 3.1cqw, 15.5px)/1.75 var(--song);letter-spacing:.02em;text-shadow:0 0 2px #faeee3,0 0 6px #faeee3,0 0 12px #faeee3;margin-top:.25em}.rites-more[data-v-826f33d1]{text-align:left;padding:10px 32px 60px}.rites-more li+li[data-v-826f33d1]{margin-top:28px}.qa-grid[data-v-9ecf0990]{grid-template-columns:1fr 1fr;gap:12px;margin-top:34px;display:grid}.qa-grid li[data-v-9ecf0990]{display:grid}.qa-grid[data-odd] li[data-v-9ecf0990]:last-child{grid-column:1/-1}.card[data-v-9ecf0990]{perspective:900px;background:0 0;border:0;width:100%;min-height:150px;padding:0;display:grid;position:relative}.qa-grid[data-odd] li:last-child .card[data-v-9ecf0990]{min-height:120px}.face[data-v-9ecf0990]{backface-visibility:hidden;flex-direction:column;grid-area:1/1;justify-content:center;align-items:center;gap:8px;padding:18px 14px;transition:transform .6s cubic-bezier(.3,.7,.3,1);display:flex;position:relative}.face i[data-v-9ecf0990]{font:normal 13px/1 var(--brush);border-radius:2px;place-items:center;width:26px;height:26px;display:grid}.front[data-v-9ecf0990]{background:var(--red);color:var(--cream);box-shadow:inset 0 0 0 5px var(--red), inset 0 0 0 6px #c39a52aa}.front i[data-v-9ecf0990]{background:var(--gold-light);color:var(--red)}.front b[data-v-9ecf0990]{font:400 21px/1.45 var(--brush);letter-spacing:.04em}.back[data-v-9ecf0990]{color:var(--ink);background:#fbf4e6;transform:rotateY(180deg);box-shadow:inset 0 0 0 1px #c39a5288,0 6px 16px #6f121814}.back i[data-v-9ecf0990]{background:var(--red);color:var(--cream)}.back b[data-v-9ecf0990]{font-size:15px;font-weight:400;line-height:1.75}.card[aria-pressed=true] .front[data-v-9ecf0990]{transform:rotateY(-180deg)}.card[aria-pressed=true] .back[data-v-9ecf0990]{transform:rotateY(0)}.gallery[data-v-c71308ac]{padding-left:0;padding-right:0}.strip[data-v-c71308ac]{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;align-items:center;gap:16px;margin-top:34px;padding:10px 24px 18px;display:flex;overflow-x:auto}.strip[data-v-c71308ac]::-webkit-scrollbar{display:none}.shot[data-v-c71308ac]{scroll-snap-align:center;flex:none;box-shadow:0 0 0 6px #fff,0 0 0 7px #c39a5244,0 12px 24px #6f121822}.shot[data-v-c71308ac]:first-child{margin-left:4vw}.shot[data-v-c71308ac]:last-child{margin-right:4vw}.pager[data-v-c71308ac]{color:var(--ink-soft);letter-spacing:.12em;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:22px;margin-top:14px;font-size:14px;display:flex}.pager button[data-v-c71308ac]{width:40px;height:40px;color:var(--red);background:0 0;border:1px solid #c39a52aa;border-radius:50%;place-items:center;display:grid}.pager button[disabled][data-v-c71308ac]{opacity:.35;cursor:default}.pager svg[data-v-c71308ac]{fill:none;stroke:currentColor;stroke-width:1.6px;width:18px;height:18px}.steps[data-v-7a7880fa]{text-align:left;width:fit-content;max-width:100%;margin:36px auto 0;position:relative}.steps li[data-v-7a7880fa]{grid-template-columns:64px 1fr;gap:36px;padding-bottom:26px;display:grid;position:relative}.steps li[data-v-7a7880fa]:last-child{padding-bottom:0}.steps li[data-v-7a7880fa]:before{content:"";background:var(--red);width:7px;height:7px;box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--gold);position:absolute;top:13px;left:79px;transform:rotate(45deg)}.steps li[data-v-7a7880fa]:not(:last-child):after{content:"";background:#c39a5299;width:1px;position:absolute;top:26px;bottom:4px;left:82px}.steps time[data-v-7a7880fa]{color:var(--red);text-align:right;font-variant-numeric:tabular-nums;font-size:19px;line-height:1.7}.steps b[data-v-7a7880fa]{font:400 24px/1.4 var(--brush);color:var(--ink);display:block}.steps small[data-v-7a7880fa]{color:var(--ink-soft);font-size:13.5px;line-height:1.7;display:block}.maps[data-v-6b2e1a0c]{flex-basis:100%;order:3;grid-template-columns:1fr 1fr;gap:8px;display:grid}.maps a[data-v-6b2e1a0c]{color:var(--red);letter-spacing:.1em;text-align:center;background:#fbf4e6;border:1px solid #c39a5299;padding:10px;font-size:14px;text-decoration:none}.dialog-overlay{z-index:60;background:#1a0507cc;position:fixed;inset:0}.save-dialog{z-index:61;overscroll-behavior:contain;background:var(--paper);text-align:center;flex-direction:column;align-items:center;width:min(88vw,400px);max-height:92svh;padding:18px 16px 20px;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.save-close[data-v-ff482ee9]{width:44px;height:44px;color:var(--ink-soft);background:0 0;border:0;font-size:28px;line-height:1;position:absolute;top:0;right:4px}.save-body[data-v-ff482ee9]{flex:none;width:100%}.save-body img[data-v-ff482ee9]{-webkit-touch-callout:default;width:100%;height:auto;margin:10px auto 0;display:block;box-shadow:0 8px 20px #0004}.save-wait[data-v-ff482ee9]{color:var(--ink-soft);padding:80px 0}.save-hint[data-v-ff482ee9]{color:var(--ink-soft);letter-spacing:.08em;margin-top:14px;font-size:14px}.save-actions[data-v-ff482ee9]{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.save-fallback[data-v-ff482ee9]{color:var(--ink-soft);margin-top:10px;font-size:12px;line-height:1.6}.cal[data-v-fa03fb02]{background:#fbf4e6;max-width:340px;margin:34px auto 0;padding:22px 18px 18px;box-shadow:0 0 0 1px #c39a5266,0 12px 26px #6f121814}.cal-head[data-v-fa03fb02]{color:var(--ink-soft);letter-spacing:.14em;justify-content:center;align-items:baseline;gap:12px;font-size:15px;display:flex}.cal-head b[data-v-fa03fb02]{color:var(--red);font:400 30px/1 var(--brush)}.cal-week[data-v-fa03fb02],.cal-grid[data-v-fa03fb02]{grid-template-columns:repeat(7,1fr);display:grid}.cal-week[data-v-fa03fb02]{color:var(--ink-soft);border-bottom:1px solid #c39a5266;margin-top:16px;padding-bottom:6px;font-size:13px}.cal-grid[data-v-fa03fb02]{font-variant-numeric:tabular-nums;row-gap:4px;margin-top:8px;font-size:15px}.cal-grid span[data-v-fa03fb02]{height:36px;color:var(--ink);place-items:center;display:grid;position:relative}.cal-grid .on[data-v-fa03fb02]{background:var(--red);width:34px;height:34px;color:var(--cream);box-shadow:0 0 0 2px #fbf4e6, 0 0 0 3px var(--gold);border-radius:50%;margin:1px auto}.cal-xi[data-v-fa03fb02]{box-sizing:content-box;width:17px;color:var(--red-bright);background:#fbf4e6;border-radius:50%;padding:2px;position:absolute;top:-10px;right:-9px}.cal-foot[data-v-fa03fb02]{letter-spacing:.12em;border-top:1px solid #c39a5266;margin-top:12px;padding-top:12px;font-size:16px}.cal-foot small[data-v-fa03fb02]{color:var(--ink-soft);font-size:14px}.times[data-v-fa03fb02]{justify-content:center;gap:0;margin-top:30px;display:flex}.times div[data-v-fa03fb02]{padding:0 30px}.times div+div[data-v-fa03fb02]{border-left:1px solid #c39a5299}.times dt[data-v-fa03fb02]{color:var(--ink-soft);letter-spacing:.3em;font-size:13px}.times dd[data-v-fa03fb02]{color:var(--red);font-variant-numeric:tabular-nums;font-size:30px;line-height:1.4}.place[data-v-fa03fb02]{margin-top:28px}.place h3[data-v-fa03fb02]{font:400 32px/1.35 var(--brush);color:var(--ink);letter-spacing:.06em}.hall[data-v-fa03fb02]{color:var(--red);letter-spacing:.14em;font-size:17px}.addr[data-v-fa03fb02]{color:var(--ink-soft);margin-top:4px;font-size:14px}.note[data-v-fa03fb02]{color:var(--ink-soft);background:#c39a521f;margin-top:12px;padding:4px 12px;font-size:13.5px;display:inline-block}.venue-pic[data-v-fa03fb02]{margin-top:24px;box-shadow:0 0 0 5px #fff,0 0 0 6px #c39a5244}.actions[data-v-fa03fb02]{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.actions[data-v-fa03fb02]>.btn{flex:40%;padding-left:10px;padding-right:10px}.rsvp-card[data-v-fe33e0e1]{background:#fbf4e6;padding:38px 22px 34px;box-shadow:0 0 0 1px #c39a5266,inset 0 0 0 8px #fbf4e6,inset 0 0 0 9px #9e1c2255}.rsvp-text[data-v-fe33e0e1]{text-wrap:balance;max-width:22em;color:var(--ink);margin:18px auto 0;font-size:15.5px}.rsvp-btn[data-v-fe33e0e1]{min-width:180px;margin-top:24px}.rsvp-due[data-v-fe33e0e1]{color:var(--ink-soft);margin-top:12px;font-size:13.5px}.ending[data-v-8cbd8781]{text-align:center;padding:70px 24px 46px}.end-xi[data-v-8cbd8781]{width:64px;color:var(--gold-light);margin:0 auto}.end-big[data-v-8cbd8781]{font:400 52px/1.2 var(--brush);letter-spacing:.3em;text-indent:.3em;color:var(--gold-light);margin-top:20px}.end-text[data-v-8cbd8781]{white-space:pre-line;margin-top:18px;font-size:15.5px;line-height:2}.end-parents[data-v-8cbd8781]{border-top:1px solid #c39a5266;border-bottom:1px solid #c39a5266;justify-content:center;align-items:center;gap:18px;margin-top:30px;padding:16px 0;display:flex}.end-parents p[data-v-8cbd8781]{font:22px/1.6 var(--brush);letter-spacing:.08em}.end-parents span[data-v-8cbd8781]{letter-spacing:.3em;color:var(--gold-light);writing-mode:vertical-rl;font-size:15px}.end-parents[data-v-8cbd8781]:has(p+p){grid-template-columns:auto auto;justify-content:center;column-gap:22px;display:grid}.end-parents:has(p+p) span[data-v-8cbd8781]{grid-area:1/2/3}.end-sweets[data-v-8cbd8781]{margin-top:34px}.end-count[data-v-8cbd8781]{color:#e9cf96cc;letter-spacing:.14em;opacity:0;min-height:1.9em;margin-top:14px;font-size:13px;transition:opacity .6s}.end-count[data-on][data-v-8cbd8781]{opacity:1}.end-count b[data-v-8cbd8781]{color:var(--gold-light);font:400 19px/1 var(--song);letter-spacing:.02em;margin:0 .3em;animation:.45s cubic-bezier(.3,1.6,.5,1) bump-8cbd8781;display:inline-block}@keyframes bump-8cbd8781{0%{transform:scale(1.35)}to{transform:scale(1)}}.end-fan[data-v-8cbd8781]{--face:132px;width:var(--face);opacity:0;margin:46px auto 0;transition:transform 1.6s cubic-bezier(.2,.7,.25,1),opacity 1s;transform:translate(-70px,-60px)rotate(-30deg)scale(.85)}.end-fan[data-in][data-v-8cbd8781]{opacity:1;transform:none}.end-fan-sway[data-v-8cbd8781]{transform-origin:50% 78%;animation:6s ease-in-out 1.6s infinite end-sway-8cbd8781;display:block}@keyframes end-sway-8cbd8781{0%,to{transform:rotate(-4deg)}50%{transform:rotate(-1deg)}}@media (prefers-reduced-motion:reduce){.end-fan[data-v-8cbd8781]{transition:none}.end-fan-sway[data-v-8cbd8781],.end-count b[data-v-8cbd8781]{animation:none}}.end-sign[data-v-8cbd8781]{color:#e9cf96aa;letter-spacing:.2em;margin-top:26px;font-size:12.5px}.music[data-v-c04ae224]{z-index:40;top:14px;right:max(14px, calc(50vw - var(--col) / 2 + 14px));border:1px solid var(--gold);width:42px;height:42px;color:var(--gold-light);background:radial-gradient(circle,#2b1d18 0 30%,#1a0f0c 31% 100%);border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;box-shadow:0 2px 10px #0006,inset 0 0 0 4px #1a0f0c,inset 0 0 0 5px #c39a5255}.music svg[data-v-c04ae224]{fill:none;stroke:currentColor;stroke-width:1.6px;width:18px;height:18px}.music[data-on][data-v-c04ae224]{animation:5s linear infinite spin-c04ae224}.music[data-v-c04ae224]:not([data-on]):after{content:"";background:var(--gold-light);width:30px;height:1.5px;position:absolute;transform:rotate(-45deg)}@keyframes spin-c04ae224{to{transform:rotate(360deg)}}.petals[data-v-9a095d4b]{z-index:45;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.page.page .sec{padding-top:76px;padding-bottom:76px}.page.page .sec-title{font:400 27px/1.65 var(--song);letter-spacing:.2em}.page.page .sec-title:before,.page.page .sec-title:after{background:#b6976660;width:22px;height:1px}.page.page .sec-sub{letter-spacing:.12em;font-size:12px;line-height:2.1}.page.page .sec+.sec:before{background:#b6976630;left:38px;right:38px}.page.page .hero{background:var(--paper);color:var(--ink);min-height:810px;padding-top:57px;padding-bottom:45px}.page.page .hero:before{border:0;outline:none}.page.page .hero-houses{font:400 12px/1.8 var(--song);color:var(--ink-soft);letter-spacing:.25em}.page.page .moon{width:min(62vw,290px);margin-top:38px}.page.page .moon-photo{box-shadow:0 0 0 8px var(--paper), 0 0 0 9px #b6976655}.page.page .moon-photo .pf-empty{color:#8f795c;background:#efe6d5}.page.page .moon-xi{background:var(--paper);width:22px;color:var(--red);border-radius:0;padding:6px;bottom:-20px;box-shadow:0 0 0 1px #a6433e70}.page.page .hero-lead{font:400 12px/1.8 var(--song);color:var(--ink-soft);margin-top:46px}.page.page .hero-names{color:var(--red);font:400 clamp(27px, 8vw, 38px)/1.7 var(--song);letter-spacing:.08em}.page.page .hero-names i{color:#b69766;font:italic 20px Georgia,serif}.page.page .hero-quote{color:var(--ink-soft);font:400 14px/2 var(--song);letter-spacing:.12em;margin-top:15px}.page.page .hero-date{color:var(--ink);margin-top:28px;font-size:13px}.page.page .hero-date small{color:var(--ink-soft);font-size:11px}.page.page .countdown{border-color:#b6976635;margin-top:24px}.page.page .countdown b{color:var(--red);font:21px/1.7 Georgia,serif}.page.page .countdown small,.page.page .cd-label{color:var(--ink-soft)}.page.page .scroll-cue{color:var(--red)}.page.page .letter{box-shadow:none;background:#fffaf1;border-top:1px solid #b6976670;border-bottom:1px solid #b6976670;padding:40px 20px 30px}.page.page .letter:before{display:none}.page.page .letter-title{font:400 31px/1.6 var(--song);letter-spacing:.38em;text-indent:.38em}.page.page .letter-body{font:400 16px/2.1 var(--song);letter-spacing:.06em;background-image:linear-gradient(270deg,#a6433e26 1px,#0000 1px);border-color:#a6433e26;height:14.84em;margin-top:32px}.page.page .letter-sign{border-color:#b6976630;column-gap:26px;margin-top:32px}.page.page .letter-sign dd{font:400 19px/1.9 var(--song);letter-spacing:.1em}.page.page .letter-sign dt{font-size:11px}.page.page .letter-date{letter-spacing:.1em;font-size:10px}.page.page .seal{width:48px;height:48px;font:400 15px/1.2 var(--song);opacity:.85;border-radius:0;padding:5px;transform:rotate(-2deg)}.page.page .seal[data-count="1"],.page.page .seal[data-count="2"]{font-size:19px}.page.page .letter-pic,.page.page .ch-pic,.page.page .shot,.page.page .venue-pic{box-shadow:0 0 0 6px #fffaf1,0 0 0 7px #b6976630}.page.page .qa-grid{gap:14px}.page.page .front{color:var(--ink);background:#efe6d7;box-shadow:inset 0 0 0 1px #b6976640}.page.page .front i{color:var(--red);font:11px/1 var(--song);background:0 0;border:1px solid #a6433e60}.page.page .front b{font:400 16px/1.85 var(--song);letter-spacing:.04em}.page.page .back{background:#fffaf1;box-shadow:inset 0 0 0 1px #b6976670}.page.page .back b{font:400 13px/1.9 var(--song)}.page.page .back i{font:11px/1 var(--song)}.page.page .pager{font:12px/1.8 Georgia, var(--song)}.page.page .pager button{border-color:#b6976650;width:36px;height:36px}.page.page .schedule{background:#831f24;outline:none}.page.page .schedule .sec-title{color:var(--gold-light)}.page.page .schedule .sec-title:before,.page.page .schedule .sec-title:after{background:#dec08a70}.page.page .steps b{font:400 18px/1.8 var(--song);letter-spacing:.12em}.page.page .steps small{font-size:12px}.page.page .steps time{font:18px/1.8 Georgia,serif}.page.page .cal{box-shadow:none;background:0 0;border-top:1px solid #b6976660;border-bottom:1px solid #b6976660;outline:none;padding-left:12px;padding-right:12px}.page.page .cal-head b{font:400 25px/1.6 var(--song)}.page.page .cal-grid,.page.page .cal-head{font-family:Georgia, var(--song)}.page.page .cal-foot{font-size:13px}.page.page .cal-foot small{font-size:11px}.page.page .cal-grid .on{box-shadow:none;border-radius:3px}.page.page .times dd{font:27px/1.7 Georgia,serif}.page.page .place{border:0;padding:28px 10px}.page.page .place h3{font:400 23px/1.8 var(--song);letter-spacing:.12em}.page.page .hall{font:13px/2 var(--song)}.page.page .addr{font:12px/2 var(--song)}.page.page .note{background:0 0;font-size:11px}.page.page .rsvp-card{box-shadow:none;background:0 0;border:0;outline:none;padding:35px 15px}.page.page .rsvp-card .sec-title{font:400 27px/1.7 var(--song)}.page.page .rsvp-text{font:400 14px/2.2 var(--song);max-width:18em}.page.page .rsvp-due{font-size:11px}.page.page .rsvp-btn{width:min(100%,260px);min-width:0}.page.page .ending{background:#831f24;padding:68px 35px 60px}.page.page .ending:before{border:1px solid #dec08a35;outline:none}.page.page .end-xi{box-sizing:content-box;border:1px solid #dec08a80;width:22px;padding:7px}.page.page .end-big{font:400 32px/1.8 var(--song);letter-spacing:.23em;text-indent:.23em;margin-top:22px}.page.page .end-text{font:400 13px/2.2 var(--song)}.page.page .end-parents{border-color:#dec08a30}.page.page .end-parents p{font:400 16px/2 var(--song)}.page.page .end-parents span{font-size:12px}.page.page .end-sign{font:11px/2 var(--song);letter-spacing:.12em}.save-dialog.save-dialog .save-hint{font:12px/1.9 var(--song)}.save-dialog.save-dialog .save-close{z-index:1;top:0;right:4px}.save-dialog.save-dialog .save-body img{margin-top:0;box-shadow:0 3px 15px #533b3010}.save-dialog.save-dialog .save-dl{min-width:180px;font-size:13px}@media (width<=560px){.page.page .sec{padding-top:62px;padding-bottom:62px}.page.page .hero{min-height:100svh;padding-top:42px}.page.page .letter{padding-left:14px;padding-right:14px}.page.page .letter-body{font-size:15px}.page.page .letter-title{font-size:29px}}@media (width<=360px){.page.page .sec-title,.page.page .rsvp-card .sec-title{font-size:24px}.page.page .letter-sign{column-gap:16px}}.page .hero{min-height:850px;padding:54px 36px 35px}.page .hero:before,.page .ending:before{content:"";outline-offset:7px;pointer-events:none;border:1px solid #dec08a70;outline:1px solid #dec08a30;position:absolute;inset:25px}.page .hero-houses{font:400 17px/1.6 var(--song);letter-spacing:.35em}.page .moon{width:min(62vw,290px);margin-top:42px}.page .moon-photo{box-shadow:0 0 0 9px var(--red), 0 0 0 10px #dec08a90, 0 0 0 21px var(--red), 0 0 0 22px #dec08a70}.page .moon-photo .pf-empty{background:radial-gradient(circle, #a7353550, transparent 70%), var(--red);color:var(--gold-light)}.page .moon-xi{width:39px;padding:9px;bottom:-30px;box-shadow:0 0 0 1px #dec08a90}.page .hero-lead{letter-spacing:.35em;margin-top:48px;font-size:12px}.page .hero-names{font:400 clamp(29px, 8vw, 39px)/1.6 var(--song);color:var(--gold-light);gap:6px 18px;margin-top:17px}.page .hero-names i{color:var(--gold-light);font-size:22px}.page .hero-quote{font:400 17px/1.8 var(--brush);letter-spacing:.18em;margin-top:16px}.page .hero-date{color:var(--gold-light);margin-top:24px;font-size:15px}.page .hero-date small{font-size:12px}.page .countdown{border-color:#dec08a40;margin-top:24px;padding:12px 8px}.page .countdown b{color:var(--gold-light);font:23px/1.5 Georgia,serif}.page .countdown small{font-size:10px}.page .cd-label{font-size:11px}.page .scroll-cue{padding-top:30px}.page .letter{background:#fff9ee;padding:38px 24px 30px;box-shadow:0 0 0 1px #b6976660,0 12px 26px #533b3008}.page .letter:before{opacity:1;border:1px solid #b6976670;outline:none;inset:9px}.page .letter-title{color:var(--red);font-size:38px}.page .letter-body{color:var(--ink);background-image:linear-gradient(270deg,#b6976645 1px,#0000 1px);border-color:#b6976645;line-height:2.1}.page .letter-sign{border-top:1px solid #b6976640}.page .letter-sign dd{font-size:24px}.page .letter-date{letter-spacing:.12em;font-size:12px}.page .seal{background:var(--red);opacity:.8;box-shadow:inset 0 0 0 2px var(--paper), inset 0 0 0 3px var(--red);transform:rotate(-4deg)}.page .letter-pic,.page .ch-pic,.page .shot,.page .venue-pic{box-shadow:0 0 0 6px var(--paper), 0 0 0 7px #b6976655, 0 12px 24px #533b300c}.page .pf-empty{color:#9a7954;background:radial-gradient(ellipse at 45% 30%, #fff9ed90, transparent 70%), repeating-linear-gradient(45deg, #8b4b1903 0 1px, transparent 1px 4px), var(--paper-deep)}.page .pf-tag{letter-spacing:.05em;background:#533b30b3;border:1px solid #dec08a40;border-radius:0;font-size:10px}.page .qa-grid{gap:16px}.page .front{background:var(--red);color:var(--gold-light);box-shadow:inset 0 0 0 7px var(--red), inset 0 0 0 8px #dec08a60}.page .front i{color:var(--gold-light);background:0 0;border:1px solid #dec08a70;border-radius:0}.page .front b{font:400 17px/1.8 var(--song)}.page .back{background:#fff9ee;box-shadow:inset 0 0 0 1px #b6976670,0 6px 16px #533b3008}.page .back i{border-radius:0}.page .back b{font-size:14px}.page .gallery{padding-left:0;padding-right:0}.page .pager{font-size:12px}.page .pager button{border-color:#b6976670}.page .schedule{background:var(--red);color:var(--gold-light);outline-offset:-12px;outline:1px solid #dec08a60}.page .schedule:before{background:0 0}.page .schedule .sec-title{color:var(--gold-light);font-size:27px}.page .schedule .sec-title:before,.page .schedule .sec-title:after{opacity:.65}.page .steps time{color:var(--gold-light);font:19px/1.7 Georgia,serif}.page .steps b{color:var(--gold-light);font:400 19px/1.7 var(--song);letter-spacing:.12em}.page .steps small{color:#e5c99b;margin-top:5px;font-size:12px}.page .steps li{padding-bottom:32px}.page .steps li:last-child{padding-bottom:0}.page .steps li:before{background:var(--gold-light);box-shadow:none;width:6px;height:6px}.page .steps li:not(:last-child):after{background:#dec08a55}.page .cal{outline-offset:5px;background:#fff9ee;outline:1px solid #b6976630;padding:26px 22px 22px;box-shadow:0 0 0 1px #b6976655}.page .cal-head b{font:400 28px/1.4 var(--song)}.page .cal-week,.page .cal-foot{border-color:#b6976640}.page .cal-foot{font-size:14px}.page .cal-foot small{font-size:12px}.page .times dd{font:28px/1.6 Georgia,serif}.page .place{border-top:1px solid #b6976640;border-bottom:1px solid #b6976640;padding:25px 15px}.page .place h3{font:400 26px/1.7 var(--song);letter-spacing:.1em}.page .hall{margin-top:6px;font-size:15px}.page .addr{margin-top:12px;font-size:13px;line-height:2}.page .note{background:#b6976610;font-size:12px}.page .maps a{background:#fff9ee;border-color:#b6976655;font-size:13px}.page .rsvp-card{box-shadow:none;outline-offset:6px;background:0 0;border:1px solid #b6976655;outline:1px solid #b6976630;padding:38px 20px}.page .rsvp-card .sec-title{gap:8px;font-size:27px}.page .rsvp-card .sec-title:before,.page .rsvp-card .sec-title:after{width:18px}.page .rsvp-text{color:var(--ink-soft);font-size:14px;line-height:2.1}.page .rsvp-btn{width:min(100%,280px);margin-top:27px}.page .rsvp-due{font-size:12px}.page .ending{padding:64px 40px 55px;position:relative}.page .end-xi{width:54px}.page .end-big{letter-spacing:.2em;text-indent:.2em;font-size:42px}.page .end-text{font-size:14px;line-height:2.2}.page .end-parents{border-color:#dec08a40}.page .end-parents p{font:400 18px/1.8 var(--song)}.page .end-parents span{font-size:13px}.page .end-sign{color:var(--gold-light);opacity:.8;font-size:11px}.music.music{background:var(--red-deep);box-shadow:0 3px 12px #533b3020, inset 0 0 0 4px var(--red-deep), inset 0 0 0 5px #dec08a30;border-color:#dec08a90}.dialog-overlay.dialog-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#281713bb}.save-dialog.save-dialog{border:1px solid var(--gold);padding:22px 20px;box-shadow:0 25px 100px #0003}.save-dialog .save-body img{box-shadow:0 8px 20px #533b3020}.save-dialog .save-hint{font-size:12px}.photo-lightbox.photo-lightbox{background:#291b19}.photo-lightbox .photo-lightbox-close,.photo-lightbox .photo-lightbox-zoom button{color:var(--gold-light);border-color:#dec08a70}.photo-lightbox figcaption,.photo-lightbox .photo-lightbox-zoom{color:var(--gold-light)}@media (width>=801px){body:before,body:after{content:"";pointer-events:none;background:linear-gradient(#0000,#b6976670,#0000);width:1px;height:220px;position:fixed;top:29%}body:before{left:calc(50% - 365px)}body:after{top:40%;right:calc(50% - 365px)}}@media (width<=560px){.page .hero{min-height:100svh;padding:42px 28px 30px}.page .hero:before,.page .ending:before{outline-offset:6px;inset:19px}.page .hero-houses{font-size:15px}.page .moon{margin-top:38px}.page .ending{padding-left:30px;padding-right:30px}}@media (width<=360px){.page .hero-names{gap:6px 10px;font-size:28px}.page .countdown{gap:3px;padding-left:0;padding-right:0}.page .cd-label{margin-right:5px}.page .rsvp-card{padding-left:12px;padding-right:12px}.page .rsvp-card .sec-title{font-size:24px}.page .letter{padding-left:18px;padding-right:18px}.page .letter-sign{column-gap:16px}}:root{--red-deep:#67191f;--red:#831f24;--red-bright:#a6433e;--gold:#b69766;--gold-light:#dec08a;--paper:#faf4e8;--paper-deep:#f0e6d6;--ink:#533b30;--ink-soft:#806b57;--cream:#faf4e8;--brush:var(--song);--song:"WSong", "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--col:min(100vw, 540px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{color:var(--ink);font:16px/1.85 var(--song);-webkit-font-smoothing:antialiased;background-color:#e8e0d2;background-image:radial-gradient(at 50% 15%,#f6f0e4,#0000 65%),repeating-linear-gradient(90deg,#725f4203 0 1px,#0000 1px 4px);margin:0}body.is-locked{overflow:hidden}img{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}p,h1,h2,h3,figure,blockquote,dl,dd,ol,ul{margin:0}ol,ul{padding:0;list-style:none}.page{width:var(--col);background:var(--paper);max-width:100%;margin:38px auto;position:relative;overflow:clip;box-shadow:0 20px 90px #44220f20}.paper{background-color:var(--paper);background-image:repeating-linear-gradient(45deg,#8b4b1902 0 1px,#0000 1px 4px)}.sec{text-align:center;padding:64px 32px;position:relative}.sec+.sec:before{content:"";background:linear-gradient(90deg,#0000,#b6976660,#0000);height:1px;position:absolute;top:0;left:32px;right:32px}.sec-title{color:var(--red);font:400 30px/1.6 var(--song);letter-spacing:.12em;justify-content:center;align-items:center;gap:14px;display:flex}.sec-title:before,.sec-title:after{content:"";background:linear-gradient(var(--gold), var(--gold)) center / 100% 1px no-repeat, linear-gradient(45deg, transparent 38%, var(--gold) 38% 62%, transparent 62%) right center / 9px 9px no-repeat;flex:none;width:34px;height:9px}.sec-title:after{transform:scaleX(-1)}.sec-sub{color:var(--ink-soft);letter-spacing:.12em;margin-top:14px;font-size:13px;line-height:2}.on-red{background:var(--red);color:var(--gold-light);background-image:radial-gradient(at 50% 35%,#a735354d,#0000 65%),repeating-linear-gradient(20deg,#ffffff03 0 1px,#0000 1px 5px)}.btn{border:1px solid var(--red);background:var(--red);min-height:50px;color:var(--cream);font:14px var(--song);letter-spacing:.14em;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:14px 26px;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.btn:hover{background:var(--red-deep)}.btn:active{transform:scale(.97)}.btn[disabled]{cursor:default;opacity:.55}.btn-line{color:var(--red);background:0 0}.btn-line:hover{background:#9e1c220d}.btn-gold{border-color:var(--gold-light);color:var(--gold-light);background:0 0}.btn-gold:hover{background:#e9cf961a}@media (width<=560px){.page{box-shadow:none;margin:0 auto}.sec{padding:54px 26px}.sec-title{gap:10px;font-size:27px}.sec-title:before,.sec-title:after{width:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.photo-lightbox{z-index:70;background:#140405;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-lightbox figure{flex-direction:column;align-items:center;width:100%;display:flex}.photo-lightbox-stage{touch-action:none;place-items:center;width:100%;height:78svh;display:grid;overflow:hidden}.photo-lightbox-stage img{object-fit:contain;max-width:100%;max-height:100%;transition:transform 80ms}.photo-lightbox figcaption{color:#e9cf96;letter-spacing:.12em;margin-top:12px;font-size:13px}.photo-lightbox-close{z-index:1;color:#fbf1dc;background:#0006;border:1px solid #c39a5288;border-radius:50%;width:46px;height:46px;font-size:28px;line-height:1;position:absolute;top:10px;right:10px}.photo-lightbox-zoom{color:#fbf1dc;align-items:center;gap:14px;margin-top:10px;font-size:13px;display:flex}.photo-lightbox-zoom button{color:#fbf1dc;background:0 0;border:1px solid #c39a5288;border-radius:50%;width:38px;height:38px;font-size:20px}.photo-lightbox-zoom button:disabled{opacity:.35}.photo-lightbox-enter-active,.photo-lightbox-leave-active{transition:opacity .25s}.photo-lightbox-enter-from,.photo-lightbox-leave-to{opacity:0}
