.cover[data-v-6d691e0d]{position:relative;height:100svh;min-height:560px;overflow:hidden;cursor:pointer}.cover-photo[data-v-6d691e0d]{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center 45%}.cover-photo img[data-v-6d691e0d]{width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:0;transition:opacity .6s ease}.cover-photo img.loaded[data-v-6d691e0d]{opacity:1}.cover-top[data-v-6d691e0d]{position:absolute;inset:0 0 auto;padding:calc(24px + env(safe-area-inset-top)) var(--page-gutter) 140px;background:linear-gradient(180deg,var(--color-surface) 0%,rgba(255,253,249,.94) 42%,rgba(255,253,249,0) 100%)}.poetic[data-v-6d691e0d]{font-family:var(--font-serif-en);font-style:italic;font-size:13px;letter-spacing:.08em;color:var(--color-red);text-align:right;opacity:.9;margin-right:56px}.title-row[data-v-6d691e0d]{margin-top:6px;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:14px}.vertical-calli[data-v-6d691e0d]{font-size:52px;color:var(--color-red);line-height:1.12;text-shadow:0 1px 0 rgba(255,253,249,.65)}.serif[data-v-6d691e0d]{padding-top:14px;color:var(--color-ink)}.serif-word[data-v-6d691e0d]{display:block;font-size:26px;font-weight:500;line-height:1.5}.handwrite[data-v-6d691e0d]{padding-top:64px;font-size:28px;color:var(--color-red);letter-spacing:.1em;writing-mode:horizontal-tb;white-space:nowrap}.seal[data-v-6d691e0d]{position:absolute;left:var(--page-gutter);bottom:calc(34px + env(safe-area-inset-bottom));width:58px;height:58px;display:grid;place-items:center;background:var(--color-red-deep);color:#fdf6ec;font-family:var(--font-zh-serif);font-size:34px;border-radius:6px;box-shadow:inset 0 0 0 2px #fdf6ec8c,0 2px 8px #7c231c59;transform:rotate(-3deg)}.music-hint[data-v-6d691e0d]{position:absolute;left:50%;bottom:calc(44px + env(safe-area-inset-bottom));transform:translate(-50%);padding:8px 18px;border-radius:999px;background:#2b26229e;color:#fdf6ec;font-size:13px;letter-spacing:.12em;animation:breathe-6d691e0d 2.2s ease-in-out infinite;white-space:nowrap}.fade-leave-active[data-v-6d691e0d]{transition:opacity .5s}.fade-leave-to[data-v-6d691e0d]{opacity:0}@keyframes breathe-6d691e0d{0%,to{opacity:.85}50%{opacity:.45}}.photo-item[data-v-008efb96]{width:100%;overflow:hidden;cursor:zoom-in;background-size:cover;background-position:center}.photo-item img[data-v-008efb96]{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}.photo-item img.loaded[data-v-008efb96]{opacity:1}.stub-photo[data-v-008efb96]{width:100%;height:100%}.invite[data-v-e4f2f9e6]{padding:72px var(--page-gutter) 0;text-align:center}.names[data-v-e4f2f9e6]{font-size:20px;font-weight:700;letter-spacing:.06em;margin-bottom:40px}.lines[data-v-e4f2f9e6]{display:grid;gap:26px;margin-bottom:48px}.line .zh[data-v-e4f2f9e6]{display:block;font-size:15px;color:var(--color-ink-soft);letter-spacing:var(--tracking-zh)}.line .en[data-v-e4f2f9e6]{display:block;margin-top:4px;font-size:14px;color:var(--color-ink)}.date-line[data-v-e4f2f9e6]{font-size:17px;font-weight:700;letter-spacing:.04em;margin-bottom:40px}.hearts[data-v-e4f2f9e6]{font-size:14px}.invite-duo[data-v-e4f2f9e6]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 calc(-1 * var(--page-gutter));width:calc(100% + 2 * var(--page-gutter))}.flow[data-v-2fd361be]{padding:56px 0 0}.hero[data-v-2fd361be]{margin-bottom:8px}.duo-single[data-v-2fd361be]{display:block}.words[data-v-2fd361be]{display:flex;align-items:center;justify-content:center;gap:20px;padding:36px var(--page-gutter) 8px}.word[data-v-2fd361be]{font-family:var(--font-zh-serif);font-size:20px;color:var(--color-red);letter-spacing:.3em}.divider[data-v-2fd361be]{width:72px;height:1px;background:var(--color-gold)}.poem[data-v-19179b4a]{padding:64px var(--page-gutter) 0}.head[data-v-19179b4a]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:36px}.kicker[data-v-19179b4a]{font-size:15px;color:var(--color-ink);letter-spacing:.08em;margin-bottom:18px}.serif-line[data-v-19179b4a]{display:block;font-size:26px;color:var(--color-red);line-height:1.35}.xi-hearts[data-v-19179b4a]{position:relative;padding-top:4px}.xi[data-v-19179b4a]{font-family:var(--font-zh-serif);font-size:56px;color:var(--color-red);line-height:1}.xi[data-v-19179b4a]:after{content:"❤ ❤";position:absolute;left:50%;bottom:-18px;transform:translate(-50%);font-size:12px;letter-spacing:2px;white-space:nowrap}.verses[data-v-19179b4a]{text-align:right;display:grid;gap:18px;margin-bottom:48px}.verses p[data-v-19179b4a]{font-size:15px;color:var(--color-ink);letter-spacing:.1em}.poem .photo[data-v-19179b4a]{margin:0 calc(-1 * var(--page-gutter));width:calc(100% + 2 * var(--page-gutter))}.emotion[data-v-5bb72703]{padding:56px 0 0}.text[data-v-5bb72703]{padding:44px var(--page-gutter);display:grid;gap:18px}.zh[data-v-5bb72703]{font-size:15px;color:var(--color-ink-soft);letter-spacing:.1em}.en[data-v-5bb72703]{font-size:14px;color:var(--color-ink);margin-top:6px}.love[data-v-5bb72703]{font-size:24px;color:var(--color-red);text-align:right;margin-top:10px}.countdown[data-v-edf479b6]{padding:56px 0 0}.banner[data-v-edf479b6]{position:relative}.banner-text[data-v-edf479b6]{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:end center;padding-bottom:12%;font-size:34px;color:#fffdf9;letter-spacing:.2em;text-shadow:0 2px 12px rgba(43,38,34,.45)}.cells[data-v-edf479b6]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:36px var(--page-gutter)}.cell[data-v-edf479b6]{border:1.5px solid var(--color-red);border-radius:10px;padding:14px 0 12px;text-align:center}.num[data-v-edf479b6]{display:block;font-size:30px;color:var(--color-ink);line-height:1.1;letter-spacing:.02em}.unit[data-v-edf479b6]{display:block;margin-top:4px;font-size:13px;color:var(--color-ink-soft)}.expired[data-v-edf479b6]{padding:40px 0;text-align:center;font-size:36px;color:var(--color-red)}.duo[data-v-edf479b6]{display:grid;grid-template-columns:1fr;gap:8px}.text[data-v-edf479b6]{padding:44px var(--page-gutter) 8px;display:grid;gap:16px;text-align:center}.zh[data-v-edf479b6]{font-size:15px;color:var(--color-ink-soft);letter-spacing:.1em}.en[data-v-edf479b6]{font-size:14px;color:var(--color-ink);margin-top:6px}.cn[data-v-eca1d1d7]{padding:56px 0 0}.text[data-v-eca1d1d7]{padding:0 var(--page-gutter) 36px;display:grid;gap:16px}.zh[data-v-eca1d1d7]{font-size:15px;color:var(--color-ink-soft);letter-spacing:.1em}.en[data-v-eca1d1d7]{font-size:14px;color:var(--color-ink);margin-top:6px}.hero-wrap[data-v-eca1d1d7]{position:relative}.serif-block[data-v-eca1d1d7]{padding:44px var(--page-gutter);display:grid;gap:22px;text-align:center}.serif-block p[data-v-eca1d1d7]{font-size:15px;color:var(--color-ink)}.serif-block p[data-v-eca1d1d7]:first-child{font-size:18px}.stack[data-v-eca1d1d7]{display:grid;gap:8px}.calendar[data-v-054d41f2]{padding:56px 0 0}.text[data-v-054d41f2]{padding:0 var(--page-gutter) 36px;display:grid;gap:16px;text-align:center}.zh[data-v-054d41f2]{font-size:15px;color:var(--color-ink-soft);letter-spacing:.1em}.en[data-v-054d41f2]{font-size:14px;color:var(--color-ink);margin-top:6px}.stage[data-v-054d41f2]{position:relative}.bg[data-v-054d41f2]{aspect-ratio:3 / 4}.card[data-v-054d41f2]{position:absolute;left:50%;bottom:8%;transform:translate(-50%);width:82%;padding:18px 16px 16px;border-radius:8px;background:#1e19168c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fdf6ec}.title[data-v-054d41f2]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;color:#e8b4a8}.title .year[data-v-054d41f2]{font-size:20px}.title .month[data-v-054d41f2]{font-size:24px;color:var(--color-red);filter:brightness(1.6)}.weekdays[data-v-054d41f2],.row[data-v-054d41f2]{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekdays[data-v-054d41f2]{background:var(--color-red);border-radius:4px;font-size:12px;padding:4px 0;margin-bottom:6px}.day[data-v-054d41f2]{font-size:12px;padding:5px 0;opacity:.9}.day.empty[data-v-054d41f2]{opacity:0}.day.wedding[data-v-054d41f2]{padding:2px 0}.wedding-day[data-v-054d41f2]{position:relative;display:inline-grid;place-items:center;width:30px;height:30px}.wedding-day .heart-line[data-v-054d41f2]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;color:#ff7a6e;transform:rotate(-5deg);filter:drop-shadow(0 0 3px rgba(255,122,110,.45));animation:heartbeat-054d41f2 1.4s ease-in-out infinite}.wedding-day .num3[data-v-054d41f2]{position:relative;font-style:normal;font-size:13px;font-weight:700;color:#ffd9d4}@keyframes heartbeat-054d41f2{0%,to{transform:rotate(-5deg) scale(1)}25%{transform:rotate(-5deg) scale(1.18)}40%{transform:rotate(-5deg) scale(1.04)}55%{transform:rotate(-5deg) scale(1.15)}}@media (prefers-reduced-motion: reduce){.wedding-day .heart-line[data-v-054d41f2]{animation:none}}.venue[data-v-4d6c7463]{padding:56px 0 0}.body[data-v-4d6c7463]{padding:44px var(--page-gutter) 8px;text-align:center}.lead[data-v-4d6c7463]{display:grid;gap:14px;font-size:15px;color:var(--color-ink-soft);letter-spacing:.1em}.xi[data-v-4d6c7463]{margin-top:40px;font-family:var(--font-zh-serif);font-size:58px;line-height:1;color:var(--color-red)}.serif[data-v-4d6c7463]{margin-top:18px;font-size:24px;color:var(--color-ink)}.info[data-v-4d6c7463]{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;align-items:start;text-align:left}.date[data-v-4d6c7463]{padding-right:18px;display:grid;gap:10px;align-content:center;min-height:100%}.date-line[data-v-4d6c7463]{font-size:16px;color:var(--color-ink);letter-spacing:.06em}.lunar-line[data-v-4d6c7463]{font-size:14px;color:var(--color-ink-soft);letter-spacing:.08em}.events[data-v-4d6c7463]{border-left:1px solid var(--color-gold);padding-left:18px;display:grid;gap:22px}.event-label[data-v-4d6c7463]{font-size:13px;color:var(--color-red);letter-spacing:.14em}.event-time[data-v-4d6c7463]{margin-top:4px;font-size:16px;color:var(--color-ink)}.event-venue[data-v-4d6c7463]{margin-top:2px;font-size:14px;color:var(--color-ink-soft)}.mapnav[data-v-4aced8a8]{padding:56px 0 0}.maps[data-v-4aced8a8]{margin-top:36px;padding:0 var(--page-gutter);display:grid;gap:28px}.maps.no-photo[data-v-4aced8a8]{margin-top:8px}.map-card[data-v-4aced8a8]{display:block;text-decoration:none;color:inherit}.map-img[data-v-4aced8a8]{width:100%;aspect-ratio:16 / 10;object-fit:cover;border:1px solid var(--color-line);border-radius:8px}.map-stub[data-v-4aced8a8]{position:relative;display:grid;place-items:center;background:linear-gradient(160deg,var(--color-photo-ph-1),var(--color-photo-ph-2));overflow:hidden}.pin[data-v-4aced8a8]{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--color-red);box-shadow:0 4px 10px #a0342b59}.pin[data-v-4aced8a8]:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;background:var(--color-surface)}.stub-note[data-v-4aced8a8]{position:absolute;bottom:10px;right:12px;font-size:11px;color:#2b262273;letter-spacing:.1em}.map-label[data-v-4aced8a8]{margin-top:12px;font-size:15px;color:var(--color-ink);letter-spacing:.06em;text-align:center}.map-address[data-v-4aced8a8]{margin-top:4px;font-size:13px;color:var(--color-ink-soft);letter-spacing:.04em;text-align:center}.map-caption[data-v-4aced8a8]{margin-top:6px;font-size:13px;color:var(--color-red);letter-spacing:.1em;text-align:center}.map-card:active .map-img[data-v-4aced8a8]{filter:brightness(.96)}.rsvp[data-v-01f561c3]{padding:56px var(--page-gutter) 8px}.title[data-v-01f561c3]{display:flex;align-items:baseline;justify-content:center;gap:10px}.title .zh[data-v-01f561c3]{font-size:22px;font-weight:600;letter-spacing:var(--tracking-zh)}.title .sep[data-v-01f561c3]{color:var(--color-ink-soft)}.title .en[data-v-01f561c3]{font-size:18px;color:var(--color-ink)}.form[data-v-01f561c3]{margin-top:32px;display:grid;gap:22px}.field[data-v-01f561c3]{display:grid;gap:8px;border:none}.label[data-v-01f561c3]{font-size:14px;color:var(--color-ink);letter-spacing:.08em}.req[data-v-01f561c3]{color:var(--color-red);font-style:normal;margin-right:4px}input[data-v-01f561c3],textarea[data-v-01f561c3]{width:100%;padding:12px 14px;border:1px solid var(--color-line);border-radius:8px;background:var(--color-surface);font:inherit;font-size:15px;color:var(--color-ink)}input[data-v-01f561c3]:focus,textarea[data-v-01f561c3]:focus{outline:none;border-color:var(--color-gold)}textarea[data-v-01f561c3]{resize:none}.error[data-v-01f561c3]{font-size:12px;color:var(--color-red)}.pills[data-v-01f561c3]{display:flex;flex-wrap:wrap;gap:8px}.pill[data-v-01f561c3]{padding:8px 14px;border:1px solid var(--color-line);border-radius:999px;font-size:14px;color:var(--color-ink-soft);transition:border-color .2s,color .2s,background .2s}.pill.active[data-v-01f561c3]{border-color:var(--color-red);color:var(--color-red);background:#a0342b0f}.other-input[data-v-01f561c3]{margin-top:4px}.hint[data-v-01f561c3]{font-size:12px;color:var(--color-ink-soft);letter-spacing:.05em}.steppers[data-v-01f561c3]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stepper[data-v-01f561c3]{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border:1px solid var(--color-line);border-radius:8px;overflow:hidden}.stepper button[data-v-01f561c3]{height:44px;font-size:20px;color:var(--color-red)}.stepper button[data-v-01f561c3]:active{background:#a0342b14}.stepper .count[data-v-01f561c3]{text-align:center;font-size:16px}.btn[data-v-01f561c3]{border-radius:8px;font-size:16px;letter-spacing:.2em}.btn-primary[data-v-01f561c3]{padding:14px 0;background:var(--color-red-deep);color:var(--color-surface)}.btn-primary[data-v-01f561c3]:active{filter:brightness(1.1)}.btn-primary[data-v-01f561c3]:disabled{opacity:.6}.btn-ghost[data-v-01f561c3]{padding:12px 0;border:1px solid var(--color-line);color:var(--color-ink-soft)}.submit[data-v-01f561c3]{margin-top:6px}.duplicate[data-v-01f561c3]{padding:14px;border:1px solid var(--color-gold);border-radius:8px;background:#c9a06314;font-size:14px;display:grid;gap:12px}.duplicate-actions[data-v-01f561c3]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.success[data-v-01f561c3]{margin-top:36px;text-align:center;display:grid;gap:16px;justify-items:center}.success-xi[data-v-01f561c3]{font-size:44px;color:var(--color-red);line-height:1}.success-text[data-v-01f561c3]{font-size:15px;color:var(--color-ink);letter-spacing:.08em}.success .btn-ghost[data-v-01f561c3]{padding:10px 28px;font-size:14px}.seat[data-v-3c916eb9]{padding:40px var(--page-gutter) 8px;display:grid;justify-items:center;gap:14px}.seat-btn[data-v-3c916eb9]{padding:12px 44px;border:1px solid var(--color-red);border-radius:999px;font-size:15px;letter-spacing:.2em;color:var(--color-red);transition:background .2s}.seat-btn[data-v-3c916eb9]:active{background:#a0342b14}.seat-tip[data-v-3c916eb9]{font-size:13px;color:var(--color-ink-soft);letter-spacing:.08em}.blessing[data-v-bdabb575]{padding:56px var(--page-gutter) 8px}.title[data-v-bdabb575]{text-align:center;font-size:22px;font-weight:600;letter-spacing:var(--tracking-zh)}.like[data-v-bdabb575]{margin:20px auto 0;display:flex;align-items:center;gap:8px;padding:8px 20px;border:1px solid var(--color-line);border-radius:999px;color:var(--color-ink-soft);transition:border-color .2s,color .2s,transform .15s}.like[data-v-bdabb575]:active{transform:scale(.94)}.like .heart[data-v-bdabb575]{width:20px;height:20px;fill:none;stroke:var(--color-red);stroke-width:1.6;transition:fill .2s}.like.liked[data-v-bdabb575]{border-color:var(--color-red);color:var(--color-red)}.like.liked .heart[data-v-bdabb575]{fill:var(--color-red)}.like-count[data-v-bdabb575]{font-size:14px;min-width:1.5em}.presets-label[data-v-bdabb575]{margin-top:32px;font-size:13px;color:var(--color-ink-soft);letter-spacing:.12em}.presets[data-v-bdabb575]{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-bdabb575]{padding:8px 14px;border:1px solid var(--color-line);border-radius:999px;font-size:13px;color:var(--color-ink-soft);text-align:left}.chip[data-v-bdabb575]:active{border-color:var(--color-red);color:var(--color-red)}.form[data-v-bdabb575]{margin-top:24px;display:grid;gap:10px}input[data-v-bdabb575],textarea[data-v-bdabb575]{width:100%;padding:12px 14px;border:1px solid var(--color-line);border-radius:8px;background:var(--color-surface);font:inherit;font-size:15px;color:var(--color-ink)}input[data-v-bdabb575]:focus,textarea[data-v-bdabb575]:focus{outline:none;border-color:var(--color-gold)}textarea[data-v-bdabb575]{resize:none}.content-wrap[data-v-bdabb575]{position:relative}.counter[data-v-bdabb575]{position:absolute;right:10px;bottom:8px;font-size:11px;color:var(--color-ink-soft)}.error[data-v-bdabb575]{font-size:12px;color:var(--color-red)}.send[data-v-bdabb575]{padding:13px 0;border-radius:8px;background:var(--color-red-deep);color:var(--color-surface);font-size:16px;letter-spacing:.2em}.send[data-v-bdabb575]:active{filter:brightness(1.1)}.send[data-v-bdabb575]:disabled{opacity:.6}.sent[data-v-bdabb575]{text-align:center;font-size:13px;color:var(--color-red)}.list[data-v-bdabb575]{margin-top:32px;display:grid;gap:16px}.empty[data-v-bdabb575]{text-align:center;font-size:13px;color:var(--color-ink-soft)}.item[data-v-bdabb575]{padding:14px 16px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-surface)}.item-head[data-v-bdabb575]{display:flex;justify-content:space-between;align-items:baseline}.nick[data-v-bdabb575]{font-size:14px;font-weight:600;color:var(--color-red);letter-spacing:.06em}.time[data-v-bdabb575]{font-size:11px;color:var(--color-ink-soft)}.text[data-v-bdabb575]{margin-top:6px;font-size:14px;color:var(--color-ink)}.more[data-v-bdabb575]{padding:10px 0;font-size:13px;color:var(--color-ink-soft);letter-spacing:.1em}.closing[data-v-492a839a]{padding:72px var(--page-gutter) 96px;text-align:center}.xi[data-v-492a839a]{font-family:var(--font-zh-serif);font-size:56px;color:var(--color-red);margin-bottom:40px;font-weight:400;opacity:.85}.lines[data-v-492a839a]{display:grid;gap:16px;margin-bottom:40px}.lines p[data-v-492a839a]{font-size:15px;color:var(--color-ink-soft);letter-spacing:.12em}.date[data-v-492a839a]{font-size:15px;color:var(--color-ink);margin-bottom:12px}.final[data-v-492a839a]{font-size:26px;color:var(--color-red);letter-spacing:.15em}.vinyl[data-v-ec925e26]{position:fixed;top:calc(14px + env(safe-area-inset-top));right:calc(50% - var(--page-max) / 2 + 14px);z-index:40;width:46px;height:46px;display:grid;place-items:center}@media (max-width: 480px){.vinyl[data-v-ec925e26]{right:14px}}.vinyl-disc[data-v-ec925e26]{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at center,#d9c9b4 0 22%,transparent 22%),repeating-radial-gradient(circle at center,#3a322b 0,#3a322b 2px,#4a4038 2px,#4a4038 4px);box-shadow:0 2px 10px #2b262259;display:grid;place-items:center;animation:spin-ec925e26 6s linear infinite;animation-play-state:paused}.spinning .vinyl-disc[data-v-ec925e26]{animation-play-state:running}.idle .vinyl-disc[data-v-ec925e26]{opacity:.75}.vinyl-label[data-v-ec925e26]{font-size:12px;color:var(--color-red);line-height:1}.vinyl-arm[data-v-ec925e26]{position:absolute;top:2px;right:4px;width:2px;height:18px;background:#b9a684;border-radius:2px;transform:rotate(24deg);transform-origin:top center;transition:transform var(--dur-med) var(--ease-soft)}.spinning .vinyl-arm[data-v-ec925e26]{transform:rotate(42deg)}@keyframes spin-ec925e26{to{transform:rotate(360deg)}}.viewer[data-v-5ea6e4ea]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#14100df5;touch-action:none;outline:none;user-select:none;-webkit-user-select:none}.stage[data-v-5ea6e4ea]{position:absolute;top:50%;left:50%;width:100%;max-width:100vw;will-change:transform}.stage img[data-v-5ea6e4ea]{width:100%;max-height:100vh;object-fit:contain;pointer-events:none}.viewer-stub[data-v-5ea6e4ea]{width:100vw;height:70vh}.counter[data-v-5ea6e4ea]{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);color:#fdf6ecd9;font-size:14px;letter-spacing:.2em}.close[data-v-5ea6e4ea]{position:absolute;top:calc(14px + env(safe-area-inset-top));right:16px;width:40px;height:40px;border-radius:50%;background:#fdf6ec1f;color:#fdf6ec;font-size:24px;line-height:1}.arrow[data-v-5ea6e4ea]{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fdf6ec1a;color:#fdf6ec;font-size:28px;line-height:1}.arrow.left[data-v-5ea6e4ea]{left:10px}.arrow.right[data-v-5ea6e4ea]{right:10px}.share-hint[data-v-00dc5449]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#1e1814b8;color:#fdf6ec}.arrow[data-v-00dc5449]{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,calc((100vw - var(--page-max)) / 2 + 14px));width:56px;height:56px;animation:nudge-00dc5449 1.2s var(--ease-soft) infinite}.text[data-v-00dc5449]{position:absolute;top:calc(max(14px,env(safe-area-inset-top)) + 68px);right:max(20px,calc((100vw - var(--page-max)) / 2 + 20px));max-width:240px;text-align:right;font-size:16px;letter-spacing:.08em;line-height:1.8}.dismiss[data-v-00dc5449]{position:absolute;left:0;right:0;bottom:max(28px,env(safe-area-inset-bottom));text-align:center;font-size:12px;opacity:.7;letter-spacing:.1em}@keyframes nudge-00dc5449{0%,to{transform:translate(0)}50%{transform:translate(5px,-5px)}}.hint-enter-active[data-v-00dc5449],.hint-leave-active[data-v-00dc5449]{transition:opacity .3s ease}.hint-enter-from[data-v-00dc5449],.hint-leave-to[data-v-00dc5449]{opacity:0}.click-hearts[data-v-dedf8e6d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none;overflow:hidden}.burst[data-v-dedf8e6d]{position:absolute;width:0;height:0}.particle[data-v-dedf8e6d]{position:absolute;left:0;top:0;transform:translate(-50%,-50%);animation:float-up-dedf8e6d var(--dur, 1.1s) ease-out forwards;will-change:transform,opacity;text-shadow:0 1px 2px rgba(43,38,34,.15)}@keyframes float-up-dedf8e6d{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.05) rotate(var(--rot))}}.simple-photos[data-v-ef195c2e]{padding:48px var(--page-gutter) 0}.wall[data-v-ef195c2e]{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:dense;gap:8px}.shot[data-v-ef195c2e]{margin:0}.shot.landscape[data-v-ef195c2e]{grid-column:1 / -1}.frame[data-v-ef195c2e]{height:100%;border-radius:6px;overflow:hidden;background-size:cover;background-position:center}.shot:not(.landscape) .frame[data-v-ef195c2e]{aspect-ratio:3 / 4}.shot.landscape .frame[data-v-ef195c2e]{aspect-ratio:3 / 2}.frame img[data-v-ef195c2e]{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:0;transition:opacity .5s ease}.frame img.loaded[data-v-ef195c2e]{opacity:1}.simple-page[data-v-eb0de004]{padding-bottom:72px}.admin[data-v-0176c9ee]{min-height:100vh;max-width:960px;margin:0 auto;padding:24px 16px 64px;font-size:14px}.gate[data-v-0176c9ee]{min-height:80vh;display:grid;gap:14px;place-content:center;justify-items:center;text-align:center}.gate-xi[data-v-0176c9ee]{font-size:48px;color:var(--color-red);line-height:1}.gate-title[data-v-0176c9ee]{font-size:20px;letter-spacing:.12em}.gate-sub[data-v-0176c9ee]{font-size:13px;color:var(--color-ink-soft)}.gate-input[data-v-0176c9ee]{width:min(320px,80vw);padding:12px 14px;border:1px solid var(--color-line);border-radius:8px;background:var(--color-surface);font:inherit;text-align:center;letter-spacing:.08em}.gate-input[data-v-0176c9ee]:focus{outline:none;border-color:var(--color-gold)}.gate-error[data-v-0176c9ee],.load-error[data-v-0176c9ee]{font-size:13px;color:var(--color-red)}.back-link[data-v-0176c9ee]{margin-top:8px;font-size:13px;color:var(--color-ink-soft);text-decoration:none}.topbar[data-v-0176c9ee]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.topbar-title[data-v-0176c9ee]{font-size:18px;letter-spacing:.1em}.topbar-actions[data-v-0176c9ee]{display:flex;gap:8px}.loaded-at[data-v-0176c9ee]{margin-top:4px;font-size:12px;color:var(--color-ink-soft)}.btn[data-v-0176c9ee]{padding:8px 14px;border-radius:8px;font-size:13px;letter-spacing:.06em;text-decoration:none}.btn-primary[data-v-0176c9ee]{background:var(--color-red-deep);color:var(--color-surface);padding:12px 36px}.btn-ghost[data-v-0176c9ee]{border:1px solid var(--color-line);color:var(--color-ink-soft);background:var(--color-surface)}.btn-ghost[data-v-0176c9ee]:active{background:#a0342b0f}.btn[data-v-0176c9ee]:disabled{opacity:.6}.btn-danger[data-v-0176c9ee]{border:1px solid var(--color-red);background:#a0342b14;color:var(--color-red)}.btn-danger[data-v-0176c9ee]:active{background:#a0342b29}.btn-link[data-v-0176c9ee]{border:none;background:none;padding:0 2px;font-size:12px;color:var(--color-red);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.btn-link[data-v-0176c9ee]:disabled{opacity:.5}.check[data-v-0176c9ee]{width:34px;text-align:center}.check input[data-v-0176c9ee]{width:15px;height:15px;accent-color:var(--color-red-deep);cursor:pointer}.cards[data-v-0176c9ee]{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.card[data-v-0176c9ee]{background:var(--color-surface);border:1px solid var(--color-line);border-radius:10px;padding:14px 8px 12px;display:grid;justify-items:center;gap:2px}.card-num[data-v-0176c9ee]{font-size:26px;font-weight:600;color:var(--color-red-deep);line-height:1.2}.card-label[data-v-0176c9ee]{font-size:12px;color:var(--color-ink-soft);letter-spacing:.06em}.block[data-v-0176c9ee]{margin-top:28px}.block-head[data-v-0176c9ee]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.block-title[data-v-0176c9ee]{font-size:15px;letter-spacing:.08em}.table-wrap[data-v-0176c9ee]{overflow-x:auto;border:1px solid var(--color-line);border-radius:10px;background:var(--color-surface)}table[data-v-0176c9ee]{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th[data-v-0176c9ee],td[data-v-0176c9ee]{padding:10px 12px;text-align:left;border-bottom:1px solid var(--color-line)}th[data-v-0176c9ee]{color:var(--color-ink-soft);font-weight:500;letter-spacing:.06em;background:#c9a06314}tbody tr:last-child td[data-v-0176c9ee]{border-bottom:none}td.name[data-v-0176c9ee]{font-weight:600}td.time[data-v-0176c9ee]{color:var(--color-ink-soft);font-size:12px}.empty[data-v-0176c9ee]{text-align:center;color:var(--color-ink-soft);padding:24px}.blessings[data-v-0176c9ee]{list-style:none;display:grid;gap:10px}.blessing[data-v-0176c9ee]{background:var(--color-surface);border:1px solid var(--color-line);border-radius:10px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start}.blessing-check[data-v-0176c9ee]{margin-top:3px;width:15px;height:15px;flex-shrink:0;accent-color:var(--color-red-deep);cursor:pointer}.blessing-body[data-v-0176c9ee]{flex:1;min-width:0}.blessing-head[data-v-0176c9ee]{display:flex;align-items:baseline;gap:8px}.blessing-name[data-v-0176c9ee]{font-weight:600}.tag[data-v-0176c9ee]{font-size:11px;padding:1px 8px;border-radius:999px;background:#c9a06326;color:var(--color-ink-soft)}.tag-warn[data-v-0176c9ee]{background:#a0342b1f;color:var(--color-red)}.blessing-time[data-v-0176c9ee]{margin-left:auto;font-size:12px;color:var(--color-ink-soft)}.blessing-content[data-v-0176c9ee]{margin-top:4px;line-height:1.6;word-break:break-word}.canvas-wrap[data-v-a39d31d4]{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden}.canvas[data-v-a39d31d4]{width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none}.toolbar[data-v-a39d31d4]{position:absolute;top:12px;right:14px;display:flex;gap:6px;align-items:center;background:var(--color-surface);border:1px solid var(--color-line);border-radius:10px;padding:5px 8px;box-shadow:0 2px 10px #503c2814}.toolbar button[data-v-a39d31d4]{padding:4px 10px;font-size:13px;color:var(--color-ink);border-radius:6px}.toolbar button[data-v-a39d31d4]:hover:not(:disabled){background:var(--color-bg);color:var(--color-red)}.toolbar button[data-v-a39d31d4]:disabled{color:var(--color-line)}.zoom-pct[data-v-a39d31d4]{font-size:12px;color:var(--color-ink-soft);min-width:40px;text-align:center}.batch-bar[data-v-a39d31d4]{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:8px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:12px;padding:7px 10px;box-shadow:0 4px 16px #503c281f;white-space:nowrap}.batch-bar button[data-v-a39d31d4]{padding:6px 14px;font-size:13px;color:var(--color-ink);border-radius:8px}.batch-bar button[data-v-a39d31d4]:hover{background:var(--color-bg);color:var(--color-red)}.batch-bar .pdf[data-v-a39d31d4]{color:var(--color-red);font-weight:600}@media (max-width: 860px){.batch-bar[data-v-a39d31d4]{left:8px;right:8px;transform:none;justify-content:center;overflow-x:auto}}.panel[data-v-71500d12]{width:320px;flex-shrink:0;background:var(--color-surface);border-left:1px solid var(--color-line);padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.panel-tag[data-v-71500d12]{font-size:11px;color:var(--color-ink-soft);letter-spacing:.2em;margin-bottom:-8px}.panel-head[data-v-71500d12]{display:flex;align-items:center;gap:8px}.name-input[data-v-71500d12]{flex:1;font-size:18px;font-weight:600;padding:6px 10px;border:1px solid var(--color-line);border-radius:8px;background:#fff;color:var(--color-ink)}.close[data-v-71500d12]{font-size:22px;color:var(--color-ink-soft);padding:0 6px}.gauge[data-v-71500d12]{background:var(--color-bg);border-radius:10px;padding:12px 14px}.gauge-line[data-v-71500d12]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.gauge strong[data-v-71500d12]{font-size:26px;color:var(--color-ink)}.gauge .slash[data-v-71500d12]{font-size:15px;color:var(--color-ink-soft);font-weight:400}.remain[data-v-71500d12]{font-size:13px}.bar[data-v-71500d12]{height:8px;border-radius:4px;background:#ece5d8;overflow:hidden}.bar-fill[data-v-71500d12]{height:100%;border-radius:4px;transition:width .25s var(--ease-soft)}.row[data-v-71500d12]{display:flex;align-items:center;gap:8px;font-size:14px}.nudge-label[data-v-71500d12]{color:var(--color-ink-soft);font-size:13px}.nudge-pad[data-v-71500d12]{margin-left:auto;display:flex;gap:4px}.nudge-pad button[data-v-71500d12]{width:30px;height:28px;border:1px solid var(--color-line);border-radius:6px;background:#fff;font-size:13px}.nudge-pad button[data-v-71500d12]:hover{border-color:var(--color-red);color:var(--color-red)}.capacity-row button[data-v-71500d12]{width:28px;height:28px;border:1px solid var(--color-line);border-radius:6px;background:#fff}.capacity-row strong[data-v-71500d12]{min-width:24px;text-align:center}.sec h4[data-v-71500d12]{font-size:13px;color:var(--color-ink-soft);letter-spacing:.1em;margin-bottom:8px}.empty[data-v-71500d12]{font-size:13px;color:var(--color-ink-soft)}.chips[data-v-71500d12],.pick[data-v-71500d12]{list-style:none;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}.chip[data-v-71500d12]{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border:1px solid var(--color-line);border-radius:8px;cursor:grab;touch-action:none;font-size:14px}.avatar[data-v-71500d12]{width:26px;height:26px;border-radius:50%;background:var(--color-bg);border:1px solid var(--color-gold);color:var(--color-red-deep);font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.chip-label[data-v-71500d12]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dn-dot[data-v-71500d12]{font-style:normal;background:none;color:#c9a063;font-size:11px;margin-right:3px}.grip[data-v-71500d12]{flex-shrink:0;cursor:grab;color:var(--color-ink-soft);font-size:15px;padding:0 2px;touch-action:none;-webkit-user-select:none;user-select:none}.grip[data-v-71500d12]:hover{color:var(--color-red)}.chip.sort-src[data-v-71500d12]{opacity:.45}.chip.insert-before[data-v-71500d12]{box-shadow:0 -2px 0 0 var(--color-red)}.chip.insert-after[data-v-71500d12]{box-shadow:0 2px 0 0 var(--color-red)}.pen[data-v-71500d12]{font-size:13px;color:var(--color-ink-soft);padding:0 3px;flex-shrink:0}.pen[data-v-71500d12]:hover{color:var(--color-red)}.pen.set[data-v-71500d12]{color:#c9a063}.dn-input[data-v-71500d12]{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--color-gold, #c9a063);border-radius:6px;font-size:13px;background:#fff;color:var(--color-ink)}.dn-ok[data-v-71500d12]{flex-shrink:0;width:26px;height:26px;border-radius:6px;background:var(--color-red);color:#fffdf9;font-size:13px}.stepper[data-v-71500d12]{display:inline-flex;align-items:center;gap:4px}.stepper button[data-v-71500d12]{width:22px;height:22px;border:1px solid var(--color-line);border-radius:5px;background:var(--color-bg);font-size:12px}.stepper b[data-v-71500d12]{min-width:18px;text-align:center;font-size:13px}.x[data-v-71500d12]{font-size:15px;color:var(--color-ink-soft);padding:0 4px}.x[data-v-71500d12]:hover{color:#b3261e}.pick label[data-v-71500d12]{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px 2px;cursor:pointer}.primary[data-v-71500d12]{margin-top:8px;width:100%;background:var(--color-red);color:#fffdf9;border-radius:8px;padding:8px 0;font-size:14px}.primary[data-v-71500d12]:disabled{opacity:.4}.manual[data-v-71500d12]{display:flex;gap:6px}.manual input[data-v-71500d12]{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--color-line);border-radius:8px;font-size:14px;background:#fff;color:var(--color-ink)}.manual .num[data-v-71500d12]{flex:0 0 60px}.manual .primary[data-v-71500d12]{width:auto;margin-top:0;padding:7px 14px}.danger[data-v-71500d12]{margin-top:auto;border:1px solid #b3261e;color:#b3261e;border-radius:8px;padding:8px 0;font-size:13px}@media (max-width: 860px){.panel[data-v-71500d12]{position:absolute;right:0;top:0;bottom:0;z-index:30;box-shadow:-8px 0 24px #503c2826}}.print-sheet[data-v-f40131ee]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#efe9df;overflow-y:auto}.bar[data-v-f40131ee]{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 18px;background:var(--color-surface);border-bottom:1px solid var(--color-line)}.bar-title[data-v-f40131ee]{margin-right:auto;font-size:14px;color:var(--color-ink)}.bar button[data-v-f40131ee]{border:1px solid var(--color-line);background:#fff;border-radius:8px;padding:7px 16px;font-size:13px;color:var(--color-ink)}.bar .primary[data-v-f40131ee]{background:var(--color-red);border-color:var(--color-red);color:#fffdf9}.sheet-pages[data-v-f40131ee]{padding:18px 0 40px}.sheet-page[data-v-f40131ee]{width:min(794px,94vw);margin:0 auto 18px;background:#fff;box-shadow:0 4px 20px #503c281f;border-radius:4px;padding:36px 40px;box-sizing:border-box}.p-head h1[data-v-f40131ee]{font-size:24px;letter-spacing:.3em;color:#7c231c;text-align:center}.p-head h2[data-v-f40131ee]{font-size:20px;letter-spacing:.2em;color:#7c231c}.p-sub[data-v-f40131ee]{text-align:center;font-size:13px;color:#5c544c;margin-top:6px}.p-stat[data-v-f40131ee]{text-align:center;font-size:13px;color:#5c544c;margin-top:4px}.p-map[data-v-f40131ee]{width:100%;margin-top:16px;border:1px solid #e9e0d2;border-radius:8px}.p-note[data-v-f40131ee]{font-size:12px;color:#8a8078;margin-top:10px}.p-foot[data-v-f40131ee]{font-size:11px;color:#8a8078;margin-top:14px;text-align:right}.grid[data-v-f40131ee]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.tcard[data-v-f40131ee]{border:1px solid #e9e0d2;border-radius:10px;padding:10px 14px;break-inside:avoid}.tcard.over[data-v-f40131ee]{border-color:#b3261e}.tcard.un[data-v-f40131ee]{border-style:dashed}.tcard header[data-v-f40131ee]{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:#2b2622;border-bottom:1px solid #f0e9dd;padding-bottom:6px;margin-bottom:6px}.tcard header span[data-v-f40131ee]{color:#8a8078;font-size:12.5px}.tcard ul[data-v-f40131ee]{list-style:none}.tcard li[data-v-f40131ee]{display:flex;justify-content:space-between;font-size:12.5px;color:#2b2622;padding:2px 0}.tcard li .r[data-v-f40131ee]{color:#8a8078}.tcard li.none[data-v-f40131ee]{color:#b6ac9f}@page{size:A4;margin:12mm}@media print{.no-print[data-v-f40131ee]{display:none!important}.print-sheet[data-v-f40131ee]{position:static;overflow:visible;background:none}.sheet-pages[data-v-f40131ee]{padding:0}.sheet-page[data-v-f40131ee]{width:auto;margin:0;box-shadow:none;border-radius:0;padding:0 0 8mm;page-break-after:always;print-color-adjust:exact;-webkit-print-color-adjust:exact}.sheet-page[data-v-f40131ee]:last-child{page-break-after:auto}}@media print{html,body{background:#fff!important}}.gate[data-v-f0fbde2d]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.gate-card[data-v-f0fbde2d]{background:var(--color-surface);border:1px solid var(--color-line);border-radius:16px;padding:36px 32px;width:min(360px,88vw);display:flex;flex-direction:column;gap:14px;text-align:center;box-shadow:0 12px 40px #503c281a}.gate-card h1[data-v-f0fbde2d]{font-size:22px;letter-spacing:.2em;color:var(--color-red-deep)}.gate-sub[data-v-f0fbde2d]{font-size:13px;color:var(--color-ink-soft)}.gate-card input[data-v-f0fbde2d]{padding:10px 14px;border:1px solid var(--color-line);border-radius:10px;font-size:15px;background:#fff;color:var(--color-ink);text-align:center}.gate-card button[data-v-f0fbde2d]{background:var(--color-red);color:#fffdf9;border-radius:10px;padding:10px 0;font-size:15px;letter-spacing:.3em}.gate-err[data-v-f0fbde2d]{color:#b3261e;font-size:13px}.layout[data-v-f0fbde2d]{height:100vh;display:flex;flex-direction:column;background:var(--color-bg);position:relative}.topbar[data-v-f0fbde2d]{display:flex;align-items:center;gap:18px;padding:10px 18px 0;flex-wrap:wrap}.brand strong[data-v-f0fbde2d]{font-size:17px;letter-spacing:.15em;color:var(--color-red-deep)}.venue[data-v-f0fbde2d]{margin-left:10px;font-size:12px;color:var(--color-ink-soft)}.actions[data-v-f0fbde2d]{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.actions button[data-v-f0fbde2d]{border:1px solid var(--color-line);background:var(--color-surface);border-radius:8px;padding:6px 12px;font-size:13px;color:var(--color-ink)}.actions button[data-v-f0fbde2d]:hover{border-color:var(--color-red);color:var(--color-red)}.actions .ghost[data-v-f0fbde2d]{color:var(--color-ink-soft)}.sidebar-toggle[data-v-f0fbde2d]{display:none;border:1px solid var(--color-line);border-radius:8px;padding:6px 12px;font-size:13px;background:var(--color-surface)}.stats-row[data-v-f0fbde2d]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px 18px}.stat-card[data-v-f0fbde2d]{background:var(--color-surface);border:1px solid var(--color-line);border-radius:12px;padding:10px 16px 12px}.stat-label[data-v-f0fbde2d]{font-size:12px;color:var(--color-ink-soft);letter-spacing:.1em}.stat-value[data-v-f0fbde2d]{font-size:26px;font-weight:600;color:var(--color-ink);margin-top:2px;line-height:1.2}.stat-value .unit[data-v-f0fbde2d]{font-size:13px;font-weight:400;color:var(--color-ink-soft);margin-left:3px}.stat-value.ok[data-v-f0fbde2d]{color:#7a9b76}.stat-value.warn[data-v-f0fbde2d]{color:#c98f4a}.stat-sub[data-v-f0fbde2d]{font-size:12px;color:var(--color-ink-soft);margin-top:2px}.stat-sub .over[data-v-f0fbde2d]{color:#b3261e;font-weight:600}.toast[data-v-f0fbde2d]{position:absolute;top:108px;left:50%;transform:translate(-50%);background:var(--color-ink);color:#fffdf9;font-size:13px;padding:8px 18px;border-radius:20px;z-index:50;max-width:86vw}.body[data-v-f0fbde2d]{flex:1;display:flex;min-height:0;position:relative;border-top:1px solid var(--color-line)}.sidebar[data-v-f0fbde2d]{width:300px;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-line);padding:14px;overflow-y:auto}.side-head h3[data-v-f0fbde2d]{font-size:15px;color:var(--color-ink)}.search[data-v-f0fbde2d]{width:100%;margin-top:8px;padding:7px 12px;border:1px solid var(--color-line);border-radius:8px;font-size:13px;background:#fff;color:var(--color-ink);box-sizing:border-box}.search[data-v-f0fbde2d]:focus{outline:none;border-color:var(--color-gold)}.hint[data-v-f0fbde2d]{font-size:12px;color:var(--color-ink-soft);margin:8px 0 10px}.list[data-v-f0fbde2d]{list-style:none;display:flex;flex-direction:column;gap:6px}.gcard[data-v-f0fbde2d]{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid var(--color-line);border-radius:10px;cursor:grab;touch-action:none;font-size:14px}.gcard.expanded[data-v-f0fbde2d]{border-color:var(--color-gold)}.avatar[data-v-f0fbde2d]{width:30px;height:30px;border-radius:50%;background:var(--color-bg);border:1px solid var(--color-gold);color:var(--color-red-deep);font-size:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.gcard-main[data-v-f0fbde2d]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.gcard-label[data-v-f0fbde2d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-ink)}.gcard-rel[data-v-f0fbde2d]{font-size:11px;color:var(--color-ink-soft)}.gcard-size[data-v-f0fbde2d]{font-size:12px;color:var(--color-red);font-weight:600;flex-shrink:0}.expand[data-v-f0fbde2d]{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;background:var(--color-bg);border-radius:0 0 10px 10px;font-size:13px;align-items:center}.expand label[data-v-f0fbde2d]{display:inline-flex;align-items:center;gap:6px;color:var(--color-ink-soft)}.expand select[data-v-f0fbde2d],.expand input[data-v-f0fbde2d]{border:1px solid var(--color-line);border-radius:6px;padding:4px 8px;font-size:13px;background:#fff;color:var(--color-ink);max-width:120px}.expand .grow input[data-v-f0fbde2d]{width:110px}.expand .del[data-v-f0fbde2d]{color:#b3261e;border:1px solid #b3261e;border-radius:6px;padding:3px 10px;font-size:12px}.empty[data-v-f0fbde2d]{font-size:13px;color:var(--color-ink-soft);margin-top:8px}.quick-add[data-v-f0fbde2d]{margin-top:16px;border-top:1px dashed var(--color-line);padding-top:12px}.quick-add h4[data-v-f0fbde2d]{font-size:13px;color:var(--color-ink-soft);letter-spacing:.1em;margin-bottom:8px}.quick-row[data-v-f0fbde2d]{display:flex;gap:6px}.quick-row input[data-v-f0fbde2d]{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--color-line);border-radius:8px;font-size:13px;background:#fff;color:var(--color-ink)}.quick-row .num[data-v-f0fbde2d]{flex:0 0 56px}.quick-row button[data-v-f0fbde2d]{background:var(--color-red);color:#fffdf9;border-radius:8px;padding:7px 14px;font-size:13px}.drag-ghost[data-v-f0fbde2d]{position:fixed;transform:translate(-50%,-130%);pointer-events:none;background:var(--color-red);color:#fffdf9;font-size:13px;padding:6px 14px;border-radius:16px;box-shadow:0 6px 18px #a0342b59;z-index:100;white-space:nowrap}@media print{.layout[data-v-f0fbde2d]{display:none!important}}@media (max-width: 860px){.stats-row[data-v-f0fbde2d]{grid-template-columns:1fr 1fr;gap:8px;padding:8px 12px}.stat-card[data-v-f0fbde2d]{padding:8px 12px 10px}.stat-value[data-v-f0fbde2d]{font-size:22px}.sidebar[data-v-f0fbde2d]{position:absolute;left:0;top:0;bottom:0;z-index:30;transform:translate(-100%);transition:transform .25s var(--ease-soft);box-shadow:8px 0 24px #503c2826}.sidebar.open[data-v-f0fbde2d]{transform:none}.sidebar-toggle[data-v-f0fbde2d]{display:block}.topbar[data-v-f0fbde2d]{padding:8px 12px 0}}@font-face{font-family:MaShanZheng;src:url(https://6d65-meliorellabase-d4gsgqvat2d14d93d-1324253640.tcb.qcloud.la/wedding/assets-v6/MaShanZheng-sub-B1yf3oPs.woff2) format("woff2");font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(https://6d65-meliorellabase-d4gsgqvat2d14d93d-1324253640.tcb.qcloud.la/wedding/assets-v6/CormorantGaramond-sub-C9OR1QdP.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--color-bg: #faf6f0;--color-surface: #fffdf9;--color-ink: #2b2622;--color-ink-soft: #8a8078;--color-red: #a0342b;--color-red-deep: #7c231c;--color-gold: #c9a063;--color-line: #e9e0d2;--color-photo-ph-1: #f2e9dc;--color-photo-ph-2: #e3d3bd;--font-zh: -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-zh-serif: "Songti SC", "STSong", "SimSun", "Noto Serif SC", serif;--font-serif-en: "Cormorant Garamond", "Times New Roman", serif;--font-calligraphy: "MaShanZheng", "Kaiti SC", "KaiTi", "STKaiti", cursive;--tracking-serif: .32em;--tracking-zh: .14em;--page-max: 480px;--page-gutter: 28px;--ease-soft: cubic-bezier(.22, 1, .36, 1);--dur-med: .6s}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-zh);background:var(--color-bg);color:var(--color-ink);line-height:1.7;letter-spacing:.02em}img{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.page{max-width:var(--page-max);margin:0 auto;min-height:100vh;background:var(--color-surface);box-shadow:0 0 40px #503c2814}.serif-en{font-family:var(--font-serif-en);letter-spacing:var(--tracking-serif);text-transform:uppercase}.calligraphy{font-family:var(--font-calligraphy)}.v-text{writing-mode:vertical-rl;letter-spacing:.35em}.stub-photo{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--color-photo-ph-1),var(--color-photo-ph-2));display:flex;align-items:center;justify-content:center}.stub-photo:before{content:"囍";font-family:var(--font-zh-serif);font-size:96px;color:#a0342b24}.stub-photo .stub-note{position:absolute;bottom:10px;right:12px;font-size:11px;color:#2b262273;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(26px);transition:opacity var(--dur-med) var(--ease-soft),transform var(--dur-med) var(--ease-soft)}.reveal.is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}
